Merge branch 'master' into core-updates
This commit is contained in:
commit
efe2a2833c
|
@ -446,6 +446,9 @@ dist_zshcompletion_DATA = etc/completion/zsh/_guix
|
|||
# Fish completion file.
|
||||
dist_fishcompletion_DATA = etc/completion/fish/guix.fish
|
||||
|
||||
# SELinux policy
|
||||
dist_selinux_policy_DATA = etc/guix-daemon.cil
|
||||
|
||||
EXTRA_DIST = \
|
||||
HACKING \
|
||||
ROADMAP \
|
||||
|
|
10
configure.ac
10
configure.ac
|
@ -54,6 +54,13 @@ AC_ARG_WITH([fish-completion-dir],
|
|||
[fishcompletiondir='${datadir}/fish/vendor_completions.d'])
|
||||
AC_SUBST([fishcompletiondir])
|
||||
|
||||
AC_ARG_WITH([selinux-policy-dir],
|
||||
AC_HELP_STRING([--with-selinux-policy-dir=DIR],
|
||||
[name of the SELinux policy directory]),
|
||||
[selinux_policydir="$withval"],
|
||||
[selinux_policydir='${datadir}/selinux/'])
|
||||
AC_SUBST([selinux_policydir])
|
||||
|
||||
dnl Better be verbose.
|
||||
AC_MSG_CHECKING([for the store directory])
|
||||
AC_MSG_RESULT([$storedir])
|
||||
|
@ -272,7 +279,8 @@ esac
|
|||
AC_CONFIG_FILES([Makefile
|
||||
po/guix/Makefile.in
|
||||
po/packages/Makefile.in
|
||||
guix/config.scm])
|
||||
etc/guix-daemon.cil
|
||||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
|
||||
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
|
||||
|
|
109
doc/guix.texi
109
doc/guix.texi
|
@ -21,7 +21,7 @@ Copyright @copyright{} 2015, 2016 Mathieu Lirzin@*
|
|||
Copyright @copyright{} 2014 Pierre-Antoine Rault@*
|
||||
Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
|
||||
Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
|
||||
Copyright @copyright{} 2015, 2016, 2017 Ricardo Wurmus@*
|
||||
Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@*
|
||||
Copyright @copyright{} 2016 Ben Woodcroft@*
|
||||
Copyright @copyright{} 2016, 2017 Chris Marusich@*
|
||||
Copyright @copyright{} 2016, 2017 Efraim Flashner@*
|
||||
|
@ -123,6 +123,7 @@ Setting Up the Daemon
|
|||
|
||||
* Build Environment Setup:: Preparing the isolated build environment.
|
||||
* Daemon Offload Setup:: Offloading builds to remote machines.
|
||||
* SELinux Support:: Using an SELinux policy for the daemon.
|
||||
|
||||
Package Management
|
||||
|
||||
|
@ -754,6 +755,7 @@ the daemon to download pre-built binaries.
|
|||
@menu
|
||||
* Build Environment Setup:: Preparing the isolated build environment.
|
||||
* Daemon Offload Setup:: Offloading builds to remote machines.
|
||||
* SELinux Support:: Using an SELinux policy for the daemon.
|
||||
@end menu
|
||||
|
||||
@node Build Environment Setup
|
||||
|
@ -1081,6 +1083,92 @@ main node:
|
|||
@end example
|
||||
|
||||
|
||||
@node SELinux Support
|
||||
@subsection SELinux Support
|
||||
|
||||
@cindex SELinux, daemon policy
|
||||
@cindex mandatory access control, SELinux
|
||||
@cindex security, guix-daemon
|
||||
Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that
|
||||
can be installed on a system where SELinux is enabled, in order to label
|
||||
Guix files and to specify the expected behavior of the daemon. Since
|
||||
GuixSD does not provide an SELinux base policy, the daemon policy cannot
|
||||
be used on GuixSD.
|
||||
|
||||
@subsubsection Installing the SELinux policy
|
||||
@cindex SELinux, policy installation
|
||||
To install the policy run this command as root:
|
||||
|
||||
@example
|
||||
semodule -i etc/guix-daemon.cil
|
||||
@end example
|
||||
|
||||
Then relabel the file system with @code{restorecon} or by a different
|
||||
mechanism provided by your system.
|
||||
|
||||
Once the policy is installed, the file system has been relabeled, and
|
||||
the daemon has been restarted, it should be running in the
|
||||
@code{guix_daemon_t} context. You can confirm this with the following
|
||||
command:
|
||||
|
||||
@example
|
||||
ps -Zax | grep guix-daemon
|
||||
@end example
|
||||
|
||||
Monitor the SELinux log files as you run a command like @code{guix build
|
||||
hello} to convince yourself that SELinux permits all necessary
|
||||
operations.
|
||||
|
||||
@subsubsection Limitations
|
||||
@cindex SELinux, limitations
|
||||
|
||||
This policy is not perfect. Here is a list of limitations or quirks
|
||||
that should be considered when deploying the provided SELinux policy for
|
||||
the Guix daemon.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
@code{guix_daemon_socket_t} isn’t actually used. None of the socket
|
||||
operations involve contexts that have anything to do with
|
||||
@code{guix_daemon_socket_t}. It doesn’t hurt to have this unused label,
|
||||
but it would be preferrable to define socket rules for only this label.
|
||||
|
||||
@item
|
||||
@code{guix gc} cannot access arbitrary links to profiles. By design,
|
||||
the file label of the destination of a symlink is independent of the
|
||||
file label of the link itself. Although all profiles under
|
||||
$localstatedir are labelled, the links to these profiles inherit the
|
||||
label of the directory they are in. For links in the user’s home
|
||||
directory this will be @code{user_home_t}. But for links from the root
|
||||
user’s home directory, or @file{/tmp}, or the HTTP server’s working
|
||||
directory, etc, this won’t work. @code{guix gc} would be prevented from
|
||||
reading and following these links.
|
||||
|
||||
@item
|
||||
The daemon’s feature to listen for TCP connections might no longer work.
|
||||
This might require extra rules, because SELinux treats network sockets
|
||||
differently from files.
|
||||
|
||||
@item
|
||||
Currently all files with a name matching the regular expression
|
||||
@code{/gnu/store/.+-(guix-.+|profile)/bin/guix-daemon} are assigned the
|
||||
label @code{guix_daemon_exec_t}; this means that @emph{any} file with
|
||||
that name in any profile would be permitted to run in the
|
||||
@code{guix_daemon_t} domain. This is not ideal. An attacker could
|
||||
build a package that provides this executable and convince a user to
|
||||
install and run it, which lifts it into the @code{guix_daemon_t} domain.
|
||||
At that point SELinux could not prevent it from accessing files that are
|
||||
allowed for processes in that domain.
|
||||
|
||||
We could generate a much more restrictive policy at installation time,
|
||||
so that only the @emph{exact} file name of the currently installed
|
||||
@code{guix-daemon} executable would be labelled with
|
||||
@code{guix_daemon_exec_t}, instead of using a broad regular expression.
|
||||
The downside is that root would have to install or upgrade the policy at
|
||||
installation time whenever the Guix package that provides the
|
||||
effectively running @code{guix-daemon} executable is upgraded.
|
||||
@end enumerate
|
||||
|
||||
@node Invoking guix-daemon
|
||||
@section Invoking @command{guix-daemon}
|
||||
|
||||
|
@ -6358,6 +6446,19 @@ are many packages, though, for which it lacks a method to determine
|
|||
whether a new upstream release is available. However, the mechanism is
|
||||
extensible, so feel free to get in touch with us to add a new method!
|
||||
|
||||
Sometimes the upstream name differs from the package name used in Guix,
|
||||
and @command{guix refresh} needs a little help. Most updaters honor the
|
||||
@code{upstream-name} property in package definitions, which can be used
|
||||
to that effect:
|
||||
|
||||
@example
|
||||
(define-public network-manager
|
||||
(package
|
||||
(name "network-manager")
|
||||
;; @dots{}
|
||||
(properties '((upstream-name . "NetworkManager")))))
|
||||
@end example
|
||||
|
||||
When passed @code{--update}, it modifies distribution source files to
|
||||
update the version numbers and source tarball hashes of those package
|
||||
recipes (@pxref{Defining Packages}). This is achieved by downloading
|
||||
|
@ -10188,9 +10289,9 @@ caching; when @code{#f}, the number of processors is used.
|
|||
@xref{Invoking guix publish, @option{--workers}}, for more information.
|
||||
|
||||
@item @code{ttl} (default: @code{#f})
|
||||
When it is an integer, this denotes the @dfn{time-to-live} of the
|
||||
published archives. @xref{Invoking guix publish, @option{--ttl}}, for
|
||||
more information.
|
||||
When it is an integer, this denotes the @dfn{time-to-live} in seconds
|
||||
of the published archives. @xref{Invoking guix publish, @option{--ttl}},
|
||||
for more information.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
|
|
@ -0,0 +1,285 @@
|
|||
; -*- lisp -*-
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; 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/>.
|
||||
|
||||
;; This is a specification for SELinux 2.7 written in the SELinux Common
|
||||
;; Intermediate Language (CIL). It refers to types that must be defined in
|
||||
;; the system's base policy.
|
||||
|
||||
(block guix_daemon
|
||||
;; Require existing types
|
||||
(typeattributeset cil_gen_require init_t)
|
||||
(typeattributeset cil_gen_require tmp_t)
|
||||
(typeattributeset cil_gen_require nscd_var_run_t)
|
||||
(typeattributeset cil_gen_require var_log_t)
|
||||
(typeattributeset cil_gen_require domain)
|
||||
|
||||
;; Declare own types
|
||||
(type guix_daemon_t)
|
||||
(roletype object_r guix_daemon_t)
|
||||
(type guix_daemon_conf_t)
|
||||
(roletype object_r guix_daemon_conf_t)
|
||||
(type guix_daemon_exec_t)
|
||||
(roletype object_r guix_daemon_exec_t)
|
||||
(type guix_daemon_socket_t)
|
||||
(roletype object_r guix_daemon_socket_t)
|
||||
(type guix_store_content_t)
|
||||
(roletype object_r guix_store_content_t)
|
||||
(type guix_profiles_t)
|
||||
(roletype object_r guix_profiles_t)
|
||||
|
||||
;; These types are domains, thereby allowing process rules
|
||||
(typeattributeset domain (guix_daemon_t guix_daemon_exec_t))
|
||||
|
||||
(level low (s0))
|
||||
|
||||
;; When a process in init_t or guix_store_content_t spawns a
|
||||
;; guix_daemon_exec_t process, let it run in the guix_daemon_t context
|
||||
(typetransition init_t guix_daemon_exec_t
|
||||
process guix_daemon_t)
|
||||
(typetransition guix_store_content_t guix_daemon_exec_t
|
||||
process guix_daemon_t)
|
||||
|
||||
;; Permit communication with NSCD
|
||||
(allow guix_daemon_t
|
||||
nscd_var_run_t
|
||||
(file (map read)))
|
||||
(allow guix_daemon_t
|
||||
nscd_var_run_t
|
||||
(dir (search)))
|
||||
(allow guix_daemon_t
|
||||
nscd_var_run_t
|
||||
(sock_file (write)))
|
||||
(allow guix_daemon_t
|
||||
nscd_t
|
||||
(fd (use)))
|
||||
(allow guix_daemon_t
|
||||
nscd_t
|
||||
(unix_stream_socket (connectto)))
|
||||
|
||||
;; Permit logging and temp file access
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(lnk_file (setattr unlink)))
|
||||
(allow guix_daemon_t
|
||||
tmp_t
|
||||
(dir (create
|
||||
rmdir
|
||||
add_name remove_name
|
||||
open read write
|
||||
getattr setattr
|
||||
search)))
|
||||
(allow guix_daemon_t
|
||||
var_log_t
|
||||
(file (create getattr open write)))
|
||||
(allow guix_daemon_t
|
||||
var_log_t
|
||||
(dir (getattr write add_name)))
|
||||
(allow guix_daemon_t
|
||||
var_run_t
|
||||
(lnk_file (read)))
|
||||
(allow guix_daemon_t
|
||||
var_run_t
|
||||
(dir (search)))
|
||||
|
||||
;; Spawning processes, execute helpers
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(process (fork)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_exec_t
|
||||
(file (execute execute_no_trans read open)))
|
||||
|
||||
;; TODO: unknown
|
||||
(allow guix_daemon_t
|
||||
root_t
|
||||
(dir (mounton)))
|
||||
(allow guix_daemon_t
|
||||
fs_t
|
||||
(filesystem (getattr)))
|
||||
(allow guix_daemon_conf_t
|
||||
fs_t
|
||||
(filesystem (associate)))
|
||||
|
||||
;; Build isolation
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(file (mounton)))
|
||||
(allow guix_store_content_t
|
||||
fs_t
|
||||
(filesystem (associate)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(dir (mounton)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_t
|
||||
(capability (net_admin
|
||||
fsetid fowner
|
||||
chown setuid setgid
|
||||
dac_override dac_read_search
|
||||
sys_chroot)))
|
||||
(allow guix_daemon_t
|
||||
fs_t
|
||||
(filesystem (unmount)))
|
||||
(allow guix_daemon_t
|
||||
devpts_t
|
||||
(filesystem (mount)))
|
||||
(allow guix_daemon_t
|
||||
devpts_t
|
||||
(chr_file (setattr getattr)))
|
||||
(allow guix_daemon_t
|
||||
tmpfs_t
|
||||
(filesystem (mount)))
|
||||
(allow guix_daemon_t
|
||||
tmpfs_t
|
||||
(dir (getattr)))
|
||||
(allow guix_daemon_t
|
||||
proc_t
|
||||
(filesystem (mount)))
|
||||
(allow guix_daemon_t
|
||||
null_device_t
|
||||
(chr_file (getattr open read write)))
|
||||
(allow guix_daemon_t
|
||||
kvm_device_t
|
||||
(chr_file (getattr)))
|
||||
(allow guix_daemon_t
|
||||
zero_device_t
|
||||
(chr_file (getattr)))
|
||||
(allow guix_daemon_t
|
||||
urandom_device_t
|
||||
(chr_file (getattr)))
|
||||
(allow guix_daemon_t
|
||||
random_device_t
|
||||
(chr_file (getattr)))
|
||||
(allow guix_daemon_t
|
||||
devtty_t
|
||||
(chr_file (getattr)))
|
||||
|
||||
;; Access to store items
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(dir (reparent
|
||||
create
|
||||
getattr setattr
|
||||
search rename
|
||||
add_name remove_name
|
||||
open write
|
||||
rmdir)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(file (create
|
||||
lock
|
||||
setattr getattr
|
||||
execute execute_no_trans
|
||||
link unlink
|
||||
map
|
||||
rename
|
||||
open read write)))
|
||||
(allow guix_daemon_t
|
||||
guix_store_content_t
|
||||
(lnk_file (create
|
||||
getattr setattr
|
||||
link unlink
|
||||
read
|
||||
rename)))
|
||||
|
||||
;; Access to configuration files and directories
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(dir (search
|
||||
setattr getattr
|
||||
add_name remove_name
|
||||
open read write)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(file (create
|
||||
lock
|
||||
map
|
||||
getattr setattr
|
||||
unlink
|
||||
open read write)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(lnk_file (create getattr rename unlink)))
|
||||
|
||||
;; Access to profiles
|
||||
(allow guix_daemon_t
|
||||
guix_profiles_t
|
||||
(dir (getattr setattr read open)))
|
||||
(allow guix_daemon_t
|
||||
guix_profiles_t
|
||||
(lnk_file (read getattr)))
|
||||
|
||||
;; Access to profile links in the home directory
|
||||
;; TODO: allow access to profile links *anywhere* on the filesystem
|
||||
(allow guix_daemon_t
|
||||
user_home_t
|
||||
(lnk_file (read getattr)))
|
||||
(allow guix_daemon_t
|
||||
user_home_t
|
||||
(dir (search)))
|
||||
|
||||
;; Socket operations
|
||||
(allow guix_daemon_t
|
||||
init_t
|
||||
(fd (use)))
|
||||
(allow guix_daemon_t
|
||||
init_t
|
||||
(unix_stream_socket (write)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(unix_stream_socket (listen)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(sock_file (create unlink)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(unix_stream_socket (create
|
||||
read write
|
||||
connect bind accept
|
||||
getopt setopt)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(fifo_file (write read)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(udp_socket (ioctl create)))
|
||||
|
||||
;; Label file system
|
||||
(filecon "@guix_sysconfdir@/guix(/.*)?"
|
||||
any (system_u object_r guix_daemon_conf_t (low low)))
|
||||
(filecon "@guix_localstatedir@/guix(/.*)?"
|
||||
any (system_u object_r guix_daemon_conf_t (low low)))
|
||||
(filecon "@guix_localstatedir@/guix/profiles(/.*)?"
|
||||
any (system_u object_r guix_profiles_t (low low)))
|
||||
(filecon "/gnu"
|
||||
dir (unconfined_u object_r guix_store_content_t (low low)))
|
||||
(filecon "@storedir@(/.+)?"
|
||||
any (unconfined_u object_r guix_store_content_t (low low)))
|
||||
(filecon "@storedir@/[^/]+/.+"
|
||||
any (unconfined_u object_r guix_store_content_t (low low)))
|
||||
(filecon "@prefix@/bin/guix-daemon"
|
||||
file (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@storedir@/.+-(guix-.+|profile)/bin/guix-daemon"
|
||||
file (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@storedir@/.+-(guix-.+|profile)/libexec/guix-authenticate"
|
||||
file (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@storedir@/.+-(guix-.+|profile)/libexec/guix/(.*)?"
|
||||
any (system_u object_r guix_daemon_exec_t (low low)))
|
||||
(filecon "@guix_localstatedir@/guix/daemon-socket/socket"
|
||||
any (system_u object_r guix_daemon_socket_t (low low))))
|
|
@ -42,7 +42,6 @@
|
|||
make-static-device-nodes
|
||||
configure-qemu-networking
|
||||
|
||||
bind-mount
|
||||
device-number
|
||||
boot-system))
|
||||
|
||||
|
|
13
gnu/local.mk
13
gnu/local.mk
|
@ -9,7 +9,7 @@
|
|||
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||
# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
# Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
|
||||
# Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -720,6 +720,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gobject-introspection-cc.patch \
|
||||
%D%/packages/patches/gobject-introspection-girepository.patch \
|
||||
%D%/packages/patches/gpm-glibc-2.26.patch \
|
||||
%D%/packages/patches/gpsbabel-minizip.patch \
|
||||
%D%/packages/patches/gpsbabel-qstring.patch \
|
||||
%D%/packages/patches/graphite2-ffloat-store.patch \
|
||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
%D%/packages/patches/groff-source-date-epoch.patch \
|
||||
|
@ -758,6 +760,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/higan-remove-march-native-flag.patch \
|
||||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
|
||||
%D%/packages/patches/hwloc-tests-without-sysfs.patch \
|
||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
||||
%D%/packages/patches/icecat-bug-1348660-pt5.patch \
|
||||
|
@ -870,7 +873,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/lua51-pkgconfig.patch \
|
||||
%D%/packages/patches/lua-liblua-so.patch \
|
||||
%D%/packages/patches/luajit-no_ldconfig.patch \
|
||||
%D%/packages/patches/luajit-symlinks.patch \
|
||||
%D%/packages/patches/luit-posix.patch \
|
||||
%D%/packages/patches/luminance-hdr-qt-printer.patch \
|
||||
%D%/packages/patches/lvm2-static-link.patch \
|
||||
|
@ -890,6 +892,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||
%D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \
|
||||
%D%/packages/patches/mpc123-initialize-ao.patch \
|
||||
%D%/packages/patches/mpv-CVE-2018-6360-1.patch \
|
||||
%D%/packages/patches/mpv-CVE-2018-6360-2.patch \
|
||||
%D%/packages/patches/mpv-CVE-2018-6360-3.patch \
|
||||
%D%/packages/patches/module-init-tools-moduledir.patch \
|
||||
%D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \
|
||||
%D%/packages/patches/mozjs17-aarch64-support.patch \
|
||||
|
@ -900,6 +905,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mozjs38-version-detection.patch \
|
||||
%D%/packages/patches/mumps-build-parallelism.patch \
|
||||
%D%/packages/patches/mupdf-build-with-latest-openjpeg.patch \
|
||||
%D%/packages/patches/mupdf-CVE-2017-17858.patch \
|
||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||
%D%/packages/patches/mutt-store-references.patch \
|
||||
%D%/packages/patches/net-tools-bitrot.patch \
|
||||
|
@ -937,7 +943,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/osip-CVE-2017-7853.patch \
|
||||
%D%/packages/patches/ots-no-include-missing-file.patch \
|
||||
%D%/packages/patches/owncloud-disable-updatecheck.patch \
|
||||
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
|
||||
%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/patchelf-page-size.patch \
|
||||
%D%/packages/patches/patchelf-rework-for-arm.patch \
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
|
||||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -256,18 +257,20 @@ graphs and can export its output to different formats.")
|
|||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "2.0.2")
|
||||
(version "2.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://hisham.hm/htop/releases/"
|
||||
version "/htop-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11zlwadm6dpkrlfvf3z3xll26yyffa7qrxd1w72y1kl0rgffk6qp"))))
|
||||
"0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
(home-page "http://htop.sourceforge.net/")
|
||||
(native-inputs
|
||||
`(("python" ,python-minimal-wrapper))) ; for scripts/MakeHeader.py
|
||||
(home-page "https://hisham.hm/htop/")
|
||||
(synopsis "Interactive process viewer")
|
||||
(description
|
||||
"This is htop, an interactive process viewer. It is a text-mode
|
||||
|
@ -520,6 +523,50 @@ and exploration tool, since it can create almost any kind of connection you
|
|||
would need and has several interesting built-in capabilities.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public sipcalc
|
||||
(package
|
||||
(name "sipcalc")
|
||||
(version "1.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.routemeister.net/projects"
|
||||
"/sipcalc/files/sipcalc" "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mv3wndj4z2bsshh2k8d5sy3j8wxzgf8mzmmkvj1k8gpcz37dm6g"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.routemeister.net/projects/sipcalc/")
|
||||
(synopsis "Command-line IP subnet calculator")
|
||||
(description
|
||||
"Sipcalc is an advanced command-line IP subnet calculator. It can take
|
||||
multiple forms of input (IPv4/IPv6/interface/hostname) and output a multitude
|
||||
of information about a given subnet.
|
||||
|
||||
Features include:
|
||||
|
||||
@itemize @bullet
|
||||
@item IPv4
|
||||
@itemize
|
||||
@item Retrieving of address information from interfaces.
|
||||
@item Classfull and CIDR output.
|
||||
@item Multiple address and netmask input and output formats (dotted quad, hex,
|
||||
number of bits).
|
||||
@item Output of broadcast address, network class, Cisco wildcard,
|
||||
hosts/range, network range.
|
||||
@item The ability to split a network based on a smaller netmask, now also with
|
||||
recursive runs on the generated subnets. (also IPv6)
|
||||
@end itemize
|
||||
@item IPv6
|
||||
@itemize
|
||||
@item Compressed and expanded input and output addresses.
|
||||
@item Standard IPv6 network output.
|
||||
@item v4 in v6 output.
|
||||
@item Reverse DNS address generation.
|
||||
@end itemize
|
||||
@end itemize\n")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public alive
|
||||
(package
|
||||
(name "alive")
|
||||
|
@ -1340,7 +1387,7 @@ track changes in important system configuration files.")
|
|||
(define-public libcap-ng
|
||||
(package
|
||||
(name "libcap-ng")
|
||||
(version "0.7.4")
|
||||
(version "0.7.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1348,9 +1395,11 @@ track changes in important system configuration files.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ssvnh4cvhya0c1j6k6192zvqcq7nc0x01fb5nwhr0prfqr0i8j8"))))
|
||||
"0a0k484kwv0zilry2mbl9k56cnpdhsjxdxin17jas6kkyfy345aa"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("python" ,python)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--without-python")))
|
||||
(home-page "https://people.redhat.com/sgrubb/libcap-ng/")
|
||||
(synopsis "Library for more easily working with POSIX capabilities")
|
||||
(description
|
||||
|
|
|
@ -280,14 +280,14 @@ engineers, musicians, soundtrack editors and composers.")
|
|||
(define-public audacity
|
||||
(package
|
||||
(name "audacity")
|
||||
(version "2.2.0")
|
||||
(version "2.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/audacity/audacity/archive"
|
||||
"/Audacity-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09xpr4bjnainz1xmc35v3qg3dadjr9wv8bmn1p4y91aqyihnhjry"))
|
||||
(base32 "1n05r8b4rnf9fas0py0is8cm97s3h65dgvqkk040aym5d1x6wd7z"))
|
||||
(patches (search-patches "audacity-build-with-system-portaudio.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -1646,6 +1646,33 @@ essential distortions.")
|
|||
implementation of the Open Sound Control (OSC) protocol.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python-pyaudio
|
||||
(package
|
||||
(name "python-pyaudio")
|
||||
(version "0.2.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://pypi.python.org/packages/ab/42/"
|
||||
"b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749a6b"
|
||||
"/PyAudio-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x7vdsigm7xgvyg3shd3lj113m8zqj2pxmrgdyj66kmnw0qdxgwk"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("portaudio" ,portaudio)))
|
||||
(home-page "https://people.csail.mit.edu/hubert/pyaudio/")
|
||||
(synopsis "Bindings for PortAudio v19")
|
||||
(description "This package provides bindings for PortAudio v19, the
|
||||
cross-platform audio input/output stream library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-pyaudio
|
||||
(package-with-python2 python-pyaudio))
|
||||
|
||||
(define-public python-pyliblo
|
||||
(package
|
||||
(name "python-pyliblo")
|
||||
|
|
|
@ -393,7 +393,7 @@ functionality such as HTML output.")
|
|||
(define-public rtags
|
||||
(package
|
||||
(name "rtags")
|
||||
(version "2.16")
|
||||
(version "2.18")
|
||||
(home-page "https://github.com/Andersbakken/rtags")
|
||||
(source
|
||||
(origin
|
||||
|
@ -414,7 +414,7 @@ functionality such as HTML output.")
|
|||
(string-append "#include <rct/" header ">"))))))
|
||||
(sha256
|
||||
(base32
|
||||
"17rkci3mmiw93qc32b9x76pg57b0lx80avr6wnmh190jx8n3v3wy"))))
|
||||
"0scjbp1z201q8njvrxqz7lk2m9b6k2rxd5q1shrng6532r7ndif2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
|
|
@ -1386,6 +1386,7 @@ It can be used as a replacement for the Apache @code{CBZip2InputStream} /
|
|||
(delete-file-recursively "CPP/7zip/Compress/Rar")
|
||||
#t))
|
||||
(patches (search-patches "p7zip-CVE-2016-9296.patch"
|
||||
"p7zip-CVE-2017-17969.patch"
|
||||
"p7zip-remove-unused-code.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -1632,7 +1633,7 @@ trade-off between compression ratio and speed, without affecting decompression
|
|||
speed.")
|
||||
(license (list license:bsd-3 ; the main top-level LICENSE file
|
||||
license:bsd-2 ; many files explicitly state 2-Clause
|
||||
license:gpl2 ; the mail top-level COPYING file
|
||||
license:gpl2 ; the main top-level COPYING file
|
||||
license:gpl3+ ; tests/gzip/*.sh
|
||||
license:expat ; lib/dictBuilder/divsufsort.[ch]
|
||||
license:public-domain ; zlibWrapper/examples/fitblk*
|
||||
|
@ -1955,14 +1956,14 @@ algorithms in Java.")
|
|||
(define-public lunzip
|
||||
(package
|
||||
(name "lunzip")
|
||||
(version "1.9")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lzip/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ax3d9cp66z1qb9q7lfzg5bpx9630xrxgq9a5sw569wm0qqgpg2q"))))
|
||||
(base32 "1iw59br6nsxs7l1p875h8w3vxwr04xfhg5zyal64crvamhxkj5kl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
(define-public conky
|
||||
(package
|
||||
(name "conky")
|
||||
(version "1.10.7")
|
||||
(version "1.10.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -42,7 +42,7 @@
|
|||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1b06rigfjxnaidkabkyf8mdh9k3jm11nj547lb5liwi2ql4rdfr3"))))
|
||||
(base32 "0mw8xbnxr0a7yq2smzi2nln2b5n0q571vdrq6mhvs5n84xd6bg9f"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
|
@ -1861,3 +1861,214 @@ written purely in R with no external dependencies. It is useful with the
|
|||
Rscript front-end and facilitates turning an R script into an executable
|
||||
script.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-debugme
|
||||
(package
|
||||
(name "r-debugme")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "debugme" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c9sg55zvf10h8198jdnpamm6f66lzw3c3jnmdp9ls6na0j0xbjd"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-crayon" ,r-crayon)))
|
||||
(home-page "https://github.com/r-lib/debugme#readme")
|
||||
(synopsis "Debug R packages")
|
||||
(description
|
||||
"This package allows the user to specify debug messages as special string
|
||||
constants, and control debugging of packages via environment variables.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-processx
|
||||
(package
|
||||
(name "r-processx")
|
||||
(version "2.0.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "processx" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yw23lp9xjvbpswzghkmjiayw7p19hbvmgv58k3i6b8g5nav4qcg"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-assertthat" ,r-assertthat)
|
||||
("r-crayon" ,r-crayon)
|
||||
("r-debugme" ,r-debugme)
|
||||
("r-r6" ,r-r6)))
|
||||
(home-page "https://github.com/r-lib/processx3")
|
||||
(synopsis "Execute and control system processes")
|
||||
(description
|
||||
"This package provides portable tools to run system processes in the
|
||||
background. It can check if a background process is running; wait on a
|
||||
background process to finish; get the exit status of finished processes; kill
|
||||
background processes and their children; restart processes. It can read the
|
||||
standard output and error of the processes, using non-blocking connections.
|
||||
@code{processx} can poll a process for standard output or error, with a
|
||||
timeout. It can also poll several processes at once.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-tsp
|
||||
(package
|
||||
(name "r-tsp")
|
||||
(version "1.1-5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "TSP" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03xxfr5kk4zhzpb1q1pwncdp0dhchm9b48wzhvvxn2dxf3mnby2w"))))
|
||||
(properties `((upstream-name . "TSP")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-foreach" ,r-foreach)))
|
||||
(home-page "https://cran.r-project.org/web/packages/TSP/")
|
||||
(synopsis "Traveling salesperson problem (TSP)")
|
||||
(description "This package provides basic infrastructure and some
|
||||
algorithms for the @dfn{traveling salesperson problem}(TSP) (also known as the
|
||||
traveling salesman problem).")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-qap
|
||||
(package
|
||||
(name "r-qap")
|
||||
(version "0.1-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "qap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d2d1ni1camixyi45lfy00f4pn3p063k7bsi8gj5scp6n15mdgb0"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs `(("gfortran" ,gfortran)))
|
||||
(home-page "http://cran.r-project.org/web/packages/qap/")
|
||||
(synopsis "Heuristics for the quadratic assignment problem (QAP)")
|
||||
(description "This package implements heuristics for the @dfn{quadratic
|
||||
assignment problem} (QAP). Currently only a simulated annealing heuristic is
|
||||
available.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-gclus
|
||||
(package
|
||||
(name "r-gclus")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gclus" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02ba6zj9bjwrzykamjp40ajynx9xjx9h2i85n0ym0r5lcki4x6fn"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-cluster" ,r-cluster)))
|
||||
(home-page "http://cran.r-project.org/web/packages/gclus/")
|
||||
(synopsis "Clustering graphics")
|
||||
(description "This package orders panels in scatterplot matrices and
|
||||
parallel coordinate displays by some merit index. It contains various indices
|
||||
of merit, ordering functions, and enhanced versions of @code{pairs} and
|
||||
@code{parcoord} which color panels according to their merit level.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-webshot
|
||||
(package
|
||||
(name "r-webshot")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "webshot" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07r71zzmggp4jf92x4ws4wg6v1x98vaj01lsar85bnb30n5vx8gh"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-jsonlite" ,r-jsonlite)
|
||||
("r-magrittr" ,r-magrittr)
|
||||
("r-processx" ,r-processx)
|
||||
("r-withr" ,r-withr)))
|
||||
(home-page "https://github.com/wch/webshot/")
|
||||
(synopsis "Take screenshots of web pages")
|
||||
(description
|
||||
"Webshot makes it easy to take screenshots of web pages from within R.
|
||||
It can also run Shiny applications locally and take screenshots of the
|
||||
application; and it can render and screenshot static as well as interactive R
|
||||
Markdown documents.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-seriation
|
||||
(package
|
||||
(name "r-seriation")
|
||||
(version "1.2-3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "seriation" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q6hw4hjw224b4y0dc0j630v2pgj6sn455nwkilb70w8k31hpk92"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-cluster" ,r-cluster)
|
||||
("r-colorspace" ,r-colorspace)
|
||||
("r-dendextend" ,r-dendextend)
|
||||
("r-gclus" ,r-gclus)
|
||||
("r-gplots" ,r-gplots)
|
||||
("r-mass" ,r-mass)
|
||||
("r-qap" ,r-qap)
|
||||
("r-registry" ,r-registry)
|
||||
("r-tsp" ,r-tsp)))
|
||||
(native-inputs `(("gfortran" ,gfortran)))
|
||||
(home-page "http://s2.smu.edu/IDA/seriation/")
|
||||
(synopsis "Infrastructure for ordering objects using seriation")
|
||||
(description
|
||||
"This package provides infrastructure for seriation with an
|
||||
implementation of several seriation/sequencing techniques to reorder matrices,
|
||||
dissimilarity matrices, and dendrograms. It also provides (optimally)
|
||||
reordered heatmaps, color images and clustering visualizations like
|
||||
dissimilarity plots, and visual assessment of cluster tendency plots (VAT and
|
||||
iVAT).")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-heatmaply
|
||||
(package
|
||||
(name "r-heatmaply")
|
||||
(version "0.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "heatmaply" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03p2caclhfgqgpx3wwck5h06jy3mxgs05gjmwkb7hmwghkjh41jc"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-assertthat" ,r-assertthat)
|
||||
("r-colorspace" ,r-colorspace)
|
||||
("r-dendextend" ,r-dendextend)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gplots" ,r-gplots)
|
||||
("r-htmlwidgets" ,r-htmlwidgets)
|
||||
("r-magrittr" ,r-magrittr)
|
||||
("r-plotly" ,r-plotly)
|
||||
("r-rcolorbrewer" ,r-rcolorbrewer)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-scales" ,r-scales)
|
||||
("r-seriation" ,r-seriation)
|
||||
("r-viridis" ,r-viridis)
|
||||
("r-webshot" ,r-webshot)))
|
||||
(home-page "https://cran.r-project.org/package=heatmaply")
|
||||
(synopsis "Interactive cluster heat maps using plotly")
|
||||
(description "Heatmaps are used in many fields for visualizing
|
||||
observations, correlations, missing values patterns, and more. Interactive
|
||||
heatmaps allow the inspection of specific value by hovering the mouse over a
|
||||
cell, as well as zooming into a region of the heatmap by dragging a rectangle
|
||||
around the relevant area. This work is based on the @code{ggplot2} and
|
||||
@code{plotly.js} engine. It produces similar heatmaps as @code{heatmap.2} or
|
||||
@code{d3heatmap}, with the advantage of speed, the ability to zoom from the
|
||||
dendrogram panes, and the placing of factor variables in the sides of the
|
||||
heatmap.")
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
|
|
|
@ -699,14 +699,14 @@ as a drop-in replacement of MySQL.")
|
|||
(define-public postgresql
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "10.1")
|
||||
(version "10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"04z7lm4h94625vbncwv98svycqr942n3q47ailqaczkszqjlxjrw"))))
|
||||
"1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-uuid=e2fs")
|
||||
|
|
|
@ -57,13 +57,13 @@ clients.")
|
|||
(define-public vdirsyncer
|
||||
(package
|
||||
(name "vdirsyncer")
|
||||
(version "0.16.3")
|
||||
(version "0.16.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dpwbfi97ksijqng191659m8k0v215y8ld95w8gb126m4m96qpzw"))))
|
||||
"03wva48bgv1ad3df6plc9b8xxh6k8bcaxrhlzwh81c9mzn5bspzv"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -29,6 +30,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages bison)
|
||||
|
@ -43,19 +45,23 @@
|
|||
(define-public asciidoc
|
||||
(package
|
||||
(name "asciidoc")
|
||||
(version "8.6.9")
|
||||
(version "8.6.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/asciidoc/asciidoc/"
|
||||
version "/asciidoc-" version ".tar.gz"))
|
||||
(uri (string-append "https://github.com/asciidoc/asciidoc/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"))))
|
||||
"10xrl1iwyvs8aqm0vzkvs3dnsn93wyk942kk4ppyl6w9imbzhlly"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no 'check' target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'bootstrap
|
||||
(lambda _
|
||||
(invoke "autoconf")))
|
||||
;; Some XML-related binaries are required for asciidoc's proper usage.
|
||||
;; Without these, asciidoc fails when parsing XML documents, either
|
||||
;; reporting a missing "xmllint" binary or, when passed the
|
||||
|
@ -94,12 +100,14 @@ release/xsl/current")
|
|||
(string-append (assoc-ref inputs "docbook-xml")
|
||||
"/xml/dtd/docbook/docbookx.dtd")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)))
|
||||
(inputs `(("python" ,python-2)
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("libxml2" ,libxml2)
|
||||
("libxslt" ,libxslt)))
|
||||
(home-page "http://www.methods.co.nz/asciidoc/")
|
||||
(home-page "http://asciidoc.org/")
|
||||
(synopsis "Text-based document generation system")
|
||||
(description
|
||||
"AsciiDoc is a text document format for writing notes, documentation,
|
||||
|
|
|
@ -3166,6 +3166,128 @@ perspective only its buffers are available by default.")
|
|||
;; the Expat license.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-test-simple
|
||||
(package
|
||||
(name "emacs-test-simple")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/test-simple-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yd61jc9ds95a5n09052kwc5gasy57g4lxr0jsff040brlyi9czz"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/rocky/emacs-test-simple")
|
||||
(synopsis "Simple unit test framework for Emacs Lisp")
|
||||
(description
|
||||
"Test Simple is a simple unit test framework for Emacs Lisp. It
|
||||
alleviates the need for context macros, enclosing specifications or required
|
||||
test tags. It supports both interactive and non-interactive use.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-load-relative
|
||||
(package
|
||||
(name "emacs-load-relative")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/load-relative-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hfxb2436jdsi9wfmsv47lkkpa5galjf5q81bqabbsv79rv59dps"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://github.com/rocky/emacs-load-relative")
|
||||
(synopsis "Emacs Lisp relative file loading related functions")
|
||||
(description
|
||||
"Provides functions which facilitate writing multi-file Emacs packages
|
||||
and running from the source tree without having to \"install\" code or fiddle
|
||||
with @{load-path}.
|
||||
|
||||
The main function, @code{load-relative}, loads an Emacs Lisp file relative to
|
||||
another (presumably currently running) Emacs Lisp file.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-loc-changes
|
||||
(package
|
||||
(name "emacs-loc-changes")
|
||||
(version "1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/loc-changes-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x8fn8vqasayf1rb8a6nma9n6nbvkx60krmiahyb05vl5rrsw6r3"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/rocky/emacs-loc-changes")
|
||||
(synopsis "Keeps track of positions even after buffer changes")
|
||||
(description
|
||||
"This Emacs package provides a mean to track important buffer positions
|
||||
after buffer changes.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-realgud
|
||||
(package
|
||||
(name "emacs-realgud")
|
||||
(version "1.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/realgud-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nc8km339ip90h1j55ahfga03v7x7rh4iycmw6yrxyzir68vwn7c"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-autogen-script
|
||||
(lambda _
|
||||
(substitute* "autogen.sh"
|
||||
(("./configure") "sh configure"))))
|
||||
(add-after 'fix-autogen-script 'autogen
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" "sh")
|
||||
(invoke "sh" "autogen.sh")))
|
||||
(add-after 'fix-autogen-script 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))))
|
||||
(add-before 'patch-el-files 'remove-realgud-pkg.el
|
||||
(lambda _
|
||||
;; XXX: This file is auto-generated at some point and causes
|
||||
;; substitute* to crash during the `patch-el-files' phase with:
|
||||
;; ERROR: In procedure stat: No such file or directory:
|
||||
;; "./realgud-pkg.el"
|
||||
(delete-file "./realgud-pkg.el")
|
||||
;; FIXME: `patch-el-files' crashes on this file with error:
|
||||
;; unable to locate "bashdb".
|
||||
(delete-file "./test/test-regexp-bashdb.el"))))
|
||||
#:include (cons* ".*\\.el$" %default-include)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("emacs-test-simple" ,emacs-test-simple)))
|
||||
(propagated-inputs
|
||||
`(("emacs-load-relative" ,emacs-load-relative)
|
||||
("emacs-loc-changes" ,emacs-loc-changes)))
|
||||
(home-page "https://github.com/realgud/realgud/")
|
||||
(synopsis
|
||||
"Modular front-end for interacting with external debuggers")
|
||||
(description
|
||||
"RealGUD is a modular, extensible GNU Emacs front-end for interacting
|
||||
with external debuggers. It integrates various debuggers such as gdb, pdb,
|
||||
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the
|
||||
sources. Unlike GUD, it also supports running multiple debug sessions in
|
||||
parallel.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-request
|
||||
(package
|
||||
(name "emacs-request")
|
||||
|
@ -4086,7 +4208,7 @@ for search-based navigation of buffers.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-helm-make
|
||||
(let ((commit "21c1bfa01b16b0d656f2b8a0dbb5bc8d47a7641b")
|
||||
(let ((commit "feae8df22bc4b20705ea08ac9adfc2b43bb348d0")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-helm-make")
|
||||
|
@ -4100,7 +4222,7 @@ for search-based navigation of buffers.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"11vzrp63zdc67fg4d0y1alk8z9019sqslh2bd7ispk37s86dlbfw"))))
|
||||
"1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-helm" ,emacs-helm)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
|
||||
|
@ -4422,7 +4422,7 @@ metadata in photo and video files of various formats.")
|
|||
(define-public shotwell
|
||||
(package
|
||||
(name "shotwell")
|
||||
(version "0.27.1")
|
||||
(version "0.27.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -4430,7 +4430,7 @@ metadata in photo and video files of various formats.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jav7qv0s1v6wvd7x2ri85hjqnbswq883pnd228qhd6bhjbryp89"))))
|
||||
"0g2vphhpxrljpy9sryfsgaayix807i1i9plj9bay72dk0zphqab2"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(propagated-inputs
|
||||
`(("dconf" ,dconf)))
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -144,14 +145,14 @@ tool to extract metadata from a file and print the results.")
|
|||
(define-public libmicrohttpd
|
||||
(package
|
||||
(name "libmicrohttpd")
|
||||
(version "0.9.58")
|
||||
(version "0.9.59")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wq17qvizis7bsyvyw1gnfycvivssncngziddnyrbzv2dhvy24bs"))))
|
||||
"0g4jgnv43yddr9yxrqg11632rip0lg5c53gmy5wy3c0i1dywv74v"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -24,6 +25,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -37,7 +39,7 @@
|
|||
(define-public gpsbabel
|
||||
(package
|
||||
(name "gpsbabel")
|
||||
(version "1.5.2")
|
||||
(version "1.5.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; XXX: Downloads from gpsbabel.org are hidden behind a POST, so
|
||||
|
@ -47,17 +49,21 @@
|
|||
version ".orig.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xf7wmy2m29g2lm8lqc74yf8rf7sxfl3cfwbk7dpf0yf42pb0b6w"))
|
||||
"19hykxhyl567gf8qcrl33qhv95w0g4vxw9r3h9b8d8plx9bnaf8l"))
|
||||
(patches (search-patches
|
||||
"gpsbabel-minizip.patch"
|
||||
;; XXX: Remove this patch on the next release.
|
||||
"gpsbabel-qstring.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete files under GPL-compatible licences but never used
|
||||
;; on GNU systems, rather than bloating the LICENSE field.
|
||||
(with-directory-excursion "gpsbabel"
|
||||
(delete-file "gui/serial_mac.cc") ; Apple MIT
|
||||
(delete-file "mingw/include/ddk/hidsdi.h")) ; public domain
|
||||
(delete-file "gui/serial_mac.cc") ; Apple MIT
|
||||
(delete-file "mingw/include/ddk/hidsdi.h") ; public domain
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO: "make doc" requires Docbook & co.
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--with-zlib=system"
|
||||
|
@ -65,13 +71,6 @@
|
|||
;; recent binutils:
|
||||
;; https://codereview.qt-project.org/#/c/111787/
|
||||
"CXXFLAGS=-std=gnu++11 -fPIC")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'pre-configure
|
||||
(lambda _
|
||||
(chdir "gpsbabel"))))
|
||||
;; TODO: "make doc" requires Docbook & co.
|
||||
|
||||
;; On i686, 'raymarine.test' fails because of a rounding error:
|
||||
;; <http://hydra.gnu.org/build/133040>. As a workaround, disable tests
|
||||
;; on these platforms.
|
||||
|
@ -171,3 +170,51 @@ useful in measurements where Global Positioning System (GPS) is not available,
|
|||
such as underground. It features the ability to adjust in local Cartesian
|
||||
coordinates as well as partial support for adjustments in global coordinate systems.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gpxsee
|
||||
(package
|
||||
(name "gpxsee")
|
||||
(version "4.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://github.com/tumic0/GPXSee/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00j0gjldw1kn3i45dppld1pz8r4s1g7lw89k7gfvvqbjjyjih1wg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
;; Use lrelease to convert TS translation files into QM files.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(system* "lrelease" file))
|
||||
(find-files "lang" "\\.ts"))
|
||||
(substitute* "src/config.h"
|
||||
(("/usr/share/gpxsee")
|
||||
(string-append
|
||||
(assoc-ref outputs "out") "/share/gpxsee")))
|
||||
(invoke "qmake"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "out")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/gpxsee/")))
|
||||
(install-file "GPXSee" (string-append out "/bin/GPXSee"))
|
||||
(install-file "pkg/maps.txt" share))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)))
|
||||
(native-inputs
|
||||
`(("qttools" ,qttools)))
|
||||
(home-page "http://www.gpxsee.org")
|
||||
(synopsis "GPX file viewer and analyzer")
|
||||
(description
|
||||
"GPXSee is a Qt-based GPS log file viewer and analyzer that supports GPX,
|
||||
TCX, KML, FIT, IGC and NMEA files.")
|
||||
(license license:gpl3)))
|
||||
|
|
|
@ -1188,10 +1188,11 @@ Guile's foreign function interface.")
|
|||
(deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi))
|
||||
|
||||
(define-public guile-sqlite3
|
||||
(let ((commit "607721fe1174a299e45d457acacf94eefb964071"))
|
||||
(let ((commit "21f35ca87517194d8fcc7ac166b5e77f5f5348b0")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "guile-sqlite3")
|
||||
(version (string-append "0.0-1." (string-take commit 7)))
|
||||
(version (git-version "0.0" revision commit))
|
||||
|
||||
;; XXX: This used to be available read-only at
|
||||
;; <https://www.gitorious.org/guile-sqlite3/guile-sqlite3.git/> but it
|
||||
|
@ -1204,7 +1205,7 @@ Guile's foreign function interface.")
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"09gaffhh5rawz5kdmqx2ahvj1ngvxddp469r18bmjz3sz8p0slj2"))
|
||||
"0m33di5gz0a6n6q380v1y8apm5hrynzyl4ri8ar4j202hwjqi1y2"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
|
|
@ -146,6 +146,12 @@
|
|||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(use-modules (ice-9 match))
|
||||
(substitute* "src/runtime_ccall.cpp"
|
||||
;; Patch out invocations of '/sbin/ldconfig' to avoid getting
|
||||
;; error messages about missing '/sbin/ldconfig' on GuixSD.
|
||||
(("popen\\(.*ldconfig.*\\);")
|
||||
"NULL;\n")
|
||||
|
||||
;; Populate 'sonameMap'.
|
||||
(("jl_read_sonames.*;")
|
||||
(string-join
|
||||
(map (match-lambda
|
||||
|
@ -228,6 +234,12 @@
|
|||
#t))
|
||||
(add-before 'check 'disable-broken-tests
|
||||
(lambda _
|
||||
;; Adjust expected error messages to match what current libgit2
|
||||
;; provides.
|
||||
(substitute* "test/libgit2.jl"
|
||||
(("Invalid Content-Type") "invalid Content-Type")
|
||||
(("Failed to resolve path") "failed to resolve path"))
|
||||
|
||||
(substitute* "test/choosetests.jl"
|
||||
;; These tests fail, probably because some of the input
|
||||
;; binaries have been stripped and thus backtraces don't look
|
||||
|
|
|
@ -382,8 +382,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.15.1")
|
||||
(define %linux-libre-hash "1by90ghpk5qh79vgb0cfwab8c6ngciii9mvsya0gj5ijj90i6hwy")
|
||||
(define %linux-libre-version "4.15.2")
|
||||
(define %linux-libre-hash "0rzncbk513a8q60z9psb9yz7liadsb7nghj12s1kmwn441z1zv93")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
|
@ -391,8 +391,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.17")
|
||||
(define %linux-libre-4.14-hash "05z4v1v4aj8hcwgn7iljp8iclk3ikf1b57k8a8baym3dd9js6aan")
|
||||
(define %linux-libre-4.14-version "4.14.18")
|
||||
(define %linux-libre-4.14-hash "1kl6zc9dzi02hzxwmzskxb4cqh5lph4afy94677bj5ribanmizn5")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -116,21 +117,30 @@ for configuration, scripting, and rapid prototyping.")
|
|||
(define-public luajit
|
||||
(package
|
||||
(name "luajit")
|
||||
(version "2.1.0-beta2")
|
||||
(version "2.1.0-beta3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://luajit.org/download/LuaJIT-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0iyghj1xjlmd9ywa4flf9yszynf3jhbp0yqb9b49k7ab0g528fbi"))
|
||||
(patches (search-patches "luajit-symlinks.patch"
|
||||
"luajit-no_ldconfig.patch"))))
|
||||
(base32 "1hyrhpkwjqsv54hnnx4cl8vk44h9d6c9w0fz1jfjz00w255y7lhs"))
|
||||
(patches (search-patches "luajit-no_ldconfig.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;luajit is distributed without tests
|
||||
#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(home-page "http://www.luajit.org/")
|
||||
`(#:tests? #f ; luajit is distributed without tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'install 'create-luajit-symlink
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(with-directory-excursion bin
|
||||
(symlink ,(string-append name "-" version)
|
||||
,name)
|
||||
#t)))))
|
||||
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(home-page "https://www.luajit.org/")
|
||||
(synopsis "Just in time compiler for Lua programming language version 5.1")
|
||||
(description
|
||||
"LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
|
||||
|
@ -427,7 +437,7 @@ Grammars (PEGs).")
|
|||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs `(("lua", lua)))
|
||||
(home-page "http://bitop.luajit.org/index.html")
|
||||
(home-page "https://bitop.luajit.org/index.html")
|
||||
(synopsis "Bitwise operations on numbers for Lua")
|
||||
(description
|
||||
"Lua BitOp is a C extension module for Lua which adds bitwise operations
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
|
||||
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -532,27 +533,27 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
|
|||
(define-public mu
|
||||
(package
|
||||
(name "mu")
|
||||
(version "0.9.18")
|
||||
(version "1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/djcb/mu/releases/"
|
||||
"download/" version "/mu-"
|
||||
version ".tar.gz"))
|
||||
"download/v" version "/mu-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02g82zvxfgn17wzy846bfxj0izjj7yklhwdnhwxy1y2kin4fqnb5"))))
|
||||
"04x5azl19gszw2h7argq666gf9xs4hy9q7w9cbqxvy08n56xqsln"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("glib" ,glib "bin") ; for gtester
|
||||
("emacs" ,emacs-minimal)))
|
||||
("emacs" ,emacs-minimal)
|
||||
("tzdata" ,tzdata-for-tests))) ;for mu/test/test-mu-query.c
|
||||
;; TODO: Add webkit and gtk to build the mug GUI.
|
||||
(inputs
|
||||
`(("xapian" ,xapian)
|
||||
("guile" ,guile-2.2)
|
||||
("glib" ,glib)
|
||||
("gmime" ,gmime)
|
||||
("tzdata" ,tzdata))) ;for mu/test/test-mu-query.c
|
||||
("gmime" ,gmime)))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
|
||||
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -93,6 +94,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages scheme)
|
||||
|
@ -101,6 +103,7 @@
|
|||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
@ -3695,3 +3698,34 @@ exclusion algorithms are typical examples of such systems.")
|
|||
dense and sparse-direct linear algebra, conic optimization, and lattice
|
||||
reduction.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public mcrl2
|
||||
(package
|
||||
(name "mcrl2")
|
||||
(version "201707.1.15162")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.mcrl2.org/download/devel/mcrl2-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ziww2fchsklm25hl9p2mngssxfh9w07nc114cncqaxfibqp2p8f"))))
|
||||
(native-inputs
|
||||
`(("subversion" ,subversion)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("glu" ,glu)
|
||||
("mesa" ,mesa)
|
||||
("qt" ,qt)))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "Toolset for the mCRL2 formal specification language")
|
||||
(description
|
||||
"@dfn{mCRL2} (micro Common Representation Language 2) is a formal
|
||||
specification language for describing concurrent discrete event systems. Its
|
||||
toolset supports analysis and automatic verification, linearisation, simulation,
|
||||
state-space exploration and generation, and tools to optimise and analyse
|
||||
specifications. Also, state spaces can be manipulated, visualised and
|
||||
analysed.")
|
||||
(home-page "http://mcrl2.org")
|
||||
(license license:boost1.0)))
|
||||
|
|
|
@ -62,14 +62,25 @@
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'patch-source-shebangs 'patch-FHS-file-names
|
||||
(lambda _
|
||||
;; Patch files to refer to executables in the store.
|
||||
;; Patch files to refer to executables in the store or $PATH.
|
||||
(substitute* "misc/mcedit.menu.in"
|
||||
(("#! /bin/sh") (string-append "#!" (which "sh")))
|
||||
(("/bin/bash") (which "bash")))
|
||||
(substitute* "misc/ext.d/misc.sh.in"
|
||||
(("/bin/cat") "cat"))
|
||||
(substitute* "tests/src/vfs/extfs/helpers-list/Makefile.in"
|
||||
(substitute* (list "lib/utilunix.c"
|
||||
"src/usermenu.c"
|
||||
"src/vfs/fish/fish.c"
|
||||
"tests/src/vfs/extfs/helpers-list/Makefile.in")
|
||||
(("/bin/sh") (which "sh")))
|
||||
(substitute* "src/filemanager/ext.c"
|
||||
(("/bin/rm") "rm")
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
;; There are other /bin/<shell>s hard-coded in this file, but they
|
||||
;; are never tried after bash (mc's first choice) is found.
|
||||
(substitute* "lib/shell.c"
|
||||
(("/bin/bash") (which "bash")))
|
||||
#t))
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda _
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||
|
@ -39,9 +39,12 @@
|
|||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public hwloc
|
||||
;; Note: For now we keep 1.x as the default because many packages have yet
|
||||
;; to migrate to 2.0.
|
||||
(package
|
||||
(name "hwloc")
|
||||
(version "1.11.8")
|
||||
|
@ -110,6 +113,24 @@ a powerful programming interface to gather information about the hardware,
|
|||
bind processes, and much more.")
|
||||
(license bsd-3)))
|
||||
|
||||
(define-public hwloc-2.0
|
||||
;; Note: 2.0 isn't the default yet, see above.
|
||||
(package
|
||||
(inherit hwloc)
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
|
||||
(version-major+minor version)
|
||||
"/downloads/hwloc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"021765f9y6pxcxrvfpzzwaig16ypfbph5xjpkd29qkhzs9r6zrcr"))
|
||||
(patches (search-patches "hwloc-tests-without-sysfs.patch"))))
|
||||
|
||||
;; libnuma is no longer needed.
|
||||
(inputs (alist-delete "numactl" (package-inputs hwloc)))))
|
||||
|
||||
(define-public openmpi
|
||||
(package
|
||||
(name "openmpi")
|
||||
|
|
|
@ -1050,7 +1050,7 @@ complete studio.")
|
|||
(add-after 'unpack 'fix-configuration
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "default.config"
|
||||
(("/usr/bin/aplay" "aplay"))
|
||||
(("/usr/bin/aplay") "aplay")
|
||||
(("/usr/bin/timidity") "timidity")
|
||||
(("/usr/bin/mpg123") "mpg123")
|
||||
(("/usr/bin/ogg123") "ogg123"))
|
||||
|
@ -2317,6 +2317,33 @@ analogue-like user interface.")
|
|||
socket or command line.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public curseradio
|
||||
(let ((commit "1bd4bd0faeec675e0647bac9a100b526cba19f8d")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "curseradio")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/chronitis/curseradio.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11bf0jnj8h2fxhpdp498189r4s6b47vy4wripv0z4nx7lxajl88i"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-lxml" ,python-lxml)
|
||||
("python-requests" ,python-requests)
|
||||
("python-pyxdg" ,python-pyxdg)
|
||||
("mpv" ,mpv)))
|
||||
(home-page "https://github.com/chronitis/curseradio")
|
||||
(synopsis "Command-line Internet radio player")
|
||||
(description "Curseradio is a Curses-based radio player that uses a
|
||||
tune-in sender list from @url{http://opml.radiotime.com}.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public pianobar
|
||||
(package
|
||||
(name "pianobar")
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
|
@ -465,12 +465,12 @@ and up to 1 Mbit/s downstream.")
|
|||
"08sp2gzv09rar1a5mnfmbc24pqvhpqqmz2hnmv436n7v7d09qy2d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Does not exist
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; No configure
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'setenv
|
||||
(lambda _
|
||||
(setenv "HAVE_ICONV" "1")
|
||||
|
@ -482,11 +482,16 @@ and up to 1 Mbit/s downstream.")
|
|||
`(("gettext" ,gettext-minimal)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Improved whois client")
|
||||
(description "This whois client is intelligent and can
|
||||
automatically select the appropriate whois server for most queries.
|
||||
Because of historical reasons this also includes a tool called mkpasswd
|
||||
which can be used to encrypt a password with @code{crypt(3)}.")
|
||||
(synopsis "Intelligent client for the WHOIS directory service")
|
||||
(description
|
||||
"whois searches for an object in a @dfn{WHOIS} (RFC 3912) database.
|
||||
It is commonly used to look up the registered users or assignees of an Internet
|
||||
resource, such as a domain name, an IP address block, or an autonomous system.
|
||||
It can automatically select the appropriate server for most queries.
|
||||
|
||||
For historical reasons, this package also includes @command{mkpasswd}, which
|
||||
encrypts passwords using @code{crypt(3)} and is unrelated to the Expect command
|
||||
of the same name.")
|
||||
(home-page "https://github.com/rfc1036/whois")
|
||||
(license license:gpl2+)))
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -26,7 +27,7 @@
|
|||
(define-public nim
|
||||
(package
|
||||
(name "nim")
|
||||
(version "0.17.0")
|
||||
(version "0.17.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -34,13 +35,13 @@
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16vsmk4rqnkg9lc9h9jk62ps0x778cdqg6qrs3k6fv2g73cqvq9n"))))
|
||||
"1gc2xk3ygmz9y4pm75pligssgw995a7gvnfpy445fjpw4d81pzxa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'patch-installer
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
|
@ -56,11 +57,13 @@
|
|||
#t))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "sh" "build.sh"))))
|
||||
(invoke "sh" "build.sh")
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system* "./install.sh" out))))))))
|
||||
(invoke "./install.sh" out)
|
||||
#t))))))
|
||||
(home-page "https://nim-lang.org")
|
||||
(synopsis "Statically-typed, imperative programming language")
|
||||
(description "Nim (formerly known as Nimrod) is a statically-typed,
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
|
|
@ -68,14 +68,14 @@
|
|||
(define-public pwgen
|
||||
(package
|
||||
(name "pwgen")
|
||||
(version "2.07")
|
||||
(version "2.08")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/pwgen/pwgen/" version
|
||||
"/pwgen-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0mhmw700kkh238fzivcwnwi94bj9f3h36yfh3k3j2v19b0zmjx7b"))))
|
||||
(base32 "0yy90pqrr2pszzhb5hxjishq9qc7dqd290amiibqx9fm1b9kvc6s"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no test suite
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
Patch taken from https://sources.debian.org/data/main/g/gpsbabel/1.5.3-2/debian/patches/use_minizip.
|
||||
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -120,7 +120,7 @@ LIBOBJS = queue.o route.o waypt.o filter
|
||||
src/core/usasciicodec.o\
|
||||
src/core/ziparchive.o \
|
||||
$(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS)
|
||||
-OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
|
||||
+OBJS = main.o globals.o $(MINIZIP) $(LIBOBJS) @FILEINFO@
|
||||
|
||||
DEPFILES = $(OBJS:.o=.d)
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
Extracted from following patch of gpsbabel:
|
||||
https://github.com/gpsbabel/gpsbabel/commit/604178aa8ad4d3c3ad218df24c1e9a6a1f683bb3
|
||||
|
||||
From 604178aa8ad4d3c3ad218df24c1e9a6a1f683bb3 Mon Sep 17 00:00:00 2001
|
||||
From: Harel Mazor <harel.mazor@gmail.com>
|
||||
Date: Tue, 24 Jan 2017 00:35:04 +0200
|
||||
Subject: [PATCH] Added geojson read capablity, moved magic strings to
|
||||
constants, fixed windows compilation issues.
|
||||
|
||||
--- a/tef_xml.cc
|
||||
+++ b/tef_xml.cc
|
||||
@@ -72,11 +72,11 @@ tef_start(xg_string args, const QXmlStreamAttributes* attrv)
|
||||
bool valid = false;
|
||||
|
||||
foreach(QXmlStreamAttribute attr, *attrv) {
|
||||
- if (attr.name().compare("Comment", Qt::CaseInsensitive) == 0) {
|
||||
- if (attr.value().compare("TourExchangeFormat", Qt::CaseInsensitive) == 0) {
|
||||
+ if (attr.name().compare(QString("Comment"), Qt::CaseInsensitive) == 0) {
|
||||
+ if (attr.value().compare(QString("TourExchangeFormat"), Qt::CaseInsensitive) == 0) {
|
||||
valid = true;
|
||||
}
|
||||
- } else if (attr.name().compare("Version", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("Version"), Qt::CaseInsensitive) == 0) {
|
||||
version = attr.value().toString().toDouble();
|
||||
}
|
||||
}
|
||||
@@ -95,9 +95,9 @@ tef_header(xg_string args, const QXmlStreamAttributes* attrv)
|
||||
{
|
||||
route = route_head_alloc();
|
||||
foreach(QXmlStreamAttribute attr, *attrv) {
|
||||
- if (attr.name().compare("Name", Qt::CaseInsensitive) == 0) {
|
||||
+ if (attr.name().compare(QString("Name"), Qt::CaseInsensitive) == 0) {
|
||||
route->rte_name = attr.value().toString().trimmed();
|
||||
- } else if (attr.name().compare("Software", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("Software"), Qt::CaseInsensitive) == 0) {
|
||||
route->rte_desc = attr.value().toString().trimmed();
|
||||
}
|
||||
}
|
||||
@@ -248,20 +248,20 @@ tef_item_start(xg_string args, const QXmlStreamAttributes* attrv)
|
||||
QString attrstr = attr.value().toString();
|
||||
QByteArray attrtext = attrstr.toUtf8();
|
||||
|
||||
- if (attr.name().compare("SegDescription", Qt::CaseInsensitive) == 0) {
|
||||
+ if (attr.name().compare(QString("SegDescription"), Qt::CaseInsensitive) == 0) {
|
||||
wpt_tmp->shortname = attrstr.trimmed();
|
||||
- } else if (attr.name().compare("PointDescription", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("PointDescription"), Qt::CaseInsensitive) == 0) {
|
||||
wpt_tmp->description = attrstr.trimmed();
|
||||
- } else if (attr.name().compare("ViaStation", Qt::CaseInsensitive) == 0 &&
|
||||
- attr.value().compare("true", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("ViaStation"), Qt::CaseInsensitive) == 0 &&
|
||||
+ attr.value().compare(QString("true"), Qt::CaseInsensitive) == 0) {
|
||||
wpt_tmp->wpt_flags.fmt_use = 1; /* only a flag */
|
||||
|
||||
/* new in TEF V2 */
|
||||
- } else if (attr.name().compare("Instruction", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("Instruction"), Qt::CaseInsensitive) == 0) {
|
||||
wpt_tmp->description = attrstr.trimmed();
|
||||
- } else if (attr.name().compare("Altitude", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("Altitude"), Qt::CaseInsensitive) == 0) {
|
||||
wpt_tmp->altitude = attrstr.toDouble();
|
||||
- } else if (attr.name().compare("TimeStamp", Qt::CaseInsensitive) == 0) {
|
||||
+ } else if (attr.name().compare(QString("TimeStamp"), Qt::CaseInsensitive) == 0) {
|
||||
/* nothing for the moment */
|
||||
}
|
||||
}
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
Fix a test failure in the build environment, where /sys is missing.
|
||||
From <https://github.com/bgoglin/hwloc/commit/a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf.patch>.
|
||||
|
||||
From a2cc4f2e2bf4a8bbdd61b578a62e27e7482799cf Mon Sep 17 00:00:00 2001
|
||||
From: Brice Goglin <Brice.Goglin@inria.fr>
|
||||
Date: Tue, 6 Feb 2018 17:13:26 +0100
|
||||
Subject: [PATCH] linux: honor the filtering cores and packages when reading
|
||||
topology from cpuinfo
|
||||
|
||||
Caused a make check crash in lstopo --filter all:none in chroot without sysfs.
|
||||
|
||||
Thanks to Ludovic Courtes for the report.
|
||||
|
||||
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
|
||||
---
|
||||
hwloc/topology-linux.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hwloc/topology-linux.c b/hwloc/topology-linux.c
|
||||
index 290da0d72..e1bbf94e1 100644
|
||||
--- a/hwloc/topology-linux.c
|
||||
+++ b/hwloc/topology-linux.c
|
||||
@@ -4101,7 +4101,8 @@ look_cpuinfo(struct hwloc_topology *topology,
|
||||
}
|
||||
/* create package objects */
|
||||
hwloc_debug("%u pkgs%s\n", numpkgs, missingpkg ? ", but some missing package" : "");
|
||||
- if (!missingpkg && numpkgs>0) {
|
||||
+ if (!missingpkg && numpkgs>0
|
||||
+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_PACKAGE)) {
|
||||
for (i = 0; i < numpkgs; i++) {
|
||||
struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_PACKAGE, Lpkg_to_Ppkg[i]);
|
||||
int doneinfos = 0;
|
||||
@@ -4145,7 +4146,8 @@ look_cpuinfo(struct hwloc_topology *topology,
|
||||
}
|
||||
/* create Core objects */
|
||||
hwloc_debug("%u cores%s\n", numcores, missingcore ? ", but some missing core" : "");
|
||||
- if (!missingcore && numcores>0) {
|
||||
+ if (!missingcore && numcores>0
|
||||
+ && hwloc_filter_check_keep_object_type(topology, HWLOC_OBJ_CORE)) {
|
||||
for (i = 0; i < numcores; i++) {
|
||||
struct hwloc_obj *obj = hwloc_alloc_setup_object(topology, HWLOC_OBJ_CORE, Lcore_to_Pcore[i]);
|
||||
obj->cpuset = hwloc_bitmap_alloc();
|
|
@ -1,25 +0,0 @@
|
|||
From 0a54a8f125d7ab508c7c88d5ad4ed1b0c63cb5b6 Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= <sleep_walker@suse.cz>
|
||||
Date: Wed, 4 Feb 2015 11:32:55 +0100
|
||||
Subject: [PATCH 1/2] Provide two symlinks for dynamic library during install
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 0891b71..343ecb5 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -56,7 +56,7 @@ INSTALL_PCNAME= luajit.pc
|
||||
INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
|
||||
INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
|
||||
INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
|
||||
-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
|
||||
+INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER)
|
||||
INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
|
||||
INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
|
||||
INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
|
||||
--
|
||||
2.2.2
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
Fix CVE-2018-6360:
|
||||
|
||||
https://github.com/mpv-player/mpv/issues/5456
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6360
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-6360
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://github.com/mpv-player/mpv/commit/e6e6b0dcc7e9b0dbf35154a179b3dc1fcfcaff43
|
||||
|
||||
To apply the patch to mpv 0.28.0 release tarball, hunk #4 is removed. Hunk #4
|
||||
checks if 'mpd_url' is safe, but the support for 'mpd_url' is not available
|
||||
for the 0.28.0 release. So it should be safe to remove hunk #4.
|
||||
|
||||
From e6e6b0dcc7e9b0dbf35154a179b3dc1fcfcaff43 Mon Sep 17 00:00:00 2001
|
||||
From: Ricardo Constantino <wiiaboo@gmail.com>
|
||||
Date: Fri, 26 Jan 2018 01:19:04 +0000
|
||||
Subject: [PATCH] ytdl_hook: whitelist protocols from urls retrieved from
|
||||
youtube-dl
|
||||
|
||||
Not very clean since there's a lot of potential unsafe urls that youtube-dl
|
||||
can give us, depending on whether it's a single url, split tracks,
|
||||
playlists, segmented dash, etc.
|
||||
---
|
||||
player/lua/ytdl_hook.lua | 54 +++++++++++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 47 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
|
||||
index dd96ecc01d..b480c21625 100644
|
||||
--- a/player/lua/ytdl_hook.lua
|
||||
+++ b/player/lua/ytdl_hook.lua
|
||||
@@ -16,6 +16,18 @@ local ytdl = {
|
||||
|
||||
local chapter_list = {}
|
||||
|
||||
+function Set (t)
|
||||
+ local set = {}
|
||||
+ for _, v in pairs(t) do set[v] = true end
|
||||
+ return set
|
||||
+end
|
||||
+
|
||||
+local safe_protos = Set {
|
||||
+ "http", "https", "ftp", "ftps",
|
||||
+ "rtmp", "rtmps", "rtmpe", "rtmpt", "rtmpts", "rtmpte",
|
||||
+ "data"
|
||||
+}
|
||||
+
|
||||
local function exec(args)
|
||||
local ret = utils.subprocess({args = args})
|
||||
return ret.status, ret.stdout, ret
|
||||
@@ -183,6 +195,9 @@ local function edl_track_joined(fragments, protocol, is_live, base)
|
||||
|
||||
for i = offset, #fragments do
|
||||
local fragment = fragments[i]
|
||||
+ if not url_is_safe(join_url(base, fragment)) then
|
||||
+ return nil
|
||||
+ end
|
||||
table.insert(parts, edl_escape(join_url(base, fragment)))
|
||||
if fragment.duration then
|
||||
parts[#parts] =
|
||||
@@ -208,6 +223,15 @@ local function proto_is_dash(json)
|
||||
or json["protocol"] == "http_dash_segments"
|
||||
end
|
||||
|
||||
+local function url_is_safe(url)
|
||||
+ local proto = type(url) == "string" and url:match("^(.+)://") or nil
|
||||
+ local safe = proto and safe_protos[proto]
|
||||
+ if not safe then
|
||||
+ msg.error(("Ignoring potentially unsafe url: '%s'"):format(url))
|
||||
+ end
|
||||
+ return safe
|
||||
+end
|
||||
+
|
||||
local function add_single_video(json)
|
||||
local streamurl = ""
|
||||
local max_bitrate = 0
|
||||
@@ -238,14 +264,18 @@ local function add_single_video(json)
|
||||
edl_track = edl_track_joined(track.fragments,
|
||||
track.protocol, json.is_live,
|
||||
track.fragment_base_url)
|
||||
+ local url = edl_track or track.url
|
||||
+ if not url_is_safe(url) then
|
||||
+ return
|
||||
+ end
|
||||
if track.acodec and track.acodec ~= "none" then
|
||||
-- audio track
|
||||
mp.commandv("audio-add",
|
||||
- edl_track or track.url, "auto",
|
||||
+ url, "auto",
|
||||
track.format_note or "")
|
||||
elseif track.vcodec and track.vcodec ~= "none" then
|
||||
-- video track
|
||||
- streamurl = edl_track or track.url
|
||||
+ streamurl = url
|
||||
end
|
||||
end
|
||||
|
||||
@@ -264,7 +294,13 @@ local function add_single_video(json)
|
||||
|
||||
msg.debug("streamurl: " .. streamurl)
|
||||
|
||||
- mp.set_property("stream-open-filename", streamurl:gsub("^data:", "data://", 1))
|
||||
+ streamurl = streamurl:gsub("^data:", "data://", 1)
|
||||
+
|
||||
+ if not url_is_safe(streamurl) then
|
||||
+ return
|
||||
+ end
|
||||
+
|
||||
+ mp.set_property("stream-open-filename", streamurl)
|
||||
|
||||
mp.set_property("file-local-options/force-media-title", json.title)
|
||||
|
||||
@@ -526,14 +562,18 @@ mp.add_hook(o.try_ytdl_first and "on_load" or "on_load_fail", 10, function ()
|
||||
site = entry["webpage_url"]
|
||||
end
|
||||
|
||||
- if not (site:find("https?://") == 1) then
|
||||
- site = "ytdl://" .. site
|
||||
+ -- links with only youtube id as returned by --flat-playlist
|
||||
+ if not site:find("://") then
|
||||
+ table.insert(playlist, "ytdl://" .. site)
|
||||
+ elseif url_is_safe(site) then
|
||||
+ table.insert(playlist, site)
|
||||
end
|
||||
- table.insert(playlist, site)
|
||||
|
||||
end
|
||||
|
||||
- mp.set_property("stream-open-filename", "memory://" .. table.concat(playlist, "\n"))
|
||||
+ if #playlist > 0 then
|
||||
+ mp.set_property("stream-open-filename", "memory://" .. table.concat(playlist, "\n"))
|
||||
+ end
|
||||
end
|
||||
|
||||
else -- probably a video
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
Fix CVE-2018-6360:
|
||||
|
||||
https://github.com/mpv-player/mpv/issues/5456
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6360
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-6360
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://github.com/mpv-player/mpv/commit/f8263e82cc74a9ac6530508bec39c7b0dc02568f
|
||||
|
||||
From f8263e82cc74a9ac6530508bec39c7b0dc02568f Mon Sep 17 00:00:00 2001
|
||||
From: Ricardo Constantino <wiiaboo@gmail.com>
|
||||
Date: Fri, 26 Jan 2018 11:26:27 +0000
|
||||
Subject: [PATCH] ytdl_hook: move url_is_safe earlier in code
|
||||
|
||||
lua isn't javascript.
|
||||
---
|
||||
player/lua/ytdl_hook.lua | 18 +++++++++---------
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
|
||||
index b480c21625..458c94af38 100644
|
||||
--- a/player/lua/ytdl_hook.lua
|
||||
+++ b/player/lua/ytdl_hook.lua
|
||||
@@ -84,6 +84,15 @@ local function edl_escape(url)
|
||||
return "%" .. string.len(url) .. "%" .. url
|
||||
end
|
||||
|
||||
+local function url_is_safe(url)
|
||||
+ local proto = type(url) == "string" and url:match("^(.+)://") or nil
|
||||
+ local safe = proto and safe_protos[proto]
|
||||
+ if not safe then
|
||||
+ msg.error(("Ignoring potentially unsafe url: '%s'"):format(url))
|
||||
+ end
|
||||
+ return safe
|
||||
+end
|
||||
+
|
||||
local function time_to_secs(time_string)
|
||||
local ret
|
||||
|
||||
@@ -223,15 +232,6 @@ local function proto_is_dash(json)
|
||||
or json["protocol"] == "http_dash_segments"
|
||||
end
|
||||
|
||||
-local function url_is_safe(url)
|
||||
- local proto = type(url) == "string" and url:match("^(.+)://") or nil
|
||||
- local safe = proto and safe_protos[proto]
|
||||
- if not safe then
|
||||
- msg.error(("Ignoring potentially unsafe url: '%s'"):format(url))
|
||||
- end
|
||||
- return safe
|
||||
-end
|
||||
-
|
||||
local function add_single_video(json)
|
||||
local streamurl = ""
|
||||
local max_bitrate = 0
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
Fix CVE-2018-6360:
|
||||
|
||||
https://github.com/mpv-player/mpv/issues/5456
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6360
|
||||
https://security-tracker.debian.org/tracker/CVE-2018-6360
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://github.com/mpv-player/mpv/commit/ce42a965330dfeb7d2f6c69ea42d35454105c828
|
||||
|
||||
From ce42a965330dfeb7d2f6c69ea42d35454105c828 Mon Sep 17 00:00:00 2001
|
||||
From: Ricardo Constantino <wiiaboo@gmail.com>
|
||||
Date: Fri, 26 Jan 2018 18:54:17 +0000
|
||||
Subject: [PATCH] ytdl_hook: fix safe url checking with EDL urls
|
||||
|
||||
---
|
||||
player/lua/ytdl_hook.lua | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
|
||||
index 458c94af38..6c8e78657d 100644
|
||||
--- a/player/lua/ytdl_hook.lua
|
||||
+++ b/player/lua/ytdl_hook.lua
|
||||
@@ -264,18 +264,17 @@ local function add_single_video(json)
|
||||
edl_track = edl_track_joined(track.fragments,
|
||||
track.protocol, json.is_live,
|
||||
track.fragment_base_url)
|
||||
- local url = edl_track or track.url
|
||||
- if not url_is_safe(url) then
|
||||
+ if not edl_track and not url_is_safe(track.url) then
|
||||
return
|
||||
end
|
||||
if track.acodec and track.acodec ~= "none" then
|
||||
-- audio track
|
||||
mp.commandv("audio-add",
|
||||
- url, "auto",
|
||||
+ edl_track or track.url, "auto",
|
||||
track.format_note or "")
|
||||
elseif track.vcodec and track.vcodec ~= "none" then
|
||||
-- video track
|
||||
- streamurl = url
|
||||
+ streamurl = edl_track or track.url
|
||||
end
|
||||
end
|
||||
|
||||
@@ -284,6 +283,9 @@ local function add_single_video(json)
|
||||
edl_track = edl_track_joined(json.fragments, json.protocol,
|
||||
json.is_live, json.fragment_base_url)
|
||||
|
||||
+ if not edl_track and not url_is_safe(json.url) then
|
||||
+ return
|
||||
+ end
|
||||
-- normal video or single track
|
||||
streamurl = edl_track or json.url
|
||||
set_http_headers(json.http_headers)
|
||||
@@ -294,13 +296,7 @@ local function add_single_video(json)
|
||||
|
||||
msg.debug("streamurl: " .. streamurl)
|
||||
|
||||
- streamurl = streamurl:gsub("^data:", "data://", 1)
|
||||
-
|
||||
- if not url_is_safe(streamurl) then
|
||||
- return
|
||||
- end
|
||||
-
|
||||
- mp.set_property("stream-open-filename", streamurl)
|
||||
+ mp.set_property("stream-open-filename", streamurl:gsub("^data:", "data://", 1))
|
||||
|
||||
mp.set_property("file-local-options/force-media-title", json.title)
|
||||
|
||||
@@ -499,6 +495,10 @@ mp.add_hook(o.try_ytdl_first and "on_load" or "on_load_fail", 10, function ()
|
||||
|
||||
msg.debug("EDL: " .. playlist)
|
||||
|
||||
+ if not playlist then
|
||||
+ return
|
||||
+ end
|
||||
+
|
||||
-- can't change the http headers for each entry, so use the 1st
|
||||
if json.entries[1] then
|
||||
set_http_headers(json.entries[1].http_headers)
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
Fix CVE-2017-17858:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17858
|
||||
https://bugs.ghostscript.com/show_bug.cgi?id=698819
|
||||
https://github.com/mzet-/Security-Advisories/blob/master/mzet-adv-2017-01.md
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.ghostscript.com/?p=mupdf.git;a=commit;h=55c3f68d638ac1263a386e0aaa004bb6e8bde731
|
||||
|
||||
From 55c3f68d638ac1263a386e0aaa004bb6e8bde731 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Rasmussen <sebras@gmail.com>
|
||||
Date: Mon, 11 Dec 2017 14:09:15 +0100
|
||||
Subject: [PATCH] Bugs 698804/698810/698811: Keep PDF object numbers below
|
||||
limit.
|
||||
|
||||
This ensures that:
|
||||
* xref tables with objects pointers do not grow out of bounds.
|
||||
* other readers, e.g. Adobe Acrobat can parse PDFs written by mupdf.
|
||||
---
|
||||
include/mupdf/pdf/object.h | 3 +++
|
||||
source/pdf/pdf-repair.c | 5 +----
|
||||
source/pdf/pdf-xref.c | 21 ++++++++++++---------
|
||||
3 files changed, 16 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/include/mupdf/pdf/object.h b/include/mupdf/pdf/object.h
|
||||
index 21ed8595..4177112b 100644
|
||||
--- a/include/mupdf/pdf/object.h
|
||||
+++ b/include/mupdf/pdf/object.h
|
||||
@@ -3,6 +3,9 @@
|
||||
|
||||
typedef struct pdf_document_s pdf_document;
|
||||
|
||||
+/* Defined in PDF 1.7 according to Acrobat limit. */
|
||||
+#define PDF_MAX_OBJECT_NUMBER 8388607
|
||||
+
|
||||
/*
|
||||
* Dynamic objects.
|
||||
* The same type of objects as found in PDF and PostScript.
|
||||
diff --git a/source/pdf/pdf-repair.c b/source/pdf/pdf-repair.c
|
||||
index ca149bd3..0c29758e 100644
|
||||
--- a/source/pdf/pdf-repair.c
|
||||
+++ b/source/pdf/pdf-repair.c
|
||||
@@ -6,9 +6,6 @@
|
||||
|
||||
/* Scan file for objects and reconstruct xref table */
|
||||
|
||||
-/* Define in PDF 1.7 to be 8388607, but mupdf is more lenient. */
|
||||
-#define MAX_OBJECT_NUMBER (10 << 20)
|
||||
-
|
||||
struct entry
|
||||
{
|
||||
int num;
|
||||
@@ -436,7 +433,7 @@ pdf_repair_xref(fz_context *ctx, pdf_document *doc)
|
||||
break;
|
||||
}
|
||||
|
||||
- if (num <= 0 || num > MAX_OBJECT_NUMBER)
|
||||
+ if (num <= 0 || num > PDF_MAX_OBJECT_NUMBER)
|
||||
{
|
||||
fz_warn(ctx, "ignoring object with invalid object number (%d %d R)", num, gen);
|
||||
goto have_next_token;
|
||||
diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
|
||||
index 00586dbd..6284e70b 100644
|
||||
--- a/source/pdf/pdf-xref.c
|
||||
+++ b/source/pdf/pdf-xref.c
|
||||
@@ -868,11 +868,12 @@ pdf_read_old_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf)
|
||||
fz_seek(ctx, file, -(2 + (int)strlen(s)), SEEK_CUR);
|
||||
}
|
||||
|
||||
- if (ofs < 0)
|
||||
- fz_throw(ctx, FZ_ERROR_GENERIC, "out of range object num in xref: %d", (int)ofs);
|
||||
- if (ofs > INT64_MAX - len)
|
||||
- fz_throw(ctx, FZ_ERROR_GENERIC, "xref section object numbers too big");
|
||||
-
|
||||
+ if (ofs < 0 || ofs > PDF_MAX_OBJECT_NUMBER
|
||||
+ || len < 0 || len > PDF_MAX_OBJECT_NUMBER
|
||||
+ || ofs + len - 1 > PDF_MAX_OBJECT_NUMBER)
|
||||
+ {
|
||||
+ fz_throw(ctx, FZ_ERROR_GENERIC, "xref subsection object numbers are out of range");
|
||||
+ }
|
||||
/* broken pdfs where size in trailer undershoots entries in xref sections */
|
||||
if (ofs + len > xref_len)
|
||||
{
|
||||
@@ -933,10 +934,8 @@ pdf_read_new_xref_section(fz_context *ctx, pdf_document *doc, fz_stream *stm, in
|
||||
pdf_xref_entry *table;
|
||||
int i, n;
|
||||
|
||||
- if (i0 < 0 || i1 < 0 || i0 > INT_MAX - i1)
|
||||
- fz_throw(ctx, FZ_ERROR_GENERIC, "negative xref stream entry index");
|
||||
- //if (i0 + i1 > pdf_xref_len(ctx, doc))
|
||||
- // fz_throw(ctx, FZ_ERROR_GENERIC, "xref stream has too many entries");
|
||||
+ if (i0 < 0 || i0 > PDF_MAX_OBJECT_NUMBER || i1 < 0 || i1 > PDF_MAX_OBJECT_NUMBER || i0 + i1 - 1 > PDF_MAX_OBJECT_NUMBER)
|
||||
+ fz_throw(ctx, FZ_ERROR_GENERIC, "xref subsection object numbers are out of range");
|
||||
|
||||
table = pdf_xref_find_subsection(ctx, doc, i0, i1);
|
||||
for (i = i0; i < i0 + i1; i++)
|
||||
@@ -2086,6 +2085,10 @@ pdf_create_object(fz_context *ctx, pdf_document *doc)
|
||||
/* TODO: reuse free object slots by properly linking free object chains in the ofs field */
|
||||
pdf_xref_entry *entry;
|
||||
int num = pdf_xref_len(ctx, doc);
|
||||
+
|
||||
+ if (num > PDF_MAX_OBJECT_NUMBER)
|
||||
+ fz_throw(ctx, FZ_ERROR_GENERIC, "too many objects stored in pdf");
|
||||
+
|
||||
entry = pdf_get_incremental_xref_entry(ctx, doc, num);
|
||||
entry->type = 'f';
|
||||
entry->ofs = -1;
|
||||
--
|
||||
2.16.1
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
Fix CVE-2017-17969:
|
||||
|
||||
https://sourceforge.net/p/p7zip/bugs/204/
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17969
|
||||
|
||||
Patch copied from Debian.
|
||||
|
||||
Subject: Heap-based buffer overflow in 7zip/Compress/ShrinkDecoder.cpp
|
||||
Origin: vendor, https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/27d7/attachment/CVE-2017-17969.patch
|
||||
Forwarded: https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/#27d7
|
||||
Bug: https://sourceforge.net/p/p7zip/bugs/204/
|
||||
Bug-Debian: https://bugs.debian.org/888297
|
||||
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2017-17969
|
||||
Author: Antoine Beaupré <anarcat@debian.org>
|
||||
Reviewed-by: Salvatore Bonaccorso <carnil@debian.org>
|
||||
Last-Update: 2018-02-01
|
||||
Applied-Upstream: 18.00-beta
|
||||
|
||||
--- a/CPP/7zip/Compress/ShrinkDecoder.cpp
|
||||
+++ b/CPP/7zip/Compress/ShrinkDecoder.cpp
|
||||
@@ -121,8 +121,13 @@ HRESULT CDecoder::CodeReal(ISequentialIn
|
||||
{
|
||||
_stack[i++] = _suffixes[cur];
|
||||
cur = _parents[cur];
|
||||
+ if (cur >= kNumItems || i >= kNumItems)
|
||||
+ break;
|
||||
}
|
||||
-
|
||||
+
|
||||
+ if (cur >= kNumItems || i >= kNumItems)
|
||||
+ break;
|
||||
+
|
||||
_stack[i++] = (Byte)cur;
|
||||
lastChar2 = (Byte)cur;
|
||||
|
|
@ -572,7 +572,8 @@ extracting content or merging files.")
|
|||
(method url-fetch)
|
||||
(uri (string-append "https://mupdf.com/downloads/archive/"
|
||||
name "-" version "-source.tar.xz"))
|
||||
(patches (search-patches "mupdf-build-with-latest-openjpeg.patch"))
|
||||
(patches (search-patches "mupdf-build-with-latest-openjpeg.patch"
|
||||
"mupdf-CVE-2017-17858.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b9j0gqbc3jhmx87r6idcsh8lnb30840c3hyx6dk2gdjqqh3hysp"))
|
||||
|
|
|
@ -975,14 +975,14 @@ makes fork(2) safe to use in test cases.")
|
|||
(define-public perl-test-simple
|
||||
(package
|
||||
(name "perl-test-simple")
|
||||
(version "1.302120")
|
||||
(version "1.302122")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
|
||||
"Test-Simple-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v1l0hfza9zlw3qj5l2mrzljy1sk02h3yqcb4kixdb2d5l4n08y8"))))
|
||||
"117m707cbvrh01s3w6g371i9xvpnklifiqpcmky4f49jgck8izgm"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Basic utilities for writing tests")
|
||||
(description
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
|
||||
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
|
||||
;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -5740,15 +5741,13 @@ should be stored on various operating systems.")
|
|||
(define-public python-llfuse
|
||||
(package
|
||||
(name "python-llfuse")
|
||||
(version "1.2")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://bitbucket.org/nikratio/python-llfuse/downloads/"
|
||||
"llfuse-" version ".tar.bz2"))
|
||||
(uri (pypi-uri "llfuse" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"11hms1x68bf1bqbqy7w3wpffqsd3jkgricmzrc1hrnwkswfzzlr4"))))
|
||||
"0qxvnbz41bpvpc1vbi8qkhmpr9gj1qrrp5jdj085iqibd8l2l9cn"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("fuse" ,fuse)
|
||||
|
@ -12502,3 +12501,142 @@ style guide, even if the original code didn't violate the style guide.")
|
|||
|
||||
(define-public python2-yapf
|
||||
(package-with-python2 python-yapf))
|
||||
|
||||
(define-public python-gyp
|
||||
(let ((commit "5e2b3ddde7cda5eb6bc09a5546a76b00e49d888f")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "python-gyp")
|
||||
;; Google does not release versions,
|
||||
;; based on second most recent commit date.
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
;; Google does not release tarballs,
|
||||
;; git checkout is needed.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://chromium.googlesource.com/external/gyp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fr7nxcrk292djmxzpcjaphnsd123k31gp8jnd91vwknhq6snmv9"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://gyp.gsrc.io/")
|
||||
(synopsis "GYP is a Meta-Build system")
|
||||
(description
|
||||
"GYP builds build systems for large, cross platform applications.
|
||||
It can be used to generate XCode projects, Visual Studio projects, Ninja build
|
||||
files, and Makefiles.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public python2-gyp
|
||||
(package-with-python2 python-gyp))
|
||||
|
||||
(define-public python-whatever
|
||||
(package
|
||||
(name "python-whatever")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Suor/whatever/archive/" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1iqvnaf0zpc6b4rvbqq4xy45mszcscyzpzknv8wg6j84pbp22sap"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "py.test"))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "http://github.com/Suor/whatever")
|
||||
(synopsis "Make anonymous functions by partial application of operators")
|
||||
(description "@code{whatever} provides an easy way to make anonymous
|
||||
functions by partial application of operators.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-whatever
|
||||
(package-with-python2 python-whatever))
|
||||
|
||||
(define-public python-funcy
|
||||
(package
|
||||
(name "python-funcy")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Suor/funcy/archive/" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fanxivsip29vgarw6dn39xym3q4pbxcpa11plpp548lvxajpahz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "py.test"))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-warnings" ,python-pytest-warnings)
|
||||
("python-whatever" ,python-whatever)))
|
||||
(home-page "http://github.com/Suor/funcy")
|
||||
(synopsis "Functional tools")
|
||||
(description "@code{funcy} is a library that provides functional tools.
|
||||
Examples are:
|
||||
@enumerate
|
||||
@item merge - Merges collections of the same type
|
||||
@item walk - Type-preserving map
|
||||
@item select - Selects a part of a collection
|
||||
@item take - Takes the first n items of a collection
|
||||
@item first - Takes the first item of a collection
|
||||
@item remove - Predicated-removes items of a collection
|
||||
@item concat - Concatenates two collections
|
||||
@item flatten - Flattens a collection with subcollections
|
||||
@item distinct - Returns only distinct items
|
||||
@item split - Predicated-splits a collection
|
||||
@item split_at - Splits a collection at a given item
|
||||
@item group_by - Groups items by group
|
||||
@item pairwise - Pairs off adjacent items
|
||||
@item partial - Partially-applies a function
|
||||
@item curry - Curries a function
|
||||
@item compose - Composes functions
|
||||
@item complement - Complements a predicate
|
||||
@item all_fn - \"all\" with predicate
|
||||
@end enumerate")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-funcy
|
||||
(package-with-python2 python-funcy))
|
||||
|
||||
(define-public python-isoweek
|
||||
(package
|
||||
(name "python-isoweek")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "isoweek" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s7zsf0pab0l9gn6456qadnz5i5h90hafcjwnhx5mq23qjxggwvk"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/gisle/isoweek")
|
||||
(synopsis "Objects representing a week")
|
||||
(description "The @code{isoweek} module provide the class Week that
|
||||
implements the week definition of ISO 8601. This standard also defines
|
||||
a notation for identifying weeks; yyyyWww (where the W is a literal).
|
||||
Week instances stringify to this form.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-isoweek
|
||||
(package-with-python2 python-isoweek))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -238,14 +239,14 @@ and triple stores.")
|
|||
(define-public serd
|
||||
(package
|
||||
(name "serd")
|
||||
(version "0.26.0")
|
||||
(version "0.28.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.drobilla.net/serd-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"164j43am4hka2vbzw4n52zy7rafgp6kmkgbcbvap368az644mr73"))))
|
||||
"1v4ai4zyj1q3255nghicns9817jkwb3bh60ssprsjmnjfj41mwhx"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
|
|
@ -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.
|
||||
;;;
|
||||
|
@ -37,14 +38,14 @@
|
|||
(define-public librep
|
||||
(package
|
||||
(name "librep")
|
||||
(version "0.92.6")
|
||||
(version "0.92.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.tuxfamily.org/" name "/"
|
||||
name "_" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1k6c0hmyzxh8459r790slh9vv9vwy9d7w3nlmrqypbx9mk855hgy"))))
|
||||
"1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -200,14 +200,14 @@ features an integrated Emacs-like editor and a large runtime library.")
|
|||
(define-public bigloo
|
||||
(package
|
||||
(name "bigloo")
|
||||
(version "4.3a")
|
||||
(version "4.3b")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03rcqs6kvy2j5lqk4fidqay5qfyp474qqspbh6wk4qdbds6w599w"))
|
||||
"1xpzxjlq5g8j3jrb908kfaaa0pkynk4rd083hzvb08amhy68sx07"))
|
||||
;; Remove bundled libraries.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -229,34 +229,37 @@ features an integrated Emacs-like editor and a large runtime library.")
|
|||
((", @DATE@") ""))
|
||||
(substitute* "autoconf/osversion"
|
||||
(("^version.*$") "version=\"\"\n"))
|
||||
(substitute* "comptime/Makefile"
|
||||
(("\\$\\(LDCOMPLIBS\\)")
|
||||
"$(LDCOMPLIBS) $(LDFLAGS)"))
|
||||
|
||||
;; The `configure' script doesn't understand options
|
||||
;; of those of Autoconf.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero?
|
||||
(system* "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
; use system libraries
|
||||
"--customgc=no"
|
||||
"--customunistring=no"
|
||||
"--customlibuv=no"
|
||||
(string-append"--mv=" (which "mv"))
|
||||
(string-append "--rm=" (which "rm"))
|
||||
"--cflags=-fPIC"
|
||||
(string-append "--ldflags=-Wl,-rpath="
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/bigloo/" ,version)
|
||||
(string-append "--lispdir=" out
|
||||
"/share/emacs/site-lisp")
|
||||
"--sharedbde=yes"
|
||||
"--sharedcompiler=yes")))))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
; use system libraries
|
||||
"--customgc=no"
|
||||
"--customunistring=no"
|
||||
"--customlibuv=no"
|
||||
(string-append"--mv=" (which "mv"))
|
||||
(string-append "--rm=" (which "rm"))
|
||||
"--cflags=-fPIC"
|
||||
(string-append "--ldflags=-Wl,-rpath="
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/bigloo/" ,version)
|
||||
(string-append "--lispdir=" out
|
||||
"/share/emacs/site-lisp")
|
||||
"--sharedbde=yes"
|
||||
"--sharedcompiler=yes"
|
||||
"--disable-patch"))))
|
||||
(add-after 'install 'install-emacs-modes
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/emacs/site-lisp")))
|
||||
(zero? (system* "make" "-C" "bmacs" "all" "install"
|
||||
(string-append "EMACSBRAND=emacs25")
|
||||
(string-append "EMACSDIR=" dir)))))))))
|
||||
(invoke "make" "-C" "bmacs" "all" "install"
|
||||
(string-append "EMACSBRAND=emacs25")
|
||||
(string-append "EMACSDIR=" dir))))))))
|
||||
(inputs
|
||||
`(("emacs" ,emacs) ;UDE needs the X version of Emacs
|
||||
("libgc" ,libgc)
|
||||
|
|
|
@ -648,14 +648,14 @@ Shell (pdksh).")
|
|||
(define-public oil-shell
|
||||
(package
|
||||
(name "oil-shell")
|
||||
(version "0.3.0")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.oilshell.org/download/oil-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j4fyn6xjaf29xqyzm09ahazmq9v1hkxv4kps7n3lzdfr32a4kk9"))))
|
||||
"0ca68n46mhibarpfinqfkim6p3xmbz5rrpl4qr3sj9y0q6wm7sa2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; the tests are not distributed in the tarballs
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -62,35 +62,40 @@
|
|||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public libssh
|
||||
(package
|
||||
(name "libssh")
|
||||
(version "0.7.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://red.libssh.org/attachments/download/218/libssh-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l"))
|
||||
(patches (search-patches "libssh-hostname-parser-bug.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
'(#:configure-flags '("-DWITH_GCRYPT=ON")
|
||||
;; This commit from the 'v0-7' branch contains 7 memory-management-related
|
||||
;; bug fixes that we'd rather have.
|
||||
(let ((commit "239d0f75b5f909174c2ef7fb08d23bcfa6b20ba0")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libssh")
|
||||
(version (git-version "0.7.5" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.libssh.org/projects/libssh.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"01w72w1jsgs9ilj3n1gp6qkmdxr9n74i5h2nipi3x1vzm7bv8na1"))
|
||||
(patches (search-patches "libssh-hostname-parser-bug.patch"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
'(#:configure-flags '("-DWITH_GCRYPT=ON")
|
||||
|
||||
;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite.
|
||||
#:tests? #f))
|
||||
(inputs `(("zlib" ,zlib)
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(synopsis "SSH client library")
|
||||
(description
|
||||
"libssh is a C library implementing the SSHv2 and SSHv1 protocol for
|
||||
;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite.
|
||||
#:tests? #f))
|
||||
(inputs `(("zlib" ,zlib)
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(synopsis "SSH client library")
|
||||
(description
|
||||
"libssh is a C library implementing the SSHv2 and SSHv1 protocol for
|
||||
client and server implementations. With libssh, you can remotely execute
|
||||
programs, transfer files, and use a secure and transparent tunnel for your
|
||||
remote applications.")
|
||||
(home-page "https://www.libssh.org")
|
||||
(license license:lgpl2.1+)))
|
||||
(home-page "https://www.libssh.org")
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
(define-public libssh2
|
||||
(package
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Petter <petter@mykolab.ch>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,7 +28,7 @@
|
|||
(define-public syncthing
|
||||
(package
|
||||
(name "syncthing")
|
||||
(version "0.14.43")
|
||||
(version "0.14.44")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/syncthing/syncthing"
|
||||
|
@ -36,7 +36,11 @@
|
|||
"/syncthing-source-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"175xkc4i00axxljc5kgkr30lm1s9hfmz0hrzrsl91rpwpbh500mv"))))
|
||||
"0fxq52w1b05928xp0a333rg23fabj0nykgg7v4gz01f3vrxyydi1"))
|
||||
(modules '((guix build utils)))
|
||||
;; Delete bundled ("vendored") free software source code.
|
||||
(snippet
|
||||
'(delete-file-recursively "vendor"))))
|
||||
(build-system go-build-system)
|
||||
;; The primary Syncthing executable goes to "out", while the auxiliary
|
||||
;; server programs and utility tools go to "utils". This reduces the size
|
||||
|
@ -49,18 +53,6 @@
|
|||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-bundled-source-code
|
||||
(lambda _
|
||||
;; Keep the bundled cznic libraries. There are some "internal"
|
||||
;; cznic libraries that complicate the use of non-bundled copies.
|
||||
(rename-file "src/github.com/syncthing/syncthing/vendor/github.com/cznic"
|
||||
"cznic")
|
||||
(delete-file-recursively "src/github.com/syncthing/syncthing/vendor")
|
||||
(mkdir-p "src/github.com/syncthing/syncthing/vendor/github.com/")
|
||||
(rename-file "cznic"
|
||||
"src/github.com/syncthing/syncthing/vendor/github.com/cznic")
|
||||
#t))
|
||||
|
||||
(add-before 'build 'increase-test-timeout
|
||||
(lambda _
|
||||
(substitute* "src/github.com/syncthing/syncthing/build.go"
|
||||
|
@ -129,11 +121,9 @@
|
|||
("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
|
||||
("go-github-com-ccding-go-stun"
|
||||
,go-github-com-ccding-go-stun)
|
||||
("go-github-com-prometheus-union" ,(go-github-com-prometheus-union))
|
||||
("go-github-com-chmduquesne-rollinghash-adler32"
|
||||
,go-github-com-chmduquesne-rollinghash-adler32)
|
||||
; ("go-github-com-cznic-ql" ,go-github-com-cznic-ql) ; bundled
|
||||
; Used by bundled ql
|
||||
("go-github-com-edsrzf-mmap-go" ,go-github-com-edsrzf-mmap-go)
|
||||
("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
|
||||
("go-github-com-gogo-protobuf-union"
|
||||
,(go-github-com-gogo-protobuf-union))
|
||||
|
@ -358,8 +348,8 @@ structs in the Go programming language.")
|
|||
(license (package-license go-github-com-gogo-protobuf))))
|
||||
|
||||
(define-public go-github-com-gogo-protobuf
|
||||
(let ((commit "35b81a066e522fb86ece043a8ef1dbfa10b4fed1")
|
||||
(revision "1"))
|
||||
(let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "go-github-com-gogo-protobuf")
|
||||
(version (git-version "0.5" revision commit))
|
||||
|
@ -371,7 +361,7 @@ structs in the Go programming language.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"194k6cls2g654df54x5rzrn5nqrfk8yz1jymm667ajjvzcplidja"))))
|
||||
"0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/gogo/protobuf/proto"
|
||||
|
@ -1853,8 +1843,8 @@ Authentication and Privacy Infrastructure).")
|
|||
(license asl2.0))))
|
||||
|
||||
(define-public go-github-com-zillode-notify
|
||||
(let ((commit "8fff849a2026ce7a59f67ed9747dd9c7adc8bd0b")
|
||||
(revision "1"))
|
||||
(let ((commit "a8abcfb1ce88ee8d79a300ed65d94b8fb616ddb3")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "go-github-com-zillode-notify")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -1866,7 +1856,7 @@ Authentication and Privacy Infrastructure).")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1aazci21y85k1c02dlvdfx926vxb3j4i96fn27s7zxmqjlk7l3ga"))))
|
||||
"031pmbvm0xj4f4fak7im0ywmyn3hns538zlbdj4f23jj69zqdy7k"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/zillode/notify"))
|
||||
|
@ -1927,3 +1917,281 @@ notification library in Go.")
|
|||
Erasure Coding in Go.")
|
||||
(home-page "https://github.com/klauspost/reedsolomon")
|
||||
(license expat))))
|
||||
|
||||
(define-public go-github-com-beorn7-perks-quantile
|
||||
(let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-beorn7-perks-quantile")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/beorn7/perks.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/beorn7/perks/quantile"
|
||||
#:unpack-path "github.com/beorn7/perks"))
|
||||
(synopsis "Compute approximate quantiles over an unbounded data stream")
|
||||
(description "Perks contains the Go package @code{quantile} that computes
|
||||
approximate quantiles over an unbounded data stream within low memory and CPU
|
||||
bounds.")
|
||||
(home-page "https://github.com/beorn7/perks")
|
||||
(license expat))))
|
||||
|
||||
(define-public go-github-com-golang-protobuf-proto
|
||||
(let ((commit "1e59b77b52bf8e4b449a57e6f79f21226d571845")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-golang-protobuf-proto")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/golang/protobuf.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/golang/protobuf/proto"
|
||||
#:unpack-path "github.com/golang/protobuf"
|
||||
#:tests? #f ; requires unpackaged golang.org/x/sync/errgroup
|
||||
))
|
||||
(synopsis "Go support for Protocol Buffers")
|
||||
(description "This package provides Go support for the Protocol Buffers
|
||||
data serialization format.")
|
||||
(home-page "https://github.com/golang/protobuf")
|
||||
(license bsd-3))))
|
||||
|
||||
(define-public go-github-com-prometheus-client-model-go
|
||||
(let ((commit "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-prometheus-client-model-go")
|
||||
(version (git-version "0.0.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/prometheus/client_model.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/prometheus/client_model/go"
|
||||
#:unpack-path "github.com/prometheus/client_model"))
|
||||
(propagated-inputs
|
||||
`(("go-github-com-golang-protobuf-proto"
|
||||
,go-github-com-golang-protobuf-proto)))
|
||||
(synopsis "Data model artifacts for Prometheus")
|
||||
(description "This package provides data model artifacts for Prometheus.")
|
||||
(home-page "https://github.com/prometheus/client_model")
|
||||
(license asl2.0))))
|
||||
|
||||
(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
|
||||
(let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/matttproud/golang_protobuf_extensions.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
|
||||
#:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
|
||||
(propagated-inputs
|
||||
`(("go-github-com-golang-protobuf-proto"
|
||||
,go-github-com-golang-protobuf-proto)))
|
||||
(synopsis "Streaming Protocol Buffers in Go")
|
||||
(description "This package provides various Protocol Buffer
|
||||
extensions for the Go language, namely support for record length-delimited
|
||||
message streaming.")
|
||||
(home-page "https://github.com/matttproud/golang_protobuf_extensions")
|
||||
(license asl2.0))))
|
||||
|
||||
(define-public go-github-com-prometheus-common-expfmt
|
||||
(let ((commit "2e54d0b93cba2fd133edc32211dcc32c06ef72ca")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-prometheus-common-expfmt")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/prometheus/common.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14kn5w7imcxxlfdqxl21fsnlf1ms7200g3ldy29hwamldv8qlm7j"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/prometheus/common/expfmt"
|
||||
#:unpack-path "github.com/prometheus/common"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(map (lambda (file)
|
||||
(make-file-writable file))
|
||||
(find-files
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/src/github.com/prometheus/common/expfmt/testdata/")
|
||||
".*\\.gz$"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("go-github-com-golang-protobuf-proto"
|
||||
,go-github-com-golang-protobuf-proto)
|
||||
("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
|
||||
,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
|
||||
("go-github-com-prometheus-client-model-go"
|
||||
,go-github-com-prometheus-client-model-go)))
|
||||
(synopsis "Prometheus metrics")
|
||||
(description "This package provides tools for reading and writing
|
||||
Prometheus metrics.")
|
||||
(home-page "https://github.com/prometheus/common")
|
||||
(license asl2.0))))
|
||||
|
||||
(define-public go-github-com-prometheus-procfs
|
||||
(let ((commit "b15cd069a83443be3154b719d0cc9fe8117f09fb")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-prometheus-procfs")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/prometheus/procfs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cr45wg2m40bj2za8f32mq09rjlcnk5kfam0h0hr8wcb015k4wxj"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/prometheus/procfs"))
|
||||
(synopsis "Go library for reading @file{/proc}")
|
||||
(description "This Go package @code{procfs} provides functions to retrieve
|
||||
system, kernel and process metrics from the pseudo-filesystem @file{/proc}.")
|
||||
(home-page "https://github.com/prometheus/procfs")
|
||||
(license asl2.0))))
|
||||
|
||||
(define-public go-github-com-client-golang-prometheus-promhttp
|
||||
(let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-client-golang-prometheus-promhttp")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/prometheus/client_golang.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; The tests require internet access
|
||||
#:import-path "github.com/prometheus/client_golang/prometheus/promhttp"
|
||||
#:unpack-path "github.com/prometheus/client_golang"))
|
||||
(propagated-inputs
|
||||
`(("go-github-com-beorn7-perks-quantile"
|
||||
,go-github-com-beorn7-perks-quantile)
|
||||
("go-github-com-golang-protobuf-proto"
|
||||
,go-github-com-golang-protobuf-proto)
|
||||
("go-github-com-prometheus-client-model-go"
|
||||
,go-github-com-prometheus-client-model-go)
|
||||
("go-github-com-prometheus-common-expfmt"
|
||||
,go-github-com-prometheus-common-expfmt)
|
||||
("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
|
||||
(synopsis "HTTP server and client tools for Prometheus")
|
||||
(description "This package @code{promhttp} provides HTTP client and
|
||||
server tools for Prometheus metrics.")
|
||||
(home-page "https://github.com/prometheus/client_golang")
|
||||
(license asl2.0))))
|
||||
|
||||
(define-public go-github-com-client-golang-prometheus
|
||||
(let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-prometheus-client-golang-prometheus")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/prometheus/client_golang.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/prometheus/client_golang/prometheus"
|
||||
#:unpack-path "github.com/prometheus/client_golang"))
|
||||
(propagated-inputs
|
||||
`(("go-github-com-beorn7-perks-quantile"
|
||||
,go-github-com-beorn7-perks-quantile)
|
||||
("go-github-com-golang-protobuf-proto"
|
||||
,go-github-com-golang-protobuf-proto)
|
||||
("go-github-com-prometheus-client-model-go"
|
||||
,go-github-com-prometheus-client-model-go)
|
||||
("go-github-com-prometheus-common-expfmt"
|
||||
,go-github-com-prometheus-common-expfmt)
|
||||
("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
|
||||
("go-github-com-client-golang-prometheus-promhttp"
|
||||
,go-github-com-client-golang-prometheus-promhttp)))
|
||||
(synopsis "Prometheus instrumentation library for Go applications")
|
||||
(description "This package provides the Go client library for the
|
||||
Prometheus monitoring and alerting system. It has two separate parts, one for
|
||||
instrumenting application code, and one for creating clients that talk to the
|
||||
Prometheus HTTP API.")
|
||||
(home-page "https://github.com/prometheus/client_golang")
|
||||
(license asl2.0))))
|
||||
|
||||
(define* (go-github-com-prometheus-union
|
||||
#:optional (packages (list go-github-com-client-golang-prometheus
|
||||
go-github-com-client-golang-prometheus-promhttp)))
|
||||
(package
|
||||
(name "go-github-com-prometheus-union")
|
||||
(version (package-version go-github-com-client-golang-prometheus))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build union))
|
||||
#:builder (begin
|
||||
(use-modules (ice-9 match)
|
||||
(guix build union))
|
||||
(match %build-inputs
|
||||
(((names . directories) ...)
|
||||
(union-build (assoc-ref %outputs "out")
|
||||
directories))))))
|
||||
(inputs (map (lambda (package)
|
||||
(list (package-name package) package))
|
||||
packages))
|
||||
(synopsis "Union of Go Prometheus libraries")
|
||||
(description "This is a union of Go Prometheus libraries")
|
||||
(home-page (package-home-page go-github-com-client-golang-prometheus))
|
||||
(license (package-license go-github-com-client-golang-prometheus))))
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -86,7 +87,7 @@
|
|||
(define-public expect
|
||||
(package
|
||||
(name "expect")
|
||||
(version "5.45.3")
|
||||
(version "5.45.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -94,7 +95,7 @@
|
|||
version "/expect" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s9ba7m0bmg6brn4x030y2xg7hqara1fr4hlrrllm54mf5xp2865"))))
|
||||
"0d1cp5hggjl93xwc8h1y6adbnrvpkk0ywkd00inz9ndxn21xm9s9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(;; TODO: Add these optional dependencies.
|
||||
|
|
|
@ -29,14 +29,14 @@
|
|||
(define-public miniupnpc
|
||||
(package
|
||||
(name "miniupnpc")
|
||||
(version "2.0.20171212")
|
||||
(version "2.0.20180203")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0za7pr6hrr3ajkifirhhxfn3hlhl06f622g8hnj5h8y18sp3bwff"))))
|
||||
(base32 "1dr0qaf2qz49aawgsnv7l41rda5yvdk3qfz2hd5cv9iwav3sipch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-2)))
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
|
@ -1456,7 +1456,7 @@ modification time.")
|
|||
(define-public myrepos
|
||||
(package
|
||||
(name "myrepos")
|
||||
(version "1.20170129")
|
||||
(version "1.20171231")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1465,7 +1465,7 @@ modification time.")
|
|||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "15i9bs2i25l7ibv530ghy8280kklcgm5kr6j86s7iwcqqckd0czp"))))
|
||||
(base32 "10q7lpx152xnkk701fscn4dq99q9znnmv3bc2482khhjg7z8rps0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
|
||||
|
@ -1018,6 +1018,9 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
|
|||
(sha256
|
||||
(base32
|
||||
"1d2p6k3y9lqx8bpdal4grrj8ljy7pvd8qgdq8004fmr38afmbb7f"))
|
||||
(patches (search-patches "mpv-CVE-2018-6360-1.patch"
|
||||
"mpv-CVE-2018-6360-2.patch"
|
||||
"mpv-CVE-2018-6360-3.patch"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system waf-build-system)
|
||||
(native-inputs
|
||||
|
|
|
@ -177,7 +177,7 @@ Interface} specification.")
|
|||
(define-public nginx
|
||||
(package
|
||||
(name "nginx")
|
||||
;; Consider updating the nginx-docs package if the nginx package is
|
||||
;; Consider updating the nginx-documentation package if the nginx package is
|
||||
;; updated.
|
||||
(version "1.13.8")
|
||||
(source (origin
|
||||
|
@ -310,13 +310,13 @@ documentation.")
|
|||
(license l:bsd-2))))
|
||||
|
||||
(define-public nginx-documentation
|
||||
;; This documentation should be relevant for nginx-1.12.0
|
||||
(let ((revision 1961)
|
||||
(changeset "dd4b6c564e10"))
|
||||
;; This documentation should be relevant for nginx@1.13.8.
|
||||
(let ((revision 2100)
|
||||
(changeset "cfb7bd672d77"))
|
||||
(package
|
||||
(name "nginx-documentation")
|
||||
(version
|
||||
(simple-format #f "2017-04-12-~A-~A" revision changeset))
|
||||
(simple-format #f "2018-01-22-~A-~A" revision changeset))
|
||||
(source
|
||||
(origin (method hg-fetch)
|
||||
(uri (hg-reference
|
||||
|
@ -325,13 +325,13 @@ documentation.")
|
|||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rycfnnm2xkm777769h1zib428q45j64mx8nzzfzs4v07jbfc8m5"))))
|
||||
"096fcsc0wnfr847m7dwp17rivd3alxq7v9hq9s5lkfbhylmh18vm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; No test suite
|
||||
'(#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((output (assoc-ref outputs "out")))
|
||||
|
|
|
@ -5923,7 +5923,7 @@ basic eye-candy effects.")
|
|||
(define-public xpra
|
||||
(package
|
||||
(name "xpra")
|
||||
(version "2.2.3")
|
||||
(version "2.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5931,7 +5931,7 @@ basic eye-candy effects.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03cq16cfffm5f62g1xc3makr03b5wjjfy6zlwag70pc3g0k6n6jh"))))
|
||||
"0v8yflvisk94bfj0zg4ggdfwrig0f3ss9kjnws3zflsr33cb2hxy"))))
|
||||
(build-system python-build-system)
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("flac" ,flac)
|
||||
|
|
|
@ -82,7 +82,8 @@
|
|||
|
||||
(define* (emacs-build store name inputs
|
||||
#:key source
|
||||
(tests? #t)
|
||||
(tests? #f)
|
||||
(parallel-tests? #t)
|
||||
(test-target "test")
|
||||
(configure-flags ''())
|
||||
(phases '(@ (guix build emacs-build-system)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -42,7 +43,8 @@
|
|||
;; Directory suffix where we install ELPA packages. We avoid ".../elpa" as
|
||||
;; Emacs expects to find the ELPA repository 'archive-contents' file and the
|
||||
;; archive signature.
|
||||
(define %install-suffix "/share/emacs/site-lisp/guix.d")
|
||||
(define %legacy-install-suffix "/share/emacs/site-lisp")
|
||||
(define %install-suffix (string-append %legacy-install-suffix "/guix.d"))
|
||||
|
||||
;; These are the default inclusion/exclusion regexps for the install phase.
|
||||
(define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
|
||||
|
@ -72,38 +74,63 @@ archive, a directory, or an Emacs Lisp file."
|
|||
#t)
|
||||
(gnu:unpack #:source source)))
|
||||
|
||||
(define* (set-emacs-load-path #:key inputs #:allow-other-keys)
|
||||
"Set the EMACSLOADPATH environment variable so that dependencies are found."
|
||||
(let* ((input-elisp-dirs (emacs-inputs-el-directories
|
||||
(emacs-inputs-directories inputs)))
|
||||
(emacs-load-path-value (string-join
|
||||
input-elisp-dirs ":" 'suffix)))
|
||||
(setenv "EMACSLOADPATH" emacs-load-path-value)
|
||||
(format #t "environment variable `EMACSLOADPATH' set to ~a\n"
|
||||
emacs-load-path-value)))
|
||||
|
||||
(define* (build #:key outputs inputs #:allow-other-keys)
|
||||
"Compile .el files."
|
||||
(let* ((emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(elpa-name-ver (store-directory->elpa-name-version out))
|
||||
(el-dir (string-append out %install-suffix "/" elpa-name-ver))
|
||||
(deps-dirs (emacs-inputs-directories inputs)))
|
||||
(el-dir (string-append out %install-suffix "/" elpa-name-ver)))
|
||||
(setenv "SHELL" "sh")
|
||||
(parameterize ((%emacs emacs))
|
||||
(emacs-byte-compile-directory el-dir
|
||||
(emacs-inputs-el-directories deps-dirs)))))
|
||||
(emacs-byte-compile-directory el-dir))))
|
||||
|
||||
(define* (patch-el-files #:key outputs #:allow-other-keys)
|
||||
"Substitute the absolute \"/bin/\" directory with the right location in the
|
||||
store in '.el' files."
|
||||
|
||||
(define (file-contains-nul-char? file)
|
||||
(call-with-input-file file
|
||||
(lambda (in)
|
||||
(let loop ((line (read-line in 'concat)))
|
||||
(cond
|
||||
((eof-object? line) #f)
|
||||
((string-index line #\nul) #t)
|
||||
(else (loop (read-line in 'concat))))))
|
||||
#:binary #t))
|
||||
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(elpa-name-ver (store-directory->elpa-name-version out))
|
||||
(el-dir (string-append out %install-suffix "/" elpa-name-ver))
|
||||
(substitute-cmd (lambda ()
|
||||
(substitute* (find-files "." "\\.el$")
|
||||
(("\"/bin/([^.]\\S*)\"" _ cmd-name)
|
||||
(let ((cmd (which cmd-name)))
|
||||
(unless cmd
|
||||
(error
|
||||
"patch-el-files: unable to locate " cmd-name))
|
||||
(string-append "\"" cmd "\"")))))))
|
||||
|
||||
;; (ice-9 regex) uses libc's regexp routines, which cannot deal with
|
||||
;; strings containing NULs. Filter out such files. TODO: Remove
|
||||
;; this workaround when <https://bugs.gnu.org/30116> is fixed.
|
||||
(el-files (remove file-contains-nul-char?
|
||||
(find-files (getcwd) "\\.el$"))))
|
||||
(define (substitute-program-names)
|
||||
(substitute* el-files
|
||||
(("\"/bin/([^.]\\S*)\"" _ cmd-name)
|
||||
(let ((cmd (which cmd-name)))
|
||||
(unless cmd
|
||||
(error "patch-el-files: unable to locate " cmd-name))
|
||||
(string-append "\"" cmd "\"")))))
|
||||
|
||||
(with-directory-excursion el-dir
|
||||
;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still encoded
|
||||
;; with the "ISO-8859-1" locale.
|
||||
(unless (false-if-exception (substitute-cmd))
|
||||
;; Some old '.el' files (e.g., tex-buf.el in AUCTeX) are still
|
||||
;; ISO-8859-1-encoded.
|
||||
(unless (false-if-exception (substitute-program-names))
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
(substitute-cmd))))
|
||||
(substitute-program-names))))
|
||||
#t))
|
||||
|
||||
(define* (install #:key outputs
|
||||
|
@ -199,18 +226,27 @@ store in '.el' files."
|
|||
(match inputs
|
||||
(((names . directories) ...) directories))))
|
||||
|
||||
(define (emacs-input->el-directory emacs-input)
|
||||
"Return the correct Elisp directory location of EMACS-INPUT or #f if none."
|
||||
(let ((legacy-elisp-dir (string-append emacs-input %legacy-install-suffix))
|
||||
(guix-elisp-dir (string-append
|
||||
emacs-input %install-suffix "/"
|
||||
(store-directory->elpa-name-version emacs-input))))
|
||||
(cond
|
||||
((file-exists? guix-elisp-dir) guix-elisp-dir)
|
||||
((file-exists? legacy-elisp-dir) legacy-elisp-dir)
|
||||
(else (format #t "warning: could not locate elisp directory under `~a'\n"
|
||||
emacs-input)
|
||||
#f))))
|
||||
|
||||
(define (emacs-inputs-el-directories dirs)
|
||||
"Build the list of Emacs Lisp directories from the Emacs package directory
|
||||
DIRS."
|
||||
(append-map (lambda (d)
|
||||
(list (string-append d "/share/emacs/site-lisp")
|
||||
(string-append d %install-suffix "/"
|
||||
(store-directory->elpa-name-version d))))
|
||||
dirs))
|
||||
(filter-map emacs-input->el-directory dirs))
|
||||
|
||||
(define (package-name-version->elpa-name-version name-ver)
|
||||
"Convert the Guix package NAME-VER to the corresponding ELPA name-version
|
||||
format. Essnetially drop the prefix used in Guix."
|
||||
format. Essentially drop the prefix used in Guix."
|
||||
(if (emacs-package? name-ver) ; checks for "emacs-" prefix
|
||||
(string-drop name-ver (string-length "emacs-"))
|
||||
name-ver))
|
||||
|
@ -224,12 +260,14 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages."
|
|||
|
||||
(define %standard-phases
|
||||
(modify-phases gnu:%standard-phases
|
||||
(add-after 'set-paths 'set-emacs-load-path set-emacs-load-path)
|
||||
(replace 'unpack unpack)
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(delete 'install)
|
||||
(replace 'build build)
|
||||
(add-before 'build 'install install)
|
||||
;; Move the build phase after install: the .el files are byte compiled
|
||||
;; directly in the store.
|
||||
(delete 'build)
|
||||
(replace 'install install)
|
||||
(add-after 'install 'build build)
|
||||
(add-after 'install 'make-autoloads make-autoloads)
|
||||
(add-after 'make-autoloads 'patch-el-files patch-el-files)
|
||||
(add-after 'make-autoloads 'move-doc move-doc)))
|
||||
|
|
|
@ -58,14 +58,9 @@
|
|||
(update-directory-autoloads ,directory))))
|
||||
(emacs-batch-eval expr)))
|
||||
|
||||
(define* (emacs-byte-compile-directory dir #:optional (dependency-dirs '()))
|
||||
"Byte compile all files in DIR and its sub-directories. Before compiling
|
||||
the files, add DIR and all directories in DEPENDENCY-DIRS to 'load-path'."
|
||||
(let ((expr `(progn
|
||||
(add-to-list 'load-path ,dir)
|
||||
(when ',dependency-dirs
|
||||
(setq load-path (append ',dependency-dirs load-path)))
|
||||
(byte-recompile-directory (file-name-as-directory ,dir) 0))))
|
||||
(define* (emacs-byte-compile-directory dir)
|
||||
"Byte compile all files in DIR and its sub-directories."
|
||||
(let ((expr `(byte-recompile-directory (file-name-as-directory ,dir) 0)))
|
||||
(emacs-batch-eval expr)))
|
||||
|
||||
(define-syntax emacs-substitute-sexps
|
||||
|
|
Loading…
Reference in New Issue