Merge branch 'master' into staging
commit
6969c4de44
|
@ -69,7 +69,6 @@
|
|||
/etc/guix-publish.conf
|
||||
/etc/guix-publish.service
|
||||
/guix-daemon
|
||||
/guix-register
|
||||
/guix/config.scm
|
||||
/libformat.a
|
||||
/libstore.a
|
||||
|
@ -147,3 +146,4 @@ tmp
|
|||
/nix/scripts/download
|
||||
/etc/indent-code.el
|
||||
/.version
|
||||
/doc/stamp-[0-9]
|
||||
|
|
28
Makefile.am
28
Makefile.am
|
@ -11,6 +11,7 @@
|
|||
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
# Copyright © 2018 Nils Gillmann <ng0@n0.is>
|
||||
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -262,11 +263,7 @@ STORE_MODULES = \
|
|||
guix/store/database.scm \
|
||||
guix/store/deduplication.scm
|
||||
|
||||
if HAVE_GUILE_SQLITE3
|
||||
MODULES += $(STORE_MODULES)
|
||||
else
|
||||
MODULES_NOT_COMPILED += $(STORE_MODULES)
|
||||
endif !HAVE_GUILE_SQLITE3
|
||||
|
||||
# Internal modules with test suite support.
|
||||
dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
|
||||
|
@ -300,6 +297,7 @@ EXAMPLES = \
|
|||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
|
||||
|
||||
nobase_dist_guilemodule_DATA = \
|
||||
guix/store/schema.sql \
|
||||
$(MODULES) $(MODULES_NOT_COMPILED) $(AUX_FILES) $(EXAMPLES) \
|
||||
$(MISC_DISTRO_FILES)
|
||||
nobase_nodist_guilemodule_DATA = guix/config.scm
|
||||
|
@ -378,7 +376,9 @@ SCM_TESTS = \
|
|||
tests/scripts-build.scm \
|
||||
tests/containers.scm \
|
||||
tests/pack.scm \
|
||||
tests/import-utils.scm
|
||||
tests/import-utils.scm \
|
||||
tests/store-database.scm \
|
||||
tests/store-deduplication.scm
|
||||
|
||||
if HAVE_GUILE_JSON
|
||||
|
||||
|
@ -390,14 +390,6 @@ SCM_TESTS += \
|
|||
|
||||
endif
|
||||
|
||||
if HAVE_GUILE_SQLITE3
|
||||
|
||||
SCM_TESTS += \
|
||||
tests/store-database.scm \
|
||||
tests/store-deduplication.scm
|
||||
|
||||
endif
|
||||
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
tests/guix-download.sh \
|
||||
|
@ -414,13 +406,6 @@ SH_TESTS = \
|
|||
tests/guix-graph.sh \
|
||||
tests/guix-lint.sh
|
||||
|
||||
if BUILD_DAEMON
|
||||
|
||||
SH_TESTS += tests/guix-register.sh
|
||||
|
||||
endif BUILD_DAEMON
|
||||
|
||||
|
||||
TESTS = $(SCM_TESTS) $(SH_TESTS)
|
||||
|
||||
AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" GUILE_AUTO_COMPILE=0
|
||||
|
@ -470,7 +455,8 @@ dist_pkgdata_DATA = \
|
|||
berlin.guixsd.org.pub
|
||||
|
||||
# Bash completion file.
|
||||
dist_bashcompletion_DATA = etc/completion/bash/guix
|
||||
dist_bashcompletion_DATA = etc/completion/bash/guix \
|
||||
etc/completion/bash/guix-daemon
|
||||
|
||||
# Zsh completion file.
|
||||
dist_zshcompletion_DATA = etc/completion/zsh/_guix
|
||||
|
|
3
README
3
README
|
@ -23,7 +23,8 @@ GNU Guix currently depends on the following packages:
|
|||
- [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later
|
||||
- [[https://gnupg.org/][GNU libgcrypt]]
|
||||
- [[https://www.gnu.org/software/make/][GNU Make]]
|
||||
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled.
|
||||
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
|
||||
- [[https://notabug.org/civodul/guile-sqlite3][Guile-SQLite3]]
|
||||
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
|
||||
- [[http://www.zlib.net/][zlib]]
|
||||
- optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command
|
||||
|
|
|
@ -43,7 +43,8 @@
|
|||
|
||||
(and=> (assoc-ref (current-source-location) 'filename)
|
||||
(lambda (file)
|
||||
(let ((dir (string-append (dirname file) "/../..")))
|
||||
(let ((dir (canonicalize-path
|
||||
(string-append (dirname file) "/../.."))))
|
||||
(format (current-error-port) "prepending ~s to the load path~%"
|
||||
dir)
|
||||
(set! %load-path (cons dir %load-path))))))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2017 Eric Bavier <bavier@cray.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
|
@ -55,10 +55,6 @@ NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
|
|||
@BUILD_DAEMON_OFFLOAD_FALSE@# No offloading support.
|
||||
@BUILD_DAEMON_OFFLOAD_FALSE@unset NIX_BUILD_HOOK
|
||||
|
||||
# The 'guix-register' program.
|
||||
GUIX_REGISTER="$abs_top_builddir/guix-register"
|
||||
export GUIX_REGISTER
|
||||
|
||||
# The following variables need only be defined when compiling Guix
|
||||
# modules, but we define them to be on the safe side in case of
|
||||
# auto-compilation.
|
||||
|
|
|
@ -126,8 +126,9 @@ AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])
|
|||
|
||||
dnl Guile-Sqlite3 is used by the (guix store ...) modules.
|
||||
GUIX_CHECK_GUILE_SQLITE3
|
||||
AM_CONDITIONAL([HAVE_GUILE_SQLITE3],
|
||||
[test "x$guix_cv_have_recent_guile_sqlite3" = "xyes"])
|
||||
if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
|
||||
AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
|
||||
fi
|
||||
|
||||
dnl Make sure we have a full-fledged Guile.
|
||||
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
|
||||
|
|
|
@ -407,12 +407,19 @@ changes). This branch is intended to be merged in @code{master} every
|
|||
2.5 months or so.
|
||||
@end table
|
||||
|
||||
All these branches are tracked by our build farm
|
||||
and merged into @code{master} once
|
||||
All these branches are @uref{https://hydra.gnu.org/project/gnu,
|
||||
tracked by our build farm} and merged into @code{master} once
|
||||
everything has been successfully built. This allows us to fix issues
|
||||
before they hit users, and to reduce the window during which pre-built
|
||||
binaries are not available.
|
||||
|
||||
Generally, branches other than @code{master} are considered
|
||||
@emph{frozen} if there has been a recent evaluation, or there is a
|
||||
corresponding @code{-next} branch. Please ask on the mailing list or
|
||||
IRC if unsure where to place a patch.
|
||||
@c TODO: It would be good with badges on the website that tracks these
|
||||
@c branches. Or maybe even a status page.
|
||||
|
||||
@item
|
||||
@cindex determinism, of build processes
|
||||
@cindex reproducible builds, checking
|
||||
|
|
|
@ -37,7 +37,7 @@ Copyright @copyright{} 2017 Carlo Zancanaro@*
|
|||
Copyright @copyright{} 2017 Thomas Danckaert@*
|
||||
Copyright @copyright{} 2017 humanitiesNerd@*
|
||||
Copyright @copyright{} 2017 Christopher Allan Webber@*
|
||||
Copyright @copyright{} 2017 Marius Bakke@*
|
||||
Copyright @copyright{} 2017, 2018 Marius Bakke@*
|
||||
Copyright @copyright{} 2017 Hartmut Goebel@*
|
||||
Copyright @copyright{} 2017 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@*
|
||||
|
@ -615,6 +615,9 @@ later, including 2.2.x;
|
|||
Guile,, gnutls-guile, GnuTLS-Guile});
|
||||
@item
|
||||
@c FIXME: Specify a version number once a release has been made.
|
||||
@uref{https://notabug.org/civodul/guile-sqlite3, Guile-SQLite3};
|
||||
@item
|
||||
@c FIXME: Specify a version number once a release has been made.
|
||||
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August
|
||||
2017 or later;
|
||||
@item @url{http://zlib.net, zlib};
|
||||
|
@ -2756,25 +2759,40 @@ export PATH="$HOME/.config/guix/current/bin:$PATH"
|
|||
export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"
|
||||
@end example
|
||||
|
||||
The @code{--list-generations} or @code{-l} option lists past generations
|
||||
produced by @command{guix pull}, along with details about their provenance:
|
||||
|
||||
@example
|
||||
$ guix pull -l
|
||||
Generation 1 Jun 10 2018 00:18:18
|
||||
guix 65956ad
|
||||
repository URL: https://git.savannah.gnu.org/git/guix.git
|
||||
branch: origin/master
|
||||
commit: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe
|
||||
|
||||
Generation 2 Jun 11 2018 11:02:49
|
||||
guix e0cc7f6
|
||||
repository URL: https://git.savannah.gnu.org/git/guix.git
|
||||
branch: origin/master
|
||||
commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d
|
||||
|
||||
Generation 3 Jun 13 2018 23:31:07 (current)
|
||||
guix 844cc1c
|
||||
repository URL: https://git.savannah.gnu.org/git/guix.git
|
||||
branch: origin/master
|
||||
commit: 844cc1c8f394f03b404c5bb3aee086922373490c
|
||||
@end example
|
||||
|
||||
This @code{~/.config/guix/current} profile works like any other profile
|
||||
created by @command{guix package} (@pxref{Invoking guix package}). That
|
||||
is, you can list generations, roll back to the previous
|
||||
generation---i.e., the previous Guix---and so on:
|
||||
|
||||
@example
|
||||
$ guix package -p ~/.config/guix/current -l
|
||||
Generation 1 May 25 2018 10:06:41
|
||||
guix 221951a out /gnu/store/i4dfk7vw5k112s49jrhl6hwsfnh6wr7l-guix-221951af4
|
||||
|
||||
Generation 2 May 27 2018 19:07:47
|
||||
+ guix 2fbae00 out /gnu/store/44cv9hyvxg34xf5kblf5dz57hc52y4bm-guix-2fbae006f
|
||||
- guix 221951a out /gnu/store/i4dfk7vw5k112s49jrhl6hwsfnh6wr7l-guix-221951af4
|
||||
|
||||
Generation 3 May 30 2018 16:11:39 (current)
|
||||
+ guix a076f19 out /gnu/store/332czkicwwg6lc3x4aqbw5q2mq12s7fj-guix-a076f1990
|
||||
- guix 2fbae00 out /gnu/store/44cv9hyvxg34xf5kblf5dz57hc52y4bm-guix-2fbae006f
|
||||
$ guix package -p ~/.config/guix/current --roll-back
|
||||
switched from generation 3 to 2
|
||||
$ guix package -p ~/.config/guix/current --delete-generations=1
|
||||
deleting /home/charlie/.config/guix/current-1-link
|
||||
@end example
|
||||
|
||||
The @command{guix pull} command is usually invoked with no arguments,
|
||||
|
@ -2800,6 +2818,13 @@ string.
|
|||
Deploy the tip of @var{branch}, the name of a Git branch available on
|
||||
the repository at @var{url}.
|
||||
|
||||
@item --list-generations[=@var{pattern}]
|
||||
@itemx -l [@var{pattern}]
|
||||
List all the generations of @file{~/.config/guix/current} or, if @var{pattern}
|
||||
is provided, the subset of generations that match @var{pattern}.
|
||||
The syntax of @var{pattern} is the same as with @code{guix package
|
||||
--list-generations} (@pxref{Invoking guix package}).
|
||||
|
||||
@item --bootstrap
|
||||
Use the bootstrap Guile to build the latest Guix. This option is only
|
||||
useful to Guix developers.
|
||||
|
@ -8856,6 +8881,22 @@ Have a look at @file{gnu/system/install.scm} in the source tree,
|
|||
and see also @ref{Invoking guix system} for more information
|
||||
about the installation image.
|
||||
|
||||
@subsection Building the Installation Image for ARM Boards
|
||||
|
||||
Many ARM boards require a specific variant of the
|
||||
@uref{http://www.denx.de/wiki/U-Boot/, U-Boot} bootloader.
|
||||
|
||||
If you build a disk image and the bootloader is not available otherwise
|
||||
(on another boot drive etc), it's advisable to build an image that
|
||||
includes the bootloader, specifically:
|
||||
|
||||
@example
|
||||
guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-boot) (@@ (gnu system install) installation-os) "A20-OLinuXino-Lime2")'
|
||||
@end example
|
||||
|
||||
@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
|
||||
board, a list of possible boards will be printed.
|
||||
|
||||
@node System Configuration
|
||||
@section System Configuration
|
||||
|
||||
|
@ -15938,6 +15979,10 @@ use the size of the processors cache line.
|
|||
@item @code{server-names-hash-bucket-max-size} (default: @code{#f})
|
||||
Maximum bucket size for the server names hash tables.
|
||||
|
||||
@item @code{extra-content} (default: @code{""})
|
||||
Extra content for the @code{http} block. Should be string or a string
|
||||
valued G-expression.
|
||||
|
||||
@end table
|
||||
@end deffn
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2018 Oleg Pykhalov <go.wigust@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 GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Bash completion for guix-daemon command.
|
||||
|
||||
_guix_daemon_complete ()
|
||||
{
|
||||
local options="$(${COMP_WORDS[0]} --help 2> /dev/null \
|
||||
| grep '^ \+-' \
|
||||
| sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')"
|
||||
compopt -o nospace
|
||||
COMPREPLY=($(compgen -W "$options" -- "${COMP_WORDS[${#COMP_WORDS[*]} - 1]}"))
|
||||
}
|
||||
|
||||
complete -F _guix_daemon_complete guix-daemon
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -18,6 +18,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu build install)
|
||||
#:use-module (guix store database)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build store-copy)
|
||||
#:use-module (srfi srfi-26)
|
||||
|
@ -25,7 +26,6 @@
|
|||
#:export (install-boot-config
|
||||
evaluate-populate-directive
|
||||
populate-root-file-system
|
||||
reset-timestamps
|
||||
register-closure
|
||||
populate-single-profile-directory))
|
||||
|
||||
|
@ -110,9 +110,6 @@ STORE."
|
|||
|
||||
("/var/guix/gcroots/booted-system" -> "/run/booted-system")
|
||||
("/var/guix/gcroots/current-system" -> "/run/current-system")
|
||||
|
||||
;; XXX: 'guix-register' creates this symlink with a wrong target, so
|
||||
;; create it upfront to be sure.
|
||||
("/var/guix/gcroots/profiles" -> "/var/guix/profiles")
|
||||
|
||||
(directory "/bin")
|
||||
|
@ -144,37 +141,27 @@ includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM."
|
|||
(try))
|
||||
(apply throw args)))))))
|
||||
|
||||
(define (reset-timestamps directory)
|
||||
"Reset the timestamps of all the files under DIRECTORY, so that they appear
|
||||
as created and modified at the Epoch."
|
||||
(display "clearing file timestamps...\n")
|
||||
(for-each (lambda (file)
|
||||
(let ((s (lstat file)))
|
||||
;; XXX: Guile uses libc's 'utime' function (not 'futime'), so
|
||||
;; the timestamp of symlinks cannot be changed, and there are
|
||||
;; symlinks here pointing to /gnu/store, which is the host,
|
||||
;; read-only store.
|
||||
(unless (eq? (stat:type s) 'symlink)
|
||||
(utime file 0 0 0 0))))
|
||||
(find-files directory #:directories? #t)))
|
||||
|
||||
(define* (register-closure store closure
|
||||
#:key (deduplicate? #t))
|
||||
"Register CLOSURE in STORE, where STORE is the directory name of the target
|
||||
store and CLOSURE is the name of a file containing a reference graph as used
|
||||
by 'guix-register'. As a side effect, this resets timestamps on store files
|
||||
and, if DEDUPLICATE? is true, deduplicates files common to CLOSURE and the
|
||||
rest of STORE."
|
||||
(let ((status (apply system* "guix-register" "--prefix" store
|
||||
(append (if deduplicate? '() '("--no-deduplication"))
|
||||
(list closure)))))
|
||||
(unless (zero? status)
|
||||
(error "failed to register store items" closure))))
|
||||
(define* (register-closure prefix closure
|
||||
#:key
|
||||
(deduplicate? #t) (reset-timestamps? #t)
|
||||
(schema (sql-schema)))
|
||||
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the
|
||||
target store and CLOSURE is the name of a file containing a reference graph as
|
||||
produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is
|
||||
true, reset timestamps on store files and, if DEDUPLICATE? is true,
|
||||
deduplicates files common to CLOSURE and the rest of PREFIX."
|
||||
(let ((items (call-with-input-file closure read-reference-graph)))
|
||||
(register-items items
|
||||
#:prefix prefix
|
||||
#:deduplicate? deduplicate?
|
||||
#:reset-timestamps? reset-timestamps?
|
||||
#:registration-time %epoch
|
||||
#:schema schema)))
|
||||
|
||||
(define* (populate-single-profile-directory directory
|
||||
#:key profile closure
|
||||
deduplicate?
|
||||
register?)
|
||||
register? schema)
|
||||
"Populate DIRECTORY with a store containing PROFILE, whose closure is given
|
||||
in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY
|
||||
is initialized to contain a single profile under /root pointing to PROFILE.
|
||||
|
@ -200,11 +187,11 @@ This is used to create the self-contained tarballs with 'guix pack'."
|
|||
|
||||
(when register?
|
||||
(register-closure (canonicalize-path directory) closure
|
||||
#:deduplicate? deduplicate?)
|
||||
#:deduplicate? deduplicate?
|
||||
#:schema schema)
|
||||
|
||||
;; XXX: 'guix-register' registers profiles as GC roots but the symlink
|
||||
;; target uses $TMPDIR. Fix that.
|
||||
(delete-file (scope "/var/guix/gcroots/profiles"))
|
||||
(mkdir-p* "/var/guix/profiles")
|
||||
(mkdir-p* "/var/guix/gcroots")
|
||||
(symlink* "/var/guix/profiles"
|
||||
"/var/guix/gcroots/profiles"))
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
ensure-dot-ko
|
||||
module-aliases
|
||||
module-dependencies
|
||||
normalize-module-name
|
||||
recursive-module-dependencies
|
||||
modules-loaded
|
||||
module-loaded?
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#:use-module (guix build utils)
|
||||
#:use-module (guix build store-copy)
|
||||
#:use-module (guix build syscalls)
|
||||
#:use-module ((guix store database) #:select (reset-timestamps))
|
||||
#:use-module (gnu build linux-boot)
|
||||
#:use-module (gnu build install)
|
||||
#:use-module (gnu system uuid)
|
||||
|
@ -345,7 +346,7 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
|
|||
;; Optionally, register the inputs in the image's store.
|
||||
(when register-closures?
|
||||
(unless copy-closures?
|
||||
;; XXX: 'guix-register' wants to palpate the things it registers, so
|
||||
;; XXX: 'register-closure' wants to palpate the things it registers, so
|
||||
;; bind-mount the store on the target.
|
||||
(mkdir-p target-store)
|
||||
(mount (%store-directory) target-store "" MS_BIND))
|
||||
|
@ -354,6 +355,7 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
|
|||
(for-each (lambda (closure)
|
||||
(register-closure target
|
||||
(string-append "/xchg/" closure)
|
||||
#:reset-timestamps? copy-closures?
|
||||
#:deduplicate? deduplicate?))
|
||||
closures)
|
||||
(unless copy-closures?
|
||||
|
@ -363,7 +365,7 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
|
|||
(display "populating...\n")
|
||||
(populate-root-file-system system-directory target)
|
||||
|
||||
;; 'guix-register' resets timestamps and everything, so no need to do it
|
||||
;; 'register-closure' resets timestamps and everything, so no need to do it
|
||||
;; once more in that case.
|
||||
(unless register-closures?
|
||||
(reset-timestamps target))))
|
||||
|
|
10
gnu/local.mk
10
gnu/local.mk
|
@ -581,6 +581,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/azr3.patch \
|
||||
%D%/packages/patches/bash-completion-directories.patch \
|
||||
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
||||
%D%/packages/patches/bind-CVE-2018-5738.patch \
|
||||
%D%/packages/patches/binutils-aarch64-symbol-relocation.patch \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/blast+-fix-makefile.patch \
|
||||
%D%/packages/patches/boost-fix-icu-build.patch \
|
||||
|
@ -641,7 +643,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/e2fsprogs-glibc-2.27.patch \
|
||||
%D%/packages/patches/eigen-arm-neon-fixes.patch \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elixir-disable-failing-tests.patch \
|
||||
%D%/packages/patches/elogind-glibc-2.27.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
%D%/packages/patches/emacs-browse-at-remote-cgit-gnu.patch \
|
||||
|
@ -671,6 +672,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/file-CVE-2017-1000249.patch \
|
||||
%D%/packages/patches/findutils-localstatedir.patch \
|
||||
%D%/packages/patches/findutils-test-xargs.patch \
|
||||
%D%/packages/patches/flann-cmake-3.11.patch \
|
||||
%D%/packages/patches/flint-ldconfig.patch \
|
||||
%D%/packages/patches/fltk-shared-lib-defines.patch \
|
||||
%D%/packages/patches/fltk-xfont-on-demand.patch \
|
||||
|
@ -744,7 +746,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gnome-todo-libical-compat.patch \
|
||||
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
|
||||
%D%/packages/patches/gnucash-price-quotes-perl.patch \
|
||||
%D%/packages/patches/gnupg-1.4-CVE-2018-12020.patch \
|
||||
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
|
||||
%D%/packages/patches/gnutls-skip-pkgconfig-test.patch \
|
||||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
|
@ -982,12 +983,12 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
|
||||
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
|
||||
%D%/packages/patches/p7zip-remove-unused-code.patch \
|
||||
%D%/packages/patches/password-store-gnupg-compat.patch \
|
||||
%D%/packages/patches/patchelf-page-size.patch \
|
||||
%D%/packages/patches/patchelf-rework-for-arm.patch \
|
||||
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
|
||||
%D%/packages/patches/patch-hurd-path-max.patch \
|
||||
%D%/packages/patches/perf-gcc-ice.patch \
|
||||
%D%/packages/patches/perl-archive-tar-CVE-2018-12015.patch \
|
||||
%D%/packages/patches/perl-file-path-CVE-2017-6512.patch \
|
||||
%D%/packages/patches/perl-autosplit-default-time.patch \
|
||||
%D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \
|
||||
|
@ -1050,7 +1051,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-genshi-stripping-of-unsafe-script-tags.patch \
|
||||
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
|
||||
%D%/packages/patches/python-networkx2-reproducible-build.patch \
|
||||
%D%/packages/patches/python-nose-timer-drop-ordereddict.patch \
|
||||
%D%/packages/patches/python-pillow-fix-failing-tests.patch \
|
||||
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
|
||||
%D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \
|
||||
|
@ -1111,7 +1111,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/slim-login.patch \
|
||||
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
|
||||
%D%/packages/patches/steghide-fixes.patch \
|
||||
%D%/packages/patches/strace-kernel-4.16.patch \
|
||||
%D%/packages/patches/superlu-dist-scotchmetis.patch \
|
||||
%D%/packages/patches/swish-e-search.patch \
|
||||
%D%/packages/patches/swish-e-format-security.patch \
|
||||
|
@ -1157,6 +1156,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
|
||||
%D%/packages/patches/util-linux-tests.patch \
|
||||
%D%/packages/patches/upower-builddir.patch \
|
||||
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
|
||||
%D%/packages/patches/valgrind-enable-arm.patch \
|
||||
%D%/packages/patches/valgrind-glibc-compat.patch \
|
||||
%D%/packages/patches/vinagre-revert-1.patch \
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -822,41 +823,36 @@ by bandwidth they use.")
|
|||
(define-public clusterssh
|
||||
(package
|
||||
(name "clusterssh")
|
||||
(version "3.28")
|
||||
(version "4.13.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/clusterssh/"
|
||||
"1.%20ClusterSSH%20Series%203/" version
|
||||
"/clusterssh-" version ".tar.gz"))
|
||||
"2.%20ClusterSSH%20Series%204/"
|
||||
"App-ClusterSSH-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(propagated-inputs `(("xterm" ,xterm)
|
||||
("perl-tk" ,perl-tk)
|
||||
("perl-x11-protocol" ,perl-x11-protocol)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'set-load-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Put the perl-tk and perl-x11-protocol modules in the perl inc
|
||||
;; path for PROG
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(prog (string-append out "/bin/cssh"))
|
||||
(perl-ver ,(package-version perl))
|
||||
(x11-inc (string-append
|
||||
(assoc-ref inputs "perl-x11-protocol")
|
||||
"/lib/perl5/site_perl/" perl-ver))
|
||||
(tk-inc (string-append
|
||||
(assoc-ref inputs "perl-tk")
|
||||
"/lib/perl5/site_perl/" perl-ver
|
||||
"/x86_64-linux")))
|
||||
(wrap-program
|
||||
prog
|
||||
`("PERL5LIB" ":" prefix (,x11-inc ,tk-inc))))
|
||||
#t)))))
|
||||
"0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-cpan-changes" ,perl-cpan-changes)
|
||||
("perl-file-slurp" ,perl-file-slurp)
|
||||
("perl-file-which" ,perl-file-which)
|
||||
("perl-module-build" ,perl-module-build)
|
||||
("perl-readonly" ,perl-readonly)
|
||||
("perl-test-differences" ,perl-test-differences)
|
||||
("perl-test-distmanifest" ,perl-test-distmanifest)
|
||||
("perl-test-perltidy" ,perl-test-perltidy)
|
||||
("perl-test-pod" ,perl-test-pod)
|
||||
("perl-test-pod-coverage" ,perl-test-pod-coverage)
|
||||
("perl-test-trap" ,perl-test-trap)
|
||||
("perltidy" ,perltidy)))
|
||||
(propagated-inputs
|
||||
`(("xterm" ,xterm)
|
||||
("perl-exception-class" ,perl-exception-class)
|
||||
("perl-tk" ,perl-tk)
|
||||
("perl-try-tiny" ,perl-try-tiny)
|
||||
("perl-x11-protocol" ,perl-x11-protocol)
|
||||
("perl-x11-protocol-other" ,perl-x11-protocol-other)))
|
||||
;; The clusterssh.sourceforge.net address requires login to view
|
||||
(home-page "https://sourceforge.net/projects/clusterssh/")
|
||||
(synopsis "Secure concurrent multi-server terminal control")
|
||||
|
@ -2359,11 +2355,23 @@ Intel DRM Driver.")
|
|||
"13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2)) ; Python 2 only
|
||||
`(#:python ,python-2 ; Python 2 only
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke
|
||||
"nosetests" "-v" "tests/"
|
||||
;; This test hangs indefinitely when run on a single core VM
|
||||
;; (see GNU bug #26647 and Debian bug #850230).
|
||||
"--exclude=test_nested_execution_with_explicit_ports"
|
||||
;; This test randomly fails in certain environments causing too
|
||||
;; much noise to be useful (see Debian bug #854686).
|
||||
"--exclude=test_should_use_sentinel_for_tasks_that_errored"))))))
|
||||
(native-inputs
|
||||
`(("python2-fudge" ,python2-fudge)
|
||||
("python2-jinja2" ,python2-jinja2)
|
||||
("python2-nose" ,python2-nose)
|
||||
`(("python2-fudge" ,python2-fudge) ; Requires < 1.0
|
||||
("python2-jinja2" ,python2-jinja2) ; Requires < 3.0
|
||||
("python2-nose" ,python2-nose) ; Requires < 2.0
|
||||
("python2-pynacl" ,python2-pynacl)
|
||||
("python2-bcrypt" ,python2-bcrypt)))
|
||||
(propagated-inputs
|
||||
|
@ -2383,7 +2391,7 @@ tool for remote execution and deployment.")
|
|||
(define-public neofetch
|
||||
(package
|
||||
(name "neofetch")
|
||||
(version "3.4.0")
|
||||
(version "4.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dylanaraps/neofetch/"
|
||||
|
@ -2391,7 +2399,7 @@ tool for remote execution and deployment.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18rhamy910ig03rr55y9x5i6pf78yj9xc6jpm6nfh3gqja7340rb"))))
|
||||
"014hlbzs6j4b669b64hnq8vc5knwiv9ncw9m9d193p9jsybxpm1w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014 John Darringon <jmd@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -51,7 +52,7 @@ formats.")
|
|||
(define-public qrencode
|
||||
(package
|
||||
(name "qrencode")
|
||||
(version "4.0.0")
|
||||
(version "4.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -59,7 +60,7 @@ formats.")
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"02vx69fl52jbcrmnydsaxcmy6nxqm9jyxzd7hr07s491d7hka069"))))
|
||||
"1d2q5d3v8g3hsi3h5jq4n177bjhf3kawms09immw7p187f6jgjy9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("libpng" ,libpng)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -1890,7 +1890,7 @@ lv2-c++-tools.")
|
|||
(define-public openal
|
||||
(package
|
||||
(name "openal")
|
||||
(version "1.17.2")
|
||||
(version "1.18.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1898,7 +1898,7 @@ lv2-c++-tools.")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3"))))
|
||||
"10kydm8701a2kppiss9sdidn1820cmzhqgx1b2bsa5dsgzic32lz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -32,6 +33,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
|
@ -45,6 +47,7 @@
|
|||
#:use-module (gnu packages ftp)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
|
@ -472,13 +475,13 @@ detection, and lossless compression.")
|
|||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.1.5")
|
||||
(version "1.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32 "0gbdnq7ks46diz6y2pf6wpwkb9hy6hp3immi7jg3h7w72b3ycmj3"))
|
||||
(base32 "0c09j46fi8i7klas0bh82a4whlwnajshk0izkgax6fjxr1sf9lm1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -511,17 +514,6 @@ detection, and lossless compression.")
|
|||
;; HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")
|
||||
#t)))
|
||||
;; Later versions of msgpack were disallowed to some warnings and lack
|
||||
;; of support for Python versions that we don't support anyways. So,
|
||||
;; it's okay to to keep using more recents versions of msgpack for
|
||||
;; Borg. Also see the note about msgpack in the list of inputs.
|
||||
;; https://github.com/borgbackup/borg/issues/3517#issuecomment-357221978
|
||||
(add-before 'build 'adjust-msgpack-dependency
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("msgpack-python>=0.4.6,<0.5.0")
|
||||
"msgpack-python>=0.4.6"))
|
||||
#t))
|
||||
;; The tests need to be run after Borg is installed.
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
|
@ -833,3 +825,112 @@ file systems with unattended creation and expiration. A dirvish backup vault
|
|||
is like a time machine for your data. ")
|
||||
(license (license:fsf-free "file://COPYING"
|
||||
"Open Software License 2.0"))))
|
||||
|
||||
(define-public restic ; bundled / vendored dependencies
|
||||
(package
|
||||
(name "restic")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/restic/restic/releases/download/"
|
||||
"v" version "/restic-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15f0rsm2lxk4lmn4773q28g49p68pqyyx0ccp7r556asan73p79m"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/restic/restic"
|
||||
#:unpack-path "github.com/restic"
|
||||
;; We don't need to install the source code for end-user applications.
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion (string-append
|
||||
"src/github.com/restic/restic-"
|
||||
,version)
|
||||
(invoke "go" "run" "build.go"))))
|
||||
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(src (string-append "src/github.com/restic/restic-"
|
||||
,version)))
|
||||
(install-file (string-append src "/restic")
|
||||
(string-append out "/bin"))
|
||||
#t)))
|
||||
|
||||
(add-after 'install 'install-docs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(man "/share/man")
|
||||
(man-section (string-append man "/man"))
|
||||
(src (string-append "src/github.com/restic/restic-"
|
||||
,version "/doc/man/")))
|
||||
;; Install all the man pages to "out".
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file
|
||||
(string-append out man-section
|
||||
(string-take-right file 1))))
|
||||
(find-files src "\\.[1-9]"))
|
||||
#t)))
|
||||
|
||||
(add-after 'install-docs 'install-shell-completion
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(etc (string-append out "/etc"))
|
||||
(share (string-append out "/share")))
|
||||
(for-each
|
||||
(lambda (shell)
|
||||
(let* ((shell-name (symbol->string shell))
|
||||
(dir (string-append "etc/completion/" shell-name)))
|
||||
(mkdir-p dir)
|
||||
(invoke (string-append bin "/restic") "generate"
|
||||
(string-append "--" shell-name "-completion")
|
||||
(string-append dir "/"
|
||||
(case shell
|
||||
((bash) "restic")
|
||||
((zsh) "_restic"))))))
|
||||
'(bash zsh))
|
||||
(with-directory-excursion "etc/completion"
|
||||
(install-file "bash/restic"
|
||||
(string-append etc "/bash_completion.d"))
|
||||
(install-file "zsh/_restic"
|
||||
(string-append share "/zsh/site-functions")))
|
||||
#t))))))
|
||||
(home-page "https://restic.net/")
|
||||
(synopsis "Backup program with multiple revisions, encryption and more")
|
||||
(description "Restic is a program that does backups right and was designed
|
||||
with the following principles in mind:
|
||||
|
||||
@itemize
|
||||
@item Easy: Doing backups should be a frictionless process, otherwise you
|
||||
might be tempted to skip it. Restic should be easy to configure and use, so
|
||||
that, in the event of a data loss, you can just restore it. Likewise,
|
||||
restoring data should not be complicated.
|
||||
|
||||
@item Fast: Backing up your data with restic should only be limited by your
|
||||
network or hard disk bandwidth so that you can backup your files every day.
|
||||
Nobody does backups if it takes too much time. Restoring backups should only
|
||||
transfer data that is needed for the files that are to be restored, so that
|
||||
this process is also fast.
|
||||
|
||||
@item Verifiable: Much more important than backup is restore, so restic
|
||||
enables you to easily verify that all data can be restored. @item Secure:
|
||||
Restic uses cryptography to guarantee confidentiality and integrity of your
|
||||
data. The location the backup data is stored is assumed not to be a trusted
|
||||
environment (e.g. a shared space where others like system administrators are
|
||||
able to access your backups). Restic is built to secure your data against
|
||||
such attackers.
|
||||
|
||||
@item Efficient: With the growth of data, additional snapshots should only
|
||||
take the storage of the actual increment. Even more, duplicate data should be
|
||||
de-duplicated before it is actually written to the storage back end to save
|
||||
precious backup space.
|
||||
@end itemize")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -480,6 +480,17 @@ included.")
|
|||
(license gpl3+)
|
||||
(home-page "https://www.gnu.org/software/binutils/")))
|
||||
|
||||
(define-public binutils/fixed
|
||||
;; TODO: Incorporate this in binutils during the next rebuild cycle.
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit binutils)
|
||||
(source (origin
|
||||
(inherit (package-source binutils))
|
||||
(patches (append (origin-patches (package-source binutils))
|
||||
(search-patches
|
||||
"binutils-aarch64-symbol-relocation.patch"))))))))
|
||||
|
||||
(define* (make-ld-wrapper name #:key
|
||||
(target (const #f))
|
||||
binutils
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -34,15 +35,14 @@
|
|||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.6")
|
||||
(version "3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.bz2"))
|
||||
(uri (string-append "http://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d2jibp1b2dq97f22wj6pcjl7gbd2kmhfggj2c7q3j8v9axjqsh2"))))
|
||||
"0rw9jf2ikm19lq4jizavdvvp3vfvlm3annq7jsxl2y5nf1pi2qr7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
|
|
|
@ -24,10 +24,11 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bioinformatics)
|
||||
#:use-module (gnu packages cran)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages bioinformatics))
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages statistics))
|
||||
|
||||
(define-public r-bsgenome-dmelanogaster-ucsc-dm6
|
||||
(package
|
||||
|
@ -61,6 +62,111 @@ melanogaster (Fly) as provided by UCSC (dm6) and stored in Biostrings
|
|||
objects.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bsgenome-dmelanogaster-ucsc-dm3-masked
|
||||
(package
|
||||
(name "r-bsgenome-dmelanogaster-ucsc-dm3-masked")
|
||||
(version "1.3.99")
|
||||
(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.Dmelanogaster.UCSC.dm3.masked_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1756csb09f1br9rj1l3f08qyh4hlymdbd0cfn8x3fq39dn45m5ap"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Dmelanogaster.UCSC.dm3.masked")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)
|
||||
("r-bsgenome-dmelanogaster-ucsc-dm3"
|
||||
,r-bsgenome-dmelanogaster-ucsc-dm3)))
|
||||
(home-page "https://www.bioconductor.org/packages/BSgenome.Dmelanogaster.UCSC.dm3.masked/")
|
||||
(synopsis "Full masked genome sequences for Fly")
|
||||
(description
|
||||
"This package provides full masked genome sequences for Drosophila
|
||||
melanogaster (Fly) as provided by UCSC (dm3, April 2006) and stored in
|
||||
Biostrings objects. The sequences are the same as in
|
||||
BSgenome.Dmelanogaster.UCSC.dm3, except that each of them has the 4 following
|
||||
masks on top: (1) the mask of assembly gaps (AGAPS mask), (2) the mask of
|
||||
intra-contig ambiguities (AMB mask), (3) the mask of repeats from
|
||||
RepeatMasker (RM mask), and (4) the mask of repeats from Tandem Repeats
|
||||
Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by default.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bsgenome-hsapiens-ucsc-hg19-masked
|
||||
(package
|
||||
(name "r-bsgenome-hsapiens-ucsc-hg19-masked")
|
||||
(version "1.3.99")
|
||||
(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.UCSC.hg19.masked_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0452pyah0kv1vsrsjbrqw4k2rm8lc2vc771dzib45gnnfz86qxrr"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Hsapiens.UCSC.hg19.masked")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)
|
||||
("r-bsgenome-hsapiens-ucsc-hg19"
|
||||
,r-bsgenome-hsapiens-ucsc-hg19)))
|
||||
(home-page "https://bioconductor.org/packages/BSgenome.Hsapiens.UCSC.hg19.masked/")
|
||||
(synopsis "Full masked genome sequences for Homo sapiens")
|
||||
(description
|
||||
"This package provides full genome sequences for Homo sapiens (Human) as
|
||||
provided by UCSC (hg19, Feb. 2009) and stored in Biostrings objects. The
|
||||
sequences are the same as in BSgenome.Hsapiens.UCSC.hg19, except that each of
|
||||
them has the 4 following masks on top: (1) the mask of assembly gaps (AGAPS
|
||||
mask), (2) the mask of intra-contig ambiguities (AMB mask), (3) the mask of
|
||||
repeats from RepeatMasker (RM mask), and (4) the mask of repeats from Tandem
|
||||
Repeats Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by
|
||||
default.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bsgenome-mmusculus-ucsc-mm9-masked
|
||||
(package
|
||||
(name "r-bsgenome-mmusculus-ucsc-mm9-masked")
|
||||
(version "1.3.99")
|
||||
(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.Mmusculus.UCSC.mm9.masked_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00bpbm3havqcxr4g63zhllsbpd9q6svgihks7qp7x73nm4gvq7fn"))))
|
||||
(properties
|
||||
`((upstream-name . "BSgenome.Mmusculus.UCSC.mm9.masked")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-bsgenome" ,r-bsgenome)
|
||||
("r-bsgenome-mmusculus-ucsc-mm9"
|
||||
,r-bsgenome-mmusculus-ucsc-mm9)))
|
||||
(home-page "http://bioconductor.org/packages/BSgenome.Mmusculus.UCSC.mm9.masked/")
|
||||
(synopsis "Full masked genome sequences for Mouse")
|
||||
(description
|
||||
"This package provides full genome sequences for Mus musculus (Mouse) as
|
||||
provided by UCSC (mm9, Jul. 2007) and stored in Biostrings objects. The
|
||||
sequences are the same as in BSgenome.Mmusculus.UCSC.mm9, except that each of
|
||||
them has the 4 following masks on top: (1) the mask of assembly gaps (AGAPS
|
||||
mask), (2) the mask of intra-contig ambiguities (AMB mask), (3) the mask of
|
||||
repeats from RepeatMasker (RM mask), and (4) the mask of repeats from Tandem
|
||||
Repeats Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by
|
||||
default." )
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-hpar
|
||||
(package
|
||||
(name "r-hpar")
|
||||
|
@ -371,3 +477,201 @@ filtered to remove spurious regions in the genome. Downstream steps of
|
|||
segmentation and calling are also implemented via packages DNAcopy and CGHcall,
|
||||
respectively.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-bayseq
|
||||
(package
|
||||
(name "r-bayseq")
|
||||
(version "2.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "baySeq" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hbmm01a8libara9mbxknpk0wzarwfngnfwlmhpww91a0cmy5klg"))))
|
||||
(properties `((upstream-name . "baySeq")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-abind" ,r-abind)
|
||||
("r-edger" ,r-edger)
|
||||
("r-genomicranges" ,r-genomicranges)))
|
||||
(home-page "https://bioconductor.org/packages/baySeq/")
|
||||
(synopsis "Bayesian analysis of differential expression patterns in count data")
|
||||
(description
|
||||
"This package identifies differential expression in high-throughput count
|
||||
data, such as that derived from next-generation sequencing machines,
|
||||
calculating estimated posterior likelihoods of differential expression (or
|
||||
more complex hypotheses) via empirical Bayesian methods.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-chipcomp
|
||||
(package
|
||||
(name "r-chipcomp")
|
||||
(version "1.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ChIPComp" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j9nif7z33qdxf347r9wa62hhz8qs09r2p96x3hg5yz30a10ahqs"))))
|
||||
(properties `((upstream-name . "ChIPComp")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-bsgenome-hsapiens-ucsc-hg19" ,r-bsgenome-hsapiens-ucsc-hg19)
|
||||
("r-bsgenome-mmusculus-ucsc-mm9" ,r-bsgenome-mmusculus-ucsc-mm9)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-limma" ,r-limma)
|
||||
("r-rsamtools" ,r-rsamtools)
|
||||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-s4vectors" ,r-s4vectors)))
|
||||
(home-page "https://bioconductor.org/packages/ChIPComp")
|
||||
(synopsis "Quantitative comparison of multiple ChIP-seq datasets")
|
||||
(description
|
||||
"ChIPComp implements a statistical method for quantitative comparison of
|
||||
multiple ChIP-seq datasets. It detects differentially bound sharp binding
|
||||
sites across multiple conditions considering matching control in ChIP-seq
|
||||
datasets.")
|
||||
;; Any version of the GPL.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-riboprofiling
|
||||
(package
|
||||
(name "r-riboprofiling")
|
||||
(version "1.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "RiboProfiling" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04yjklqdjkim7yxyk3cyvf0mmwyxyfvw2mmfzgwaaqbiyg29sli0"))))
|
||||
(properties `((upstream-name . "RiboProfiling")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-biostrings" ,r-biostrings)
|
||||
("r-data-table" ,r-data-table)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicalignments" ,r-genomicalignments)
|
||||
("r-genomicfeatures" ,r-genomicfeatures)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-ggbio" ,r-ggbio)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-plyr" ,r-plyr)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-rsamtools" ,r-rsamtools)
|
||||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-sqldf" ,r-sqldf)))
|
||||
(home-page "https://bioconductor.org/packages/RiboProfiling/")
|
||||
(synopsis "Ribosome profiling data analysis")
|
||||
(description "Starting with a BAM file, this package provides the
|
||||
necessary functions for quality assessment, read start position recalibration,
|
||||
the counting of genomic sequence reads on CDS, 3'UTR, and 5'UTR, and plotting
|
||||
of count data: pairs, log fold-change, codon frequency and coverage
|
||||
assessment, principal component analysis on codon coverage.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-riboseqr
|
||||
(package
|
||||
(name "r-riboseqr")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "riboSeqR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xavd1cdhi8qfjn9a1hjhflyg6jq1ydvv56z12gjz572pwz2knvn"))))
|
||||
(properties `((upstream-name . "riboSeqR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-abind" ,r-abind)
|
||||
("r-bayseq" ,r-bayseq)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-rsamtools" ,r-rsamtools)
|
||||
("r-seqlogo" ,r-seqlogo)))
|
||||
(home-page "https://bioconductor.org/packages/riboSeqR/")
|
||||
(synopsis "Analysis of sequencing data from ribosome profiling experiments")
|
||||
(description
|
||||
"This package provides plotting functions, frameshift detection and
|
||||
parsing of genetic sequencing data from ribosome profiling experiments.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-interactionset
|
||||
(package
|
||||
(name "r-interactionset")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "InteractionSet" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xngraq7ic80jr98i1wqp8bxdgidq6py60m2wfk82n1ixpcdck8n"))))
|
||||
(properties
|
||||
`((upstream-name . "InteractionSet")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)))
|
||||
(home-page "https://bioconductor.org/packages/InteractionSet")
|
||||
(synopsis "Base classes for storing genomic interaction data")
|
||||
(description
|
||||
"This packages provides the @code{GInteractions},
|
||||
@code{InteractionSet} and @code{ContactMatrix} objects and associated methods
|
||||
for storing and manipulating genomic interaction data from Hi-C and ChIA-PET
|
||||
experiments.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-genomicinteractions
|
||||
(package
|
||||
(name "r-genomicinteractions")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GenomicInteractions" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cnagprxj0b7p6s29iyhqwxj7hgmrh75gj52y4dlil790d1bmq2q"))))
|
||||
(properties
|
||||
`((upstream-name . "GenomicInteractions")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biobase" ,r-biobase)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-data-table" ,r-data-table)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gridextra" ,r-gridextra)
|
||||
("r-gviz" ,r-gviz)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-interactionset" ,r-interactionset)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-rsamtools" ,r-rsamtools)
|
||||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-stringr" ,r-stringr)))
|
||||
(home-page "https://github.com/ComputationalRegulatoryGenomicsICL/GenomicInteractions/")
|
||||
(synopsis "R package for handling genomic interaction data")
|
||||
(description
|
||||
"This R package provides tools for handling genomic interaction data,
|
||||
such as ChIA-PET/Hi-C, annotating genomic features with interaction
|
||||
information and producing various plots and statistics.")
|
||||
(license license:gpl3)))
|
||||
|
|
|
@ -6939,13 +6939,13 @@ Bioconductor, CRAN, and Github.")
|
|||
(define-public r-biocviews
|
||||
(package
|
||||
(name "r-biocviews")
|
||||
(version "1.48.0")
|
||||
(version "1.48.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "biocViews" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yx2lir67ny0j150wyfqca0wsxp84byri8nscbs9qlndkh2jppq9"))))
|
||||
"1q5z6xxhjyibr165di7iyachw4gd4bdrxkd8rjkcklnngsrx1azm"))))
|
||||
(properties
|
||||
`((upstream-name . "biocViews")))
|
||||
(build-system r-build-system)
|
||||
|
@ -7128,13 +7128,13 @@ abnormal copy number.")
|
|||
(define-public r-s4vectors
|
||||
(package
|
||||
(name "r-s4vectors")
|
||||
(version "0.18.2")
|
||||
(version "0.18.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "S4Vectors" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qvj2j0zl4djjl7vrwc6xak6h8dxr53iwypfbcvfb3sh7jwhdiz5"))))
|
||||
"02bps2rpjqx2npwxq3x62ncwi9ggr165cwi56h6hld28bw2gddy8"))))
|
||||
(properties
|
||||
`((upstream-name . "S4Vectors")))
|
||||
(build-system r-build-system)
|
||||
|
@ -9705,13 +9705,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
(define-public r-seurat
|
||||
(package
|
||||
(name "r-seurat")
|
||||
(version "2.3.1")
|
||||
(version "2.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Seurat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hi59rgdrr2iqfvx5bq7yq02hbjxkjl1fzidqj14z0ypq0nzbjys"))
|
||||
"1sjpy5rrpvlpm6hs7qy7qpglgbp7zrgfybcsalpmjb51rhxhgcg1"))
|
||||
;; Delete pre-built jar.
|
||||
(snippet
|
||||
'(begin (delete-file "inst/java/ModularityOptimizer.jar")
|
||||
|
@ -9755,6 +9755,7 @@ Main-Class: ModularityOptimizer\n")))
|
|||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-ggridges" ,r-ggridges)
|
||||
("r-gplots" ,r-gplots)
|
||||
("r-hdf5r" ,r-hdf5r)
|
||||
("r-hmisc" ,r-hmisc)
|
||||
("r-ica" ,r-ica)
|
||||
("r-igraph" ,r-igraph)
|
||||
|
@ -12905,7 +12906,7 @@ expression report comparing samples in an easily configurable manner.")
|
|||
(define-public pigx-chipseq
|
||||
(package
|
||||
(name "pigx-chipseq")
|
||||
(version "0.0.15")
|
||||
(version "0.0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
|
||||
|
@ -12913,7 +12914,7 @@ expression report comparing samples in an easily configurable manner.")
|
|||
"/pigx_chipseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11v9v3vyda0sv4cl45nki7mm4v4bjfcdq7a70kcvi9h465nq66wg"))))
|
||||
"0s53840z53pih0jkllmcfb2la7c36zxmf229fshhyq8n6a2hgr8f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; parts of the tests rely on access to the network
|
||||
|
@ -12985,7 +12986,7 @@ in an easily configurable manner.")
|
|||
(define-public pigx-bsseq
|
||||
(package
|
||||
(name "pigx-bsseq")
|
||||
(version "0.0.8")
|
||||
(version "0.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
|
||||
|
@ -12993,7 +12994,7 @@ in an easily configurable manner.")
|
|||
"/pigx_bsseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0irlnlhhw9fd4ha7hksrxn3y7j76mz5qq1wjswbs9p364laqg69y"))))
|
||||
"0j1dfjk8m1p1h6d5yw63scjlbx56z8gixmbw626w1vcyblg0frmz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -13052,7 +13053,7 @@ methylation and segmentation.")
|
|||
(define-public pigx-scrnaseq
|
||||
(package
|
||||
(name "pigx-scrnaseq")
|
||||
(version "0.0.4")
|
||||
(version "0.0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
|
||||
|
@ -13060,7 +13061,7 @@ methylation and segmentation.")
|
|||
"/pigx_scrnaseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pvjm6f3mascprs65vflggwwg5v925knvgal7k7a6nnlmw5qndrf"))))
|
||||
"0a73rilv0vnw42d5rsdq205h4f0x8j3jqv998janh4s324c6w2kj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -13088,6 +13089,7 @@ methylation and segmentation.")
|
|||
("python-wrapper" ,python-wrapper)
|
||||
("python-pyyaml" ,python-pyyaml)
|
||||
("python-pandas" ,python-pandas)
|
||||
("python-magic" ,python-magic)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-loompy" ,python-loompy)
|
||||
("ghc-pandoc" ,ghc-pandoc-1)
|
||||
|
@ -13245,3 +13247,62 @@ rate speciation and extinction.")
|
|||
junctions in RNA-seq data. It is annotation-agnostic and offset-aware. This
|
||||
version does count multisplits.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public minimap2
|
||||
(package
|
||||
(name "minimap2")
|
||||
(version "2.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/lh3/minimap2/"
|
||||
"releases/download/v" version "/"
|
||||
"minimap2-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"080w9066irkbhbyr4nmf19pzkdd2s4v31hpzlajgq2y0drr6zcsj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are none
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(let ((system ,(or (%current-target-system)
|
||||
(%current-system))))
|
||||
(cond
|
||||
((string-prefix? "x86_64" system)
|
||||
"all")
|
||||
((or (string-prefix? "armhf" system)
|
||||
(string-prefix? "aarch64" system))
|
||||
"arm_neon=1")
|
||||
(_ "sse2only=1"))))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(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")))
|
||||
(install-file "minimap2" bin)
|
||||
(mkdir-p man)
|
||||
(install-file "minimap2.1" man))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(home-page "https://lh3.github.io/minimap2/")
|
||||
(synopsis "Pairwise aligner for genomic and spliced nucleotide sequences")
|
||||
(description "Minimap2 is a versatile sequence alignment program that
|
||||
aligns DNA or mRNA sequences against a large reference database. Typical use
|
||||
cases include:
|
||||
|
||||
@enumerate
|
||||
@item mapping PacBio or Oxford Nanopore genomic reads to the human genome;
|
||||
@item finding overlaps between long reads with error rate up to ~15%;
|
||||
@item splice-aware alignment of PacBio Iso-Seq or Nanopore cDNA or Direct RNA
|
||||
reads against a reference genome;
|
||||
@item aligning Illumina single- or paired-end reads;
|
||||
@item assembly-to-assembly alignment;
|
||||
@item full-genome alignment between two closely related species with
|
||||
divergence below ~15%.
|
||||
@end enumerate\n")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
|
@ -61,7 +61,8 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 regex))
|
||||
|
||||
(define unifont
|
||||
;; GNU Unifont, <http://gnu.org/s/unifont>.
|
||||
|
@ -144,6 +145,22 @@
|
|||
("texinfo" ,texinfo)
|
||||
("help2man" ,help2man)
|
||||
|
||||
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
|
||||
;; capable of assembling 64-bit instructions. However, our default
|
||||
;; binutils on 32-bit x86 is not 64-bit capable.
|
||||
,@(if (string-match "^i[3456]86-" (%current-system))
|
||||
(let ((binutils (package/inherit
|
||||
binutils
|
||||
(name "binutils-i386")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments binutils)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons "--enable-64-bit-bfd" ,flags)))))))
|
||||
`(("ld-wrapper" ,(make-ld-wrapper "ld-wrapper-i386"
|
||||
#:binutils binutils))
|
||||
("binutils" ,binutils)))
|
||||
'())
|
||||
|
||||
;; Dependencies for the test suite. The "real" QEMU is needed here,
|
||||
;; because several targets are used.
|
||||
("parted" ,parted)
|
||||
|
@ -439,7 +456,7 @@ def test_ctrl_c"))
|
|||
also initializes the boards (RAM etc). This package provides its
|
||||
board-independent tools.")))
|
||||
|
||||
(define (make-u-boot-package board triplet)
|
||||
(define-public (make-u-boot-package board triplet)
|
||||
"Returns a u-boot package for BOARD cross-compiled for TRIPLET."
|
||||
(let ((same-arch? (if (string-prefix? (%current-system)
|
||||
(gnu-triplet->nix-system triplet))
|
||||
|
|
|
@ -293,13 +293,13 @@ format.")
|
|||
(define-public cppcheck
|
||||
(package
|
||||
(name "cppcheck")
|
||||
(version "1.83")
|
||||
(version "1.84")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/danmar/cppcheck/archive/"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15ghxwmyy09cd9mi008k4jn09c441j86qyaa4dz0is7f5dv5cdkx"))
|
||||
(base32 "1ibz07dgs1dpfb8bmjh3qsma37wl5p6s6b4qlv5ccpshj4yjk9ma"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "http://cppcheck.sourceforge.net")
|
||||
|
@ -1902,19 +1902,14 @@ create data based on random numbers and yet remain repeatable.")
|
|||
(define-public python-nose-timer
|
||||
(package
|
||||
(name "python-nose-timer")
|
||||
(version "0.7.0")
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nose-timer" version))
|
||||
(patches
|
||||
(search-patches
|
||||
;; This patch will not be needed in the next version.
|
||||
;; It is taken from the master branch.
|
||||
"python-nose-timer-drop-ordereddict.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s32ymsnby8lz2qk55ifj9zi50dqcg6swnj5cz2rmwxg2jsslsxp"))))
|
||||
"0ywg223p528014z5s0vzck74r4xyw3kvcp2casfnc85dkvir1zj7"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-nose" ,python-nose)
|
||||
|
@ -1930,14 +1925,14 @@ create data based on random numbers and yet remain repeatable.")
|
|||
(define-public python-freezegun
|
||||
(package
|
||||
(name "python-freezegun")
|
||||
(version "0.3.9")
|
||||
(version "0.3.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "freezegun" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vhf3kgdy7gpy70n3bxa3y1n6aza316137md97z8p5k0gz6wqg3q"))))
|
||||
"08m6b42yxb9hk5lv747v9n2qsxyadmkb0k6yg0gxdanwap0slg3h"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
|
@ -1953,7 +1948,7 @@ create data based on random numbers and yet remain repeatable.")
|
|||
;; package does not include the Makefile.
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "nosetests" "./tests/")))))))
|
||||
(invoke "nosetests" "./tests/"))))))
|
||||
(home-page "https://github.com/spulec/freezegun")
|
||||
(synopsis "Test utility for mocking the datetime module")
|
||||
(description
|
||||
|
|
|
@ -2111,7 +2111,7 @@ single-member files which can't be decompressed in parallel.")
|
|||
(define-public innoextract
|
||||
(package
|
||||
(name "innoextract")
|
||||
(version "1.6")
|
||||
(version "1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2119,7 +2119,7 @@ single-member files which can't be decompressed in parallel.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08sp5vbfjvq1irhhraqkn5m2x1z209r4axhx7laf1adcw30ccapi"))
|
||||
"0khwi9f0q0h6xfbixrrc1rfpgj0b7ajwilq7yhmxnn5lpc807f6x"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -2209,7 +2209,8 @@ decompression is a little bit slower.")
|
|||
version "/" name "-" version "-src.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1"))))
|
||||
"08anybdliqsbsl6x835iwzljahnm9i7v26icdjkcv33xmk6p5vw1"))
|
||||
(patches (search-patches "upx-fix-CVE-2017-15056.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)
|
||||
("ucl" ,ucl)))
|
||||
|
@ -2241,6 +2242,11 @@ decompression is a little bit slower.")
|
|||
#t))
|
||||
)))
|
||||
(home-page "https://upx.github.io/")
|
||||
;; CVE-2017-16869 is about Mach-O files which is not of a big concern for Guix.
|
||||
;; See https://github.com/upx/upx/issues/146 and
|
||||
;; https://nvd.nist.gov/vuln/detail?vulnId=CVE-2017-16869.
|
||||
;; The issue will be fixed after version 3.94.
|
||||
(properties `((lint-hidden-cve . ("CVE-2017-16869"))))
|
||||
(synopsis "Compression tool for executables")
|
||||
(description
|
||||
"The Ultimate Packer for eXecutables (UPX) is an executable file
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages maths)
|
||||
|
@ -556,14 +557,14 @@ ellipses, circles, cylinders, arrows, ...")
|
|||
(define-public r-globaloptions
|
||||
(package
|
||||
(name "r-globaloptions")
|
||||
(version "0.0.13")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "GlobalOptions" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04jvha0mafslqz5nr99xjylg9n2x31gj9v4mgyg7qcmfwpqyw3ch"))))
|
||||
"1wlyqz1yhmhjwslrd7q69jbd9vsbjkjfc01g60kl3cdpyr8hlyjn"))))
|
||||
(properties `((upstream-name . "GlobalOptions")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/jokergoo/GlobalOptions")
|
||||
|
@ -576,14 +577,14 @@ validation and filtering on the values, making options invisible or private.")
|
|||
(define-public r-circlize
|
||||
(package
|
||||
(name "r-circlize")
|
||||
(version "0.4.3")
|
||||
(version "0.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "circlize" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pg947gkryygikfbv6admx8gsg02b6g219j6a1sdnqij2908yxna"))))
|
||||
"1l28maiqi549z191srncxgabx5fnvf0lld7smzwfd3vr5cx8nqww"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-colorspace" ,r-colorspace)
|
||||
|
@ -681,14 +682,14 @@ compare different dendrograms to one another.")
|
|||
(define-public r-getoptlong
|
||||
(package
|
||||
(name "r-getoptlong")
|
||||
(version "0.1.6")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "GetoptLong" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d98gcvlvp9nz5lbnzr0kkpc2hbkx74hlhrnybqhg1gdwc3g09pm"))))
|
||||
"1fl3w2n602ldybc5qj7qw4xmzzb804bsjkqwf6dswzj0vf0qiadr"))))
|
||||
(properties `((upstream-name . "GetoptLong")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
|
@ -896,14 +897,14 @@ most popular ones.")
|
|||
(define-public r-sp
|
||||
(package
|
||||
(name "r-sp")
|
||||
(version "1.2-7")
|
||||
(version "1.3-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "sp" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q04yfgyjannsrzl0ppwcv0simrxrrbx2iz5mzaafc5x38zf0q3d"))))
|
||||
"17xm1ig80p9wc860hm3bgishz6lj9fxgwqidj7rkbk4ap99qp62p"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-lattice" ,r-lattice)))
|
||||
|
@ -1009,14 +1010,14 @@ SpatialVx.")
|
|||
(define-public r-extremes
|
||||
(package
|
||||
(name "r-extremes")
|
||||
(version "2.0-8")
|
||||
(version "2.0-9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "extRemes" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pnpib3g2r9x8hfqhvq23j8m3jh62lp28ipnqir5yadnzv850gfm"))))
|
||||
"0cpvcajk9xyy7662nqkyx333vrxpwsc5nmv0bfnhsbgijz5y0hvm"))))
|
||||
(properties `((upstream-name . "extRemes")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -1595,14 +1596,14 @@ Core algorithms are executed in parallel on systems supporting OpenMP.")
|
|||
(define-public r-rcpproll
|
||||
(package
|
||||
(name "r-rcpproll")
|
||||
(version "0.2.2")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RcppRoll" version))
|
||||
(sha256
|
||||
(base32
|
||||
"19xzvxym8zbighndygkq4imfwc0abh4hqyq3qrr8aakyd096iisi"))))
|
||||
"0srzfhzkk42kzrdjnhbb37946jp1p688rgysy6k3i2is8jb21zyb"))))
|
||||
(properties `((upstream-name . "RcppRoll")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -1822,14 +1823,14 @@ color labels, layout, etc.")
|
|||
(define-public r-stringdist
|
||||
(package
|
||||
(name "r-stringdist")
|
||||
(version "0.9.4.7")
|
||||
(version "0.9.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "stringdist" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qg80wmcrpkba9njvgjdg15bgw7ddks40kkfh5x61as9lhchy4i4"))))
|
||||
"0gap1g9xwhp0zxqsznkc2carpvi80z03prr4q8m528684lznx2xa"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/markvanderloo/stringdist")
|
||||
(synopsis "Approximate string matching and string distance functions")
|
||||
|
@ -2718,17 +2719,19 @@ supports arbitrary vertex/edge/graph attributes.")
|
|||
(define-public r-statnet-common
|
||||
(package
|
||||
(name "r-statnet-common")
|
||||
(version "4.0.0")
|
||||
(version "4.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "statnet.common" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yw6l5b4qv0jqlg4zyczas7m12a5pyqghs6ydxy2f6v6vxkijvi0"))))
|
||||
"0h3g687214rlycca0fjrpy1lqbqsrginxqhmhl2mb2jinqqxcfgd"))))
|
||||
(properties
|
||||
`((upstream-name . "statnet.common")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-coda" ,r-coda)))
|
||||
(home-page "https://statnet.org")
|
||||
(synopsis "R scripts and utilities used by the Statnet software")
|
||||
(description "This package provides non-statistical utilities used by the
|
||||
|
@ -2971,14 +2974,14 @@ Cryer and Kung-Sik Chan.")
|
|||
(define-public r-extradistr
|
||||
(package
|
||||
(name "r-extradistr")
|
||||
(version "1.8.8")
|
||||
(version "1.8.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "extraDistr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ywn4qwnamv36l1hw27l9y5kh3v6ha5781wsv2bz6szqjgg7kdb3"))))
|
||||
"1fg8vjpal33y51iqzglk1yvy46d7js0l0wfbdy698lq8a06hq19p"))))
|
||||
(properties `((upstream-name . "extraDistr")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3041,14 +3044,14 @@ applied econometric analysis.")
|
|||
(define-public r-cubature
|
||||
(package
|
||||
(name "r-cubature")
|
||||
(version "1.3-11")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "cubature" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06f6gsvbb732p80r6hxvzh4ik546icxfvx21dyh65ypmw3kgm64k"))))
|
||||
"1hd23b8v2kpqp5gr0va8p2q7j8w9rik6ks7zrr4b8mb2mwrakk74"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-rcpp" ,r-rcpp)))
|
||||
|
@ -3324,14 +3327,14 @@ environment within Shiny.")
|
|||
(define-public r-radiant-data
|
||||
(package
|
||||
(name "r-radiant-data")
|
||||
(version "0.8.1")
|
||||
(version "0.9.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "radiant.data" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ylina1jlrmvjkj8pwg0ip5jv1038vnzyckmf542xl7g11x8rvw1"))
|
||||
"0mbxfqn79nphii4hb6kxl2wc0w0ra16y378rp2yw9a9926zdb7mb"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -3347,6 +3350,7 @@ environment within Shiny.")
|
|||
("r-curl" ,r-curl)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-dt" ,r-dt)
|
||||
("r-glue" ,r-glue)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gridextra" ,r-gridextra)
|
||||
("r-import" ,r-import)
|
||||
|
@ -3355,16 +3359,19 @@ environment within Shiny.")
|
|||
("r-lubridate" ,r-lubridate)
|
||||
("r-magrittr" ,r-magrittr)
|
||||
("r-markdown" ,r-markdown)
|
||||
("r-pryr" ,r-pryr)
|
||||
("r-plotly" ,r-plotly)
|
||||
("r-psych" ,r-psych)
|
||||
("r-readr" ,r-readr)
|
||||
("r-readxl" ,r-readxl)
|
||||
("r-rlang" ,r-rlang)
|
||||
("r-rmarkdown" ,r-rmarkdown)
|
||||
("r-rstudioapi" ,r-rstudioapi)
|
||||
("r-scales" ,r-scales)
|
||||
("r-shiny" ,r-shiny)
|
||||
("r-shinyace" ,r-shinyace)
|
||||
("r-tibble" ,r-tibble)
|
||||
("r-tidyr" ,r-tidyr)))
|
||||
("r-tidyr" ,r-tidyr)
|
||||
("r-writexl" ,r-writexl)))
|
||||
(home-page "https://github.com/radiant-rstats/radiant.data")
|
||||
(synopsis "Data menu for Radiant: business analytics using R and Shiny")
|
||||
(description
|
||||
|
@ -3915,14 +3922,14 @@ exchanging spatial objects with other R packages.")
|
|||
(define-public r-later
|
||||
(package
|
||||
(name "r-later")
|
||||
(version "0.7.2")
|
||||
(version "0.7.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "later" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l5ln7sjyi2rj7bx8iamxykqlfarv05zb9882ikizppb1cr1hgyw"))))
|
||||
"04j2phymxgkk4hv9pfa5w3s98w5d7fvm11blrdhxmray4n618msw"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-bh" ,r-bh)
|
||||
|
@ -4125,14 +4132,14 @@ obtain a better initial configuration in non-metric MDS.")
|
|||
(define-public r-reticulate
|
||||
(package
|
||||
(name "r-reticulate")
|
||||
(version "1.7")
|
||||
(version "1.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "reticulate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ghhc4hbmwpp79ilbdbshynhs61i8sv8z6p1al04jy7ij0lcglxy"))))
|
||||
"0zwb4ikf021nw7axdn7qlr6bq4xkph3anfy314idkspy1iil4nmr"))))
|
||||
(build-system r-build-system)
|
||||
(inputs `(("python" ,python)))
|
||||
(propagated-inputs
|
||||
|
@ -4190,3 +4197,267 @@ generating multiple logo plots, and aiding the visualisation with annotations.
|
|||
Sequence logos can easily be combined with other ggplot2 plots.")
|
||||
;; Unspecified version of the LGPL.
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public r-ggsci
|
||||
(package
|
||||
(name "r-ggsci")
|
||||
(version "2.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggsci" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g73x6grbka7ahjh6z23m3wrcifp5rdfdiasbl8lq4sp6rplxwaa"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ggplot2" ,r-ggplot2)
|
||||
("r-scales" ,r-scales)))
|
||||
(home-page "https://nanx.me/ggsci/")
|
||||
(synopsis "Scientific journal and sci-fi themed color palettes for ggplot2")
|
||||
(description
|
||||
"This package provides a collection of ggplot2 color palettes inspired by
|
||||
plots in scientific journals, data visualization libraries, science fiction
|
||||
movies, and TV shows.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-ggsignif
|
||||
(package
|
||||
(name "r-ggsignif")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggsignif" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rn58d7pb3axk6chiihryykrzw76adaa2yiafq4d0j6qbhax78f7"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ggplot2" ,r-ggplot2)))
|
||||
(home-page "https://github.com/const-ae/ggsignif")
|
||||
(synopsis "Significance brackets for ggplot2")
|
||||
(description
|
||||
"Enrich your ggplots with group-wise comparisons. This package provides
|
||||
an easy way to indicate if two groups are significantly different. Commonly
|
||||
this is shown by a bracket on top connecting the groups of interest which
|
||||
itself is annotated with the level of significance. The package provides a
|
||||
single layer that takes the groups for comparison and the test as arguments
|
||||
and adds the annotation to the plot.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-ggpubr
|
||||
(package
|
||||
(name "r-ggpubr")
|
||||
(version "0.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggpubr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mvw215bj887958p34f0dzlrb8mgyfcz9b5zvsschvbhamqinqna"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-cowplot" ,r-cowplot)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-ggrepel" ,r-ggrepel)
|
||||
("r-ggsci" ,r-ggsci)
|
||||
("r-ggsignif" ,r-ggsignif)
|
||||
("r-gridextra" ,r-gridextra)
|
||||
("r-magrittr" ,r-magrittr)
|
||||
("r-purrr" ,r-purrr)
|
||||
("r-scales" ,r-scales)
|
||||
("r-tidyr" ,r-tidyr)))
|
||||
(home-page "http://www.sthda.com/english/rpkgs/ggpubr")
|
||||
(synopsis "ggplot2-based publication-ready plots")
|
||||
(description
|
||||
"The ggplot2 package is an excellent and flexible package for elegant
|
||||
data visualization in R. However the default generated plots require some
|
||||
formatting before we can send them for publication. The ggpubr package
|
||||
provides some easy-to-use functions for creating and customizing ggplot2-based
|
||||
publication-ready plots.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-ellipse
|
||||
(package
|
||||
(name "r-ellipse")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ellipse" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g82vc51m3c1k0hnpp2zla6amxxgk2mmkl8ssnsc49jv3599r6hs"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/ellipse/")
|
||||
(synopsis "Functions for drawing ellipses and ellipse-like confidence regions")
|
||||
(description
|
||||
"This package contains various routines for drawing ellipses and
|
||||
ellipse-like confidence regions, implementing the plots described in Murdoch
|
||||
and Chow (1996), A graphical display of large correlation matrices, The
|
||||
American Statistician 50, 178-180. There are also routines implementing the
|
||||
profile plots described in Bates and Watts (1988), Nonlinear Regression
|
||||
Analysis and its Applications.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-flashclust
|
||||
(package
|
||||
(name "r-flashclust")
|
||||
(version "1.01-2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "flashClust" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l4lpz451ll7f7lfxmb7ds24ppzhfg1c3ypvydglcc35p2dq99s8"))))
|
||||
(properties `((upstream-name . "flashClust")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs `(("gfortran" ,gfortran)))
|
||||
(home-page "https://cran.r-project.org/web/packages/flashClust/")
|
||||
(synopsis "Implementation of optimal hierarchical clustering")
|
||||
(description
|
||||
"This package provides a fast implementation of hierarchical
|
||||
clustering.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-factominer
|
||||
(package
|
||||
(name "r-factominer")
|
||||
(version "1.41")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "FactoMineR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h20hydav6l2b7bngqw1av4l5rrh0wk58nhailga1f4qw9lrv259"))))
|
||||
(properties `((upstream-name . "FactoMineR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-car" ,r-car)
|
||||
("r-cluster" ,r-cluster)
|
||||
("r-ellipse" ,r-ellipse)
|
||||
("r-flashclust" ,r-flashclust)
|
||||
("r-lattice" ,r-lattice)
|
||||
("r-leaps" ,r-leaps)
|
||||
("r-mass" ,r-mass)
|
||||
("r-scatterplot3d" ,r-scatterplot3d)))
|
||||
(home-page "http://factominer.free.fr")
|
||||
(synopsis "Multivariate exploratory data analysis and data mining")
|
||||
(description
|
||||
"This package provides exploratory data analysis methods to summarize,
|
||||
visualize and describe datasets. The main principal component methods are
|
||||
available, those with the largest potential in terms of applications:
|
||||
principal component analysis (PCA) when variables are quantitative,
|
||||
correspondence analysis (CA) and multiple correspondence analysis (MCA) when
|
||||
variables are categorical, Multiple Factor Analysis when variables are
|
||||
structured in groups, etc. and hierarchical cluster analysis.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-factoextra
|
||||
(package
|
||||
(name "r-factoextra")
|
||||
(version "1.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "factoextra" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l6m8k7qhdw8ndar8nhmym0lfyd1i2iszl1cicjax0vq23ss6xw1"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-abind" ,r-abind)
|
||||
("r-cluster" ,r-cluster)
|
||||
("r-dendextend" ,r-dendextend)
|
||||
("r-factominer" ,r-factominer)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-ggpubr" ,r-ggpubr)
|
||||
("r-ggrepel" ,r-ggrepel)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-tidyr" ,r-tidyr)))
|
||||
(home-page "http://www.sthda.com/english/rpkgs/factoextra")
|
||||
(synopsis "Extract and visualize the results of multivariate data analyses")
|
||||
(description
|
||||
"This package provides some easy-to-use functions to extract and
|
||||
visualize the output of multivariate data analyses, including
|
||||
@code{PCA} (Principal Component Analysis), @code{CA} (Correspondence
|
||||
Analysis), @code{MCA} (Multiple Correspondence Analysis), @code{FAMD} (Factor
|
||||
Analysis of Mixed Data), @code{MFA} (Multiple Factor Analysis) and
|
||||
@code{HMFA} (Hierarchical Multiple Factor Analysis) functions from different R
|
||||
packages. It contains also functions for simplifying some clustering analysis
|
||||
steps and provides ggplot2-based elegant data visualization.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-nbclust
|
||||
(package
|
||||
(name "r-nbclust")
|
||||
(version "3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "NbClust" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vwb48zy6ln1ddpqmfngii1i80n8qmqyxnzdp6gbaq96lakl3w3c"))))
|
||||
(properties `((upstream-name . "NbClust")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://sites.google.com/site/malikacharrad/research/nbclust-package")
|
||||
(synopsis "Determine the best number of clusters in a data set")
|
||||
(description
|
||||
"NbClust provides 30 indexes for determining the optimal number of
|
||||
clusters in a data set and offers the best clustering scheme from different
|
||||
results to the user.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-hdf5r
|
||||
(package
|
||||
(name "r-hdf5r")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "hdf5r" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s6p4cj909kc635fh5xpl87bqlcdj3dn3r1wk5g40abimk2b0pva"))))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("hdf5" ,hdf5)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-bit64" ,r-bit64)
|
||||
("r-r6" ,r-r6)))
|
||||
(home-page "https://hhoeflin.github.io/hdf5r")
|
||||
(synopsis "Interface to the HDF5 binary data format")
|
||||
(description
|
||||
"HDF5 is a data model, library and file format for storing and managing
|
||||
large amounts of data. This package provides a nearly feature complete,
|
||||
object oriented wrapper for the HDF5 API using R6 classes. Additionally,
|
||||
functionality is added so that HDF5 objects behave very similar to their
|
||||
corresponding R counterparts.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public r-writexl
|
||||
(package
|
||||
(name "r-writexl")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "writexl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r2v12dc4zqmr1agp6vbw0fc48i278018684x84psjjqfmnv14cf"))))
|
||||
(build-system r-build-system)
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(home-page "https://github.com/ropensci/writexl")
|
||||
(synopsis "Export data frames to xlsx format")
|
||||
(description
|
||||
"This package provides a data frame to xlsx exporter based on
|
||||
libxlsxwriter.")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages databases)
|
||||
|
@ -217,7 +218,7 @@ communication.")
|
|||
(define-public encfs
|
||||
(package
|
||||
(name "encfs")
|
||||
(version "1.9.1")
|
||||
(version "1.9.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -226,13 +227,13 @@ communication.")
|
|||
version "/encfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1906254dg5hwljh0h4gyrw09ms3b57dlhjfzhfzffv50yzpkl837"))
|
||||
"0qzxavvv20577bxvly8s7d3y7bqasqclc2mllp0ddfncjm9z02a7"))
|
||||
(modules '((guix build utils)))
|
||||
;; Remove bundled dependencies in favour of proper inputs.
|
||||
(snippet '(begin
|
||||
(for-each delete-file-recursively
|
||||
(find-files "internal" "^tinyxml2-[0-9]"
|
||||
#:directories? #t))
|
||||
'("vendor/github.com/leethomason/tinyxml2"
|
||||
"vendor/github.com/google/googletest"))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
|
@ -240,6 +241,7 @@ communication.")
|
|||
|
||||
;; Test dependencies.
|
||||
("expect" ,expect)
|
||||
("googletest-source" ,(package-source googletest))
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("attr" ,attr)
|
||||
|
@ -247,7 +249,18 @@ communication.")
|
|||
("openssl" ,openssl)
|
||||
("tinyxml2" ,tinyxml2)))
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF")))
|
||||
`(#:configure-flags (list "-DUSE_INTERNAL_TINYXML=OFF")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-googletest
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "vendor/github.com/google/googletest")
|
||||
(invoke "tar" "xvf" (assoc-ref inputs "googletest-source")
|
||||
"-C" "vendor/github.com/google/googletest"
|
||||
"--strip-components=1")))
|
||||
(add-before 'check 'make-unittests
|
||||
(lambda _
|
||||
(invoke "make" "unittests"))))))
|
||||
(home-page "https://vgough.github.io/encfs")
|
||||
(synopsis "Encrypted virtual file system")
|
||||
(description
|
||||
|
@ -713,14 +726,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
|
|||
(define-public botan
|
||||
(package
|
||||
(name "botan")
|
||||
(version "2.5.0")
|
||||
(version "2.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://botan.randombit.net/releases/"
|
||||
"Botan-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06zvwknhwfrkdvq2sybqbqhnd2d4nq2cszlnsddql13z7vh1z8xq"))))
|
||||
"1iawmymmnp5j2mcjj70slivn6bgg8gbpppldc1rjqw5sbdan3wn1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -1107,7 +1107,7 @@ extremely small.")
|
|||
(define-public perl-dbi
|
||||
(package
|
||||
(name "perl-dbi")
|
||||
(version "1.637")
|
||||
(version "1.641")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1115,7 +1115,7 @@ extremely small.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ikbsb6sb0bd2m1dqknl4vx7ikmnd41y0xq8np1l40g8jcjp2mr5"))))
|
||||
"1hf2x29bnqf2x1v4bdhji802z7n2mbg7h1amv8gdkqyhrlrfa2am"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Database independent interface for Perl")
|
||||
(description "This package provides an database interface for Perl.")
|
||||
|
|
|
@ -57,13 +57,13 @@ clients.")
|
|||
(define-public vdirsyncer
|
||||
(package
|
||||
(name "vdirsyncer")
|
||||
(version "0.16.4")
|
||||
(version "0.16.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03wva48bgv1ad3df6plc9b8xxh6k8bcaxrhlzwh81c9mzn5bspzv"))))
|
||||
"07iqq5c53cfrb5xnmam1rsl683hc3rykmdak896n2gm81r361c66"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -76,7 +76,6 @@ clients.")
|
|||
(zero? (system* "make" "test"))))
|
||||
(add-after 'install 'manpage
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(zero? (system* "make" "--directory=docs/" "man"))
|
||||
(install-file
|
||||
"docs/_build/man/vdirsyncer.1"
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
|
@ -104,6 +105,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
(uri (string-append
|
||||
"ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "bind-CVE-2018-5738.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a9dvyg1dk7vpqn9gz7p5jas3bz7z22bjd66b98g1qk16i2w7rqd"))))
|
||||
|
|
|
@ -40,15 +40,7 @@
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0acnxfwvkx1m1d0h5z051mz95n35zm468hcvc3wpmn17c15h5ihg"))
|
||||
;; FIXME: 27 tests (out of 4K) had to be disabled as
|
||||
;; they fail in the build environment. Common failures
|
||||
;; are:
|
||||
;; - Mix.Shell.cmd() fails with error 130
|
||||
;; - The git_repo fixture cannot be found
|
||||
;; - Communication with spawned processes fails with EPIPE
|
||||
;; - Failure to copy files
|
||||
(patches (search-patches "elixir-disable-failing-tests.patch"))))
|
||||
"0acnxfwvkx1m1d0h5z051mz95n35zm468hcvc3wpmn17c15h5ihg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -70,27 +62,6 @@
|
|||
(("#!/usr/bin/env elixir")
|
||||
(string-append "#!" out "/bin/elixir"))))
|
||||
#t))
|
||||
(add-after 'unpack 'fix-or-disable-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Some tests require access to a home directory.
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
;; FIXME: These tests fail because the "git_repo" fixture does
|
||||
;; not exist or cannot be found.
|
||||
(delete-file "lib/mix/test/mix/tasks/deps.git_test.exs")
|
||||
|
||||
;; FIXME: Mix.Shell.cmd() always fails with error code 130.
|
||||
(delete-file "lib/mix/test/mix/shell_test.exs")
|
||||
|
||||
;; FIXME:
|
||||
;; disabled failing impure tests to make it build again.
|
||||
;; related discussion: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28034#14
|
||||
(delete-file "lib/elixir/test/elixir/kernel/cli_test.exs")
|
||||
(delete-file "lib/elixir/test/elixir/kernel/dialyzer_test.exs")
|
||||
(delete-file "lib/iex/test/iex/helpers_test.exs")
|
||||
(delete-file "lib/ex_unit/test/ex_unit/capture_io_test.exs")
|
||||
|
||||
#t))
|
||||
(add-before 'build 'make-current
|
||||
;; The Elixir compiler checks whether or not to compile files by
|
||||
;; inspecting their timestamps. When the timestamp is equal to the
|
||||
|
@ -102,6 +73,11 @@
|
|||
(utime file recent recent 0 0)))
|
||||
(find-files "." ".*"))
|
||||
#t))
|
||||
(add-before 'check 'set-home
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Some tests require access to a home directory.
|
||||
(setenv "HOME" "/tmp")
|
||||
#t))
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("erlang" ,erlang)
|
||||
|
|
|
@ -436,7 +436,7 @@ on stdout instead of using a socket as the Emacsclient does.")
|
|||
(define-public magit
|
||||
(package
|
||||
(name "magit")
|
||||
(version "2.12.1")
|
||||
(version "2.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -444,7 +444,7 @@ on stdout instead of using a socket as the Emacsclient does.")
|
|||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1czzknmhzbggcv3bxl5amvfpp0zrkdwl1x05qarsq6qakvc85xy3"))))
|
||||
"1ygaah3dd3nxpyd17297xgvdcgr7pgzzwlmpnmchki0kiwgg3sbc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("texinfo" ,texinfo)
|
||||
("emacs" ,emacs-minimal)))
|
||||
|
@ -3014,6 +3014,33 @@ This provides a basic API and common UI widgets such as popup tooltips
|
|||
and popup menus.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-puppet-mode
|
||||
(let ((commit "b3ed5057166a4f49dfa9be638523a348b55a2fd2")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-puppet-mode")
|
||||
;; The last release, 0.3 was several years ago, and there have been many
|
||||
;; commits since
|
||||
(version (git-version "0.3" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://raw.githubusercontent.com/voxpupuli/puppet-mode/"
|
||||
commit "/puppet-mode.el"))
|
||||
(sha256
|
||||
(base32
|
||||
"1indycxawsl0p2aqqg754f6735q3cmah9vd886rpn0ncc3ipi1xm"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/voxpupuli/puppet-mode")
|
||||
(synopsis "Emacs major mode for the Puppet configuration language")
|
||||
(description
|
||||
"This package provides support for the Puppet configuration language,
|
||||
including syntax highlighting, indentation of expressions and statements,
|
||||
linting of manifests and integration with Puppet Debugger.")
|
||||
;; Also incorporates work covered by the Apache License, Version 2.0
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-god-mode
|
||||
(let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964")
|
||||
(revision "1"))
|
||||
|
@ -4797,7 +4824,7 @@ distribution, primarily targeting Clojure users")
|
|||
(define-public emacs-orgalist
|
||||
(package
|
||||
(name "emacs-orgalist")
|
||||
(version "1.7")
|
||||
(version "1.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4805,7 +4832,7 @@ distribution, primarily targeting Clojure users")
|
|||
"orgalist-" version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"13dl0l727vlny3y88gqpngcy90ly5r719s1pbmkva5gmcryb68xr"))))
|
||||
"1wqwnmn08i0qkxm8b2iclvf6cydcn68h1p3h7r1kig2bdn5b8948"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://elpa.gnu.org/packages/orgalist.html")
|
||||
(synopsis "Manage Org-like lists in non-Org buffers")
|
||||
|
@ -5609,7 +5636,7 @@ highlights quasi-quoted expressions.")
|
|||
(define-public emacspeak
|
||||
(package
|
||||
(name "emacspeak")
|
||||
(version "47.0")
|
||||
(version "48.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5618,7 +5645,7 @@ highlights quasi-quoted expressions.")
|
|||
version "/emacspeak-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xbcc266x752y68s3g096m161irzvsqym3axzqn8rb276a8x55n7"))))
|
||||
"07imi3hji06b3r7v7v59978q76s8a7ynmxwfc9j03pgnv965lpjy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "prefix="
|
||||
|
@ -5626,30 +5653,35 @@ highlights quasi-quoted expressions.")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
;; Configure Emacspeak according to etc/install.org.
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(zero? (system* "make" "config"))))
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp (string-append out
|
||||
"/share/emacs/site-lisp/emacspeak")))
|
||||
(setenv "SHELL" (which "sh"))
|
||||
;; Configure Emacspeak according to etc/install.org.
|
||||
(invoke "make" "config"))))
|
||||
(add-after 'build 'build-espeak
|
||||
(lambda _
|
||||
(zero? (system* "make" "espeak"))))
|
||||
(invoke "make" "espeak")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
|
||||
(info (string-append out "/share/info")))
|
||||
(info (string-append out "/share/info"))
|
||||
(emacs (string-append (assoc-ref inputs "emacs")
|
||||
"/bin/emacs")))
|
||||
;; According to etc/install.org, the Emacspeak directory should
|
||||
;; be copied to its installation destination.
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(copy-recursively file (string-append lisp "/" file)))
|
||||
'("etc" "info" "lisp" "media" "servers" "sounds" "stumpwm"
|
||||
"xsl"))
|
||||
'("etc" "info" "js" "lisp" "media" "scapes" "servers" "sounds"
|
||||
"stumpwm" "xsl"))
|
||||
;; Make sure emacspeak is loaded from the correct directory.
|
||||
(substitute* "etc/emacspeak.sh"
|
||||
(("exec emacs.*$")
|
||||
(string-append "exec emacs -l " lisp
|
||||
(("exec FLAVOR.*")
|
||||
(string-append "exec " emacs " -l " lisp
|
||||
"/lisp/emacspeak-setup.el $CL_ALL")))
|
||||
;; Install the convenient startup script.
|
||||
(mkdir-p bin)
|
||||
|
@ -5668,10 +5700,11 @@ highlights quasi-quoted expressions.")
|
|||
#t))))
|
||||
#:tests? #f)) ; no check target
|
||||
(inputs
|
||||
`(("espeak" ,espeak)
|
||||
`(("emacs" ,emacs)
|
||||
("espeak" ,espeak)
|
||||
("perl" ,perl)
|
||||
("tcl" ,tcl)
|
||||
("tclx" ,tclx)))
|
||||
(native-inputs `(("emacs" ,emacs-minimal)))
|
||||
(home-page "http://emacspeak.sourceforge.net")
|
||||
(synopsis "Audio desktop interface for Emacs")
|
||||
(description
|
||||
|
@ -7917,7 +7950,7 @@ close, copy, cut, paste, undo, redo.")
|
|||
(define-public emacs-password-store
|
||||
(package
|
||||
(name "emacs-password-store")
|
||||
(version "1.7.1")
|
||||
(version "1.7.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -7925,7 +7958,7 @@ close, copy, cut, paste, undo, redo.")
|
|||
"password-store-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))))
|
||||
"1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -7940,6 +7973,7 @@ close, copy, cut, paste, undo, redo.")
|
|||
(propagated-inputs
|
||||
`(("emacs-f" ,emacs-f)
|
||||
("emacs-s" ,emacs-s)
|
||||
("emacs-with-editor" ,emacs-with-editor)
|
||||
("password-store" ,password-store)))
|
||||
(home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs")
|
||||
(synopsis "Password store (pass) support for Emacs")
|
||||
|
@ -9934,11 +9968,11 @@ perform regression test for packages that provide font-lock rules.")
|
|||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-racket-mode
|
||||
(let ((commit "33877b1bb24faea68842e0396bd5718b84e47451")
|
||||
(let ((commit "48f0cb99d3b2ca6066249546d2063d85437251c1")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-racket-mode")
|
||||
(version (string-append "0.0.1" "-" revision "."
|
||||
(version (string-append "0.0.2" "-" revision "."
|
||||
(string-take commit 7)))
|
||||
(source
|
||||
(origin
|
||||
|
@ -9949,8 +9983,10 @@ perform regression test for packages that provide font-lock rules.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0681mzwx08zwbh8qg3s26jw1jn4fw2ljp1akxqkhy08sxhafqvb1"))))
|
||||
"0fxky8xj639bjhiab9way9daqda22301b7w85vm4b4ydgjgnc59x"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:include '("\\.el$" "\\.rkt$")))
|
||||
(propagated-inputs
|
||||
`(("emacs-faceup" ,emacs-faceup)
|
||||
("emacs-s" ,emacs-s)))
|
||||
|
@ -10807,26 +10843,39 @@ Org-mode. It features:
|
|||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-fish-completion
|
||||
(package
|
||||
(name "emacs-fish-completion")
|
||||
(version "20180329")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/Ambrevar/emacs-fish-completion/archive/"
|
||||
"3e3ed1f19fa778b7c35ad88e033dce5a6b1fc153"
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16329py7fvid0bap1qhqxhdc68m9qqy1p8gc2bhng81zhm5a5zsm"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs `(("fish" ,fish)))
|
||||
(home-page
|
||||
"https://github.com/Ambrevar/emacs-fish-completion")
|
||||
(synopsis "Fish completion for Emacs pcomplete")
|
||||
(description
|
||||
"This package provides completion for the Fish shell to pcomplete (used
|
||||
(let ((commit "bac15fda1392a891070574dfe5d2d50b10831e8b"))
|
||||
(package
|
||||
(name "emacs-fish-completion")
|
||||
(version (git-version "20180616" "1" commit))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
|
||||
"archive.tar.gz?ref="
|
||||
commit))
|
||||
(sha256
|
||||
(base32
|
||||
"093qzdrbkl7dhjk16zq8i13kh1phyigkblcfrbgbrxjqd2ndrfdi"))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs `(("fish" ,fish)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((fish (assoc-ref inputs "fish")))
|
||||
;; Specify the absolute file names of the various
|
||||
;; programs so that everything works out-of-the-box.
|
||||
(emacs-substitute-variables
|
||||
"fish-completion.el"
|
||||
("fish-completion-command"
|
||||
(string-append fish "/bin/fish")))))))))
|
||||
(home-page
|
||||
"https://gitlab.com/Ambrevar/emacs-fish-completion")
|
||||
(synopsis "Fish completion for Emacs pcomplete")
|
||||
(description
|
||||
"This package provides completion for the Fish shell to pcomplete (used
|
||||
by shell and Eshell). You can set it up globally with:
|
||||
|
||||
@example
|
||||
|
@ -10841,7 +10890,7 @@ shell/Eshell mode hook.
|
|||
The package @code{emacs-bash-completion} is an optional dependency: if available,
|
||||
@code{fish-completion-complete} can be configured to fall back on bash to further
|
||||
try completing. See @code{fish-completion-fallback-on-bash-p}.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-gif-screencast
|
||||
(let ((commit "825e606950ec842304bf75cf85baef707b853b03"))
|
||||
|
|
|
@ -1235,7 +1235,8 @@ play them on systems for which they were never designed!")
|
|||
(find-files "keymaps" ".*LINUX\\.map")))
|
||||
(let ((fonts (string-append share "/fonts")))
|
||||
(install-file "uismall.bdf" fonts))
|
||||
(rename-file "mame64" "mame")
|
||||
(when (file-exists? "mame64")
|
||||
(rename-file "mame64" "mame"))
|
||||
(install-file "mame" (string-append out "/bin")))
|
||||
#t))
|
||||
(add-after 'install 'install-documentation
|
||||
|
|
|
@ -89,6 +89,7 @@
|
|||
(guix build gnu-build-system))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
;; The are several code fragments that embed timestamps into the
|
||||
;; output. Here, we alter those fragments to use the value of
|
||||
;; SOURCE_DATE_EPOCH instead.
|
||||
|
@ -127,6 +128,29 @@
|
|||
(date->string source-date-epoch
|
||||
"{H,Mi,S} = {~H,~M,~S},")))
|
||||
#t)))
|
||||
(add-after 'unpack 'patch-/bin/sh
|
||||
(lambda _
|
||||
(substitute* "erts/etc/unix/run_erl.c"
|
||||
(("sh = \"/bin/sh\";")
|
||||
(string-append "sh = \""
|
||||
(which "sh")
|
||||
"\";")))
|
||||
|
||||
(substitute* "erts/emulator/sys/unix/sys_drivers.c"
|
||||
(("SHELL \"/bin/sh\"")
|
||||
(string-append "SHELL \""
|
||||
(which "sh")
|
||||
"\"")))
|
||||
(substitute* "erts/emulator/sys/unix/erl_child_setup.c"
|
||||
(("SHELL \"/bin/sh\"")
|
||||
(string-append "SHELL \""
|
||||
(which "sh")
|
||||
"\"")))
|
||||
|
||||
(substitute* "lib/kernel/src/os.erl"
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
#t))
|
||||
(add-after 'patch-source-shebangs 'patch-source-env
|
||||
(lambda _
|
||||
(let ((escripts
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -35,14 +36,14 @@
|
|||
(define-public fcitx
|
||||
(package
|
||||
(name "fcitx")
|
||||
(version "4.2.8.6")
|
||||
(version "4.2.9.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.fcitx-im.org/fcitx/"
|
||||
name "-" version "_dict.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15ymd42kg920ri0f8fymq3i68g8k1kgpmdlnk9jf5fvnz6g4w0wi"))))
|
||||
"0hyrh3v82a32ylnlvzrp6cmq56x4p1a42q5xc6njmmj2msxm34x5"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "gtk2" "gtk3"))
|
||||
(arguments
|
||||
|
@ -65,7 +66,12 @@
|
|||
"-DENABLE_QT_IM_MODULE=OFF")))
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("glib:bin" ,glib "bin") ; for glib-genmarshal
|
||||
("extra-cmake-modules"
|
||||
;; XXX: We can't simply #:use-module due to a cycle somewhere.
|
||||
,(module-ref
|
||||
(resolve-interface '(gnu packages kde-frameworks))
|
||||
'extra-cmake-modules))
|
||||
("glib:bin" ,glib "bin") ; for glib-genmarshal
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("dbus" ,dbus)
|
||||
|
@ -78,7 +84,7 @@
|
|||
("libxkbfile" ,libxkbfile)
|
||||
("libxml2" ,libxml2)
|
||||
("xkeyboard-config" ,xkeyboard-config)))
|
||||
(home-page "http://fcitx-im.org")
|
||||
(home-page "https://fcitx-im.org")
|
||||
(synopsis "Input method framework")
|
||||
(description
|
||||
"Fcitx is an input method framework with extension support. It has
|
||||
|
@ -89,14 +95,14 @@ built-in.")
|
|||
(define-public fcitx-configtool
|
||||
(package
|
||||
(name "fcitx-configtool")
|
||||
(version "0.4.8")
|
||||
(version "0.4.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.fcitx-im.org/fcitx-configtool/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vaim0namw58bfafbvws1vgd4010p19zwqfbx6bd1zi5sgchdg0f"))))
|
||||
"1yyi9jhkwn49lx9a47k1zbvwgazv4y4z72gnqgzdpgdzfrlrgi5w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -617,7 +617,7 @@ languages, plus Greek and Cyrillic.")
|
|||
(define-public font-gnu-unifont
|
||||
(package
|
||||
(name "font-gnu-unifont")
|
||||
(version "10.0.07")
|
||||
(version "11.0.01")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -625,7 +625,7 @@ languages, plus Greek and Cyrillic.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1js8dn4v4pv8jqprsxa1fv4fs3hqhm9x4dj19fg9qgc8fx7k0v0k"))))
|
||||
"1nkapra0ic4fp3lmnvfc6jly62yskhcdkwrnq29hvh3xs51ncc52"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; TrueType version
|
||||
"pcf" ; PCF (bitmap) version
|
||||
|
@ -650,12 +650,12 @@ languages, plus Greek and Cyrillic.")
|
|||
(psf (string-append (assoc-ref outputs "psf")
|
||||
"/share/consolefonts"))
|
||||
(bin (assoc-ref outputs "bin")))
|
||||
(system* "make"
|
||||
(string-append "PREFIX=" bin)
|
||||
(string-append "TTFDEST=" ttf)
|
||||
(string-append "PCFDEST=" pcf)
|
||||
(string-append "CONSOLEDEST=" psf)
|
||||
"install")
|
||||
(invoke "make"
|
||||
(string-append "PREFIX=" bin)
|
||||
(string-append "TTFDEST=" ttf)
|
||||
(string-append "PCFDEST=" pcf)
|
||||
(string-append "CONSOLEDEST=" psf)
|
||||
"install")
|
||||
;; Move Texinfo file to the right place.
|
||||
(mkdir (string-append bin "/share/info"))
|
||||
(rename-file (string-append bin "/share/unifont/unifont.info.gz")
|
||||
|
|
|
@ -1822,7 +1822,7 @@ falling, themeable graphics and sounds, and replays.")
|
|||
(define-public wesnoth
|
||||
(package
|
||||
(name "wesnoth")
|
||||
(version "1.14.1")
|
||||
(version "1.14.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
|
||||
|
@ -1831,7 +1831,7 @@ falling, themeable graphics and sounds, and replays.")
|
|||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mzrnbv71b4s41c5x8clhb53l8lidiwzny1hl828228pvys5bxkb"))))
|
||||
"06648041nr77sgzr7jpmcn37cma3hp41qynp50xzddx28l17zwg9"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no check target
|
||||
|
@ -2229,6 +2229,88 @@ Transport Tycoon Deluxe.")
|
|||
("opensfx" ,openttd-opensfx)
|
||||
,@(package-native-inputs openttd-engine)))))
|
||||
|
||||
(define openrct2-title-sequences
|
||||
(package
|
||||
(name "openrct2-title-sequences")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OpenRCT2/title-sequences/releases/download/v"
|
||||
version "/title-sequence-v" version ".zip"))
|
||||
(file-name (string-append name "-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qbyxrsw8hlgaq0r5d7lx7an3idy4qbfv7yiw9byhldk763n9cfw"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs
|
||||
`(("bash" ,bash)
|
||||
("coreutils" ,coreutils)
|
||||
("unzip" ,unzip)))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(openrct2-title-sequences (string-append out
|
||||
"/share/openrct2/title-sequences"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip")))
|
||||
(copy-file source (string-append ,name "-" ,version ".zip"))
|
||||
(invoke unzip (string-append ,name "-" ,version ".zip"))
|
||||
(delete-file (string-append ,name "-" ,version ".zip"))
|
||||
(mkdir-p openrct2-title-sequences)
|
||||
(copy-recursively "."
|
||||
openrct2-title-sequences)
|
||||
#t))))
|
||||
(home-page "https://github.com/OpenRCT2/OpenRCT2")
|
||||
(synopsis "Title sequences for OpenRCT2")
|
||||
(description
|
||||
"openrct2-title-sequences is a set of title sequences for OpenRCT2.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define openrct2-objects
|
||||
(package
|
||||
(name "openrct2-objects")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OpenRCT2/objects/releases/download/v"
|
||||
version "/objects.zip"))
|
||||
(file-name (string-append name "-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z92afhbv13j1ig6fz0x8w9vdmfchssv16vwwhb0vj40pn1g1rwy"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs
|
||||
`(("bash" ,bash)
|
||||
("coreutils" ,coreutils)
|
||||
("unzip" ,unzip)))
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(openrct2-objects (string-append out
|
||||
"/share/openrct2/objects"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip")))
|
||||
(copy-file source (string-append ,name "-" ,version ".zip"))
|
||||
(invoke unzip (string-append ,name "-" ,version ".zip"))
|
||||
(delete-file (string-append ,name "-" ,version ".zip"))
|
||||
(mkdir-p openrct2-objects)
|
||||
(copy-recursively "."
|
||||
openrct2-objects)
|
||||
#t))))
|
||||
(home-page "https://github.com/OpenRCT2/OpenRCT2")
|
||||
(synopsis "Objects for OpenRCT2")
|
||||
(description
|
||||
"openrct2-objects is a set of objects for OpenRCT2.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public openrct2
|
||||
(package
|
||||
(name "openrct2")
|
||||
|
@ -2244,35 +2326,39 @@ Transport Tycoon Deluxe.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;; no tests available
|
||||
`(#:configure-flags '("-DDOWNLOAD_TITLE_SEQUENCES=OFF")
|
||||
#:tests? #f ; Tests require network.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-usr-share-paths
|
||||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(add-after 'unpack 'fix-usr-share-paths&add-data
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
|
||||
(objects (assoc-ref inputs "openrct2-objects")))
|
||||
;; Fix some references to /usr/share.
|
||||
;; Change to Platform.Linux.cpp on 0.1.2+
|
||||
(substitute* "src/openrct2/platform/linux.c"
|
||||
(("/usr/share")
|
||||
(string-append (assoc-ref %outputs "out") "/share")))))
|
||||
(add-after 'build 'fix-cmake-install-file
|
||||
(lambda _
|
||||
;; The build system tries to download a file and compare hashes.
|
||||
;; Since we have no network, remove this so the install doesn't fail.
|
||||
(substitute* "cmake_install.cmake"
|
||||
(("EXPECTED_HASH SHA1=b587d83de508d0b104d14c599b76f8565900fce0")
|
||||
"")))))))
|
||||
(string-append (assoc-ref %outputs "out") "/share")))
|
||||
(copy-recursively (string-append titles
|
||||
"/share/openrct2/title-sequences") "data/title")
|
||||
(copy-recursively (string-append objects
|
||||
"/share/openrct2/objects") "data/object")))))))
|
||||
(inputs `(("curl" ,curl)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("icu4c" ,icu4c)
|
||||
("jansson" ,jansson)
|
||||
("libpng" ,libpng)
|
||||
("libzip" ,libzip)
|
||||
("mesa" ,mesa)
|
||||
("openrct2-objects" ,openrct2-objects)
|
||||
("openrct2-title-sequences" ,openrct2-title-sequences)
|
||||
("openssl" ,openssl)
|
||||
("sdl2" ,sdl2)
|
||||
("speexdsp" ,speexdsp)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/OpenRCT2/OpenRCT2")
|
||||
(synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
|
||||
(description "OpenRCT2 is a free software re-implementation of
|
||||
|
@ -3166,53 +3252,6 @@ application that locks the keyboard and mouse and instead displays bright
|
|||
colors, pictures, and sounds.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public mrrescue
|
||||
(package
|
||||
(name "mrrescue")
|
||||
(version "1.02e")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/SimonLarsen/mrrescue/releases/"
|
||||
"download/" version "/" name version ".love"))
|
||||
(file-name (string-append name "-" version ".love"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jwzbwkgp1l5ia6c7s760gmdirbsncp6nfqp7vqdqsfb63la9gl2"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(bindir (string-append out "/bin"))
|
||||
(prog (string-append bindir "/mrrescue"))
|
||||
(source (assoc-ref %build-inputs "source"))
|
||||
(bash (string-append (assoc-ref %build-inputs "bash")
|
||||
"/bin/bash"))
|
||||
(love (string-append (assoc-ref %build-inputs "love")
|
||||
"/bin/love")))
|
||||
(mkdir-p bindir)
|
||||
(with-output-to-file prog
|
||||
(lambda ()
|
||||
(format #t "#!~a~%" bash)
|
||||
(format #t "exec -a mrrescue \"~a\" \"~a\"~%" love source)))
|
||||
(chmod prog #o755)
|
||||
#t))))
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
("love" ,love)))
|
||||
(home-page "http://tangramgames.dk/games/mrrescue")
|
||||
(synopsis "Arcade-style fire fighting game")
|
||||
(description
|
||||
"Mr. Rescue is an arcade styled 2d action game centered around evacuating
|
||||
civilians from burning buildings. The game features fast paced fire
|
||||
extinguishing action, intense boss battles, a catchy soundtrack and lots of
|
||||
throwing people around in pseudo-randomly generated buildings.")
|
||||
(license (list license:zlib ; for source code
|
||||
license:cc-by-sa3.0)))) ; for graphics and music assets
|
||||
|
||||
(define-public hyperrogue
|
||||
(package
|
||||
(name "hyperrogue")
|
||||
|
@ -4481,7 +4520,7 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
|
|||
(package
|
||||
(inherit quakespasm)
|
||||
(name "vkquake")
|
||||
(version "0.97.3")
|
||||
(version "1.00.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4490,7 +4529,7 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p0nh2v2ilylw62fxc5qpfcmyhs0s64w8sgh036nc6kn21kbjc0d"))))
|
||||
"0bviv18jvp41jvrabgl7l5kq4n1p6p3rywij481yswawdw6l5idh"))))
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let ((vulkanlib (string-append (assoc-ref %build-inputs
|
||||
|
|
|
@ -544,14 +544,14 @@ coordinates.")
|
|||
(define-public r-rgooglemaps
|
||||
(package
|
||||
(name "r-rgooglemaps")
|
||||
(version "1.4.1")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RgoogleMaps" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fsmlnhl4kw2j4972kfanzw9njhnzk695gsyw8g6yppsmz2clcaq"))))
|
||||
"112mdm53qx92n2m4ms02sbppckp44l1z19vy99j6gw3jrdprjydl"))))
|
||||
(properties `((upstream-name . "RgoogleMaps")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-png" ,r-png)))
|
||||
|
|
|
@ -7140,7 +7140,7 @@ photo-booth-like software, such as Cheese.")
|
|||
(define-public cheese
|
||||
(package
|
||||
(name "cheese")
|
||||
(version "3.26.0")
|
||||
(version "3.28.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -7148,7 +7148,7 @@ photo-booth-like software, such as Cheese.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01f6lsp9jkhq5v2zxlghw15bca4xqavkxqkl8977r0g13p22zxcf"))))
|
||||
"06da5qc5hdvwwd5vkbgbx8pjx1l3mvr07yrnnv3v1hfc3wp7l7jw"))))
|
||||
(arguments
|
||||
;; Tests require GDK.
|
||||
`(#:tests? #f
|
||||
|
|
|
@ -108,6 +108,7 @@ Daemon and possibly more in the future.")
|
|||
|
||||
(define-public libgcrypt
|
||||
(package
|
||||
(replacement libgcrypt/fixed)
|
||||
(name "libgcrypt")
|
||||
(version "1.8.2")
|
||||
(source (origin
|
||||
|
@ -142,6 +143,19 @@ generation.")
|
|||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/libgcrypt")))))
|
||||
|
||||
(define libgcrypt/fixed
|
||||
(package
|
||||
(inherit libgcrypt)
|
||||
(name "libgcrypt")
|
||||
(version "1.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z5gs1khzyknyfjr19k8gk4q148s6q987ya85cpn0iv70fz91v36"))))))
|
||||
|
||||
(define-public libassuan
|
||||
(package
|
||||
(name "libassuan")
|
||||
|
@ -349,15 +363,14 @@ libskba (working with X.509 certificates and CMS data).")
|
|||
|
||||
(define-public gnupg-1
|
||||
(package (inherit gnupg)
|
||||
(version "1.4.22")
|
||||
(version "1.4.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(patches (search-patches "gnupg-1.4-CVE-2018-12020.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d1hz4szh1kvwhsw7w2zxa6q5ndrk3qy6hj289l1b8k3xi5s554m"))))
|
||||
"1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9"))))
|
||||
(native-inputs '())
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
|
@ -508,14 +521,14 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
|
|||
(define-public python-gnupg
|
||||
(package
|
||||
(name "python-gnupg")
|
||||
(version "0.3.8")
|
||||
(version "0.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-gnupg" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nkbs9c8f30lra7ca39kg91x8cyxn0jb61vih4qky839gpbwwwiq"))))
|
||||
"03dc8whhvk7ccspbk8vzfhkxli8cd9zfbss5p597g4jldgy8s59d"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -523,16 +536,14 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
|
|||
(replace 'check
|
||||
(lambda _
|
||||
(substitute* "test_gnupg.py"
|
||||
;; Exported keys don't have a version line!
|
||||
(("del k1\\[1\\]") "#")
|
||||
;; Unsure why this test fails.
|
||||
(("'test_search_keys'") "True")
|
||||
(("def test_search_keys") "def disabled__search_keys"))
|
||||
(setenv "USERNAME" "guixbuilder")
|
||||
;; The doctests are extremely slow and sometimes time out,
|
||||
;; so we disable them.
|
||||
(zero? (system* "python"
|
||||
"test_gnupg.py" "--no-doctests")))))))
|
||||
(invoke "python"
|
||||
"test_gnupg.py" "--no-doctests"))))))
|
||||
(native-inputs
|
||||
`(("gnupg" ,gnupg-1)))
|
||||
(home-page "https://packages.python.org/python-gnupg/index.html")
|
||||
|
|
|
@ -215,7 +215,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
|||
(package
|
||||
(inherit go-1.4)
|
||||
(name "go")
|
||||
(version "1.9.6")
|
||||
(version "1.9.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -223,7 +223,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
|||
name version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a2qkvzr0g5cbd66wi7b6r40qyp9p55y0zz2j5qg1xsqwsdhbx1n"))))
|
||||
"08kpy874x0rx43zpyv5kwd8xj2ma91xm33i0ka2v1v788px18a2q"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.4)
|
||||
((#:phases phases)
|
||||
|
@ -384,7 +384,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
|||
(package
|
||||
(inherit go-1.9)
|
||||
(name "go")
|
||||
(version "1.10.2")
|
||||
(version "1.10.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -392,7 +392,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
|
|||
name version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gcqbac3wbhbcr0ri9zgfj6qkqbwf9fn116a0a7fvn4wdff60r32"))))
|
||||
"1wjmw65nfkkzz084695gdgn13sbjcaafy2y5370d214pdk31qysn"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments go-1.9)
|
||||
((#:phases phases)
|
||||
|
|
|
@ -373,7 +373,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.")
|
|||
(define-public openimageio
|
||||
(package
|
||||
(name "openimageio")
|
||||
(version "1.6.15")
|
||||
(version "1.7.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OpenImageIO/oiio/"
|
||||
|
@ -381,7 +381,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"144crq0205d0w5aq4iglh2rhzf54a8rv3pksy6d533b75w5d7rq7"))))
|
||||
"1qlmfhvl2wva4aifyiq7c4sdy61ddl7wykwvlpfys9p701xghvj7"))))
|
||||
(build-system cmake-build-system)
|
||||
;; FIXME: To run all tests successfully, test image sets from multiple
|
||||
;; third party sources have to be present. For details see
|
||||
|
|
|
@ -1107,7 +1107,7 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST).")))
|
|||
"groovy-jmx" "groovy-json" "groovy-jsr223"
|
||||
"groovy-nio" "groovy-servlet" "groovy-sql"
|
||||
"groovy-swing" "groovy-templates" "groovy-testng"
|
||||
"java-commons-cli" "java-asm"
|
||||
"groovy-xml" "java-commons-cli" "java-asm"
|
||||
"java-classpathx-servletapi" "java-xstream"
|
||||
"java-jansi" "java-jline-2"))
|
||||
;; antlr.jar is present twice in antlr2. Symlink doesn't like
|
||||
|
@ -1140,6 +1140,7 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST).")))
|
|||
("groovy-swing" ,groovy-swing)
|
||||
("groovy-templates" ,groovy-templates)
|
||||
("groovy-testng" ,groovy-testng)
|
||||
("groovy-xml" ,groovy-xml)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-asm" ,java-asm)
|
||||
("java-classpathx-servletapi" ,java-classpathx-servletapi)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
|
||||
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
|
||||
;;; Coypright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
|
||||
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
|
||||
|
|
|
@ -1786,7 +1786,7 @@ is no support for parsing block and inline level HTML.")
|
|||
(define-public guile-bytestructures
|
||||
(package
|
||||
(name "guile-bytestructures")
|
||||
(version "1.0.1")
|
||||
(version "1.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/TaylanUB/scheme-bytestructures"
|
||||
|
@ -1794,7 +1794,7 @@ is no support for parsing block and inline level HTML.")
|
|||
"/bytestructures-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lnfcy65mqj823lamy2n2vaghdz0g7mj011bgnhmd6hwpnaidnh2"))))
|
||||
"0xf6s8gd3656j8k2ar6y7i62r68azawyzxhsagsk8nvldnrs1r18"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -2002,20 +2002,6 @@ is not available for Guile 2.0.")
|
|||
"0z1dvn0scx59pbgjkpacam7p5n7630z4qm8fazim7ixq9xv3s8wx"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
;; FIXME: On i686, bytestructures miscalculates the offset
|
||||
;; of the 'old-file' and 'new-file' fields within the
|
||||
;; '%diff-delta' structure. See
|
||||
;; <https://github.com/TaylanUB/scheme-bytestructures/issues/30>.
|
||||
,@(if (string=? (%current-system) "x86_64-linux")
|
||||
'()
|
||||
'((add-before 'check 'skip-tests
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("tests/status\\.scm")
|
||||
""))
|
||||
#t)))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
|
|
|
@ -3304,6 +3304,39 @@ Compiler component.")))
|
|||
This component decrypts a string passed to it.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-plexus-cli
|
||||
(package
|
||||
(name "java-plexus-cli")
|
||||
(version "1.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sonatype/plexus-cli")
|
||||
(commit "a776afa6bca84e5107bedb69440329cdb24ed645")))
|
||||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xjrlay605rypv3zd7y24vlwf0039bil3n2cqw54r1ddpysq46vx"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "plexus-cli.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:test-dir "src/test"))
|
||||
(inputs
|
||||
`(("java-commons-cli" ,java-commons-cli)
|
||||
("java-plexus-container-default" ,java-plexus-container-default)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)))
|
||||
(native-inputs
|
||||
`(("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-junit" ,java-junit)
|
||||
("java-guava" ,java-guava)))
|
||||
(home-page "https://codehaus-plexus.github.io/plexus-cli")
|
||||
(synopsis "CLI building library for plexus")
|
||||
(description "This package is a library to help creating CLI around
|
||||
Plexus components.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-sisu-build-api
|
||||
(package
|
||||
(name "java-sisu-build-api")
|
||||
|
@ -10195,3 +10228,32 @@ This module can be assimilated to a significantly improved version of log4j.
|
|||
Moreover, @code{logback-classic} natively implements the slf4j API so that you
|
||||
can readily switch back and forth between logback and other logging frameworks
|
||||
such as log4j or @code{java.util.logging} (JUL).")))
|
||||
|
||||
(define-public java-qdox
|
||||
(package
|
||||
(name "java-qdox")
|
||||
; Newer version exists, but this version is required by java-plexus-component-metadata
|
||||
(version "2.0-M2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; 2.0-M4, -M5 at https://github.com/paul-hammant/qdox
|
||||
;; Older releases at https://github.com/codehaus/qdox/
|
||||
;; Note: The release at maven is pre-generated. The release at
|
||||
;; github requires jflex.
|
||||
(uri (string-append "http://central.maven.org/maven2/"
|
||||
"com/thoughtworks/qdox/qdox/" version
|
||||
"/qdox-" version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"10xxrcaicq6axszcr2jpygisa4ch4sinyx5q7kqqxv4lknrmxp5x"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "qdox.jar"
|
||||
#:tests? #f)); no tests
|
||||
(home-page "http://qdox.codehaus.org/")
|
||||
(synopsis "Parse definitions from Java source files")
|
||||
(description "QDox is a high speed, small footprint parser for extracting
|
||||
class/interface/method definitions from source files complete with JavaDoc
|
||||
@code{@@tags}. It is designed to be used by active code generators or
|
||||
documentation tools.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
(define-public libedit
|
||||
(package
|
||||
(name "libedit")
|
||||
(version "20170329-3.1")
|
||||
(version "20180525-3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -36,7 +36,7 @@
|
|||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gnlgl0x8g9ky59s70nriy5gv47676d1s4ypvbv8y11apl7xkwli"))))
|
||||
"05iicng4kag5hxdc7adbyj1gm3qbmvcc33m9cyx5gys0s67yl6y4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
|
|
|
@ -295,6 +295,12 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
|||
(or (%current-target-system) (%current-system)))
|
||||
((or "x86_64" "i386")
|
||||
`(("gcc" ,gcc-7)))
|
||||
("arm64"
|
||||
;; Work around a binutils 2.30 bug where some kernel symbols would
|
||||
;; be incorrectly marked as relocatable:
|
||||
;; <https://sourceware.org/bugzilla/show_bug.cgi?id=22764>.
|
||||
`(("ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
|
||||
#:binutils binutils/fixed))))
|
||||
(_
|
||||
'()))
|
||||
,@(match (and configuration-file
|
||||
|
@ -395,8 +401,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||
|
||||
(define %linux-libre-version "4.17")
|
||||
(define %linux-libre-hash "0abbqrq96kn97jr02mf4ahqg7hl9vhq95c1l2z0s7jqrmhv1n8pb")
|
||||
(define %linux-libre-version "4.17.2")
|
||||
(define %linux-libre-hash "0xkswi9vhbzi466pqvyli7glkvdyxhphn8yjg69kpw37rpw8ix5l")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
|
@ -404,8 +410,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
%linux-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.14-version "4.14.48")
|
||||
(define %linux-libre-4.14-hash "011lkq30gpvbgvg2p1nw2kqkig9a3qridy678rkx3fpah0ya4rhd")
|
||||
(define %linux-libre-4.14-version "4.14.50")
|
||||
(define %linux-libre-4.14-hash "19k7s33dyykm2vh1zpxxh3qrbjcx2p2md2r8s8z5mbv8yaldgvmj")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
|
@ -414,14 +420,14 @@ It has been modified to remove all non-free binary blobs.")
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.107"
|
||||
"0560sy53l42wi1jidwdbhjaa9p6kf46snk2hfcjk9f0ciiiiz5gi"
|
||||
(make-linux-libre "4.9.109"
|
||||
"1i27fmlr0b05n4qri2vxdbg0qddwk1clyaramwbl3w0w10k63qkc"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.136"
|
||||
"0bc278l9arl8bb2gvcg02x57h66b4r8iaan3r4kzqbmkfspkl2gi"
|
||||
(make-linux-libre "4.4.138"
|
||||
"1030ra5gn24qmx8lsnhr6kfnfm60avzs23r81dl7mvzr5dci8vsl"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -914,16 +920,15 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
|
|||
(define-public strace
|
||||
(package
|
||||
(name "strace")
|
||||
(version "4.22")
|
||||
(version "4.23")
|
||||
(home-page "https://strace.io")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append home-page "/files/" version
|
||||
"/strace-" version ".tar.xz"))
|
||||
(patches (search-patches "strace-kernel-4.16.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"17dkpnsjxmys1ydidm9wcvc3wscsz44fmlxw3dclspn9cj9d1306"))))
|
||||
"1bcsq2gbpcb81ayryvn56a6kjx42fc21la6qgds35n0xbybacq3q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -2995,7 +3000,10 @@ arrays when needed.")
|
|||
(let ((lvm2 (assoc-ref inputs "lvm2"))
|
||||
(udev (assoc-ref inputs "udev")))
|
||||
(substitute* "Makefile.inc"
|
||||
(("\\$\\(prefix\\)/usr") "$(prefix)"))
|
||||
(("\\$\\(prefix\\)/usr") "$(prefix)")
|
||||
;; Do not save timestamp to avoid gzip "timestamp
|
||||
;; out-of-range" warnings.
|
||||
(("gzip -9") "gzip -9n"))
|
||||
(substitute* '("kpartx/Makefile" "libmultipath/Makefile")
|
||||
(("/usr/include/libdevmapper.h")
|
||||
(string-append lvm2 "/include/libdevmapper.h"))
|
||||
|
@ -3364,7 +3372,7 @@ disks and SD cards. This package provides the userland utilities.")
|
|||
(package
|
||||
(inherit f2fs-tools-1.7)
|
||||
(name "f2fs-tools")
|
||||
(version "1.8.0")
|
||||
(version "1.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -3372,7 +3380,7 @@ disks and SD cards. This package provides the userland utilities.")
|
|||
"/f2fs-tools.git/snapshot/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bir9ladb58ijlcvrjrq1fb1xv5ys50zdjaq0yzliib0apsyrnyl"))))
|
||||
"05ikaim0qq3dx9x3sp43ralwz43r3b0viv62n99kabp0vf3b0hg8"))))
|
||||
(inputs
|
||||
`(("libuuid" ,util-linux)))))
|
||||
|
||||
|
@ -4033,26 +4041,27 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat},
|
|||
(define-public light
|
||||
(package
|
||||
(name "light")
|
||||
(version "1.0")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/haikarainen/" name
|
||||
"/archive/v" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/haikarainen/light")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0r5gn6c0jcxknzybl6059dplxv46dpahchqq4gymrs7z8bp0hilp"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
"1qra8yzsga29bxlvq63v1db071a1xdji7i60p4kzrciidm1206js"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
'(#:tests? #f ; no tests
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'patch-makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile" (("chown") "#")))))))
|
||||
(substitute* "Makefile" (("chown") "#"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("help2man" ,help2man)))
|
||||
(home-page "https://haikarainen.github.io/light")
|
||||
|
@ -4405,14 +4414,14 @@ available in the kernel Linux.")
|
|||
(define-public cpuid
|
||||
(package
|
||||
(name "cpuid")
|
||||
(version "20180419")
|
||||
(version "20180519")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
|
||||
version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cnxj72pjalsszhn862r6shw64zbrkw0k3mm36fn93bivswjnj12"))))
|
||||
"16pzwyifc9glpk1hm6bqb5d1a7cw0qnqiamh5sbvqg7j6sz26y4n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("CC=gcc")
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -786,3 +787,78 @@ main intended application of Autograd is gradient-based optimization.")
|
|||
|
||||
(define-public python2-autograd
|
||||
(package-with-python2 python-autograd))
|
||||
|
||||
(define-public lightgbm
|
||||
(package
|
||||
(name "lightgbm")
|
||||
(version "2.0.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/Microsoft/LightGBM/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"132zf0yk0545mg72hyzxm102g3hpb6ixx9hnf8zd2k55gas6cjj1"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-nose" ,python-nose)))
|
||||
(inputs
|
||||
`(("openmpi" ,openmpi)))
|
||||
(propagated-inputs
|
||||
`(("python-numpy" ,python-numpy)
|
||||
("python-scipy" ,python-scipy)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("-DUSE_MPI=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(with-directory-excursion ,(string-append "../LightGBM-" version)
|
||||
(invoke "pytest" "tests/c_api_test/test_.py")))))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://github.com/Microsoft/LightGBM")
|
||||
(synopsis "Gradient boosting framework based on decision tree algorithms")
|
||||
(description "LightGBM is a gradient boosting framework that uses tree
|
||||
based learning algorithms. It is designed to be distributed and efficient with
|
||||
the following advantages:
|
||||
|
||||
@itemize
|
||||
@item Faster training speed and higher efficiency
|
||||
@item Lower memory usage
|
||||
@item Better accuracy
|
||||
@item Parallel and GPU learning supported (not enabled in this package)
|
||||
@item Capable of handling large-scale data
|
||||
@end itemize\n")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public vowpal-wabbit
|
||||
;; Language bindings not included.
|
||||
(package
|
||||
(name "vowpal-wabbit")
|
||||
(version "8.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/JohnLangford/vowpal_wabbit/archive/"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0clp2kb7rk5sckhllxjr5a651awf4s8dgzg4659yh4hf5cqnf0gr"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-boost="
|
||||
(assoc-ref %build-inputs "boost")))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://github.com/JohnLangford/vowpal_wabbit")
|
||||
(synopsis "Fast machine learning library for online learning")
|
||||
(description "Vowpal Wabbit is a machine learning system with techniques
|
||||
such as online, hashing, allreduce, reductions, learning2search, active, and
|
||||
interactive learning.")
|
||||
(license license:bsd-3)))
|
||||
|
|
|
@ -491,7 +491,7 @@ and corrections. It is based on a Bayesian filter.")
|
|||
(define-public offlineimap
|
||||
(package
|
||||
(name "offlineimap")
|
||||
(version "7.2.0")
|
||||
(version "7.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
|
||||
|
@ -499,7 +499,7 @@ and corrections. It is based on a Bayesian filter.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i7pzm1vrj98jcyn1ygsg1yp0gqlsssnc25451icvivysvdwdj5n"))))
|
||||
"1022xf2w1xax4vx4kzhlfbhaf0b72wkpvrcscvs4q8qk2ja68h8x"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)))
|
||||
|
|
|
@ -294,14 +294,14 @@ semiconductors.")
|
|||
(define-public gsl
|
||||
(package
|
||||
(name "gsl")
|
||||
(version "2.4")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gsl/gsl-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16yfs5n444s03np1naj6yp1fsysd42kdscxzkg0k2yvfjixx0ijd"))
|
||||
"1395y9hlhqadn5g9j8q22224fds5sd92jxi9czfavjj24myasq04"))
|
||||
(patches (search-patches "gsl-test-i686.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -3372,7 +3372,8 @@ in finite element programs.")
|
|||
version "-src.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz"))))
|
||||
"022w8hph7bli5zbpnk3z1qh1c2sl5hm8fw2ccim651ynn0hr7fyz"))
|
||||
(patches (search-patches "flann-cmake-3.11.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out"
|
||||
"octave")) ;46 MiB .mex file that pulls Octave
|
||||
|
|
|
@ -24,7 +24,54 @@
|
|||
#:use-module (guix build-system ant)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages java))
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public java-plexus-component-metadata
|
||||
(package
|
||||
(inherit java-plexus-container-default)
|
||||
(name "java-plexus-component-metadata")
|
||||
(arguments
|
||||
`(#:jar-name "plexus-component-metadata.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:test-dir "src/test"
|
||||
#:jdk ,icedtea-8
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "plexus-component-metadata")
|
||||
#t))
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(copy-recursively "src/main/resources"
|
||||
"build/classes/")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-plexus-container-default" ,java-plexus-container-default)
|
||||
("java-plexu-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-cli" ,java-plexus-cli)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-plugin-annotations" ,maven-plugin-annotations)
|
||||
("maven-core-bootstrap" ,maven-core-bootstrap)
|
||||
("maven-model" ,maven-model)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-qdox" ,java-qdox)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-asm" ,java-asm)))
|
||||
(native-inputs
|
||||
`(("java-junit" ,java-junit)
|
||||
("java-guava" ,java-guava)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)))
|
||||
(synopsis "Inversion-of-control container for Maven")
|
||||
(description "The Plexus project provides a full software stack for creating
|
||||
and executing software projects. Based on the Plexus container, the
|
||||
applications can utilise component-oriented programming to build modular,
|
||||
reusable components that can easily be assembled and reused. This package
|
||||
provides the Maven plugin generating the component metadata.")))
|
||||
|
||||
(define-public maven-resolver-api
|
||||
(package
|
||||
|
@ -190,6 +237,89 @@ for repositories using URI-based layouts.")))
|
|||
("java-hamcrest-core" ,java-hamcrest-core)
|
||||
("maven-resolver-test-util" ,maven-resolver-test-util)))))
|
||||
|
||||
(define-public maven-resolver-transport-wagon
|
||||
(package
|
||||
(inherit maven-resolver-api)
|
||||
(name "maven-resolver-transport-wagon")
|
||||
(arguments
|
||||
`(#:jar-name "maven-resolver-transport-wagon.jar"
|
||||
#:source-dir "maven-resolver-transport-wagon/src/main/java"
|
||||
#:test-dir "maven-resolver-transport-wagon/src/test"
|
||||
#:jdk ,icedtea-8
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'generate-sisu
|
||||
(lambda _
|
||||
(mkdir-p "build/classes/META-INF/sisu")
|
||||
(with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
|
||||
(lambda _
|
||||
(display "org.eclipse.aether.transport.wagon.WagonTransporterFactory\n")))
|
||||
#t))
|
||||
(add-before 'build 'generate-components.xml
|
||||
(lambda _
|
||||
(mkdir-p "build/classes/META-INF/plexus")
|
||||
(with-output-to-file "build/classes/META-INF/plexus/components.xml"
|
||||
(lambda _
|
||||
(display
|
||||
(string-append
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
|
||||
<component-set>
|
||||
<components>
|
||||
<component>
|
||||
<role>org.eclipse.aether.transport.wagon.WagonConfigurator</role>
|
||||
<role-hint>plexus</role-hint>
|
||||
<implementation>org.eclipse.aether.internal.transport.wagon.PlexusWagonConfigurator</implementation>
|
||||
<description />
|
||||
<isolated-realm>false</isolated-realm>
|
||||
<requirements>
|
||||
<requirement>
|
||||
<role>org.codehaus.plexus.PlexusContainer</role>
|
||||
<role-hint />
|
||||
<field-name>container</field-name>
|
||||
</requirement>
|
||||
</requirements>
|
||||
</component>
|
||||
<component>
|
||||
<role>org.eclipse.aether.transport.wagon.WagonProvider</role>
|
||||
<role-hint>plexus</role-hint>
|
||||
<implementation>org.eclipse.aether.internal.transport.wagon.PlexusWagonProvider</implementation>
|
||||
<description />
|
||||
<isolated-realm>false</isolated-realm>
|
||||
<requirements>
|
||||
<requirement>
|
||||
<role>org.codehaus.plexus.PlexusContainer</role>
|
||||
<role-hint />
|
||||
<field-name>container</field-name>
|
||||
</requirement>
|
||||
</requirements>
|
||||
</component>
|
||||
</components>
|
||||
</component-set>\n"))))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("maven-resolver-api" ,maven-resolver-api)
|
||||
("maven-resolver-spi" ,maven-resolver-spi)
|
||||
("maven-resolver-util" ,maven-resolver-util)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("mavne-wagon-provider-api" ,maven-wagon-provider-api)
|
||||
("java-plexus-component-annotation" ,java-plexus-component-annotations)
|
||||
("java-plexus-classworld" ,java-plexus-classworlds)
|
||||
("java-plexus-plexus-util" ,java-plexus-utils)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)))
|
||||
(native-inputs
|
||||
`(("java-junit" ,java-junit)
|
||||
("java-hamcrest-core" ,java-hamcrest-core)
|
||||
("maven-resolver-test-util" ,maven-resolver-test-util)
|
||||
("java-guava" ,java-guava)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-asm" ,java-asm)
|
||||
("java-aopalliance" ,java-aopalliance)
|
||||
("java-guice" ,java-guice)))
|
||||
(synopsis "Transport implementation for Maven")
|
||||
(description "This package contains a transport implementation based on
|
||||
Maven Wagon, for use in Maven.")))
|
||||
|
||||
(define-public maven-shared-utils
|
||||
(package
|
||||
(name "maven-shared-utils")
|
||||
|
@ -230,6 +360,317 @@ plexus-utils in Maven. It is not a 100% API compatible replacement but a
|
|||
replacement with improvements.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public maven-plugin-annotations
|
||||
(package
|
||||
(name "maven-plugin-annotations")
|
||||
(version "3.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.apache.org/dist/maven/"
|
||||
"plugin-tools/maven-plugin-tools-" version
|
||||
"-source-release.zip"))
|
||||
(sha256 (base32 "1ryqhs62j5pas93brhf5dsnvp99hxbvssf681yj5rk3r9h24hqm2"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "maven-plugin-annotations.jar"
|
||||
#:source-dir "maven-plugin-annotations/src/main/java"
|
||||
#:tests? #f))
|
||||
(inputs
|
||||
`(("maven-artifact" ,maven-artifact)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "https://maven.apache.org/plugin-tools/maven-plugin-annotations/")
|
||||
(synopsis "Java 5 annotations to use in Mojos")
|
||||
(description "This package contains Java 5 annotations for use in Mojos.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public maven-wagon-provider-api
|
||||
(package
|
||||
(name "maven-wagon-provider-api")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.apache.org/dist/maven/wagon/"
|
||||
"wagon-" version "-source-release.zip"))
|
||||
(sha256 (base32 "1qb0q4m7vmf290xp3fnfdi3pwl3hkskia5g3z2v82q1ch3y2knqv"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:jar-name "maven-wagon-provider-api.jar"
|
||||
#:source-dir "wagon-provider-api/src/main/java"
|
||||
#:test-dir "wagon-provider-api/src/test"))
|
||||
(inputs
|
||||
`(("java-plexus-utils" ,java-plexus-utils)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
("java-junit" ,java-junit)
|
||||
("java-easymock" ,java-easymock)))
|
||||
(home-page "https://maven.apache.org/wagon")
|
||||
(synopsis "Transport abstraction for Maven")
|
||||
(description "Maven Wagon is a transport abstraction that is used in Maven's
|
||||
artifact and repository handling code.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public maven-wagon-provider-test
|
||||
(package
|
||||
(inherit maven-wagon-provider-api)
|
||||
(name "maven-wagon-provider-test")
|
||||
(arguments
|
||||
`(#:jar-name "maven-wagon-provider-test.jar"
|
||||
#:source-dir "wagon-provider-test/src/main/java"
|
||||
#:tests? #f; no tests
|
||||
#:jdk ,icedtea-8))
|
||||
(inputs
|
||||
`(("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-container-default" ,java-plexus-container-default)
|
||||
("java-eclipse-jetty-util-9.2" ,java-eclipse-jetty-util-9.2)
|
||||
("java-eclipse-jetty-security-9.2" ,java-eclipse-jetty-security-9.2)
|
||||
("java-eclipse-jetty-server-9.2" ,java-eclipse-jetty-server-9.2)
|
||||
("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-tomcat" ,java-tomcat)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)))
|
||||
(synopsis "Test classes from maven-wagon")
|
||||
(description "Maven Wagon is a transport abstraction that is used in Maven's
|
||||
artifact and repository handling code. This package contains common test
|
||||
classes used in multiple maven-wagon components.")))
|
||||
|
||||
(define-public maven-wagon-file
|
||||
(package
|
||||
(inherit maven-wagon-provider-api)
|
||||
(name "maven-wagon-file")
|
||||
(arguments
|
||||
`(#:jar-name "maven-wagon-file.jar"
|
||||
#:source-dir "wagon-providers/wagon-file/src/main/java"
|
||||
#:test-dir "wagon-providers/wagon-file/src/test"
|
||||
#:jdk ,icedtea-8
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'fix-paths
|
||||
(lambda _
|
||||
;; Tests assume they are run by maven, which copies test resources
|
||||
;; to target. Our ant-build-system does the same, but with the
|
||||
;; build directory.
|
||||
(substitute* "wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java"
|
||||
(("target") "build"))
|
||||
#t))
|
||||
(add-after 'build 'generate-metadata
|
||||
(lambda _
|
||||
(invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":build/classes")
|
||||
"org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
|
||||
"--source" "wagon-providers/wagon-file/src/main/java"
|
||||
"--output" "build/classes/META-INF/plexus/components.xml"
|
||||
"--classes" "build/classes"
|
||||
"--descriptors" "build/classes/META-INF")
|
||||
#t))
|
||||
(add-after 'generate-metadata 'rebuild
|
||||
(lambda _
|
||||
(invoke "ant" "jar")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-plexus-utils" ,java-plexus-utils)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)))
|
||||
(native-inputs
|
||||
`(("maven-wagon-provider-test" ,maven-wagon-provider-test)
|
||||
("java-plexus-component-metadata" ,java-plexus-component-metadata)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-guava" ,java-guava)
|
||||
("java-guice" ,java-guice)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-cli" ,java-plexus-cli)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-plugin-annotations" ,maven-plugin-annotations)
|
||||
("maven-core" ,maven-core)
|
||||
("maven-model" ,maven-model)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-qdox" ,java-qdox)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-asm" ,java-asm)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
|
||||
,@(package-native-inputs maven-wagon-provider-api)))
|
||||
(synopsis "Wagon provider that gets and puts artifacts using the file system")
|
||||
(description "Maven Wagon is a transport abstraction that is used in Maven's
|
||||
artifact and repository handling code. It uses providers, that are tools to
|
||||
manage artifacts and deployment. This package contains the file provider which
|
||||
gets and puts artifacts using the file system.")))
|
||||
|
||||
(define-public maven-wagon-tck-http
|
||||
(package
|
||||
(inherit maven-wagon-provider-api)
|
||||
(name "maven-wagon-tck-http")
|
||||
(arguments
|
||||
`(#:jar-name "maven-wagon-tck-http.jar"
|
||||
#:source-dir "wagon-tcks/wagon-tck-http/src/main/java"
|
||||
#:tests? #f; no tests
|
||||
#:jdk ,icedtea-8))
|
||||
(inputs
|
||||
`(("java-plexus-util" ,java-plexus-utils)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)
|
||||
("java-tomcat" ,java-tomcat)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-commons-codec" ,java-commons-codec)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-eclipse-jetty-util-9.2" ,java-eclipse-jetty-util-9.2)
|
||||
("java-eclipse-jetty-webapp-9.2" ,java-eclipse-jetty-webapp-9.2)
|
||||
("java-eclipse-jetty-security-9.2" ,java-eclipse-jetty-security-9.2)
|
||||
("java-eclipse-jetty-server-9.2" ,java-eclipse-jetty-server-9.2)
|
||||
("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2)))
|
||||
(synopsis "Wagon HTTP Test Compatibility Kit")
|
||||
(description "Maven Wagon is a transport abstraction that is used in Maven's
|
||||
artifact and repository handling code. This package contains the HTTP
|
||||
Test Compatibility Kit.")))
|
||||
|
||||
(define-public maven-wagon-http-shared
|
||||
(package
|
||||
(inherit maven-wagon-provider-api)
|
||||
(name "maven-wagon-http-shared")
|
||||
(arguments
|
||||
`(#:jar-name "maven-wagon-http-shared.jar"
|
||||
#:source-dir "wagon-providers/wagon-http-shared/src/main/java"
|
||||
#:test-dir "wagon-providers/wagon-http-shared/src/test"
|
||||
#:jdk ,icedtea-8
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'generate-metadata
|
||||
(lambda _
|
||||
(invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":build/classes")
|
||||
"org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
|
||||
"--source" "wagon-providers/wagon-http-shared/src/main/java"
|
||||
"--output" "build/classes/META-INF/plexus/components.xml"
|
||||
"--classes" "build/classes"
|
||||
"--descriptors" "build/classes/META-INF")
|
||||
#t))
|
||||
(add-after 'generate-metadata 'rebuild
|
||||
(lambda _
|
||||
(invoke "ant" "jar")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-httpcomponents-httpclient" ,java-httpcomponents-httpclient)
|
||||
("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore)
|
||||
("java-commons-io" ,java-commons-io)
|
||||
("java-jsoup" ,java-jsoup)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)))
|
||||
(native-inputs
|
||||
`(("maven-wagon-provider-test" ,maven-wagon-provider-test)
|
||||
("java-plexus-component-metadata" ,java-plexus-component-metadata)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-guava" ,java-guava)
|
||||
("java-guice" ,java-guice)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-cli" ,java-plexus-cli)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-plugin-annotations" ,maven-plugin-annotations)
|
||||
("maven-core" ,maven-core)
|
||||
("maven-model" ,maven-model)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-qdox" ,java-qdox)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-asm" ,java-asm)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
|
||||
,@(package-native-inputs maven-wagon-provider-api)))
|
||||
(synopsis "Shared Library for wagon providers supporting HTTP.")
|
||||
(description "Maven Wagon is a transport abstraction that is used in Maven's
|
||||
artifact and repository handling code. It uses providers, that are tools to
|
||||
manage artifacts and deployment. This package contains a shared library for
|
||||
wagon providers supporting HTTP.")))
|
||||
|
||||
(define-public maven-wagon-http
|
||||
(package
|
||||
(inherit maven-wagon-provider-api)
|
||||
(name "maven-wagon-http")
|
||||
(arguments
|
||||
`(#:jar-name "maven-wagon-http.jar"
|
||||
#:source-dir "wagon-providers/wagon-http/src/main/java"
|
||||
#:test-dir "wagon-providers/wagon-http/src/test"
|
||||
#:test-exclude (list
|
||||
"**/Abstract*.java"
|
||||
;; FIXME: javax.net.ssl.SSLHandshakeException:
|
||||
;; sun.security.validator.ValidatorException:
|
||||
;; PKIX path building failed:
|
||||
;; sun.security.provider.certpath.SunCertPathBuilderException:
|
||||
;; unable to find valid certification path to requested target
|
||||
"**/HttpsWagonPreemptiveTest.java"
|
||||
"**/HttpsWagonTest.java"
|
||||
;; Injection errors
|
||||
"**/TckTest.java")
|
||||
#:jdk ,icedtea-8
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(install-file "wagon-providers/wagon-http/src/main/resources/META-INF/plexus/components.xml"
|
||||
"build/classes/META-INF/plexus")
|
||||
#t))
|
||||
(add-before 'check 'fix-resource-path
|
||||
(lambda _
|
||||
(substitute* '("wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonPreemptiveTest.java"
|
||||
"wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpsWagonTest.java")
|
||||
(("src/test") "wagon-providers/wagon-http/src/test"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-httpcomponents-httpclient" ,java-httpcomponents-httpclient)
|
||||
("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore)
|
||||
("maven-wagon-http-shared" ,maven-wagon-http-shared)
|
||||
("maven-wagon-tck-http" ,maven-wagon-tck-http)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)))
|
||||
(native-inputs
|
||||
`(("maven-wagon-provider-test" ,maven-wagon-provider-test)
|
||||
("java-plexus-component-metadata" ,java-plexus-component-metadata)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-plexus-container-default" ,java-plexus-container-default)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-guava" ,java-guava)
|
||||
("java-guice" ,java-guice)
|
||||
("java-inject" ,java-javax-inject)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-cli" ,java-plexus-cli)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-plugin-annotations" ,maven-plugin-annotations)
|
||||
("maven-core" ,maven-core)
|
||||
("maven-model" ,maven-model)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-qdox" ,java-qdox)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-asm" ,java-asm)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
|
||||
("java-tomcat" ,java-tomcat)
|
||||
("java-eclipse-jetty-util-9.2" ,java-eclipse-jetty-util-9.2)
|
||||
("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)
|
||||
("java-eclipse-jetty-http-9.2" ,java-eclipse-jetty-http-9.2)
|
||||
("java-eclipse-jetty-server-9.2" ,java-eclipse-jetty-server-9.2)
|
||||
("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2)
|
||||
("java-eclipse-jetty-security-9.2" ,java-eclipse-jetty-security-9.2)
|
||||
("java-hamcrest-core" ,java-hamcrest-core)
|
||||
("java-commons-logging-minimal" ,java-commons-logging-minimal)
|
||||
("java-commons-codec" ,java-commons-codec)
|
||||
("java-commons-io" ,java-commons-io)
|
||||
("java-jsoup" ,java-jsoup)
|
||||
("java-slf4j-simple" ,java-slf4j-simple)
|
||||
,@(package-native-inputs maven-wagon-provider-api)))
|
||||
(synopsis "Wagon provider that gets and puts artifacts through HTTP(S)")
|
||||
(description "Maven Wagon is a transport abstraction that is used in Maven's
|
||||
artifact and repository handling code. It uses providers, that are tools to
|
||||
manage artifacts and deployment. This package contains a Wagon provider that
|
||||
gets and puts artifacts through HTTP(S) using Apache HttpClient-4.x.")))
|
||||
|
||||
(define-public maven-artifact
|
||||
(package
|
||||
(name "maven-artifact")
|
||||
|
@ -562,3 +1003,508 @@ so really just plain objects.")))
|
|||
("java-guava" ,java-guava)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-javax-inject" ,java-javax-inject)))))
|
||||
|
||||
(define-public maven-plugin-api
|
||||
(package
|
||||
(inherit maven-artifact)
|
||||
(name "maven-plugin-api")
|
||||
(arguments
|
||||
`(#:jar-name "maven-plugin-api.jar"
|
||||
#:source-dir "maven-plugin-api/src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:test-dir "maven-plugin-api/src/test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'generate-models
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (modello-single-mode file version mode)
|
||||
(invoke "java" "org.codehaus.modello.ModelloCli"
|
||||
file mode "maven-plugin-api/src/main/java" version
|
||||
"false" "true"))
|
||||
(let ((file "maven-plugin-api/src/main/mdo/lifecycle.mdo"))
|
||||
(modello-single-mode file "1.0.0" "java")
|
||||
(modello-single-mode file "1.0.0" "xpp3-reader")
|
||||
(modello-single-mode file "1.0.0" "xpp3-writer"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("maven-artifact" ,maven-artifact)
|
||||
("maven-model" ,maven-model)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("guice" ,java-guice)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-asm" ,java-asm)
|
||||
("sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("javax-inject" ,java-javax-inject)
|
||||
("utils" ,java-plexus-utils)))
|
||||
(native-inputs
|
||||
`(("modello" ,java-modello-core)
|
||||
;; for modello:
|
||||
("classworlds" ,java-plexus-classworlds)
|
||||
("guava" ,java-guava)
|
||||
("xbean" ,java-geronimo-xbean-reflect)
|
||||
("build-api" ,java-sisu-build-api)
|
||||
;; modello plugins:
|
||||
("java" ,java-modello-plugins-java)
|
||||
("xml" ,java-modello-plugins-xml)
|
||||
("xpp3" ,java-modello-plugins-xpp3)
|
||||
;; for tests
|
||||
("java-junit" ,java-junit)))
|
||||
(description "Apache Maven is a software project management and comprehension
|
||||
tool. This package contains strictly the API for plugins -- composed of goals
|
||||
implemented by Mojos -- development.
|
||||
|
||||
A plugin is described in a @file{META-INF/maven/plugin.xml} plugin descriptor,
|
||||
generally generated from plugin sources using maven-plugin-plugin.")))
|
||||
|
||||
(define maven-core-bootstrap
|
||||
(package
|
||||
(inherit maven-artifact)
|
||||
(name "maven-core")
|
||||
(arguments
|
||||
`(#:jar-name "maven-core.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
;; Tests need maven-compat, which requires maven-core
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
;; Required for generating components.xml in maven-core
|
||||
(chdir "maven-core")
|
||||
#t))
|
||||
(add-before 'build 'copy-resources
|
||||
(lambda _
|
||||
(mkdir-p "build/classes/")
|
||||
(copy-recursively "src/main/resources" "build/classes")
|
||||
#t))
|
||||
(add-before 'build 'generate-sisu-named
|
||||
(lambda _
|
||||
(mkdir-p "build/classes/META-INF/sisu")
|
||||
(chmod "../sisu.sh" #o755)
|
||||
(invoke "../sisu.sh" "src/main/java"
|
||||
"build/classes/META-INF/sisu/javax.inject.Named")
|
||||
#t))
|
||||
(add-before 'build 'generate-models
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (modello-single-mode file version mode)
|
||||
(invoke "java" "org.codehaus.modello.ModelloCli"
|
||||
file mode "src/main/java" version
|
||||
"false" "true"))
|
||||
(let ((file "src/main/mdo/toolchains.mdo"))
|
||||
(modello-single-mode file "1.1.0" "java")
|
||||
(modello-single-mode file "1.1.0" "xpp3-reader")
|
||||
(modello-single-mode file "1.1.0" "xpp3-writer"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("maven-artifact" ,maven-artifact)
|
||||
("maven-resolver-provider" ,maven-resolver-provider)
|
||||
("maven-builder-support" ,maven-builder-support)
|
||||
("maven-model" ,maven-model)
|
||||
("maven-model-builder" ,maven-model-builder)
|
||||
("maven-settings" ,maven-settings)
|
||||
("maven-settings-builder" ,maven-settings-builder)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-repository-metadata" ,maven-repository-metadata)
|
||||
("maven-shared-utils" ,maven-shared-utils)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-commons-lang3" ,java-commons-lang3)
|
||||
("java-guava" ,java-guava)
|
||||
("java-guice" ,java-guice)
|
||||
("maven-resolver-api" ,maven-resolver-api)
|
||||
("maven-resolver-spi" ,maven-resolver-spi)
|
||||
("maven-resolver-util" ,maven-resolver-util)
|
||||
("maven-resolver-impl" ,maven-resolver-impl)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("java-plexus-classworld" ,java-plexus-classworlds)))
|
||||
(native-inputs
|
||||
`(("java-modello-core" ,java-modello-core)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-asm" ,java-asm)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
|
||||
("java-sisu-build-api" ,java-sisu-build-api)
|
||||
("java-modello-plugins-java" ,java-modello-plugins-java)
|
||||
("java-modello-plugins-xml" ,java-modello-plugins-xml)
|
||||
("java-modello-plugins-xpp3" ,java-modello-plugins-xpp3)
|
||||
;; tests
|
||||
("java-junit" ,java-junit)
|
||||
("java-mockito-1" ,java-mockito-1)
|
||||
("java-commons-jxpath" ,java-commons-jxpath)))
|
||||
(description "Apache Maven is a software project management and comprehension
|
||||
tool. This package contains the maven core classes managing the whole build
|
||||
process.")))
|
||||
|
||||
(define-public maven-core
|
||||
(package
|
||||
(inherit maven-core-bootstrap)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments maven-core-bootstrap)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'build 'modify-metainf
|
||||
(lambda _
|
||||
(substitute* "build.xml"
|
||||
(("message=\"\"") "message=\"Implementation-Version: 3.5.3\n\""))
|
||||
#t))
|
||||
(add-before 'build 'add-maven-files
|
||||
(lambda _
|
||||
(mkdir-p "build/classes/META-INF/maven/org.apache.maven/maven-core")
|
||||
(copy-file "pom.xml"
|
||||
"build/classes/META-INF/maven/org.apache.maven/maven-core/pom.xml")
|
||||
(with-output-to-file "build/classes/META-INF/maven/org.apache.maven/maven-core/pom.properties"
|
||||
(lambda _
|
||||
(format #t "version=~a~%
|
||||
groupId=org.apache.maven~%
|
||||
artifactId=maven-core" ,(package-version maven-core-bootstrap))))
|
||||
#t))
|
||||
(add-after 'build 'generate-metadata
|
||||
(lambda _
|
||||
(define (components file)
|
||||
(let ((sxml (with-input-from-file file
|
||||
(lambda _ (xml->sxml (current-input-port)
|
||||
#:trim-whitespace? #t)))))
|
||||
;; Select the list of <component>s inside the <component-set>
|
||||
;; and <components>.
|
||||
((@ (ice-9 match) match) sxml
|
||||
(('*TOP*
|
||||
('*PI* foo ...)
|
||||
('component-set
|
||||
('components x ...))) x))))
|
||||
(use-modules (sxml simple))
|
||||
(delete-file "build/classes/META-INF/plexus/components.xml")
|
||||
(invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":build/classes")
|
||||
"org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
|
||||
"--source" "build/classes/META-INF/plexus"
|
||||
"--output" "build/classes/META-INF/plexus/components.t.xml"
|
||||
"--classes" "build/classes"
|
||||
"--descriptors" "build/classes")
|
||||
;; Now we merge all other components from hand-written xml
|
||||
(let ((generated-xml (components "build/classes/META-INF/plexus/components.t.xml"))
|
||||
(components-xml (components "src/main/resources/META-INF/plexus/components.xml"))
|
||||
(default-bindings-xml (components "src/main/resources/META-INF/plexus/default-bindings.xml"))
|
||||
(artifact-handlers-xml (components "src/main/resources/META-INF/plexus/artifact-handlers.xml")))
|
||||
(with-output-to-file "build/classes/META-INF/plexus/components.xml"
|
||||
(lambda _
|
||||
(display "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
|
||||
(sxml->xml
|
||||
`(component-set
|
||||
(components
|
||||
,@(append generated-xml components-xml
|
||||
default-bindings-xml
|
||||
artifact-handlers-xml)))))))
|
||||
#t))
|
||||
(add-after 'generate-metadata 'rebuild
|
||||
(lambda _
|
||||
(invoke "ant" "jar")
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("java-plexus-component-metadata" ,java-plexus-component-metadata)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-plexus-cli" ,java-plexus-cli)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("java-qdox" ,java-qdox)
|
||||
("maven-core-boot" ,maven-core-bootstrap)
|
||||
,@(package-native-inputs maven-core-bootstrap)))))
|
||||
|
||||
(define-public maven-embedder
|
||||
(package
|
||||
(inherit maven-artifact)
|
||||
(name "maven-embedder")
|
||||
(arguments
|
||||
`(#:jar-name "maven-embedder.jar"
|
||||
#:source-dir "maven-embedder/src/main/java"
|
||||
#:test-dir "maven-embedder/src/test"
|
||||
#:test-exclude (list "**/MavenCliTest.java")
|
||||
#:jdk ,icedtea-8
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'generate-sisu-named
|
||||
(lambda _
|
||||
(mkdir-p "build/classes/META-INF/sisu")
|
||||
(chmod "sisu.sh" #o755)
|
||||
(invoke "./sisu.sh" "maven-embedder/src/main/java"
|
||||
"build/classes/META-INF/sisu/javax.inject.Named")
|
||||
#t))
|
||||
(add-before 'build 'generate-models
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (modello-single-mode file version mode)
|
||||
(invoke "java" "org.codehaus.modello.ModelloCli"
|
||||
file mode "maven-embedder/src/main/java" version
|
||||
"false" "true"))
|
||||
(let ((file "maven-embedder/src/main/mdo/core-extensions.mdo"))
|
||||
(modello-single-mode file "1.0.0" "java")
|
||||
(modello-single-mode file "1.0.0" "xpp3-reader")
|
||||
(modello-single-mode file "1.0.0" "xpp3-writer"))
|
||||
#t))
|
||||
(add-before 'check 'fix-test-paths
|
||||
(lambda _
|
||||
(substitute* "maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java"
|
||||
(("target/test-classes") "build/test-classes"))
|
||||
#t))
|
||||
(add-before 'check 'fix-test-compilation
|
||||
(lambda _
|
||||
;; Tests are in the java/ subdir. Other subdirectories contain
|
||||
;; additional test plugins, with duplicate classes, so we can't
|
||||
;; compile them. Also, they are meant to be built with maven, to
|
||||
;; test its build process.
|
||||
(substitute* "build.xml"
|
||||
(("srcdir=\"maven-embedder/src/test\"")
|
||||
"srcdir=\"maven-embedder/src/test/java\""))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("maven-core" ,maven-core)
|
||||
("maven-artifact" ,maven-artifact)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-builder-support" ,maven-builder-support)
|
||||
("maven-model" ,maven-model)
|
||||
("maven-model-builder" ,maven-model-builder)
|
||||
("maven-settings" ,maven-settings)
|
||||
("maven-settings-builder" ,maven-settings-builder)
|
||||
("maven-shared-utils" ,maven-shared-utils)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-plexus-util" ,java-plexus-utils)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-plexus-cipher" ,java-plexus-cipher)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher)
|
||||
("maven-resolevr-util" ,maven-resolver-util)
|
||||
("maven-resolevr-api" ,maven-resolver-api)
|
||||
("java-logback-core" ,java-logback-core)
|
||||
("java-logback-classic" ,java-logback-classic)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-commons-io" ,java-commons-io)
|
||||
("java-commons-lang3" ,java-commons-lang3)
|
||||
("java-guava" ,java-guava)
|
||||
("java-guice" ,java-guice)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-slf4j-simple" ,java-slf4j-simple)))
|
||||
(native-inputs
|
||||
`(("java-modello-core" ,java-modello-core)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
|
||||
("java-sisu-build-api" ,java-sisu-build-api)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-asm" ,java-asm)
|
||||
("java-modello-plugins-java" ,java-modello-plugins-java)
|
||||
("java-modello-plugins-xml" ,java-modello-plugins-xml)
|
||||
("java-modello-plugins-xpp3" ,java-modello-plugins-xpp3)
|
||||
;; tests
|
||||
("java-junit" ,java-junit)
|
||||
("java-objenesis" ,java-objenesis)
|
||||
("java-mockito-1" ,java-mockito-1)
|
||||
("java-hamcrest-core" ,java-hamcrest-core)))
|
||||
(description "Apache Maven is a software project management and comprehension
|
||||
tool. This package contains a Maven embeddable component, with CLI and
|
||||
logging support.")))
|
||||
|
||||
(define-public maven-compat
|
||||
(package
|
||||
(inherit maven-artifact)
|
||||
(name "maven-compat")
|
||||
(arguments
|
||||
`(#:jar-name "maven-compat.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:test-dir "src/test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Tests assume we're in this directory
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "maven-compat")
|
||||
#t))
|
||||
(add-before 'build 'generate-models
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (modello-single-mode file version mode)
|
||||
(invoke "java" "org.codehaus.modello.ModelloCli"
|
||||
file mode "src/main/java" version
|
||||
"false" "true"))
|
||||
(let ((file "src/main/mdo/profiles.mdo"))
|
||||
(modello-single-mode file "1.0.0" "java")
|
||||
(modello-single-mode file "1.0.0" "xpp3-reader")
|
||||
(modello-single-mode file "1.0.0" "xpp3-writer"))
|
||||
(let ((file "src/main/mdo/paramdoc.mdo"))
|
||||
(modello-single-mode file "1.0.0" "java")
|
||||
(modello-single-mode file "1.0.0" "xpp3-reader")
|
||||
(modello-single-mode file "1.0.0" "xpp3-writer"))
|
||||
#t))
|
||||
(add-after 'build 'generate-metadata
|
||||
(lambda _
|
||||
(invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":build/classes")
|
||||
"org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
|
||||
"--source" "src/main/java"
|
||||
"--output" "build/classes/META-INF/plexus/components.xml"
|
||||
"--classes" "build/classes"
|
||||
"--descriptors" "build/classes/META-INF")
|
||||
#t))
|
||||
(add-before 'check 'build-tests
|
||||
(lambda _
|
||||
(invoke "ant" "compile-tests")
|
||||
#t))
|
||||
(add-after 'build-tests 'generate-test-metadata
|
||||
(lambda _
|
||||
(invoke "java" "-cp" (string-append (getenv "CLASSPATH")
|
||||
":build/classes"
|
||||
":build/test-classes")
|
||||
"org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
|
||||
"--source" "src/test/java"
|
||||
"--output" "build/test-classes/META-INF/plexus/components.xml"
|
||||
"--classes" "build/test-classes"
|
||||
"--descriptors" "build/test-classes/META-INF")
|
||||
#t))
|
||||
(add-after 'generate-metadata 'rebuild
|
||||
(lambda _
|
||||
(invoke "ant" "jar")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("maven-artifact" ,maven-artifact)
|
||||
("maven-repository-metadata" ,maven-repository-metadata)
|
||||
("maven-builder-support" ,maven-builder-support)
|
||||
("maven-model" ,maven-model)
|
||||
("maven-model-builder" ,maven-model-builder)
|
||||
("maven-settings" ,maven-settings)
|
||||
("maven-settings-builder" ,maven-settings-builder)
|
||||
("maven-core" ,maven-core)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)
|
||||
("maven-wagon-file" ,maven-wagon-file)
|
||||
("maven-resolver-api" ,maven-resolver-api)
|
||||
("maven-resolver-util" ,maven-resolver-util)
|
||||
("maven-resolver-spi" ,maven-resolver-spi)
|
||||
("java-plexus-interpolation" ,java-plexus-interpolation)))
|
||||
(native-inputs
|
||||
`(("java-modello-core" ,java-modello-core)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
|
||||
("java-sisu-build-api" ,java-sisu-build-api)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-exclispe-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("java-guice" ,java-guice)
|
||||
("java-guava" ,java-guava)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-asm" ,java-asm)
|
||||
("java-modello-plugins-java" ,java-modello-plugins-java)
|
||||
("java-modello-plugins-xml" ,java-modello-plugins-xml)
|
||||
("java-modello-plugins-xpp3" ,java-modello-plugins-xpp3)
|
||||
;; metadata
|
||||
("java-plexus-component-metadata" ,java-plexus-component-metadata)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-plexus-cli" ,java-plexus-cli)
|
||||
("java-jdom2" ,java-jdom2)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("java-qdox" ,java-qdox)
|
||||
;; tests
|
||||
("java-plexus-cipher" ,java-plexus-cipher)
|
||||
("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher)
|
||||
("java-jsr250", java-jsr250)
|
||||
("java-cdi-api" ,java-cdi-api)
|
||||
("java-junit" ,java-junit)
|
||||
("maven-resolver-impl" ,maven-resolver-impl)
|
||||
("maven-resolver-connector-basic" ,maven-resolver-connector-basic)
|
||||
("maven-resolver-transport-wagon" ,maven-resolver-transport-wagon)
|
||||
("java-commons-lang3" ,java-commons-lang3)
|
||||
("java-aop" ,java-aopalliance)
|
||||
("maven-resolver-provider" ,maven-resolver-provider)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-slf4j-simple" ,java-slf4j-simple)
|
||||
,@(package-inputs java-slf4j-api)))
|
||||
(description "Apache Maven is a software project management and comprehension
|
||||
tool. This package contains Maven2 classes maintained as compatibility
|
||||
layer for plugins that need to keep Maven2 compatibility.")))
|
||||
|
||||
(define-public maven
|
||||
(package
|
||||
(inherit maven-artifact)
|
||||
(name "maven")
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(substitute* "apache-maven/src/bin/mvn"
|
||||
(("cygwin=false;")
|
||||
(string-append
|
||||
"CLASSPATH=" (getenv "CLASSPATH") "\n"
|
||||
"cygwin=false;"))
|
||||
(("-classpath.*") "-classpath ${CLASSPATH} \\\n"))
|
||||
#t))
|
||||
(delete 'check)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin/"))
|
||||
(conf (string-append (assoc-ref outputs "out") "/conf/")))
|
||||
(mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
|
||||
(for-each (lambda (file)
|
||||
(install-file (string-append "apache-maven/src/bin/" file)
|
||||
bin)
|
||||
(chmod (string-append bin file) #o755))
|
||||
'("mvn" "mvnDebug" "mvnyjp"))
|
||||
(install-file "apache-maven/src/bin/m2.conf" bin)
|
||||
(copy-recursively "apache-maven/src/conf" conf))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-plexus-classworlds" ,java-plexus-classworlds)
|
||||
("maven-artifact" ,maven-artifact)
|
||||
("maven-embedder" ,maven-embedder)
|
||||
("maven-core" ,maven-core)
|
||||
("maven-compat" ,maven-compat)
|
||||
("maven-builder-support" ,maven-builder-support)
|
||||
("maven-model" ,maven-model)
|
||||
("maven-model-builder" ,maven-model-builder)
|
||||
("maven-settings" ,maven-settings)
|
||||
("maven-settings-builder" ,maven-settings-builder)
|
||||
("maven-plugin-api" ,maven-plugin-api)
|
||||
("maven-repository-metadata", maven-repository-metadata)
|
||||
("maven-shared-utils" ,maven-shared-utils)
|
||||
("maven-resolver-api" ,maven-resolver-api)
|
||||
("maven-resolver-spi" ,maven-resolver-spi)
|
||||
("maven-resolver-util" ,maven-resolver-util)
|
||||
("maven-resolver-impl" ,maven-resolver-impl)
|
||||
("maven-resolver-connector-basic" ,maven-resolver-connector-basic)
|
||||
("maven-resolver-provider" ,maven-resolver-provider)
|
||||
("maven-resolver-transport-wagon" ,maven-resolver-transport-wagon)
|
||||
("maven-wagon-provider-api" ,maven-wagon-provider-api)
|
||||
("maven-wagon-file" ,maven-wagon-file)
|
||||
("maven-wagon-http" ,maven-wagon-http)
|
||||
("java-commons-logging-minimal" ,java-commons-logging-minimal)
|
||||
("java-httpcomponents-httpclient" ,java-httpcomponents-httpclient)
|
||||
("java-httpcomponents-httpcore" ,java-httpcomponents-httpcore)
|
||||
("maven-wagon-http-shared" ,maven-wagon-http-shared)
|
||||
("maven-wagon-tck-http" ,maven-wagon-tck-http)
|
||||
("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
|
||||
("java-guice" ,java-guice)
|
||||
("java-aopalliance" ,java-aopalliance)
|
||||
("java-cglib" ,java-cglib)
|
||||
("java-asm" ,java-asm)
|
||||
("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
|
||||
("java-javax-inject" ,java-javax-inject)
|
||||
("java-plexus-component-annotations" ,java-plexus-component-annotations)
|
||||
("java-plexus-utils" ,java-plexus-utils)
|
||||
("java-plexus-interpolation" ,java-plexus-interpolation)
|
||||
("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher)
|
||||
("java-plexus-cipher" ,java-plexus-cipher)
|
||||
("java-guava" ,java-guava)
|
||||
("java-jansi" ,java-jansi)
|
||||
("java-jsr250" ,java-jsr250)
|
||||
("java-cdi-api" ,java-cdi-api)
|
||||
("java-commons-cli" ,java-commons-cli)
|
||||
("java-commons-io" ,java-commons-io)
|
||||
("java-commons-lang3" ,java-commons-lang3)
|
||||
("java-slf4j-api" ,java-slf4j-api)
|
||||
;; TODO: replace with maven-slf4j-provider
|
||||
("java-slf4j-simple" ,java-slf4j-simple)))
|
||||
(description "Apache Maven is a software project management and comprehension
|
||||
tool. Based on the concept of a project object model: builds, dependency
|
||||
management, documentation creation, site publication, and distribution
|
||||
publication are all controlled from the @file{pom.xml} declarative file. Maven
|
||||
can be extended by plugins to utilise a number of other development tools for
|
||||
reporting or the build process.")))
|
||||
|
|
|
@ -73,7 +73,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
|
|||
(let ((triplet "i686-unknown-linux-gnu"))
|
||||
(package
|
||||
(name "mes")
|
||||
(version "0.14")
|
||||
(version "0.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gitlab.com/janneke/mes"
|
||||
|
@ -81,7 +81,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
|
|||
"/mes-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i23jk61iibjza2s3lka56ry4ma424g2fyk8pjd5bd1dyjd0yrzf"))))
|
||||
"0kj2ywgii1795gxj6k29zxa0848h2j0ihbwlgn55wdalswl165dq"))))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(propagated-inputs
|
||||
|
@ -98,9 +98,7 @@ extensive examples, including parsers for the Javascript and C99 languages.")
|
|||
'())
|
||||
("perl" ,perl))) ;build-aux/gitlog-to-changelog
|
||||
(arguments
|
||||
`(#:make-flags (list
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'generate-changelog
|
||||
(lambda _
|
||||
|
|
|
@ -1350,16 +1350,17 @@ networks.")
|
|||
(define-public speedtest-cli
|
||||
(package
|
||||
(name "speedtest-cli")
|
||||
(version "2.0.0")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/sivel/speedtest-cli/archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sivel/speedtest-cli")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16kcpba7nmszz2h0fq7qvv6src20syck2wlknaacg69kk88aybbk"))))
|
||||
"0vv2z37g2kgm2dzkfa4bhri92hs0d1acxi8z66gznsl5148q7sdi"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/sivel/speedtest-cli")
|
||||
(synopsis "Internet bandwidth tester")
|
||||
|
@ -1901,3 +1902,36 @@ eight bytes) tools
|
|||
low-level I/O programming that provides developers with a consistent
|
||||
asynchronous model using a modern C++ approach.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public shadowsocks
|
||||
;; There are some security fixes after the last release.
|
||||
(let* ((commit "e332ec93e9c90f1cbee676b022bf2c5d5b7b1239")
|
||||
(revision "0")
|
||||
(version (git-version "2.8.2" revision commit)))
|
||||
(package
|
||||
(name "shadowsocks")
|
||||
(version version)
|
||||
(home-page "https://github.com/shadowsocks/shadowsocks")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1idd9b4f2pnhcpk1bh030hqg5zq25gkwxd53xi3c0cj242w7sp2j"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system python-build-system)
|
||||
(synopsis "Fast tunnel proxy that helps you bypass firewalls")
|
||||
(description
|
||||
"This package is a fast tunnel proxy that helps you bypass firewalls.
|
||||
|
||||
Features:
|
||||
@itemize
|
||||
@item TCP & UDP support
|
||||
@item User management API
|
||||
@item TCP Fast Open
|
||||
@item Workers and graceful restart
|
||||
@item Destination IP blacklist
|
||||
@end itemize")
|
||||
(license license:asl2.0))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,14 +28,14 @@
|
|||
(define-public nickle
|
||||
(package
|
||||
(name "nickle")
|
||||
(version "2.77")
|
||||
(version "2.81")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nickle.org/release/nickle-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rhij7cn1zkn8wzxyjkamz9fs262zyg80p6v6i864hdalg4plpm3"))))
|
||||
"1daqsflnqqgfkq6w6dknbm42avz70f5qxn7qidvgp472i4a37acr"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("readline" ,readline)))
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -26,9 +27,12 @@
|
|||
(define-module (gnu packages package-management)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin'
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -36,6 +40,7 @@
|
|||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -208,12 +213,13 @@
|
|||
(let* ((out (assoc-ref outputs "out"))
|
||||
(guile (assoc-ref inputs "guile"))
|
||||
(json (assoc-ref inputs "guile-json"))
|
||||
(sqlite (assoc-ref inputs "guile-sqlite3"))
|
||||
(git (assoc-ref inputs "guile-git"))
|
||||
(bs (assoc-ref inputs
|
||||
"guile-bytestructures"))
|
||||
(ssh (assoc-ref inputs "guile-ssh"))
|
||||
(gnutls (assoc-ref inputs "gnutls"))
|
||||
(deps (list json gnutls git bs ssh))
|
||||
(deps (list json sqlite gnutls git bs ssh))
|
||||
(effective
|
||||
(read-line
|
||||
(open-pipe* OPEN_READ
|
||||
|
@ -270,6 +276,7 @@
|
|||
(propagated-inputs
|
||||
`(("gnutls" ,gnutls)
|
||||
("guile-json" ,guile-json)
|
||||
("guile-sqlite3" ,guile-sqlite3)
|
||||
("guile-ssh" ,guile-ssh)
|
||||
("guile-git" ,guile-git)))
|
||||
|
||||
|
@ -287,23 +294,24 @@ the Nix package manager.")
|
|||
;; Alias for backward compatibility.
|
||||
(define-public guix-devel guix)
|
||||
|
||||
(define-public guix-register
|
||||
(define-public guix-daemon
|
||||
;; This package is for internal consumption: it allows us to quickly build
|
||||
;; the 'guix-register' program, which is referred to by (guix config).
|
||||
;; TODO: Remove this hack when 'guix-register' has been superseded by Scheme
|
||||
;; code.
|
||||
;; the 'guix-daemon' program and use that in (guix self), used by 'guix
|
||||
;; pull'.
|
||||
(package
|
||||
(inherit guix)
|
||||
(properties `((hidden? . #t)))
|
||||
(name "guix-register")
|
||||
(name "guix-daemon")
|
||||
|
||||
;; Use a minimum set of dependencies.
|
||||
(native-inputs
|
||||
(fold alist-delete (package-native-inputs guix)
|
||||
'("po4a" "graphviz" "help2man")))
|
||||
(propagated-inputs
|
||||
(inputs
|
||||
`(("gnutls" ,gnutls)
|
||||
("guile-git" ,guile-git)))
|
||||
("guile-git" ,guile-git)
|
||||
,@(package-inputs guix)))
|
||||
(propagated-inputs '())
|
||||
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guix)
|
||||
|
@ -316,11 +324,21 @@ the Nix package manager.")
|
|||
(invoke "make" "nix/libstore/schema.sql.hh")
|
||||
(invoke "make" "-j" (number->string
|
||||
(parallel-job-count))
|
||||
"guix-register")))
|
||||
"guix-daemon")))
|
||||
(delete 'copy-bootstrap-guile)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "make" "install-sbinPROGRAMS")))
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "make" "install-binPROGRAMS"
|
||||
"install-nodist_pkglibexecSCRIPTS")
|
||||
|
||||
;; We need to tell 'guix-daemon' which 'guix' command to use.
|
||||
;; Here we use a questionable hack where we hard-code
|
||||
;; "~root/.config", which could be wrong (XXX).
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* (find-files (string-append out "/libexec"))
|
||||
(("exec \".*/bin/guix\"")
|
||||
"exec ~root/.config/current/bin/guix"))
|
||||
#t)))
|
||||
(delete 'wrap-program)))))))
|
||||
|
||||
(define-public guile2.0-guix
|
||||
|
@ -528,13 +546,13 @@ transactions from C or Python.")
|
|||
(define-public diffoscope
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version "95")
|
||||
(version "96")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aksxxivxli6l3fylxgl771hw0h7l8x35l76cmj0d12zgx54w0a1"))))
|
||||
"1x66f2x8miy3giff14higpcs70c0zb5d3gj6yn8ac6p183sngl72"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -883,3 +901,57 @@ Microsoft cabinet (.@dfn{CAB}) files.")
|
|||
and sign Windows@tie{}Installer (.@dfn{MSI}) files. It aims to be a solution
|
||||
for packaging and deployment of cross-compiled Windows applications.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public libostree
|
||||
(package
|
||||
(name "libostree")
|
||||
(version "2018.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ostreedev/ostree/releases/download/v"
|
||||
version "/libostree-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0q82d6rvp119nx7ck7j63a591kz8vg7v465kf9ygh8kzg875l3xd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Don't try to use the non-existing '/var/tmp' as test
|
||||
;; directory.
|
||||
(setenv "TEST_TMPDIR" (getenv "TMPDIR"))
|
||||
#t)))
|
||||
;; XXX: fails with:
|
||||
;; tap-driver.sh: internal error getting exit status
|
||||
;; tap-driver.sh: fatal: I/O or internal error
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
`(("attr" ,attr) ; for tests
|
||||
("bison" ,bison)
|
||||
("glib:bin" ,glib "bin") ; for 'glib-mkenums'
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("pkg-config" ,pkg-config)
|
||||
("xsltproc" ,libxslt)))
|
||||
(inputs
|
||||
`(("avahi" ,avahi)
|
||||
("docbook-xml" ,docbook-xml-4.2)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("e2fsprogs" ,e2fsprogs)
|
||||
("fuse" ,fuse)
|
||||
("glib" ,glib)
|
||||
("gpgme" ,gpgme)
|
||||
("libarchive" ,libarchive)
|
||||
("libsoup" ,libsoup)
|
||||
("nettle" ,nettle) ; required by 'libarchive.la'
|
||||
("util-linux" ,util-linux)))
|
||||
(home-page "https://ostree.readthedocs.io/en/latest/")
|
||||
(synopsis "Operating system and container binary deployment and upgrades")
|
||||
(description
|
||||
"@code{libostree} is both a shared library and suite of command line
|
||||
tools that combines a \"git-like\" model for committing and downloading
|
||||
bootable filesystem trees, along with a layer for deploying them and managing
|
||||
the bootloader configuration.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
|
|
@ -358,7 +358,7 @@ any X11 window.")
|
|||
(define-public password-store
|
||||
(package
|
||||
(name "password-store")
|
||||
(version "1.7.1")
|
||||
(version "1.7.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -366,8 +366,7 @@ any X11 window.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))
|
||||
(patches (search-patches "password-store-gnupg-compat.patch"))))
|
||||
"1sl0d7nc85c6c2bmmmyb8rpmn47vhkj831l153mjlkawjvhwas27"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
Fix CVE-2018-5738:
|
||||
|
||||
https://kb.isc.org/article/AA-01616/0/CVE-2018-5738
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5738
|
||||
|
||||
diff --git a/bin/named/server.c b/bin/named/server.c
|
||||
index f63554e..847c4ff 100644
|
||||
--- a/bin/named/server.c
|
||||
+++ b/bin/named/server.c
|
||||
@@ -3725,10 +3725,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
|
||||
CHECKM(named_config_getport(config, &port), "port");
|
||||
dns_view_setdstport(view, port);
|
||||
|
||||
- CHECK(configure_view_acl(vconfig, config, named_g_config,
|
||||
- "allow-query", NULL, actx,
|
||||
- named_g_mctx, &view->queryacl));
|
||||
-
|
||||
/*
|
||||
* Make the list of response policy zone names for a view that
|
||||
* is used for real lookups and so cares about hints.
|
||||
@@ -4692,21 +4688,35 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
|
||||
"allow-query-cache-on", NULL, actx,
|
||||
named_g_mctx, &view->cacheonacl));
|
||||
/*
|
||||
- * Set "allow-query-cache", "allow-recursion", and
|
||||
- * "allow-recursion-on" acls if configured in named.conf.
|
||||
- * (Ignore the global defaults for now, because these ACLs
|
||||
- * can inherit from each other when only some of them set at
|
||||
- * the options/view level.)
|
||||
+ * Set the "allow-query", "allow-query-cache", "allow-recursion",
|
||||
+ * and "allow-recursion-on" ACLs if configured in named.conf, but
|
||||
+ * NOT from the global defaults. This is done by leaving the third
|
||||
+ * argument to configure_view_acl() NULL.
|
||||
+ *
|
||||
+ * We ignore the global defaults here because these ACLs
|
||||
+ * can inherit from each other. If any are still unset after
|
||||
+ * applying the inheritance rules, we'll look up the defaults at
|
||||
+ * that time.
|
||||
*/
|
||||
- CHECK(configure_view_acl(vconfig, config, NULL, "allow-query-cache",
|
||||
- NULL, actx, named_g_mctx, &view->cacheacl));
|
||||
+
|
||||
+ /* named.conf only */
|
||||
+ CHECK(configure_view_acl(vconfig, config, NULL,
|
||||
+ "allow-query", NULL, actx,
|
||||
+ named_g_mctx, &view->queryacl));
|
||||
+
|
||||
+ /* named.conf only */
|
||||
+ CHECK(configure_view_acl(vconfig, config, NULL,
|
||||
+ "allow-query-cache", NULL, actx,
|
||||
+ named_g_mctx, &view->cacheacl));
|
||||
|
||||
if (strcmp(view->name, "_bind") != 0 &&
|
||||
view->rdclass != dns_rdataclass_chaos)
|
||||
{
|
||||
+ /* named.conf only */
|
||||
CHECK(configure_view_acl(vconfig, config, NULL,
|
||||
"allow-recursion", NULL, actx,
|
||||
named_g_mctx, &view->recursionacl));
|
||||
+ /* named.conf only */
|
||||
CHECK(configure_view_acl(vconfig, config, NULL,
|
||||
"allow-recursion-on", NULL, actx,
|
||||
named_g_mctx, &view->recursiononacl));
|
||||
@@ -4744,18 +4754,21 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
|
||||
* the global config.
|
||||
*/
|
||||
if (view->recursionacl == NULL) {
|
||||
+ /* global default only */
|
||||
CHECK(configure_view_acl(NULL, NULL, named_g_config,
|
||||
"allow-recursion", NULL,
|
||||
actx, named_g_mctx,
|
||||
&view->recursionacl));
|
||||
}
|
||||
if (view->recursiononacl == NULL) {
|
||||
+ /* global default only */
|
||||
CHECK(configure_view_acl(NULL, NULL, named_g_config,
|
||||
"allow-recursion-on", NULL,
|
||||
actx, named_g_mctx,
|
||||
&view->recursiononacl));
|
||||
}
|
||||
if (view->cacheacl == NULL) {
|
||||
+ /* global default only */
|
||||
CHECK(configure_view_acl(NULL, NULL, named_g_config,
|
||||
"allow-query-cache", NULL,
|
||||
actx, named_g_mctx,
|
||||
@@ -4769,6 +4782,14 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
|
||||
CHECK(dns_acl_none(mctx, &view->cacheacl));
|
||||
}
|
||||
|
||||
+ if (view->queryacl == NULL) {
|
||||
+ /* global default only */
|
||||
+ CHECK(configure_view_acl(NULL, NULL, named_g_config,
|
||||
+ "allow-query", NULL,
|
||||
+ actx, named_g_mctx,
|
||||
+ &view->queryacl));
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Ignore case when compressing responses to the specified
|
||||
* clients. This causes case not always to be preserved,
|
|
@ -0,0 +1,36 @@
|
|||
Fix a regression in Binutils 2.30 where some symbols are incorrectly assumed
|
||||
to be addresses:
|
||||
|
||||
https://sourceware.org/bugzilla/show_bug.cgi?id=22764
|
||||
|
||||
Patch taken from upstream (with ChangeLog entries and tests omitted):
|
||||
|
||||
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=279b2f94168ee91e02ccd070d27c983fc001fe12
|
||||
|
||||
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
|
||||
index af448f9..2737773 100644
|
||||
--- a/bfd/elfnn-aarch64.c
|
||||
+++ b/bfd/elfnn-aarch64.c
|
||||
@@ -7189,10 +7189,19 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
- if (bfd_link_pic (info)
|
||||
- && (sec->flags & SEC_ALLOC) != 0
|
||||
- && (sec->flags & SEC_READONLY) != 0)
|
||||
+ if (bfd_link_pic (info) && (sec->flags & SEC_ALLOC) != 0)
|
||||
{
|
||||
+ if (h != NULL
|
||||
+ /* This is an absolute symbol. It represents a value instead
|
||||
+ of an address. */
|
||||
+ && ((h->root.type == bfd_link_hash_defined
|
||||
+ && bfd_is_abs_section (h->root.u.def.section))
|
||||
+ /* This is an undefined symbol. */
|
||||
+ || h->root.type == bfd_link_hash_undefined))
|
||||
+ break;
|
||||
+
|
||||
+ /* For local symbols, defined global symbols in a non-ABS section,
|
||||
+ it is assumed that the value is an address. */
|
||||
int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START;
|
||||
_bfd_error_handler
|
||||
/* xgettext:c-format */
|
|
@ -1,284 +0,0 @@
|
|||
Most of these tests fail for unknown reasons when run in the chroot
|
||||
environment of a Guix build process.
|
||||
|
||||
Common failures are:
|
||||
|
||||
* Mix.Shell.cmd() fails with error 130
|
||||
* The git_repo fixture cannot be found
|
||||
* Communication with spawned processes fails with EPIPE
|
||||
* Failure to copy files
|
||||
|
||||
|
||||
diff --git a/lib/elixir/test/elixir/kernel/cli_test.exs b/lib/elixir/test/elixir/kernel/cli_test.exs
|
||||
index 3ffd56c..1232d19 100644
|
||||
--- a/lib/elixir/test/elixir/kernel/cli_test.exs
|
||||
+++ b/lib/elixir/test/elixir/kernel/cli_test.exs
|
||||
@@ -39,6 +39,7 @@ end
|
||||
defmodule Kernel.CLI.OptionParsingTest do
|
||||
use ExUnit.Case, async: true
|
||||
|
||||
+ @tag :skip
|
||||
test "properly parses paths" do
|
||||
root = fixture_path("../../..") |> to_charlist
|
||||
list = elixir('-pa "#{root}/*" -pz "#{root}/lib/*" -e "IO.inspect(:code.get_path, limit: :infinity)"')
|
||||
@@ -57,6 +58,7 @@ end
|
||||
defmodule Kernel.CLI.AtExitTest do
|
||||
use ExUnit.Case, async: true
|
||||
|
||||
+ @tag :skip
|
||||
test "invokes at_exit callbacks" do
|
||||
assert elixir(fixture_path("at_exit.exs") |> to_charlist) ==
|
||||
'goodbye cruel world with status 1\n'
|
||||
@@ -66,6 +68,7 @@ end
|
||||
defmodule Kernel.CLI.ErrorTest do
|
||||
use ExUnit.Case, async: true
|
||||
|
||||
+ @tag :skip
|
||||
test "properly format errors" do
|
||||
assert :string.str('** (throw) 1', elixir('-e "throw 1"')) == 0
|
||||
assert :string.str('** (ErlangError) erlang error: 1', elixir('-e "error 1"')) == 0
|
||||
@@ -86,6 +89,7 @@ defmodule Kernel.CLI.CompileTest do
|
||||
{:ok, [tmp_dir_path: tmp_dir_path, beam_file_path: beam_file_path, fixture: fixture]}
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "compiles code", context do
|
||||
assert elixirc('#{context[:fixture]} -o #{context[:tmp_dir_path]}') == ''
|
||||
assert File.regular?(context[:beam_file_path])
|
||||
@@ -96,6 +100,7 @@ defmodule Kernel.CLI.CompileTest do
|
||||
Code.delete_path context[:tmp_dir_path]
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "fails on missing patterns", context do
|
||||
output = elixirc('#{context[:fixture]} non_existing.ex -o #{context[:tmp_dir_path]}')
|
||||
assert :string.str(output, 'non_existing.ex') > 0, "expected non_existing.ex to be mentioned"
|
||||
@@ -103,6 +108,7 @@ defmodule Kernel.CLI.CompileTest do
|
||||
refute File.exists?(context[:beam_file_path]), "expected the sample to not be compiled"
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "fails on missing write access to .beam file", context do
|
||||
compilation_args = '#{context[:fixture]} -o #{context[:tmp_dir_path]}'
|
||||
|
||||
diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
|
||||
index 801d852..40fc5bc 100644
|
||||
--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs
|
||||
+++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
|
||||
@@ -60,16 +60,19 @@ defmodule Kernel.DialyzerTest do
|
||||
assert_dialyze_no_warnings! context
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on rewrites", context do
|
||||
copy_beam! context, Dialyzer.Rewrite
|
||||
assert_dialyze_no_warnings! context
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on raise", context do
|
||||
copy_beam! context, Dialyzer.Raise
|
||||
assert_dialyze_no_warnings! context
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on macrocallback", context do
|
||||
copy_beam! context, Dialyzer.Macrocallback
|
||||
copy_beam! context, Dialyzer.Macrocallback.Impl
|
||||
diff --git a/lib/elixir/test/elixir/system_test.exs b/lib/elixir/test/elixir/system_test.exs
|
||||
index aafa559..0f9c178 100644
|
||||
--- a/lib/elixir/test/elixir/system_test.exs
|
||||
+++ b/lib/elixir/test/elixir/system_test.exs
|
||||
@@ -53,7 +53,8 @@ defmodule SystemTest do
|
||||
assert System.endianness in [:little, :big]
|
||||
assert System.endianness == System.compiled_endianness
|
||||
end
|
||||
-
|
||||
+
|
||||
+ @tag :skip
|
||||
test "argv/0" do
|
||||
list = elixir('-e "IO.inspect System.argv" -- -o opt arg1 arg2 --long-opt 10')
|
||||
{args, _} = Code.eval_string list, []
|
||||
diff --git a/lib/mix/test/mix/dep_test.exs b/lib/mix/test/mix/dep_test.exs
|
||||
index fff3351..d6ed1b3 100644
|
||||
--- a/lib/mix/test/mix/dep_test.exs
|
||||
+++ b/lib/mix/test/mix/dep_test.exs
|
||||
@@ -244,6 +244,7 @@ defmodule Mix.DepTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "remote converger" do
|
||||
deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
|
||||
{:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo")}]
|
||||
@@ -301,6 +302,7 @@ defmodule Mix.DepTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "remote converger is not invoked if deps diverge" do
|
||||
deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
|
||||
{:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo"), only: :test}]
|
||||
|
||||
diff --git a/lib/mix/test/mix/shell/io_test.exs b/lib/mix/test/mix/shell/io_test.exs
|
||||
index 9bfb6b4..d982ef3 100644
|
||||
--- a/lib/mix/test/mix/shell/io_test.exs
|
||||
+++ b/lib/mix/test/mix/shell/io_test.exs
|
||||
@@ -29,6 +29,7 @@ defmodule Mix.Shell.IOTest do
|
||||
assert capture_io("", fn -> refute yes?("Ok?") end)
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "runs a given command" do
|
||||
assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "hello\n"
|
||||
|
||||
diff --git a/lib/mix/test/mix/shell/quiet_test.exs b/lib/mix/test/mix/shell/quiet_test.exs
|
||||
index 626429b..99fab35 100644
|
||||
--- a/lib/mix/test/mix/shell/quiet_test.exs
|
||||
+++ b/lib/mix/test/mix/shell/quiet_test.exs
|
||||
@@ -29,6 +29,7 @@ defmodule Mix.Shell.QuietTest do
|
||||
assert capture_io("", fn -> refute yes?("Ok?") end)
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "runs a given command" do
|
||||
assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == ""
|
||||
|
||||
diff --git a/lib/mix/test/mix/tasks/cmd_test.exs b/lib/mix/test/mix/tasks/cmd_test.exs
|
||||
index db4bf06..4d441f7 100644
|
||||
--- a/lib/mix/test/mix/tasks/cmd_test.exs
|
||||
+++ b/lib/mix/test/mix/tasks/cmd_test.exs
|
||||
@@ -3,6 +3,7 @@ Code.require_file "../../test_helper.exs", __DIR__
|
||||
defmodule Mix.Tasks.CmdTest do
|
||||
use MixTest.Case
|
||||
|
||||
+ @tag :skip
|
||||
test "runs the command for each app" do
|
||||
in_fixture "umbrella_dep/deps/umbrella", fn ->
|
||||
Mix.Project.in_project(:umbrella, ".", fn _ ->
|
||||
diff --git a/lib/mix/test/mix/tasks/deps.tree_test.exs b/lib/mix/test/mix/tasks/deps.tree_test.exs
|
||||
index 4f09ff3..c371997 100644
|
||||
--- a/lib/mix/test/mix/tasks/deps.tree_test.exs
|
||||
+++ b/lib/mix/test/mix/tasks/deps.tree_test.exs
|
||||
@@ -29,6 +29,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "shows the dependency tree", context do
|
||||
Mix.Project.push ConvergedDepsApp
|
||||
|
||||
@@ -109,6 +110,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "shows the dependency tree in DOT graph format", context do
|
||||
Mix.Project.push ConvergedDepsApp
|
||||
|
||||
diff --git a/lib/mix/test/mix/tasks/deps_test.exs b/lib/mix/test/mix/tasks/deps_test.exs
|
||||
index b061777..cc45cf8 100644
|
||||
--- a/lib/mix/test/mix/tasks/deps_test.exs
|
||||
+++ b/lib/mix/test/mix/tasks/deps_test.exs
|
||||
@@ -96,6 +96,7 @@
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "prints list of dependencies and their lock status" do
|
||||
Mix.Project.push DepsApp
|
||||
|
||||
@@ -409,6 +409,7 @@ defmodule Mix.Tasks.DepsTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "fails on diverged dependencies by requirement" do
|
||||
Mix.Project.push ConvergedDepsApp
|
||||
|
||||
@@ -440,6 +441,7 @@ defmodule Mix.Tasks.DepsTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "fails on diverged dependencies even when optional" do
|
||||
Mix.Project.push ConvergedDepsApp
|
||||
|
||||
@@ -469,6 +471,7 @@ defmodule Mix.Tasks.DepsTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "works with converged dependencies" do
|
||||
Mix.Project.push ConvergedDepsApp
|
||||
|
||||
@@ -491,6 +494,7 @@ defmodule Mix.Tasks.DepsTest do
|
||||
purge [GitRepo, GitRepo.Mixfile]
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "works with overridden dependencies" do
|
||||
Mix.Project.push OverriddenDepsApp
|
||||
|
||||
diff --git a/lib/mix/test/mix/umbrella_test.exs b/lib/mix/test/mix/umbrella_test.exs
|
||||
index 69f9428..406668a 100644
|
||||
--- a/lib/mix/test/mix/umbrella_test.exs
|
||||
+++ b/lib/mix/test/mix/umbrella_test.exs
|
||||
@@ -98,6 +98,7 @@ defmodule Mix.UmbrellaTest do
|
||||
end
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "loads umbrella child dependencies in all environments" do
|
||||
in_fixture "umbrella_dep/deps/umbrella", fn ->
|
||||
Mix.Project.in_project :umbrella, ".", fn _ ->
|
||||
|
||||
diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
|
||||
index 792222c..e90beb9 100644
|
||||
--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs
|
||||
+++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
|
||||
@@ -54,6 +54,7 @@ defmodule Kernel.DialyzerTest do
|
||||
{:ok, [outdir: dir, dialyzer: dialyzer]}
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on valid remote calls", context do
|
||||
copy_beam! context, Dialyzer.RemoteCall
|
||||
assert_dialyze_no_warnings! context
|
||||
@@ -78,11 +79,13 @@ defmodule Kernel.DialyzerTest do
|
||||
assert_dialyze_no_warnings! context
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on struct update", context do
|
||||
copy_beam! context, Dialyzer.StructUpdate
|
||||
assert_dialyze_no_warnings! context
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on protocol calls with opaque types", context do
|
||||
copy_beam! context, Dialyzer.ProtocolOpaque
|
||||
copy_beam! context, Dialyzer.ProtocolOpaque.Entity
|
||||
@@ -90,6 +93,7 @@ defmodule Kernel.DialyzerTest do
|
||||
assert_dialyze_no_warnings! context
|
||||
end
|
||||
|
||||
+ @tag :skip
|
||||
test "no warnings on and/2 and or/2", context do
|
||||
copy_beam! context, Dialyzer.BooleanCheck
|
||||
assert_dialyze_no_warnings! context
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 2fc4f9a..aef8366 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -201,7 +201,7 @@ $(TEST_EBIN)/%.beam: $(TEST_ERL)/%.erl
|
||||
$(Q) mkdir -p $(TEST_EBIN)
|
||||
$(Q) $(ERLC) -o $(TEST_EBIN) $<
|
||||
|
||||
-test_elixir: test_stdlib test_ex_unit test_logger test_mix test_eex test_iex
|
||||
+test_elixir: test_stdlib test_ex_unit test_logger test_eex test_iex
|
||||
|
||||
test_stdlib: compile
|
||||
@ echo "==> elixir (exunit)"
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
Fixes this issue:
|
||||
<https://github.com/mariusmuja/flann/issues/369>.
|
||||
Patch from Buildroot:
|
||||
<https://github.com/buildroot/buildroot/commit/45a39b3e2ba42b72d19bfcef30db1b8da9ead51a>.
|
||||
|
||||
From fa5ec96a94646492a3f908e12905b3e48a8e800b Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@gmail.com>
|
||||
Date: Wed, 18 Apr 2018 20:24:13 +0200
|
||||
Subject: [PATCH] src/cpp: fix cmake >= 3.11 build
|
||||
|
||||
CMake < 3.11 doesn't support add_library() without any source file
|
||||
(i.e add_library(foo SHARED)). But flann CMake use a trick that use
|
||||
an empty string "" as source list (i.e add_library(foo SHARED "")).
|
||||
This look like a bug in CMake < 3.11.
|
||||
|
||||
With CMake >= 3.11, the new behaviour of add_library() break the
|
||||
existing flann CMake code.
|
||||
|
||||
From CMake Changelog [1]:
|
||||
"add_library() and add_executable() commands can now be called without
|
||||
any sources and will not complain as long as sources are added later
|
||||
via the target_sources() command."
|
||||
|
||||
Note: flann CMake code doesn't use target_sources() since no source file
|
||||
are provided intentionally since the flann shared library is created by
|
||||
linking with the flann_cpp_s static library with this line:
|
||||
|
||||
target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive)
|
||||
|
||||
If you try to use "add_library(flann_cpp SHARED ${CPP_SOURCES})" (as it should
|
||||
be normally done), the link fail due to already defined symbol.
|
||||
|
||||
They are building the shared version using the static library "to speedup the
|
||||
build time" [3]
|
||||
|
||||
This issue is already reported upstream [2] with a proposed solution.
|
||||
|
||||
Upstream status: Pending
|
||||
|
||||
Fixes:
|
||||
http://autobuild.buildroot.net/results/b2f/b2febfaf8c44ce477b3e4a5b9b976fd25e8d7454
|
||||
|
||||
[1] https://cmake.org/cmake/help/v3.11/release/3.11.html
|
||||
[2] https://github.com/mariusmuja/flann/issues/369
|
||||
[3] https://github.com/mariusmuja/flann/commit/0fd62b43be2fbb0b8d791ee36290791224dc030c
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
src/cpp/CMakeLists.txt | 4 ++--
|
||||
src/cpp/empty.cpp | 1 +
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
create mode 100644 src/cpp/empty.cpp
|
||||
|
||||
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
|
||||
index b44a735..a816863 100644
|
||||
--- a/src/cpp/CMakeLists.txt
|
||||
+++ b/src/cpp/CMakeLists.txt
|
||||
@@ -29,7 +29,7 @@ if (BUILD_CUDA_LIB)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC)
|
||||
- add_library(flann_cpp SHARED "")
|
||||
+ add_library(flann_cpp SHARED "empty.cpp")
|
||||
set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX)
|
||||
target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive)
|
||||
|
||||
@@ -85,7 +85,7 @@ if (BUILD_C_BINDINGS)
|
||||
set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC)
|
||||
- add_library(flann SHARED "")
|
||||
+ add_library(flann SHARED "empty.cpp")
|
||||
set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX)
|
||||
target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive)
|
||||
else()
|
||||
diff --git a/src/cpp/empty.cpp b/src/cpp/empty.cpp
|
||||
new file mode 100644
|
||||
index 0000000..40a8c17
|
||||
--- /dev/null
|
||||
+++ b/src/cpp/empty.cpp
|
||||
@@ -0,0 +1 @@
|
||||
+/* empty */
|
||||
--
|
||||
2.14.3
|
|
@ -1,50 +0,0 @@
|
|||
Fix CVE-2018-12020:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12020
|
||||
https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=2326851c60793653069494379b16d84e4c10a0ac
|
||||
|
||||
From 2326851c60793653069494379b16d84e4c10a0ac Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
Date: Fri, 8 Jun 2018 10:45:21 +0200
|
||||
Subject: [PATCH] gpg: Sanitize diagnostic with the original file name.
|
||||
|
||||
* g10/mainproc.c (proc_plaintext): Sanitize verbose output.
|
||||
--
|
||||
|
||||
This fixes a forgotten sanitation of user supplied data in a verbose
|
||||
mode diagnostic. The mention CVE is about using this to inject
|
||||
status-fd lines into the stderr output. Other harm good as well be
|
||||
done. Note that GPGME based applications are not affected because
|
||||
GPGME does not fold status output into stderr.
|
||||
|
||||
CVE-id: CVE-2018-12020
|
||||
GnuPG-bug-id: 4012
|
||||
(cherry picked from commit 13f135c7a252cc46cff96e75968d92b6dc8dce1b)
|
||||
---
|
||||
g10/mainproc.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/g10/mainproc.c b/g10/mainproc.c
|
||||
index 33a654b34..ffa7ef6d8 100644
|
||||
--- a/g10/mainproc.c
|
||||
+++ b/g10/mainproc.c
|
||||
@@ -638,7 +638,11 @@ proc_plaintext( CTX c, PACKET *pkt )
|
||||
if( pt->namelen == 8 && !memcmp( pt->name, "_CONSOLE", 8 ) )
|
||||
log_info(_("NOTE: sender requested \"for-your-eyes-only\"\n"));
|
||||
else if( opt.verbose )
|
||||
- log_info(_("original file name='%.*s'\n"), pt->namelen, pt->name);
|
||||
+ {
|
||||
+ char *tmp = make_printable_string (pt->name, pt->namelen, 0);
|
||||
+ log_info (_("original file name='%.*s'\n"), (int)strlen (tmp), tmp);
|
||||
+ xfree (tmp);
|
||||
+ }
|
||||
free_md_filter_context( &c->mfx );
|
||||
c->mfx.md = md_open( 0, 0);
|
||||
/* fixme: we may need to push the textfilter if we have sigclass 1
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
Copied from upstream mailing list:
|
||||
https://lists.zx2c4.com/pipermail/password-store/2018-February/003216.html.
|
||||
|
||||
From 9b0c86159d754cc88dd3642564eed527153dfb7f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= <clement@lassieur.org>
|
||||
Date: Sat, 24 Feb 2018 12:05:46 +0100
|
||||
Subject: [PATCH] tests: fix compatibility with GnuPG 2.2.5
|
||||
|
||||
---
|
||||
tests/t0300-reencryption.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/t0300-reencryption.sh b/tests/t0300-reencryption.sh
|
||||
index 6d5811d..6d15364 100755
|
||||
--- a/tests/t0300-reencryption.sh
|
||||
+++ b/tests/t0300-reencryption.sh
|
||||
@@ -10,7 +10,7 @@ canonicalize_gpg_keys() {
|
||||
$GPG --list-keys --with-colons "$@" | sed -n 's/sub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u
|
||||
}
|
||||
gpg_keys_from_encrypted_file() {
|
||||
- $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | cut -d ' ' -f 5 | LC_ALL=C sort -u
|
||||
+ $GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | grep "public key is" | cut -d ' ' -f 5 | LC_ALL=C sort -u
|
||||
}
|
||||
gpg_keys_from_group() {
|
||||
local output="$($GPG --list-config --with-colons | sed -n "s/^cfg:group:$1:\\(.*\\)/\\1/p" | head -n 1)"
|
||||
--
|
||||
2.16.2
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
Fix CVE-2018-12015:
|
||||
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-12015
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12015
|
||||
https://rt.cpan.org/Ticket/Display.html?id=125523
|
||||
|
||||
Patch taken from this upstream commit and adapted to apply to
|
||||
the bundled copy in the Perl distribution:
|
||||
|
||||
https://github.com/jib/archive-tar-new/commit/ae65651eab053fc6dc4590dbb863a268215c1fc5
|
||||
|
||||
diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm
|
||||
index 6244369..a83975f 100644
|
||||
--- a/cpan/Archive-Tar/lib/Archive/Tar.pm
|
||||
+++ b/cpan/Archive-Tar/lib/Archive/Tar.pm
|
||||
@@ -845,6 +845,20 @@ sub _extract_file {
|
||||
return;
|
||||
}
|
||||
|
||||
+ ### If a file system already contains a block device with the same name as
|
||||
+ ### the being extracted regular file, we would write the file's content
|
||||
+ ### to the block device. So remove the existing file (block device) now.
|
||||
+ ### If an archive contains multiple same-named entries, the last one
|
||||
+ ### should replace the previous ones. So remove the old file now.
|
||||
+ ### If the old entry is a symlink to a file outside of the CWD, the new
|
||||
+ ### entry would create a file there. This is CVE-2018-12015
|
||||
+ ### <https://rt.cpan.org/Ticket/Display.html?id=125523>.
|
||||
+ if (-l $full || -e _) {
|
||||
+ if (!unlink $full) {
|
||||
+ $self->_error( qq[Could not remove old file '$full': $!] );
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
if( length $entry->type && $entry->is_file ) {
|
||||
my $fh = IO::File->new;
|
||||
$fh->open( $full, '>' ) or (
|
|
@ -1,44 +0,0 @@
|
|||
From 700076019b5aff72aac7651cc830aaef21ee9a47 Mon Sep 17 00:00:00 2001
|
||||
From: jakirkham <jakirkham@gmail.com>
|
||||
Date: Fri, 7 Jul 2017 05:57:56 -0400
|
||||
Subject: [PATCH] Drop ordereddict requirement (#84)
|
||||
|
||||
* Drop ordereddict requirement
|
||||
|
||||
As Python 2.7 is the minimum Python supported, every version of Python
|
||||
should have `ordereddict` preincluded in the standard library one way or
|
||||
another. So we can drop this dependency and just handle the differences
|
||||
between Python 2 and Python 3.
|
||||
---
|
||||
nosetimer/plugin.py | 5 +----
|
||||
setup.py | 1 -
|
||||
2 files changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/nosetimer/plugin.py b/nosetimer/plugin.py
|
||||
index ef28e11..d093a51 100644
|
||||
--- a/nosetimer/plugin.py
|
||||
+++ b/nosetimer/plugin.py
|
||||
@@ -12,10 +12,7 @@
|
||||
except ImportError:
|
||||
import queue as Queue
|
||||
|
||||
-try:
|
||||
- from collections import OrderedDict
|
||||
-except ImportError:
|
||||
- from ordereddict import OrderedDict
|
||||
+from collections import OrderedDict
|
||||
|
||||
|
||||
# define constants
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 6a55b82..d249325 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -27,7 +27,6 @@
|
||||
install_requires=[
|
||||
'nose',
|
||||
'termcolor',
|
||||
- 'ordereddict',
|
||||
],
|
||||
license='MIT',
|
||||
entry_points={
|
|
@ -1,92 +0,0 @@
|
|||
Fix test failure when using Linux-Libre >= 4.16.
|
||||
|
||||
Taken from upstream:
|
||||
https://github.com/strace/strace/commit/bcff87c31c0f27c678a43d6b7f67dab363a974fa
|
||||
|
||||
From bcff87c31c0f27c678a43d6b7f67dab363a974fa Mon Sep 17 00:00:00 2001
|
||||
From: Masatake YAMATO <yamato@redhat.com>
|
||||
Date: Wed, 2 May 2018 17:11:07 +0900
|
||||
Subject: [PATCH] tests/ioctl_kvm_run.c: handle cpuid at the end of vcpu dentry
|
||||
|
||||
Since Linux 4.16, kernel appends the cpuid as suffix to the entry
|
||||
for a kvm vcpu in /proc/$pid/fd like:
|
||||
|
||||
anon_inode:kvm-vcpu:0
|
||||
|
||||
That was
|
||||
|
||||
anon_inode:kvm-vcpu
|
||||
|
||||
This kernel change causes the test case failure on newer kernels.
|
||||
Update the test to deal with the new name as well as the old one.
|
||||
|
||||
* tests/ioctl_kvm_run.c: Include unistd.h for using readlink(2).
|
||||
(vcpu_dev_should_have_cpuid): New function for detecting whether
|
||||
a proc entry for given fd has the cpuid suffix or not.
|
||||
(main): Trim vcpu_dev to remove the cpuid suffix if needed.
|
||||
(vcpu_dev): Remove const modifier.
|
||||
---
|
||||
tests/ioctl_kvm_run.c | 29 ++++++++++++++++++++++++++++-
|
||||
1 file changed, 28 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/ioctl_kvm_run.c b/tests/ioctl_kvm_run.c
|
||||
index 179461430..e1bef5796 100644
|
||||
--- a/tests/ioctl_kvm_run.c
|
||||
+++ b/tests/ioctl_kvm_run.c
|
||||
@@ -40,6 +40,7 @@
|
||||
# include <string.h>
|
||||
# include <sys/ioctl.h>
|
||||
# include <sys/mman.h>
|
||||
+# include <unistd.h>
|
||||
# include <linux/kvm.h>
|
||||
|
||||
static int
|
||||
@@ -56,7 +57,7 @@ kvm_ioctl(int fd, unsigned long cmd, const char *cmd_str, void *arg)
|
||||
|
||||
static const char dev[] = "/dev/kvm";
|
||||
static const char vm_dev[] = "anon_inode:kvm-vm";
|
||||
-static const char vcpu_dev[] = "anon_inode:kvm-vcpu";
|
||||
+static char vcpu_dev[] = "anon_inode:kvm-vcpu:0";
|
||||
static size_t page_size;
|
||||
|
||||
extern const char code[];
|
||||
@@ -165,6 +166,23 @@ run_kvm(const int vcpu_fd, struct kvm_run *const run, const size_t mmap_size,
|
||||
}
|
||||
}
|
||||
|
||||
+static int
|
||||
+vcpu_dev_should_have_cpuid(int fd)
|
||||
+{
|
||||
+ int r = 0;
|
||||
+ char *filename = NULL;
|
||||
+ char buf[sizeof(vcpu_dev)];
|
||||
+
|
||||
+ if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0)
|
||||
+ error_msg_and_fail("asprintf");
|
||||
+
|
||||
+ if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1
|
||||
+ && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0))
|
||||
+ r = 1;
|
||||
+ free(filename);
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
@@ -208,6 +226,15 @@ main(void)
|
||||
(unsigned long) page_size, (unsigned long) page_size, mem);
|
||||
|
||||
int vcpu_fd = KVM_IOCTL(vm_fd, KVM_CREATE_VCPU, NULL);
|
||||
+ if (!vcpu_dev_should_have_cpuid(vcpu_fd))
|
||||
+ /*
|
||||
+ * This is an older kernel that doesn't place a cpuid
|
||||
+ * at the end of the dentry associated with vcpu_fd.
|
||||
+ * Trim the cpuid part of vcpu_dev like:
|
||||
+ * "anon_inode:kvm-vcpu:0" -> "anon_inode:kvm-vcpu"
|
||||
+ */
|
||||
+ vcpu_dev[strlen (vcpu_dev) - 2] = '\0';
|
||||
+
|
||||
printf("ioctl(%d<%s>, KVM_CREATE_VCPU, 0) = %d<%s>\n",
|
||||
vm_fd, vm_dev, vcpu_fd, vcpu_dev);
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
From 3e0c2966dffb5dadb512a476ef4be3d0cc51c2be Mon Sep 17 00:00:00 2001
|
||||
From: Pierre Neidhardt <ambrevar@gmail.com>
|
||||
Date: Sat, 16 Jun 2018 16:35:00 +0200
|
||||
Subject: [PATCH] Protect against bad crafted input
|
||||
|
||||
Also check for wrap-around when checking oversize involving e_shoff and e_shnum.
|
||||
|
||||
raised by https://github.com/upx/upx/pull/190
|
||||
modified: p_lx_elf.cpp
|
||||
---
|
||||
src/p_lx_elf.cpp | 30 ++++++++++++++++++++++++++++++
|
||||
1 file changed, 30 insertions(+)
|
||||
|
||||
diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp
|
||||
index 822a7652..41e805ee 100644
|
||||
--- a/src/p_lx_elf.cpp
|
||||
+++ b/src/p_lx_elf.cpp
|
||||
@@ -235,8 +235,17 @@ PackLinuxElf32::PackLinuxElf32help1(InputFile *f)
|
||||
sz_phdrs = 0;
|
||||
return;
|
||||
}
|
||||
+ if (0==e_phnum) throwCantUnpack("0==e_phnum");
|
||||
e_phoff = get_te32(&ehdri.e_phoff);
|
||||
+ unsigned const last_Phdr = e_phoff + e_phnum * sizeof(Elf32_Phdr);
|
||||
+ if (last_Phdr < e_phoff || (unsigned long)file_size < last_Phdr) {
|
||||
+ throwCantUnpack("bad e_phoff");
|
||||
+ }
|
||||
e_shoff = get_te32(&ehdri.e_shoff);
|
||||
+ unsigned const last_Shdr = e_shoff + e_shnum * sizeof(Elf32_Shdr);
|
||||
+ if (last_Shdr < e_shoff || (unsigned long)file_size < last_Shdr) {
|
||||
+ throwCantUnpack("bad e_shoff");
|
||||
+ }
|
||||
sz_phdrs = e_phnum * e_phentsize;
|
||||
|
||||
if (f && Elf32_Ehdr::ET_DYN!=e_type) {
|
||||
@@ -599,8 +608,17 @@ PackLinuxElf64::PackLinuxElf64help1(InputFile *f)
|
||||
sz_phdrs = 0;
|
||||
return;
|
||||
}
|
||||
+ if (0==e_phnum) throwCantUnpack("0==e_phnum");
|
||||
e_phoff = get_te64(&ehdri.e_phoff);
|
||||
+ upx_uint64_t const last_Phdr = e_phoff + e_phnum * sizeof(Elf64_Phdr);
|
||||
+ if (last_Phdr < e_phoff || (unsigned long)file_size < last_Phdr) {
|
||||
+ throwCantUnpack("bad e_phoff");
|
||||
+ }
|
||||
e_shoff = get_te64(&ehdri.e_shoff);
|
||||
+ upx_uint64_t const last_Shdr = e_shoff + e_shnum * sizeof(Elf64_Shdr);
|
||||
+ if (last_Shdr < e_shoff || (unsigned long)file_size < last_Shdr) {
|
||||
+ throwCantUnpack("bad e_shoff");
|
||||
+ }
|
||||
sz_phdrs = e_phnum * e_phentsize;
|
||||
|
||||
if (f && Elf64_Ehdr::ET_DYN!=e_type) {
|
||||
@@ -3763,6 +3781,9 @@ void PackLinuxElf64::pack4(OutputFile *fo, Filter &ft)
|
||||
|
||||
void PackLinuxElf64::unpack(OutputFile *fo)
|
||||
{
|
||||
+ if (e_phoff != sizeof(Elf64_Ehdr)) {// Phdrs not contiguous with Ehdr
|
||||
+ throwCantUnpack("bad e_phoff");
|
||||
+ }
|
||||
unsigned const c_phnum = get_te16(&ehdri.e_phnum);
|
||||
upx_uint64_t old_data_off = 0;
|
||||
upx_uint64_t old_data_len = 0;
|
||||
@@ -3828,6 +3849,9 @@ void PackLinuxElf64::unpack(OutputFile *fo)
|
||||
unsigned total_out = 0;
|
||||
unsigned c_adler = upx_adler32(NULL, 0);
|
||||
unsigned u_adler = upx_adler32(NULL, 0);
|
||||
+ if ((MAX_ELF_HDR - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) {
|
||||
+ throwCantUnpack("bad compressed e_phnum");
|
||||
+ }
|
||||
|
||||
// Packed ET_EXE has no PT_DYNAMIC.
|
||||
// Packed ET_DYN has original PT_DYNAMIC for info needed by rtld.
|
||||
@@ -4383,6 +4407,9 @@ Elf64_Sym const *PackLinuxElf64::elf_lookup(char const *name) const
|
||||
|
||||
void PackLinuxElf32::unpack(OutputFile *fo)
|
||||
{
|
||||
+ if (e_phoff != sizeof(Elf32_Ehdr)) {// Phdrs not contiguous with Ehdr
|
||||
+ throwCantUnpack("bad e_phoff");
|
||||
+ }
|
||||
unsigned const c_phnum = get_te16(&ehdri.e_phnum);
|
||||
unsigned old_data_off = 0;
|
||||
unsigned old_data_len = 0;
|
||||
@@ -4449,6 +4476,9 @@ void PackLinuxElf32::unpack(OutputFile *fo)
|
||||
unsigned total_out = 0;
|
||||
unsigned c_adler = upx_adler32(NULL, 0);
|
||||
unsigned u_adler = upx_adler32(NULL, 0);
|
||||
+ if ((MAX_ELF_HDR - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) {
|
||||
+ throwCantUnpack("bad compressed e_phnum");
|
||||
+ }
|
||||
|
||||
// Packed ET_EXE has no PT_DYNAMIC.
|
||||
// Packed ET_DYN has original PT_DYNAMIC for info needed by rtld.
|
||||
--
|
||||
2.17.0
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -364,6 +365,30 @@ modified or tested with this API, making it simple to test both individual
|
|||
files, as well as to verify that there are no missing or unknown files.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-distmanifest
|
||||
(package
|
||||
(name "perl-test-distmanifest")
|
||||
(version "1.014")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ifpff5simjslabwy7ac6kdylv4c0b5b39fgpwf9ha16yh6w49ix"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)))
|
||||
(propagated-inputs
|
||||
`(("perl-module-manifest" ,perl-module-manifest)))
|
||||
(home-page "https://github.com/jawnsy/Test-DistManifest")
|
||||
(synopsis "Author test that validates a package @file{MANIFEST}")
|
||||
(description
|
||||
"@code{Test::DistManifest} provides a simple method of testing that a
|
||||
@file{MANIFEST} file matches its distribution.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-eol
|
||||
(package
|
||||
(name "perl-test-eol")
|
||||
|
@ -1140,6 +1165,32 @@ a minimum of effort.")
|
|||
;; "Under the same license as Perl itself"
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-perltidy
|
||||
(package
|
||||
(name "perl-test-perltidy")
|
||||
(version "20130104")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/L/LA/LARRYL/Test-PerlTidy-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j5rsb4km9rzcbd1ljavj8vm42bmilji40v2jj2k87l1ykrxj59z"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-file-finder" ,perl-file-finder)
|
||||
("perl-file-slurp" ,perl-file-slurp)
|
||||
("perltidy" ,perltidy)
|
||||
("perl-text-diff" ,perl-text-diff)))
|
||||
(home-page "http://search.cpan.org/dist/Test-PerlTidy/")
|
||||
(synopsis "Check that all your Perl files are tidy")
|
||||
(description
|
||||
"Using @code{Test::PerlTidy}, any file ending in .pl, .pm, .t or .PL will
|
||||
cause a test fail unless it is exactly as @code{perltidy} would like it to be.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-test-trap
|
||||
(package
|
||||
(name "perl-test-trap")
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -170,6 +171,8 @@
|
|||
(inherit (package-source perl))
|
||||
(uri (string-append "mirror://cpan/src/5.0/perl-"
|
||||
version ".tar.gz"))
|
||||
(patches (append (origin-patches (package-source perl))
|
||||
(search-patches "perl-archive-tar-CVE-2018-12015.patch")))
|
||||
(sha256
|
||||
(base32
|
||||
"03gpnxx1g6hvlh0v4aqx00580h787sfywp1vlvw64q2xcbm9qbsp"))))))
|
||||
|
@ -1522,6 +1525,27 @@ provides a means of converting those data streams back into into binary
|
|||
data.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-cpan-changes
|
||||
(package
|
||||
(name "perl-cpan-changes")
|
||||
(version "0.400002")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/H/HA/HAARG/CPAN-Changes-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13dy78amkhwg278sv5im0ylyskhxpfivyl2aissqqih71nlxxvh1"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/CPAN-Changes/")
|
||||
(synopsis "Read and write @file{Changes} files")
|
||||
(description
|
||||
"@code{CPAN::Changes} helps users programmatically read and write
|
||||
@file{Changes} files that conform to a common specification.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-cpan-meta-check
|
||||
(package
|
||||
(name "perl-cpan-meta-check")
|
||||
|
@ -5213,6 +5237,36 @@ strictly correct manner with ExtUtils::MakeMaker, and will run on any Perl
|
|||
installation version 5.005 or newer.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-module-manifest
|
||||
(package
|
||||
(name "perl-module-manifest")
|
||||
(version "1.09")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16skpm804a19gsgxzn1wba3lmvc7cx5q8ly4srpyd82yy47zi5d3"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-exception" ,perl-test-exception)
|
||||
("perl-test-warn" ,perl-test-warn)))
|
||||
(propagated-inputs
|
||||
`(("perl-params-util" ,perl-params-util)))
|
||||
(home-page "http://search.cpan.org/dist/Module-Manifest/")
|
||||
(synopsis "Parse and examine a Perl distribution @file{MANIFEST} file")
|
||||
(description
|
||||
"@code{Module::Manifest} is a simple utility module created originally for
|
||||
use in @code{Module::Inspector}.
|
||||
|
||||
It can load a @file{MANIFEST} file that comes in a Perl distribution tarball,
|
||||
examine the contents, and perform some simple tasks. It can also load the
|
||||
@file{MANIFEST.SKIP} file and check that.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-module-pluggable
|
||||
(package
|
||||
(name "perl-module-pluggable")
|
||||
|
@ -8461,14 +8515,14 @@ as exceptions to standard program flow.")
|
|||
(define-public perltidy
|
||||
(package
|
||||
(name "perltidy")
|
||||
(version "20160302")
|
||||
(version "20180220")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/perltidy/" version
|
||||
"/Perl-Tidy-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19yw63yh5s3pq7k3nkw6nsamg5b8vvwyhgbizslgxg0mqgc4xl3d"))))
|
||||
"0w1k5ffcrpx0fm9jgprrwy0290k6cmy7dyk83s61063migi3r5z9"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://perltidy.sourceforge.net/")
|
||||
(synopsis "Perl script tidier")
|
||||
|
@ -9476,6 +9530,38 @@ File::Find replacement in Perl.")
|
|||
interface to File::Find::Object.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-file-finder
|
||||
(package
|
||||
(name "perl-file-finder")
|
||||
(version "0.53")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x3a2xgzrka73lcmmwalq2mmpzxa7s6pm01ahxf677ksqsdc3jrf"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-text-glob" ,perl-text-glob)))
|
||||
(home-page "http://search.cpan.org/dist/File-Finder/")
|
||||
(synopsis "Wrapper for @code{File::Find} ala @code{find(1)}")
|
||||
(description
|
||||
"@code{File::Find} is great, but constructing the wanted routine can
|
||||
sometimes be a pain. @code{File::Finder} provides a wanted-writer, using
|
||||
syntax that is directly mappable to the @code{find(1)} command's syntax.
|
||||
|
||||
A @code{File::Finder} object contains a hash of @code{File::Find} options, and
|
||||
a series of steps that mimic find's predicates. Initially, a
|
||||
@code{File::Finder} object has no steps. Each step method clones the previous
|
||||
object's options and steps, and then adds the new step, returning the new
|
||||
object. In this manner, an object can be grown, step by step, by chaining
|
||||
method calls. Furthermore, a partial sequence can be created and held, and
|
||||
used as the head of many different sequences.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-font-ttf
|
||||
(package
|
||||
(name "perl-font-ttf")
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -4871,26 +4872,15 @@ computing.")
|
|||
(define-public python-urwid
|
||||
(package
|
||||
(name "python-urwid")
|
||||
(version "1.3.1")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "urwid" version))
|
||||
(sha256
|
||||
(base32
|
||||
"18cnd1wdjcas08x5qwa5ayw6jsfcn33w4d9f7q3s29fy6qzc1kng"))))
|
||||
"1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Disable failing test. Bug filed upstream:
|
||||
;; https://github.com/wardi/urwid/issues/164
|
||||
;; TODO: check again for python-urwid > 1.3.1 or python > 3.4.3.
|
||||
(add-after 'unpack 'disable-failing-test
|
||||
(lambda _
|
||||
(substitute* "urwid/tests/test_event_loops.py"
|
||||
(("test_remove_watch_file")
|
||||
"disable_remove_watch_file")))))))
|
||||
(home-page "http://urwid.org")
|
||||
(synopsis "Console user interface library for Python")
|
||||
(description
|
||||
|
@ -4899,22 +4889,7 @@ features useful for text console applications.")
|
|||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python2-urwid
|
||||
(let ((python2-urwid (package-with-python2 python-urwid)))
|
||||
(package
|
||||
(inherit python2-urwid)
|
||||
(arguments
|
||||
(append
|
||||
`(;; Explicitly using Python 2 is necessary due the argument list being
|
||||
;; built from only the 'delete-test_vterm.py' phase and python-urwid's
|
||||
;; package arguments, which by default assumes the use of Python 3.
|
||||
#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Disable the vterm tests because of non-deterministic failures
|
||||
;; with Python 2. See https://github.com/urwid/urwid/issues/230.
|
||||
(add-after 'unpack 'delete-test_vterm.py
|
||||
(delete-file "urwid/tests/test_vterm.py"))))
|
||||
(package-arguments python-urwid))))))
|
||||
(package-with-python2 python-urwid))
|
||||
|
||||
(define-public python-urwidtrees
|
||||
(package
|
||||
|
@ -6033,13 +6008,13 @@ should be stored on various operating systems.")
|
|||
(define-public python-llfuse
|
||||
(package
|
||||
(name "python-llfuse")
|
||||
(version "1.3.2")
|
||||
(version "1.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "llfuse" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qxvnbz41bpvpc1vbi8qkhmpr9gj1qrrp5jdj085iqibd8l2l9cn"))))
|
||||
"1rqww632y2zz71xmr6ch7yq80kvza9mhqr2z773k0d8l1lwzl575"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("fuse" ,fuse)
|
||||
|
@ -7285,13 +7260,13 @@ applications.")
|
|||
(define-public python-click-log
|
||||
(package
|
||||
(name "python-click-log")
|
||||
(version "0.2.1")
|
||||
(version "0.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "click-log" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r1x85023cslb2pwldd089jjk573mk3w78cnashs77wrx7yz8fj9"))))
|
||||
"091i03bhxyzsdbc6kilxhivfda2f8ymz3b33xa6cj5kbzjiirz8n"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-click" ,python-click)))
|
||||
|
@ -13657,3 +13632,120 @@ introspection.")
|
|||
|
||||
(define-public python2-fasteners
|
||||
(package-with-python2 python-fasteners))
|
||||
|
||||
(define-public python-requests-file
|
||||
(package
|
||||
(name "python-requests-file")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "requests-file" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yp2jaxg3v86pia0q512dg3hz6s9y5vzdivsgrba1kds05ial14g"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-requests" ,python-requests)
|
||||
("python-six" ,python-six)))
|
||||
(home-page
|
||||
"https://github.com/dashea/requests-file")
|
||||
(synopsis "File transport adapter for Requests")
|
||||
(description
|
||||
"Requests-File is a transport adapter for use with the Requests Python
|
||||
library to allow local filesystem access via file:// URLs.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-requests-file
|
||||
(package-with-python2 python-requests-file))
|
||||
|
||||
(define-public python-tldextract
|
||||
(package
|
||||
(name "python-tldextract")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "tldextract" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d5s8v6kpsgazyahflhji1cfdcf89rv7l7z55v774bhzvcjp2y99"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-responses" ,python-responses)))
|
||||
(propagated-inputs
|
||||
`(("python-idna" ,python-idna)
|
||||
("python-requests" ,python-requests)
|
||||
("python-requests-file" ,python-requests-file)))
|
||||
(home-page
|
||||
"https://github.com/john-kurkowski/tldextract")
|
||||
(synopsis
|
||||
"Separate the TLD from the registered domain and subdomains of a URL")
|
||||
(description
|
||||
"TLDExtract accurately separates the TLD from the registered domain and
|
||||
subdomains of a URL, using the Public Suffix List. By default, this includes
|
||||
the public ICANN TLDs and their exceptions. It can optionally support the
|
||||
Public Suffix List's private domains as well.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-tldextract
|
||||
(package-with-python2 python-tldextract))
|
||||
|
||||
(define-public python-pynamecheap
|
||||
(package
|
||||
(name "python-pynamecheap")
|
||||
(version "0.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "PyNamecheap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wkbwz208j8nfrsmzmclvxg22ymknn0mlz76wbdza9k2bx2zja6l"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-requests" ,python-requests)))
|
||||
(home-page
|
||||
"https://github.com/Bemmu/PyNamecheap")
|
||||
(synopsis
|
||||
"Namecheap API client in Python")
|
||||
(description
|
||||
"PyNamecheap is a Namecheap API client in Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-pynamecheap
|
||||
(package-with-python2 python-pynamecheap))
|
||||
|
||||
(define-public python-dns-lexicon
|
||||
(package
|
||||
(name "python-dns-lexicon")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "dns-lexicon" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jdn3ns71bsybr7njgsqr9xlxsqh7zh6phn4ld0liazqdn2l5f6m"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;requires internet access
|
||||
(propagated-inputs
|
||||
`(("python-future" ,python-future)
|
||||
("python-pynamecheap" ,python-pynamecheap)
|
||||
("python-requests" ,python-requests)
|
||||
("python-tldextract" ,python-tldextract)
|
||||
("python-urllib3" ,python-urllib3)))
|
||||
(home-page "https://github.com/AnalogJ/lexicon")
|
||||
(synopsis
|
||||
"Manipulate DNS records on various DNS providers")
|
||||
(description
|
||||
"Lexicon provides a way to manipulate DNS records on multiple DNS
|
||||
providers in a standardized way. It has a CLI but it can also be used as a
|
||||
Python library. It was designed to be used in automation, specifically with
|
||||
Let's Encrypt.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-dns-lexicon
|
||||
(package-with-python2 python-dns-lexicon))
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2017 Quiliro <quiliro@fsfla.org>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1069,6 +1070,55 @@ between the host (QML/C++ application) and the client (HTML/JavaScript
|
|||
application). The transport mechanism is supported out of the box by the two
|
||||
popular web engines, Qt WebKit 2 and Qt WebEngine.")))
|
||||
|
||||
(define-public qtwebglplugin
|
||||
(package (inherit qtsvg)
|
||||
(name "qtwebglplugin")
|
||||
(version "5.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qt.io/official_releases/qt/"
|
||||
(version-major+minor version) "/" version
|
||||
"/submodules/" name "-everywhere-src-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1al7dv7i9rg4z4p8vnipbjbbgc6113lbfjggxxap3sn6hqs986fm"))))
|
||||
(native-inputs '())
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
("qtbase" ,qtbase)
|
||||
("qtwebsockets" ,qtwebsockets)))
|
||||
(synopsis "QPA plugin for running an application via a browser using
|
||||
streamed WebGL commands")
|
||||
(description "Qt back end that uses WebGL for rendering. It allows Qt
|
||||
applications (with some limitations) to run in a web browser that supports
|
||||
WebGL. WebGL is a JavaScript API for rendering 2D and 3D graphics within any
|
||||
compatible web browser without the use of plug-ins. The API is similar to
|
||||
OpenGL ES 2.0 and can be used in HTML5 canvas elements")))
|
||||
|
||||
(define-public qtwebview
|
||||
(package (inherit qtsvg)
|
||||
(name "qtwebview")
|
||||
(version "5.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.qt.io/official_releases/qt/"
|
||||
(version-major+minor version) "/" version
|
||||
"/submodules/" name "-everywhere-src-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a89v8mj5pb7a7whyhasf4ms0n34ghfmv2qp0pyxnq56f2bsjbl4"))))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtdeclarative" ,qtdeclarative)))
|
||||
(synopsis "Display web content in a QML application")
|
||||
(description "Qt WebView provides a way to display web content in a QML
|
||||
application without necessarily including a full web browser stack by using
|
||||
native APIs where it makes sense.")))
|
||||
|
||||
(define-public qtlocation
|
||||
(package (inherit qtsvg)
|
||||
(name "qtlocation")
|
||||
|
|
|
@ -362,7 +362,10 @@ many event types, including timers, signals, and the classic file descriptor eve
|
|||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
'(;; LMDB is only supported on 64-bit systems, yet the test suite
|
||||
;; requires it.
|
||||
#:tests? (assoc-ref %build-inputs "lmdb")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
;; ldb use a custom configuration script that runs waf.
|
||||
|
@ -382,7 +385,9 @@ many event types, including timers, signals, and the classic file descriptor eve
|
|||
`(("talloc" ,talloc)
|
||||
("tdb" ,tdb)))
|
||||
(inputs
|
||||
`(("lmdb" ,lmdb)
|
||||
`(,@(if (target-64bit?)
|
||||
`(("lmdb" ,lmdb))
|
||||
'())
|
||||
("popt" ,popt)
|
||||
("tevent" ,tevent)))
|
||||
(synopsis "LDAP-like embedded database")
|
||||
|
|
|
@ -128,7 +128,7 @@ system to use the host GPU to accelerate 3D rendering.")
|
|||
(define-public spice-protocol
|
||||
(package
|
||||
(name "spice-protocol")
|
||||
(version "0.12.13")
|
||||
(version "0.12.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -136,7 +136,7 @@ system to use the host GPU to accelerate 3D rendering.")
|
|||
"spice-protocol-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cwrgkp558mblcf4vrhacb3iizz12khsrrl82w38w9nj0ar13vl9"))))
|
||||
"170ckpgazvqv7hxy209myg67pqnd6c0gvr4ysbqgsfch6320nd90"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Protocol headers for the SPICE protocol")
|
||||
(description "SPICE (the Simple Protocol for Independent Computing
|
||||
|
|
|
@ -81,14 +81,14 @@ fundamental object types for C.")
|
|||
(define-public sssd
|
||||
(package
|
||||
(name "sssd")
|
||||
(version "1.16.1")
|
||||
(version "1.16.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://releases.pagure.org/SSSD/sssd/"
|
||||
"sssd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vjh1c5960wh86zjsamdjhljls7bb5fz5jpcazgzrpmga5w6ggrd"))))
|
||||
"032ppk57qs1lnvz7pb7lw9ldwm9i1yagh9fzgqgn6na3bg61ynzy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
|
@ -165,6 +165,7 @@ fundamental object types for C.")
|
|||
`(("check" ,check)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("libxml2" ,libxml2) ; for xmllint
|
||||
("libxslt" ,libxslt)
|
||||
("pkg-config" ,pkg-config)
|
||||
("util-linux" ,util-linux))) ; for uuid.h, reqired for KCM
|
||||
|
|
|
@ -835,13 +835,13 @@ see package vignette. To quote Rene Magritte, \"Ceci n'est pas un pipe.\"")
|
|||
(define-public r-munsell
|
||||
(package
|
||||
(name "r-munsell")
|
||||
(version "0.4.3")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "munsell" version))
|
||||
(sha256
|
||||
(base32 "0jdxlbjslkzaqgp058da1cgm85qvqi09wpcgpvp4hvwnmy83qz1r"))))
|
||||
(base32 "16g1fzisbpqb15yh3pqf3iia4csppva5dnv1z88x9dg263xskwyh"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-colorspace" ,r-colorspace)))
|
||||
|
@ -960,14 +960,14 @@ solution for sending email, including attachments, from within R.")
|
|||
(define-public r-stringi
|
||||
(package
|
||||
(name "r-stringi")
|
||||
(version "1.2.2")
|
||||
(version "1.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "stringi" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z8yqnh3alq0xriz77vifgl27msf3av6maz07fld78m90ajb6y8r"))))
|
||||
"1sgg4krw03qkz1n4dwiya0djggk7giwd0w21qlp0pfjqi0rxq6qx"))))
|
||||
(build-system r-build-system)
|
||||
(inputs `(("icu4c" ,icu4c)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
|
@ -1289,13 +1289,13 @@ There is also a Shiny app as a user interface in this package.")
|
|||
(define-public r-highr
|
||||
(package
|
||||
(name "r-highr")
|
||||
(version "0.6")
|
||||
(version "0.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "highr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0n9v44dxdy5fhkdmpbpa2p78whyd9z3rhhy42ipdz5m5vsr55qa3"))))
|
||||
"1dzknqk4x7iiiq1jkh9bqm5qcvs7mbqxbkn5955050payavabfya"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/yihui/highr")
|
||||
(synopsis "Syntax highlighting for R source code")
|
||||
|
@ -2603,14 +2603,14 @@ certain criterion, e.g., it contains a certain regular file.")
|
|||
(define-public r-rmarkdown
|
||||
(package
|
||||
(name "r-rmarkdown")
|
||||
(version "1.9")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rmarkdown" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wq6kbhrkv3fhcy4hg5yyv9gdvf8gr4nsjwdifs4ih8lnn0dmdyb"))))
|
||||
"0mh2f3k98w7pgz0ri34149s4kx5y0kfm27nwq64k0qwxd16hwd9r"))))
|
||||
(properties `((upstream-name . "rmarkdown")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -2622,6 +2622,7 @@ certain criterion, e.g., it contains a certain regular file.")
|
|||
("r-mime" ,r-mime)
|
||||
("r-rprojroot" ,r-rprojroot)
|
||||
("r-stringr" ,r-stringr)
|
||||
("r-tinytex" ,r-tinytex)
|
||||
("r-yaml" ,r-yaml)
|
||||
;; rmarkdown works with the 2.x release of Pandoc, but with degraded
|
||||
;; functionality. For example, tabbed plots do not currently work with
|
||||
|
@ -4222,13 +4223,13 @@ mechanism.")
|
|||
(define-public r-zoo
|
||||
(package
|
||||
(name "r-zoo")
|
||||
(version "1.8-1")
|
||||
(version "1.8-2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "zoo" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16nc5jnpkf5j9vgq3pzssv7knj30mi055wj7q3sygz3l0d88hgfr"))))
|
||||
"1lpwigxmi5sc23xrha4gcsccsm4yfsg0sa97y6vac3pg1lliblvx"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-lattice" ,r-lattice)))
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -47,6 +48,7 @@
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -55,6 +57,8 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
|
@ -845,3 +849,33 @@ per-line fullscreen terminal rendering, and keyboard input event reporting.")
|
|||
|
||||
(define-public python2-curtsies
|
||||
(package-with-python2 python-curtsies))
|
||||
|
||||
(define-public tmate
|
||||
(package
|
||||
(name "tmate")
|
||||
(version "2.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/tmate-io/tmate/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01f3hhm3x0sd6apyb1ajkjfdfvq5m2759w00yp2slr9fyicsrhnr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
("libssh" ,libssh)
|
||||
("msgpack" ,msgpack)
|
||||
("ncurses" ,ncurses)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://tmate.io/")
|
||||
(synopsis "Terminal sharing application")
|
||||
(description "tmate is a terminal sharing application that allows you to
|
||||
share your terminal with other users over the Internet. tmate is a fork of
|
||||
tmux.")
|
||||
(license license:isc)))
|
||||
|
|
|
@ -176,14 +176,17 @@
|
|||
(string-prefix? "mips64" s))))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-unix-detection
|
||||
(add-after 'unpack 'configure-ghostscript-executable
|
||||
;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows,
|
||||
;; and the "gs" ghostscript executable on Unix. It detects Unix by
|
||||
;; checking for the existence of the /usr/bin directory. Since
|
||||
;; GuixSD does not have /usr/bin, it is also detected as Windows.
|
||||
(lambda _
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl"
|
||||
(("gswin32c") "gs"))
|
||||
(substitute* "texk/texlive/linked_scripts/epstopdf/epstopdf.pl"
|
||||
(("\"gs\"")
|
||||
(string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))
|
||||
#t))
|
||||
(add-after 'install 'postint
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
|
||||
|
|
|
@ -287,14 +287,14 @@ value (in fractional seconds) of a clock which never goes backwards.")
|
|||
(define-public python-pyrfc3339
|
||||
(package
|
||||
(name "python-pyrfc3339")
|
||||
(version "1.0")
|
||||
(version "1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyRFC3339" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dgm4l9y8jiax5cp6yxjd2i27cq8h33sh81n1wfbmnmqb32cdywd"))))
|
||||
"06jv7ar7lpvvk0dixzwdr3wgm0g1lipxs429s2z7knwwa7hwpf41"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-pytz" ,python-pytz)))
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -38,10 +39,14 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages dns)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages haskell-check)
|
||||
|
@ -459,14 +464,14 @@ required structures.")
|
|||
(define-public libressl
|
||||
(package
|
||||
(name "libressl")
|
||||
(version "2.7.3")
|
||||
(version "2.7.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://openbsd/LibreSSL/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1597kj9jy3jyw52ys19sd4blg2gkam5q0rqdxbnrnvnyw67hviqn"))))
|
||||
"19kxa5i97q7p6rrps9qm0nd8zqhdjvzx02j72400c73cl2nryfhy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Do as if 'getentropy' was missing since older Linux kernels lack it
|
||||
|
@ -503,13 +508,13 @@ netcat implementation that supports TLS.")
|
|||
(package
|
||||
(name "python-acme")
|
||||
;; Remember to update the hash of certbot when updating python-acme.
|
||||
(version "0.24.0")
|
||||
(version "0.25.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "acme" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jq1nlly5146k08dw31fc1pw78plya5jswznnd512c08giif0mfn"))))
|
||||
"0d177dhy8a7472pz9v4blrlk02d8fp6s52li7z8v3dv97pvz7da7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -528,6 +533,7 @@ netcat implementation that supports TLS.")
|
|||
;; TODO: Add optional inputs for testing.
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pytest" ,python-pytest)
|
||||
;; For documentation
|
||||
("python-sphinx" ,python-sphinx)
|
||||
("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
|
||||
|
@ -537,6 +543,7 @@ netcat implementation that supports TLS.")
|
|||
`(("python-josepy" ,python-josepy)
|
||||
("python-six" ,python-six)
|
||||
("python-requests" ,python-requests)
|
||||
("python-requests-toolbelt" ,python-requests-toolbelt)
|
||||
("python-pytz" ,python-pytz)
|
||||
("python-pyrfc3339" ,python-pyrfc3339)
|
||||
("python-pyasn1" ,python-pyasn1)
|
||||
|
@ -558,7 +565,7 @@ netcat implementation that supports TLS.")
|
|||
(uri (pypi-uri name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0w3dbz74rpabjnc3l3ybnzjdypbr65lsjqf9yn243b5kid9d8wm0"))))
|
||||
"0kp56gwn1bnlrag9qidhm1i5ifdp5z6y1ravh3yimfrkc4cfa8sw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(,@(substitute-keyword-arguments (package-arguments python-acme)
|
||||
|
@ -873,3 +880,69 @@ implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
|
|||
Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
|
||||
extensions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public dehydrated
|
||||
(package
|
||||
(name "dehydrated")
|
||||
(version "0.6.2")
|
||||
(source (origin
|
||||
(method url-fetch/tarbomb)
|
||||
(uri (string-append
|
||||
"https://github.com/lukas2511/dehydrated/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03p80yj6bnzjc6dkp5hb9wpplmlrla8n5src71cnzw4rj53q8cqn"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((source (assoc-ref %build-inputs "source"))
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(bash (in-vicinity (assoc-ref %build-inputs "bash") "bin")))
|
||||
(mkdir-p bin)
|
||||
(with-directory-excursion bin
|
||||
(copy-file
|
||||
(in-vicinity source (string-append "/dehydrated-" ,version
|
||||
"/dehydrated"))
|
||||
(in-vicinity bin "dehydrated"))
|
||||
(patch-shebang "dehydrated" (list bash))
|
||||
|
||||
;; Do not try to write in the store.
|
||||
(substitute* "dehydrated"
|
||||
(("SCRIPTDIR=\"\\$.*\"") "SCRIPTDIR=~/.dehydrated"))
|
||||
|
||||
(setenv "PATH" bash)
|
||||
(wrap-program "dehydrated"
|
||||
`("PATH" ":" prefix
|
||||
,(map (lambda (dir)
|
||||
(string-append dir "/bin"))
|
||||
(map (lambda (input)
|
||||
(assoc-ref %build-inputs input))
|
||||
'("coreutils"
|
||||
"curl"
|
||||
"diffutils"
|
||||
"gawk"
|
||||
"grep"
|
||||
"openssl"
|
||||
"sed"))))))
|
||||
#t))))
|
||||
(inputs
|
||||
`(("bash" ,bash)
|
||||
("coreutils" ,coreutils)
|
||||
("curl" ,curl)
|
||||
("diffutils" ,diffutils)
|
||||
("gawk" ,gawk)
|
||||
("grep" ,grep)
|
||||
("openssl" ,openssl)
|
||||
("sed" ,sed)))
|
||||
(home-page "https://dehydrated.io/")
|
||||
(synopsis "Let's Encrypt/ACME client implemented as a shell script")
|
||||
(description "Dehydrated is a client for signing certificates with an
|
||||
ACME-server (currently only provided by Let's Encrypt) implemented as a
|
||||
relatively simple Bash script.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -47,14 +47,14 @@
|
|||
(define-public tor
|
||||
(package
|
||||
(name "tor")
|
||||
(version "0.3.3.6")
|
||||
(version "0.3.3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.torproject.org/tor-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1drk2h8zd05xrfpx7xn77pcxz0hs4nrq6figw56qk5gkvgv5kg4r"))))
|
||||
"036ybfvldj7yfci9ipjki8smpzyxdg8c5r12bghc9yxdqh9basza"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--enable-gcc-hardening"
|
||||
|
|
|
@ -1911,7 +1911,7 @@ network protocols, and core version control algorithms.")
|
|||
(define-public gource
|
||||
(package
|
||||
(name "gource")
|
||||
(version "0.48")
|
||||
(version "0.49")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1919,7 +1919,7 @@ network protocols, and core version control algorithms.")
|
|||
"/gource-" version "/gource-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04qxcm05qiyr9rg2kv6abfy7kkzqr8ziw4iyp1d14lniv93m61dp"))))
|
||||
"12hf5ipcsp9dxsqn84n4kr63xaiskrnf5a084wr29qk171lj7pd9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -606,14 +606,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
|
|||
(define-public ffmpeg
|
||||
(package
|
||||
(name "ffmpeg")
|
||||
(version "4.0")
|
||||
(version "4.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gx4ngnhi5glmxh38603qy5n6vq8bl1cr4sqd1xff95i82pmv57d"))))
|
||||
"1vn04n0n46zdxq14cma3w8ml2ckh5jxwlybsc4xmvcqdqq0mqpv0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
|
|
|
@ -450,59 +450,57 @@ trouble using them, because you do not have to remember each snippet name.")
|
|||
(home-page "https://github.com/Shougo/context_filetype.vim")
|
||||
(license license:expat)))) ; ??? check again
|
||||
|
||||
;; The 2.2 release was in 2015, no new releases planned.
|
||||
(define-public vim-fugitive
|
||||
(let ((commit "de6c05720cdf74c0218218d7207f700232a5b6dc")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "vim-fugitive")
|
||||
(version (string-append "2.2-" revision "." (string-take commit 7)))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tpope/vim-fugitive.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zg9vv7hirnx45vc2mwgg0xijmwwz55bssyd6cpdz71wbhrcpxxb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(vimfiles (string-append out "/share/vim/vimfiles"))
|
||||
(doc (string-append vimfiles "/doc"))
|
||||
(plugin (string-append vimfiles "/plugin")))
|
||||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "plugin" plugin)
|
||||
#t))))))
|
||||
(home-page "https://github.com/tpope/vim-fugitive")
|
||||
(synopsis "Vim plugin to work with Git")
|
||||
(description "Vim-fugitive is a wrapper for Vim that complements the
|
||||
(package
|
||||
(name "vim-fugitive")
|
||||
(version "2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tpope/vim-fugitive.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17s94a8g5z0lrs7yy4nyqyvp9ykys5ws2ar3m3c0bjsn0iazd7m3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(vimfiles (string-append out "/share/vim/vimfiles"))
|
||||
(doc (string-append vimfiles "/doc"))
|
||||
(plugin (string-append vimfiles "/plugin")))
|
||||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "plugin" plugin)
|
||||
#t))))))
|
||||
(home-page "https://github.com/tpope/vim-fugitive")
|
||||
(synopsis "Vim plugin to work with Git")
|
||||
(description "Vim-fugitive is a wrapper for Vim that complements the
|
||||
command window, where you can stage and review your changes before the next
|
||||
commit or run any Git arbitrary command.")
|
||||
(license license:vim)))) ; distributed under the same license as vim
|
||||
(license license:vim))) ; distributed under the same license as vim
|
||||
|
||||
(define-public vim-airline
|
||||
(package
|
||||
(name "vim-airline")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/vim-airline/vim-airline/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/vim-airline/vim-airline")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"053sfq3jmgdc5y7zbg6jrk7r2hp0raj3y3mxa2h1c1bnkb6wvcaz"))))
|
||||
"0hq3304rhakx7x1v7wll7gxinmfz6561bq97qpj8jrk19rhcab75"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
|
@ -575,16 +573,17 @@ and powerline symbols, etc.")
|
|||
(define-public vim-syntastic
|
||||
(package
|
||||
(name "vim-syntastic")
|
||||
(version "3.8.0")
|
||||
(version "3.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/vim-syntastic/syntastic/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/vim-syntastic/syntastic")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wsnd9bsp5x6yiw96h1bnd1vyxdkh130hb82kyyxydgsplx92ima"))))
|
||||
"121a1mxgfng2y5zmivyyk02mca8pyw72crivf4f1q9nhn0barf57"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
|
@ -52,6 +53,7 @@
|
|||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages polkit)
|
||||
|
@ -71,6 +73,7 @@
|
|||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+
|
||||
asl2.0))
|
||||
#:use-module (guix packages)
|
||||
|
@ -864,3 +867,110 @@ packaged according to the
|
|||
Container Initiative (OCI) format} and is a compliant implementation of the
|
||||
Open Container Initiative specification.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public umoci
|
||||
(package
|
||||
(name "umoci")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/openSUSE/umoci/releases/download/v"
|
||||
version "/umoci.tar.xz"))
|
||||
(file-name (string-append "umoci-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hg7hs4dagj2fgymm4b4s68k1v2k2093s3jg0d94j0ixhfmyg9nd"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/openSUSE/umoci"
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source import-path #:allow-other-keys)
|
||||
;; Unpack the tarball into 'umoci' instead of "runc-${version}".
|
||||
(let ((dest (string-append "src/" import-path)))
|
||||
(mkdir-p dest)
|
||||
(invoke "tar" "-C" (string-append "src/" import-path)
|
||||
"--strip-components=1"
|
||||
"-xvf" source))))
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(chdir (string-append "src/" import-path))
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "SHELL=bash")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bindir (string-append out "/bin")))
|
||||
(install-file "umoci" bindir)
|
||||
#t))))))
|
||||
(home-page "https://umo.ci/")
|
||||
(synopsis "Tool for modifying Open Container images")
|
||||
(description
|
||||
"@command{umoci} is a tool that allows for high-level modification of an
|
||||
Open Container Initiative (OCI) image layout and its tagged images.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public skopeo
|
||||
(package
|
||||
(name "skopeo")
|
||||
(version "0.1.28")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/projectatomic/skopeo")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"068nwrr3nr27alravcq1sxyhdd5jjr24213vdgn1dqva3885gbi0"))))
|
||||
(build-system go-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("btrfs-progs" ,btrfs-progs)
|
||||
("eudev" ,eudev)
|
||||
("libassuan" ,libassuan)
|
||||
("libselinux" ,libselinux)
|
||||
("libostree" ,libostree)
|
||||
("lvm2" ,lvm2)
|
||||
("glib" ,glib)
|
||||
("gpgme" ,gpgme)))
|
||||
(arguments
|
||||
'(#:import-path "github.com/projectatomic/skopeo"
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(chdir (string-append "src/" import-path))
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "binary-local")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install-binary" "install-completions"
|
||||
(string-append "PREFIX=" out))))))))
|
||||
(home-page "https://github.com/projectatomic/skopeo")
|
||||
(synopsis "Interact with container images and container image registries")
|
||||
(description
|
||||
"@command{skopeo} is a command line utility providing various operations
|
||||
with container images and container image registries. It can:
|
||||
@enumerate
|
||||
|
||||
@item Copy container images between various containers image stores,
|
||||
converting them as necessary.
|
||||
|
||||
@item Convert a Docker schema 2 or schema 1 container image to an OCI image.
|
||||
|
||||
@item Inspect a repository on a container registry without needlessly pulling
|
||||
the image.
|
||||
|
||||
@item Sign and verify container images.
|
||||
|
||||
@item Delete container images from a remote container registry.
|
||||
|
||||
@end enumerate")
|
||||
(license asl2.0)))
|
||||
|
|
|
@ -4024,14 +4024,14 @@ objects in HTML format.")
|
|||
(define-public r-rjson
|
||||
(package
|
||||
(name "r-rjson")
|
||||
(version "0.2.19")
|
||||
(version "0.2.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rjson" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1g29vp3gfbh73a5br68jydsrigia4vnr5avc84avgwl6353749jw"))))
|
||||
"0v1zvdd3svnavklh7y5xbwrrkbvx6053r4c5hgnk7hz7bqg7qa1s"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/rjson")
|
||||
(synopsis "JSON library for R")
|
||||
|
@ -6117,6 +6117,11 @@ infrastructure")))
|
|||
(inherit java-eclipse-jetty-security)
|
||||
(version (package-version java-eclipse-jetty-util-9.2))
|
||||
(source (package-source java-eclipse-jetty-util-9.2))
|
||||
(arguments
|
||||
`(#:test-exclude
|
||||
;; This test fails.
|
||||
(list "**/ConstraintTest.*")
|
||||
,@(package-arguments java-eclipse-jetty-security)))
|
||||
(inputs
|
||||
`(("util" ,java-eclipse-jetty-util-9.2)
|
||||
("http" ,java-eclipse-jetty-http-9.2)
|
||||
|
@ -6182,6 +6187,107 @@ container.")))
|
|||
("server" ,java-eclipse-jetty-server-9.2)
|
||||
,@(package-inputs java-eclipse-jetty-util-9.2)))))
|
||||
|
||||
(define-public java-eclipse-jetty-xml
|
||||
(package
|
||||
(inherit java-eclipse-jetty-util)
|
||||
(name "java-eclipse-jetty-xml")
|
||||
(arguments
|
||||
`(#:jar-name "eclipse-jetty-xml.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:tests? #f; most tests require network
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "jetty-xml")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-eclipse-jetty-util" ,java-eclipse-jetty-util)))
|
||||
(native-inputs
|
||||
`(("java-eclipse-jetty-io" ,java-eclipse-jetty-io)
|
||||
,@(package-native-inputs java-eclipse-jetty-util)))))
|
||||
|
||||
(define-public java-eclipse-jetty-xml-9.2
|
||||
(package
|
||||
(inherit java-eclipse-jetty-xml)
|
||||
(version (package-version java-eclipse-jetty-util-9.2))
|
||||
(source (package-source java-eclipse-jetty-util-9.2))
|
||||
(arguments
|
||||
`(#:jar-name "eclipse-jetty-xml.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:tests? #f; most tests require network
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "jetty-xml")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-eclipse-jetty-util-9.2" ,java-eclipse-jetty-util-9.2)
|
||||
,@(package-inputs java-eclipse-jetty-util-9.2)))
|
||||
(native-inputs
|
||||
`(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)
|
||||
,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
|
||||
|
||||
(define-public java-eclipse-jetty-webapp
|
||||
(package
|
||||
(inherit java-eclipse-jetty-util)
|
||||
(name "java-eclipse-jetty-webapp")
|
||||
(arguments
|
||||
`(#:jar-name "eclipse-jetty-webapp.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
;; One test fails
|
||||
#:test-exclude (list "**/WebAppContextTest.java")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "jetty-webapp")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-eclipse-jetty-util" ,java-eclipse-jetty-util)
|
||||
("java-eclipse-jetty-http" ,java-eclipse-jetty-http)
|
||||
("java-eclipse-jetty-server" ,java-eclipse-jetty-server)
|
||||
("java-eclipse-jetty-servlet" ,java-eclipse-jetty-servlet)
|
||||
("java-eclipse-jetty-security" ,java-eclipse-jetty-security)
|
||||
("java-eclipse-jetty-xml" ,java-eclipse-jetty-xml)
|
||||
("java-tomcat" ,java-tomcat)))
|
||||
(native-inputs
|
||||
`(("java-eclipse-jetty-io" ,java-eclipse-jetty-io)
|
||||
,@(package-native-inputs java-eclipse-jetty-util)))))
|
||||
|
||||
(define-public java-eclipse-jetty-webapp-9.2
|
||||
(package
|
||||
(inherit java-eclipse-jetty-webapp)
|
||||
(version (package-version java-eclipse-jetty-util-9.2))
|
||||
(source (package-source java-eclipse-jetty-util-9.2))
|
||||
(arguments
|
||||
`(#:jar-name "eclipse-jetty-webapp.jar"
|
||||
#:source-dir "src/main/java"
|
||||
#:jdk ,icedtea-8
|
||||
#:test-exclude (list "**/WebAppContextTest.java")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "jetty-webapp")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("java-eclipse-jetty-util-9.2" ,java-eclipse-jetty-util-9.2)
|
||||
("java-eclipse-jetty-http-9.2" ,java-eclipse-jetty-http-9.2)
|
||||
("java-eclipse-jetty-server-9.2" ,java-eclipse-jetty-server-9.2)
|
||||
("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2)
|
||||
("java-eclipse-jetty-security-9.2" ,java-eclipse-jetty-security-9.2)
|
||||
("java-eclipse-jetty-xml-9.2" ,java-eclipse-jetty-xml-9.2)
|
||||
("java-tomcat" ,java-tomcat)
|
||||
,@(package-inputs java-eclipse-jetty-util-9.2)))
|
||||
(native-inputs
|
||||
`(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)
|
||||
,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
|
||||
|
||||
(define-public java-jsoup
|
||||
(package
|
||||
(name "java-jsoup")
|
||||
|
|
|
@ -223,7 +223,7 @@ integrate Windows applications into your desktop.")
|
|||
(define-public wine-staging-patchset-data
|
||||
(package
|
||||
(name "wine-staging-patchset-data")
|
||||
(version "3.9")
|
||||
(version "3.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -232,7 +232,7 @@ integrate Windows applications into your desktop.")
|
|||
(file-name (string-append name "-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0akccqrp1ymjrra2c99f6hxlaa77jyihfs3q8x93vkgb9c0lq5xx"))))
|
||||
"14rf3g9szxygbd6ypg6zbqw1h84rn8gqgrzwi607xwgh8wm59sli"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs
|
||||
`(("bash" ,bash)
|
||||
|
@ -279,7 +279,7 @@ integrate Windows applications into your desktop.")
|
|||
(file-name (string-append name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ddphvlp9lsjyqc6zckinc36bggpkg925v0x2vqr8nkdjs0w5bfc"))))
|
||||
"1df6g8g5nfb4ca218m78giqp3k1fmv0grv26387rbn3wkk3mql6p"))))
|
||||
(inputs `(("autoconf" ,autoconf) ; for autoreconf
|
||||
("gtk+" ,gtk+)
|
||||
("libva" ,libva)
|
||||
|
|
|
@ -531,7 +531,7 @@ selection's dimensions to stdout.")
|
|||
(define-public maim
|
||||
(package
|
||||
(name "maim")
|
||||
(version "5.5.1")
|
||||
(version "5.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -540,7 +540,7 @@ selection's dimensions to stdout.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dvw0axnr9hhjg6zdcq9lwvaq0x7vrzlz00p8n3hj25qzsi4z5as"))))
|
||||
"14zdhsx1cndg5m8wbv1rqmza7wgknwfj5h0knzxg3p2jkjw66i95"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no "check" target
|
||||
|
|
|
@ -263,13 +263,11 @@ the @code{Graph} class and write it out in a specific file format.")
|
|||
(getenv "PERL5LIB")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("perl-datetime" ,perl-datetime)
|
||||
;; TODO package: perl-datetime-format-atom
|
||||
("perl-html-tagset" ,perl-html-tagset)
|
||||
;; TODO package: perl-datetime-format-atom
|
||||
`(("perl-html-tagset" ,perl-html-tagset)
|
||||
("perl-module-build-tiny" ,perl-module-build-tiny)
|
||||
("perl-module-install" ,perl-module-install)
|
||||
("perl-xml-xpath" ,perl-xml-xpath)))
|
||||
(inputs
|
||||
("perl-module-install" ,perl-module-install)))
|
||||
(propagated-inputs
|
||||
`(("perl-class-data-inheritable" ,perl-class-data-inheritable)
|
||||
("perl-datetime" ,perl-datetime)
|
||||
("perl-datetime-timezone" ,perl-datetime-timezone)
|
||||
|
@ -418,14 +416,14 @@ XML parser and the high performance DOM implementation.")
|
|||
(define-public perl-xml-libxml-simple
|
||||
(package
|
||||
(name "perl-xml-libxml-simple")
|
||||
(version "0.97")
|
||||
(version "0.99")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
|
||||
"XML-LibXML-Simple-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g8nlk3zdz2cclxf7azvsb3jfxmvy6ml8wmj774k4qjqcsqmzk0w"))))
|
||||
"0i4ybiqdnvnbfxqslw2y392kvy7i752dl8n99bqiqv5kzk4lbzhl"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
|
||||
|
@ -815,18 +813,18 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom")
|
|||
(define-public perl-xml-xpath
|
||||
(package
|
||||
(name "perl-xml-xpath")
|
||||
(version "1.40")
|
||||
(version "1.42")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
|
||||
"XML-XPath-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07pa0bl42jka8mj7jshjynx8vpfh8b4cdyiv4zlkqvkqz98nzxib"))))
|
||||
"04mm91kxav598ax7nlg81dhnvanwvg6bkf30l0cgkmga5iyccsly"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-path-tiny" ,perl-path-tiny)))
|
||||
(inputs
|
||||
(propagated-inputs
|
||||
`(("perl-xml-parser" ,perl-xml-parser)))
|
||||
(home-page "http://search.cpan.org/dist/XML-XPath")
|
||||
(synopsis "Parse and evaluate XPath statements")
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -5855,6 +5856,34 @@ perl programs to display windows and graphics on X11 servers.")
|
|||
;; for details)."
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public perl-x11-protocol-other
|
||||
(package
|
||||
(name "perl-x11-protocol-other")
|
||||
(version "30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mambi57cdkj82wiw1l8y2f70a60qsamdas0165hlj10drryfgrj"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-encode-hanextra" ,perl-encode-hanextra)
|
||||
("perl-module-util" ,perl-module-util)))
|
||||
(propagated-inputs
|
||||
`(("perl-x11-protocol" ,perl-x11-protocol)))
|
||||
(home-page "http://search.cpan.org/dist/X11-Protocol-Other/")
|
||||
(synopsis "Miscellaneous helpers for @code{X11::Protocol} connections")
|
||||
(description
|
||||
"@code{X11::Protocol::Other} contains window manager related functions for
|
||||
use by client programs, as per the @dfn{ICCCM} (Inter-Client Communication
|
||||
Conventions Manual) and some of the @dfn{EWMH}
|
||||
(Extended Window Manager Hints).")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public xcompmgr
|
||||
(package
|
||||
(name "xcompmgr")
|
||||
|
|
|
@ -1592,8 +1592,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
|
|||
|
||||
(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(write (call-with-input-file "graph"
|
||||
read-reference-graph)
|
||||
(write (map store-info-item
|
||||
(call-with-input-file "graph"
|
||||
read-reference-graph))
|
||||
port)))))
|
||||
#:options `(#:local-build? #f
|
||||
#:references-graphs (("graph" ,item))))
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -608,7 +609,7 @@ demand.")))
|
|||
(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(display "\
|
||||
# The beginning was automatically added.
|
||||
### These lines were generated from your system configuration:
|
||||
User tor
|
||||
DataDirectory /var/lib/tor
|
||||
Log notice syslog\n" port)
|
||||
|
@ -628,6 +629,9 @@ HiddenServicePort ~a ~a~%"
|
|||
(cons name mapping)))
|
||||
services))
|
||||
|
||||
(display "\
|
||||
### End of automatically generated lines.\n\n" port)
|
||||
|
||||
;; Append the user's config file.
|
||||
(call-with-input-file #$config-file
|
||||
(lambda (input)
|
||||
|
|
|
@ -77,6 +77,7 @@
|
|||
nginx-configuration-upstream-blocks
|
||||
nginx-configuration-server-names-hash-bucket-size
|
||||
nginx-configuration-server-names-hash-bucket-max-size
|
||||
nginx-configuration-extra-content
|
||||
nginx-configuration-file
|
||||
|
||||
<nginx-server-configuration>
|
||||
|
@ -431,6 +432,8 @@
|
|||
(default #f))
|
||||
(server-names-hash-bucket-max-size nginx-configuration-server-names-hash-bucket-max-size
|
||||
(default #f))
|
||||
(extra-content nginx-configuration-extra-content
|
||||
(default ""))
|
||||
(file nginx-configuration-file ;#f | string | file-like
|
||||
(default #f)))
|
||||
|
||||
|
@ -521,7 +524,8 @@ of index files."
|
|||
(nginx log-directory run-directory
|
||||
server-blocks upstream-blocks
|
||||
server-names-hash-bucket-size
|
||||
server-names-hash-bucket-max-size)
|
||||
server-names-hash-bucket-max-size
|
||||
extra-content)
|
||||
(apply mixed-text-file "nginx.conf"
|
||||
(flatten
|
||||
"user nginx nginx;\n"
|
||||
|
@ -550,7 +554,8 @@ of index files."
|
|||
"\n"
|
||||
(map emit-nginx-upstream-config upstream-blocks)
|
||||
(map emit-nginx-server-config server-blocks)
|
||||
"}\n"
|
||||
extra-content
|
||||
"\n}\n"
|
||||
"events {}\n"))))
|
||||
|
||||
(define %nginx-accounts
|
||||
|
|
|
@ -602,7 +602,7 @@ directory."
|
|||
# because they would require combining both profiles.
|
||||
# FIXME: See <http://bugs.gnu.org/20255>.
|
||||
export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man
|
||||
export INFOPATH=$HOME/.config/guix/current/share/info:$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
|
||||
export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
|
||||
export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
|
||||
export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
|
||||
|
||||
|
@ -630,7 +630,8 @@ then
|
|||
export `cat /etc/environment | cut -d= -f1`
|
||||
fi
|
||||
|
||||
for profile in \"$HOME/.config/guix/current\" \"$HOME/.guix-profile\"
|
||||
# Arrange so that ~/.config/guix/current comes first.
|
||||
for profile in \"$HOME/.guix-profile\" \"$HOME/.config/guix/current\"
|
||||
do
|
||||
if [ -f \"$profile/etc/profile\" ]
|
||||
then
|
||||
|
@ -644,6 +645,9 @@ do
|
|||
fi
|
||||
done
|
||||
|
||||
# Arrange so that ~/.config/guix/current/share/info comes first.
|
||||
export INFOPATH=\"$HOME/.config/guix/current/share/info:$INFOPATH\"
|
||||
|
||||
# Set the umask, notably for users logging in via 'lsh'.
|
||||
# See <http://bugs.gnu.org/22650>.
|
||||
umask 022
|
||||
|
|
|
@ -194,10 +194,15 @@
|
|||
;; differs from user to user.
|
||||
(define (%store-prefix)
|
||||
"Return the store prefix."
|
||||
(cond ((resolve-module '(guix store) #:ensure #f)
|
||||
;; Note: If we have (guix store database) in the search path and we do *not*
|
||||
;; have (guix store) proper, 'resolve-module' returns an empty (guix store)
|
||||
;; with one sub-module.
|
||||
(cond ((and=> (resolve-module '(guix store) #:ensure #f)
|
||||
(lambda (store)
|
||||
(module-variable store '%store-prefix)))
|
||||
=>
|
||||
(lambda (store)
|
||||
((module-ref store '%store-prefix))))
|
||||
(lambda (variable)
|
||||
((variable-ref variable))))
|
||||
((getenv "NIX_STORE")
|
||||
=> identity)
|
||||
(else
|
||||
|
|
|
@ -54,7 +54,8 @@
|
|||
novena-installation-os
|
||||
pine64-plus-installation-os
|
||||
rk3399-puma-installation-os
|
||||
wandboard-installation-os))
|
||||
wandboard-installation-os
|
||||
os-with-u-boot))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -386,6 +387,19 @@ You have been warned. Thanks for being so brave.\x1b[0m
|
|||
nvi ;:wq!
|
||||
%base-packages))))
|
||||
|
||||
(define* (os-with-u-boot os board #:key (bootloader-target "/dev/mmcblk0")
|
||||
(triplet "arm-linux-gnueabihf"))
|
||||
"Given OS, amend it with the u-boot bootloader for BOARD,
|
||||
installed to BOOTLOADER-TARGET (a drive), compiled for TRIPLET.
|
||||
|
||||
If you want a serial console, make sure to specify one in your
|
||||
operating-system's kernel-arguments (\"console=ttyS0\" or similar)."
|
||||
(operating-system (inherit os)
|
||||
(bootloader (bootloader-configuration
|
||||
(bootloader (bootloader (inherit u-boot-bootloader)
|
||||
(package (make-u-boot-package board triplet))))
|
||||
(target bootloader-target)))))
|
||||
|
||||
(define* (embedded-installation-os bootloader bootloader-target tty
|
||||
#:key (extra-modules '()))
|
||||
"Return an installation os for embedded systems.
|
||||
|
|
|
@ -32,7 +32,8 @@
|
|||
#:use-module (gnu system uuid)
|
||||
#:autoload (gnu build file-systems) (find-partition-by-luks-uuid)
|
||||
#:autoload (gnu build linux-modules)
|
||||
(device-module-aliases matching-modules known-module-aliases)
|
||||
(device-module-aliases matching-modules known-module-aliases
|
||||
normalize-module-name)
|
||||
#:autoload (gnu packages cryptsetup) (cryptsetup-static)
|
||||
#:autoload (gnu packages linux) (mdadm-static)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -127,10 +128,15 @@ DEVICE must be a \"/dev\" file name."
|
|||
(const #f)))
|
||||
|
||||
(when aliases
|
||||
(let ((modules (delete-duplicates
|
||||
(append-map (cut matching-modules <> aliases)
|
||||
(device-module-aliases device)))))
|
||||
(unless (every (cute member <> linux-modules) modules)
|
||||
(let ((modules (delete-duplicates
|
||||
(append-map (cut matching-modules <> aliases)
|
||||
(device-module-aliases device))))
|
||||
|
||||
;; Module names (not file names) are supposed to use underscores
|
||||
;; instead of hyphens. MODULES is a list of module names, whereas
|
||||
;; LINUX-MODULES is file names without '.ko', so normalize them.
|
||||
(provided (map normalize-module-name linux-modules)))
|
||||
(unless (every (cut member <> provided) modules)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "you may need these modules \
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#:use-module (guix utils)
|
||||
#:use-module (guix hash)
|
||||
#:use-module (guix base32)
|
||||
#:use-module ((guix self) #:select (make-config.scm))
|
||||
|
||||
#:use-module ((gnu build vm)
|
||||
#:select (qemu-command))
|
||||
|
@ -50,7 +51,6 @@
|
|||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages zile)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module ((gnu packages make-bootstrap)
|
||||
#:select (%guile-static-stripped))
|
||||
#:use-module (gnu packages admin)
|
||||
|
@ -116,6 +116,19 @@
|
|||
(options "trans=virtio")
|
||||
(check? #f))))
|
||||
|
||||
(define not-config?
|
||||
;; Select (guix …) and (gnu …) modules, except (guix config).
|
||||
(match-lambda
|
||||
(('guix 'config) #f)
|
||||
(('guix rest ...) #t)
|
||||
(('gnu rest ...) #t)
|
||||
(rest #f)))
|
||||
|
||||
(define guile-sqlite3&co
|
||||
;; Guile-SQLite3 and its propagated inputs.
|
||||
(cons guile-sqlite3
|
||||
(package-transitive-propagated-inputs guile-sqlite3)))
|
||||
|
||||
(define* (expression->derivation-in-linux-vm name exp
|
||||
#:key
|
||||
(system (%current-system))
|
||||
|
@ -151,12 +164,28 @@ based on the size of the closure of REFERENCES-GRAPHS.
|
|||
When REFERENCES-GRAPHS is true, it must be a list of file name/store path
|
||||
pairs, as for `derivation'. The files containing the reference graphs are
|
||||
made available under the /xchg CIFS share."
|
||||
(define config
|
||||
;; (guix config) module for consumption by (guix gcrypt).
|
||||
(make-config.scm #:libgcrypt libgcrypt))
|
||||
|
||||
(define user-builder
|
||||
(program-file "builder-in-linux-vm" exp))
|
||||
|
||||
(define loader
|
||||
;; Invoke USER-BUILDER instead using 'primitive-load'. The reason for
|
||||
;; this is to allow USER-BUILDER to dlopen stuff by using a full-featured
|
||||
;; Guile, which it couldn't do using the statically-linked guile used in
|
||||
;; the initrd. See example at
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00233.html>.
|
||||
(program-file "linux-vm-loader"
|
||||
;; When USER-BUILDER succeeds, reboot (indicating a
|
||||
;; success), otherwise die, which causes a kernel panic
|
||||
;; ("Attempted to kill init!").
|
||||
#~(when (zero? (system* #$user-builder))
|
||||
(reboot))))
|
||||
|
||||
(mlet* %store-monad
|
||||
((user-builder (gexp->file "builder-in-linux-vm" exp))
|
||||
(loader (gexp->file "linux-vm-loader"
|
||||
#~(primitive-load #$user-builder)))
|
||||
(coreutils -> (canonical-package coreutils))
|
||||
(initrd (if initrd ; use the default initrd?
|
||||
((initrd (if initrd ; use the default initrd?
|
||||
(return initrd)
|
||||
(base-initrd file-systems
|
||||
#:on-error 'backtrace
|
||||
|
@ -166,40 +195,44 @@ made available under the /xchg CIFS share."
|
|||
|
||||
(define builder
|
||||
;; Code that launches the VM that evaluates EXP.
|
||||
(with-imported-modules (source-module-closure '((guix build utils)
|
||||
(gnu build vm)))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(gnu build vm))
|
||||
(with-extensions guile-sqlite3&co
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
'((guix build utils)
|
||||
(gnu build vm))
|
||||
#:select? not-config?)
|
||||
((guix config) => ,config))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(gnu build vm))
|
||||
|
||||
(let* ((inputs '#$(list qemu coreutils))
|
||||
(linux (string-append #$linux "/"
|
||||
#$(system-linux-image-file-name)))
|
||||
(initrd (string-append #$initrd "/initrd"))
|
||||
(loader #$loader)
|
||||
(graphs '#$(match references-graphs
|
||||
(((graph-files . _) ...) graph-files)
|
||||
(_ #f)))
|
||||
(size #$(if (eq? 'guess disk-image-size)
|
||||
#~(+ (* 70 (expt 2 20)) ;ESP
|
||||
(estimated-partition-size graphs))
|
||||
disk-image-size)))
|
||||
(let* ((inputs '#$(list qemu (canonical-package coreutils)))
|
||||
(linux (string-append #$linux "/"
|
||||
#$(system-linux-image-file-name)))
|
||||
(initrd (string-append #$initrd "/initrd"))
|
||||
(loader #$loader)
|
||||
(graphs '#$(match references-graphs
|
||||
(((graph-files . _) ...) graph-files)
|
||||
(_ #f)))
|
||||
(size #$(if (eq? 'guess disk-image-size)
|
||||
#~(+ (* 70 (expt 2 20)) ;ESP
|
||||
(estimated-partition-size graphs))
|
||||
disk-image-size)))
|
||||
|
||||
(set-path-environment-variable "PATH" '("bin") inputs)
|
||||
(set-path-environment-variable "PATH" '("bin") inputs)
|
||||
|
||||
(load-in-linux-vm loader
|
||||
#:output #$output
|
||||
#:linux linux #:initrd initrd
|
||||
#:memory-size #$memory-size
|
||||
#:make-disk-image? #$make-disk-image?
|
||||
#:single-file-output? #$single-file-output?
|
||||
;; FIXME: ‘target-arm32?’ may not operate on
|
||||
;; the right system/target values. Rewrite
|
||||
;; using ‘let-system’ when available.
|
||||
#:target-arm32? #$(target-arm32?)
|
||||
#:disk-image-format #$disk-image-format
|
||||
#:disk-image-size size
|
||||
#:references-graphs graphs)))))
|
||||
(load-in-linux-vm loader
|
||||
#:output #$output
|
||||
#:linux linux #:initrd initrd
|
||||
#:memory-size #$memory-size
|
||||
#:make-disk-image? #$make-disk-image?
|
||||
#:single-file-output? #$single-file-output?
|
||||
;; FIXME: ‘target-arm32?’ may not operate on
|
||||
;; the right system/target values. Rewrite
|
||||
;; using ‘let-system’ when available.
|
||||
#:target-arm32? #$(target-arm32?)
|
||||
#:disk-image-format #$disk-image-format
|
||||
#:disk-image-size size
|
||||
#:references-graphs graphs))))))
|
||||
|
||||
(gexp->derivation name builder
|
||||
;; TODO: Require the "kvm" feature.
|
||||
|
@ -222,43 +255,56 @@ made available under the /xchg CIFS share."
|
|||
"Return a bootable, stand-alone iso9660 image.
|
||||
|
||||
INPUTS is a list of inputs (as for packages)."
|
||||
(define config
|
||||
(make-config.scm #:libgcrypt libgcrypt))
|
||||
|
||||
(define schema
|
||||
(and register-closures?
|
||||
(local-file (search-path %load-path
|
||||
"guix/store/schema.sql"))))
|
||||
|
||||
(expression->derivation-in-linux-vm
|
||||
name
|
||||
(with-imported-modules (source-module-closure '((gnu build vm)
|
||||
(guix build utils)))
|
||||
#~(begin
|
||||
(use-modules (gnu build vm)
|
||||
(guix build utils))
|
||||
(with-extensions guile-sqlite3&co
|
||||
(with-imported-modules `(,@(source-module-closure '((gnu build vm)
|
||||
(guix store database)
|
||||
(guix build utils))
|
||||
#:select? not-config?)
|
||||
((guix config) => ,config))
|
||||
#~(begin
|
||||
(use-modules (gnu build vm)
|
||||
(guix store database)
|
||||
(guix build utils))
|
||||
|
||||
(let ((inputs
|
||||
'#$(append (list qemu parted e2fsprogs dosfstools xorriso)
|
||||
(map canonical-package
|
||||
(list sed grep coreutils findutils gawk))
|
||||
(if register-closures? (list guix) '())))
|
||||
(sql-schema #$schema)
|
||||
|
||||
(let ((inputs
|
||||
'#$(append (list qemu parted e2fsprogs dosfstools xorriso)
|
||||
(map canonical-package
|
||||
(list sed grep coreutils findutils gawk))))
|
||||
|
||||
|
||||
(graphs '#$(match inputs
|
||||
(((names . _) ...)
|
||||
names)))
|
||||
;; This variable is unused but allows us to add INPUTS-TO-COPY
|
||||
;; as inputs.
|
||||
(to-register
|
||||
'#$(map (match-lambda
|
||||
((name thing) thing)
|
||||
((name thing output) `(,thing ,output)))
|
||||
inputs)))
|
||||
(graphs '#$(match inputs
|
||||
(((names . _) ...)
|
||||
names)))
|
||||
;; This variable is unused but allows us to add INPUTS-TO-COPY
|
||||
;; as inputs.
|
||||
(to-register
|
||||
'#$(map (match-lambda
|
||||
((name thing) thing)
|
||||
((name thing output) `(,thing ,output)))
|
||||
inputs)))
|
||||
|
||||
(set-path-environment-variable "PATH" '("bin" "sbin") inputs)
|
||||
(make-iso9660-image #$(bootloader-package bootloader)
|
||||
#$bootcfg-drv
|
||||
#$os-drv
|
||||
"/xchg/guixsd.iso"
|
||||
#:register-closures? #$register-closures?
|
||||
#:closures graphs
|
||||
#:volume-id #$file-system-label
|
||||
#:volume-uuid #$(and=> file-system-uuid
|
||||
uuid-bytevector))
|
||||
(reboot))))
|
||||
(set-path-environment-variable "PATH" '("bin" "sbin") inputs)
|
||||
(make-iso9660-image #$(bootloader-package bootloader)
|
||||
#$bootcfg-drv
|
||||
#$os-drv
|
||||
"/xchg/guixsd.iso"
|
||||
#:register-closures? #$register-closures?
|
||||
#:closures graphs
|
||||
#:volume-id #$file-system-label
|
||||
#:volume-uuid #$(and=> file-system-uuid
|
||||
uuid-bytevector))))))
|
||||
#:system system
|
||||
|
||||
;; Keep a local file system for /tmp so that we can populate it directly as
|
||||
|
@ -301,91 +347,104 @@ INPUTS is a list of inputs (as for packages). When COPY-INPUTS? is true, copy
|
|||
all of INPUTS into the image being built. When REGISTER-CLOSURES? is true,
|
||||
register INPUTS in the store database of the image so that Guix can be used in
|
||||
the image."
|
||||
(define config
|
||||
(make-config.scm #:libgcrypt libgcrypt))
|
||||
|
||||
(define schema
|
||||
(and register-closures?
|
||||
(local-file (search-path %load-path
|
||||
"guix/store/schema.sql"))))
|
||||
|
||||
(expression->derivation-in-linux-vm
|
||||
name
|
||||
(with-imported-modules (source-module-closure '((gnu build bootloader)
|
||||
(gnu build vm)
|
||||
(guix build utils)))
|
||||
#~(begin
|
||||
(use-modules (gnu build bootloader)
|
||||
(gnu build vm)
|
||||
(guix build utils)
|
||||
(srfi srfi-26)
|
||||
(ice-9 binary-ports))
|
||||
(with-extensions guile-sqlite3&co
|
||||
(with-imported-modules `(,@(source-module-closure '((gnu build vm)
|
||||
(gnu build bootloader)
|
||||
(guix store database)
|
||||
(guix build utils))
|
||||
#:select? not-config?)
|
||||
((guix config) => ,config))
|
||||
#~(begin
|
||||
(use-modules (gnu build bootloader)
|
||||
(gnu build vm)
|
||||
(guix store database)
|
||||
(guix build utils)
|
||||
(srfi srfi-26)
|
||||
(ice-9 binary-ports))
|
||||
|
||||
(let ((inputs
|
||||
'#$(append (list qemu parted e2fsprogs dosfstools)
|
||||
(map canonical-package
|
||||
(list sed grep coreutils findutils gawk))
|
||||
(if register-closures? (list guix) '())))
|
||||
(sql-schema #$schema)
|
||||
|
||||
;; This variable is unused but allows us to add INPUTS-TO-COPY
|
||||
;; as inputs.
|
||||
(to-register
|
||||
'#$(map (match-lambda
|
||||
((name thing) thing)
|
||||
((name thing output) `(,thing ,output)))
|
||||
inputs)))
|
||||
(let ((inputs
|
||||
'#$(append (list qemu parted e2fsprogs dosfstools)
|
||||
(map canonical-package
|
||||
(list sed grep coreutils findutils gawk))))
|
||||
|
||||
(set-path-environment-variable "PATH" '("bin" "sbin") inputs)
|
||||
;; This variable is unused but allows us to add INPUTS-TO-COPY
|
||||
;; as inputs.
|
||||
(to-register
|
||||
'#$(map (match-lambda
|
||||
((name thing) thing)
|
||||
((name thing output) `(,thing ,output)))
|
||||
inputs)))
|
||||
|
||||
(let* ((graphs '#$(match inputs
|
||||
(((names . _) ...)
|
||||
names)))
|
||||
(initialize (root-partition-initializer
|
||||
#:closures graphs
|
||||
#:copy-closures? #$copy-inputs?
|
||||
#:register-closures? #$register-closures?
|
||||
#:system-directory #$os-drv))
|
||||
(root-size #$(if (eq? 'guess disk-image-size)
|
||||
#~(max
|
||||
;; Minimum 20 MiB root size
|
||||
(* 20 (expt 2 20))
|
||||
(estimated-partition-size
|
||||
(map (cut string-append "/xchg/" <>)
|
||||
graphs)))
|
||||
(- disk-image-size
|
||||
(* 50 (expt 2 20)))))
|
||||
(partitions
|
||||
(append
|
||||
(list (partition
|
||||
(size root-size)
|
||||
(label #$file-system-label)
|
||||
(uuid #$(and=> file-system-uuid
|
||||
uuid-bytevector))
|
||||
(file-system #$file-system-type)
|
||||
(flags '(boot))
|
||||
(initializer initialize)))
|
||||
;; Append a small EFI System Partition for use with UEFI
|
||||
;; bootloaders if we are not targeting ARM because UEFI
|
||||
;; support in U-Boot is experimental.
|
||||
;;
|
||||
;; FIXME: ‘target-arm32?’ may be not operate on the right
|
||||
;; system/target values. Rewrite using ‘let-system’ when
|
||||
;; available.
|
||||
(if #$(target-arm32?)
|
||||
'()
|
||||
(list (partition
|
||||
;; The standalone grub image is about 10MiB, but
|
||||
;; leave some room for custom or multiple images.
|
||||
(size (* 40 (expt 2 20)))
|
||||
(label "GNU-ESP") ;cosmetic only
|
||||
;; Use "vfat" here since this property is used
|
||||
;; when mounting. The actual FAT-ness is based
|
||||
;; on file system size (16 in this case).
|
||||
(file-system "vfat")
|
||||
(flags '(esp))))))))
|
||||
(initialize-hard-disk "/dev/vda"
|
||||
#:partitions partitions
|
||||
#:grub-efi #$grub-efi
|
||||
#:bootloader-package
|
||||
#$(bootloader-package bootloader)
|
||||
#:bootcfg #$bootcfg-drv
|
||||
#:bootcfg-location
|
||||
#$(bootloader-configuration-file bootloader)
|
||||
#:bootloader-installer
|
||||
#$(bootloader-installer bootloader))
|
||||
(reboot)))))
|
||||
(set-path-environment-variable "PATH" '("bin" "sbin") inputs)
|
||||
|
||||
(let* ((graphs '#$(match inputs
|
||||
(((names . _) ...)
|
||||
names)))
|
||||
(initialize (root-partition-initializer
|
||||
#:closures graphs
|
||||
#:copy-closures? #$copy-inputs?
|
||||
#:register-closures? #$register-closures?
|
||||
#:system-directory #$os-drv))
|
||||
(root-size #$(if (eq? 'guess disk-image-size)
|
||||
#~(max
|
||||
;; Minimum 20 MiB root size
|
||||
(* 20 (expt 2 20))
|
||||
(estimated-partition-size
|
||||
(map (cut string-append "/xchg/" <>)
|
||||
graphs)))
|
||||
(- disk-image-size
|
||||
(* 50 (expt 2 20)))))
|
||||
(partitions
|
||||
(append
|
||||
(list (partition
|
||||
(size root-size)
|
||||
(label #$file-system-label)
|
||||
(uuid #$(and=> file-system-uuid
|
||||
uuid-bytevector))
|
||||
(file-system #$file-system-type)
|
||||
(flags '(boot))
|
||||
(initializer initialize)))
|
||||
;; Append a small EFI System Partition for use with UEFI
|
||||
;; bootloaders if we are not targeting ARM because UEFI
|
||||
;; support in U-Boot is experimental.
|
||||
;;
|
||||
;; FIXME: ‘target-arm32?’ may be not operate on the right
|
||||
;; system/target values. Rewrite using ‘let-system’ when
|
||||
;; available.
|
||||
(if #$(target-arm32?)
|
||||
'()
|
||||
(list (partition
|
||||
;; The standalone grub image is about 10MiB, but
|
||||
;; leave some room for custom or multiple images.
|
||||
(size (* 40 (expt 2 20)))
|
||||
(label "GNU-ESP") ;cosmetic only
|
||||
;; Use "vfat" here since this property is used
|
||||
;; when mounting. The actual FAT-ness is based
|
||||
;; on file system size (16 in this case).
|
||||
(file-system "vfat")
|
||||
(flags '(esp))))))))
|
||||
(initialize-hard-disk "/dev/vda"
|
||||
#:partitions partitions
|
||||
#:grub-efi #$grub-efi
|
||||
#:bootloader-package
|
||||
#$(bootloader-package bootloader)
|
||||
#:bootcfg #$bootcfg-drv
|
||||
#:bootcfg-location
|
||||
#$(bootloader-configuration-file bootloader)
|
||||
#:bootloader-installer
|
||||
#$(bootloader-installer bootloader)))))))
|
||||
#:system system
|
||||
#:make-disk-image? #t
|
||||
#:disk-image-size disk-image-size
|
||||
|
@ -403,49 +462,41 @@ makes sense when you want to build a GuixSD Docker image that has Guix
|
|||
installed inside of it. If you don't need Guix (e.g., your GuixSD Docker
|
||||
image just contains a web server that is started by the Shepherd), then you
|
||||
should set REGISTER-CLOSURES? to #f."
|
||||
(define not-config?
|
||||
(match-lambda
|
||||
(('guix 'config) #f)
|
||||
(('guix rest ...) #t)
|
||||
(('gnu rest ...) #t)
|
||||
(rest #f)))
|
||||
|
||||
(define config
|
||||
;; (guix config) module for consumption by (guix gcrypt).
|
||||
(scheme-file "gcrypt-config.scm"
|
||||
#~(begin
|
||||
(define-module (guix config)
|
||||
#:export (%libgcrypt))
|
||||
(make-config.scm #:libgcrypt libgcrypt))
|
||||
|
||||
;; XXX: Work around <http://bugs.gnu.org/15602>.
|
||||
(eval-when (expand load eval)
|
||||
(define %libgcrypt
|
||||
#+(file-append libgcrypt "/lib/libgcrypt"))))))
|
||||
(define schema
|
||||
(and register-closures?
|
||||
(local-file (search-path %load-path
|
||||
"guix/store/schema.sql"))))
|
||||
|
||||
(mlet %store-monad ((os-drv (operating-system-derivation os #:container? #t))
|
||||
(name -> (string-append name ".tar.gz"))
|
||||
(graph -> "system-graph"))
|
||||
(define build
|
||||
(with-extensions (list guile-json) ;for (guix docker)
|
||||
(with-extensions (cons guile-json ;for (guix docker)
|
||||
guile-sqlite3&co) ;for (guix store database)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
'((guix docker)
|
||||
(guix store database)
|
||||
(guix build utils)
|
||||
(guix build store-copy)
|
||||
(gnu build vm))
|
||||
#:select? not-config?)
|
||||
(guix build store-copy)
|
||||
((guix config) => ,config))
|
||||
#~(begin
|
||||
(use-modules (guix docker)
|
||||
(guix build utils)
|
||||
(gnu build vm)
|
||||
(srfi srfi-19)
|
||||
(guix build store-copy))
|
||||
(guix build store-copy)
|
||||
(guix store database))
|
||||
|
||||
(let* ((inputs '#$(append (list tar)
|
||||
(if register-closures?
|
||||
(list guix)
|
||||
'())))
|
||||
;; This initializer requires elevated privileges that are
|
||||
;; Set the SQL schema location.
|
||||
(sql-schema #$schema)
|
||||
|
||||
(let* (;; This initializer requires elevated privileges that are
|
||||
;; not normally available in the build environment (e.g.,
|
||||
;; it needs to create device nodes). In order to obtain
|
||||
;; such privileges, we run it as root in a VM.
|
||||
|
@ -460,33 +511,22 @@ should set REGISTER-CLOSURES? to #f."
|
|||
;; lack of privileges if we use a root-directory that is on
|
||||
;; a file system that is shared with the host (e.g., /tmp).
|
||||
(root-directory "/guixsd-system-root"))
|
||||
(set-path-environment-variable "PATH" '("bin" "sbin") inputs)
|
||||
(set-path-environment-variable "PATH" '("bin" "sbin") '(#+tar))
|
||||
(mkdir root-directory)
|
||||
(initialize root-directory)
|
||||
(build-docker-image
|
||||
(string-append "/xchg/" #$name) ;; The output file.
|
||||
(cons* root-directory
|
||||
(call-with-input-file (string-append "/xchg/" #$graph)
|
||||
read-reference-graph))
|
||||
(map store-info-item
|
||||
(call-with-input-file
|
||||
(string-append "/xchg/" #$graph)
|
||||
read-reference-graph)))
|
||||
#$os-drv
|
||||
#:compressor '(#+(file-append gzip "/bin/gzip") "-9n")
|
||||
#:creation-time (make-time time-utc 0 1)
|
||||
#:transformations `((,root-directory -> ""))))))))
|
||||
(expression->derivation-in-linux-vm
|
||||
name
|
||||
;; The VM's initrd Guile doesn't support dlopen, but our "build" gexp
|
||||
;; needs to be run by a Guile that can dlopen libgcrypt. The following
|
||||
;; hack works around that problem by putting the "build" gexp into an
|
||||
;; executable script (created by program-file) which, when executed, will
|
||||
;; run using a Guile that supports dlopen. That way, the VM's initrd
|
||||
;; Guile can just execute it via invoke, without using dlopen. See:
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00233.html
|
||||
(with-imported-modules `((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
;; If we use execl instead of invoke here, the VM will crash with a
|
||||
;; kernel panic.
|
||||
(invoke #$(program-file "build-docker-image" build))))
|
||||
name build
|
||||
#:make-disk-image? #f
|
||||
#:single-file-output? #t
|
||||
#:references-graphs `((,graph ,os-drv)))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -74,13 +75,11 @@ HTTP-PORT."
|
|||
|
||||
(test-begin "tailon")
|
||||
|
||||
(test-eq "service running"
|
||||
'running!
|
||||
(test-assert "service running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'tailon)
|
||||
'running!)
|
||||
(start-service 'tailon))
|
||||
marionette))
|
||||
|
||||
(define* (retry-on-error f #:key times delay)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -517,13 +518,11 @@ in a loop. See <http://bugs.gnu.org/26931>.")
|
|||
|
||||
(test-begin "mcron")
|
||||
|
||||
(test-eq "service running"
|
||||
'running!
|
||||
(test-assert "service running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'mcron)
|
||||
'running!)
|
||||
(start-service 'mcron))
|
||||
marionette))
|
||||
|
||||
;; Make sure root's mcron job runs, has its cwd set to "/root", and
|
||||
|
@ -619,32 +618,43 @@ in a loop. See <http://bugs.gnu.org/26931>.")
|
|||
|
||||
(test-begin "avahi")
|
||||
|
||||
(test-assert "wait for services"
|
||||
(test-assert "nscd PID file is created"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'nscd))
|
||||
marionette))
|
||||
|
||||
(start-service 'nscd)
|
||||
(test-assert "nscd is listening on its socket"
|
||||
(marionette-eval
|
||||
;; XXX: Work around a race condition in nscd: nscd creates its
|
||||
;; PID file before it is listening on its socket.
|
||||
'(let ((sock (socket PF_UNIX SOCK_STREAM 0)))
|
||||
(let try ()
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(connect sock AF_UNIX "/var/run/nscd/socket")
|
||||
(close-port sock)
|
||||
(format #t "nscd is ready~%")
|
||||
#t)
|
||||
(lambda args
|
||||
(format #t "waiting for nscd...~%")
|
||||
(usleep 500000)
|
||||
(try)))))
|
||||
marionette))
|
||||
|
||||
;; XXX: Work around a race condition in nscd: nscd creates its
|
||||
;; PID file before it is listening on its socket.
|
||||
(let ((sock (socket PF_UNIX SOCK_STREAM 0)))
|
||||
(let try ()
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(connect sock AF_UNIX "/var/run/nscd/socket")
|
||||
(close-port sock)
|
||||
(format #t "nscd is ready~%"))
|
||||
(lambda args
|
||||
(format #t "waiting for nscd...~%")
|
||||
(usleep 500000)
|
||||
(try)))))
|
||||
(test-assert "avahi is running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'avahi-daemon))
|
||||
marionette))
|
||||
|
||||
;; Wait for the other useful things.
|
||||
(start-service 'avahi-daemon)
|
||||
(start-service 'networking)
|
||||
|
||||
#t)
|
||||
(test-assert "network is up"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'networking))
|
||||
marionette))
|
||||
|
||||
(test-equal "avahi-resolve-host-name"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -84,13 +85,11 @@
|
|||
(test-begin "dicod")
|
||||
|
||||
;; Wait for the service to be started.
|
||||
(test-eq "service is running"
|
||||
'running!
|
||||
(test-assert "service is running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'dicod)
|
||||
'running!)
|
||||
(start-service 'dicod))
|
||||
marionette))
|
||||
|
||||
;; Wait until dicod is actually listening.
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -84,8 +85,7 @@ accept from any for local deliver to mbox
|
|||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'smtpd)
|
||||
#t)
|
||||
(start-service 'smtpd))
|
||||
marionette))
|
||||
|
||||
(test-assert "mbox is empty"
|
||||
|
@ -224,8 +224,7 @@ acl_check_data:
|
|||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'exim)
|
||||
#t)
|
||||
(start-service 'exim))
|
||||
marionette))
|
||||
|
||||
(sleep 1) ;; give the service time to start talking
|
||||
|
@ -330,13 +329,11 @@ Subject: Hello Nice to meet you!")
|
|||
(test-begin "dovecot")
|
||||
|
||||
;; Wait for dovecot to be up and running.
|
||||
(test-eq "dovecot running"
|
||||
'running!
|
||||
(test-assert "dovecot running"
|
||||
(marionette-eval
|
||||
'(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start-service 'dovecot)
|
||||
'running!)
|
||||
(start-service 'dovecot))
|
||||
marionette))
|
||||
|
||||
;; Check Dovecot service's PID.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue