Merge branch 'master' into core-updates
commit
32cd878be0
|
@ -34,7 +34,8 @@ nodist_noinst_SCRIPTS = \
|
|||
|
||||
# Modules that are not compiled but are installed nonetheless, such as
|
||||
# build-side modules with unusual dependencies.
|
||||
MODULES_NOT_COMPILED =
|
||||
MODULES_NOT_COMPILED = \
|
||||
guix/man-db.scm
|
||||
|
||||
include gnu/local.mk
|
||||
|
||||
|
@ -102,6 +103,7 @@ MODULES = \
|
|||
guix/http-client.scm \
|
||||
guix/gnupg.scm \
|
||||
guix/elf.scm \
|
||||
guix/profiling.scm \
|
||||
guix/store.scm \
|
||||
guix/cvs-download.scm \
|
||||
guix/svn-download.scm \
|
||||
|
@ -252,6 +254,7 @@ AUX_FILES = \
|
|||
# Templates, examples.
|
||||
EXAMPLES = \
|
||||
gnu/system/examples/bare-bones.tmpl \
|
||||
gnu/system/examples/beaglebone-black.tmpl \
|
||||
gnu/system/examples/desktop.tmpl \
|
||||
gnu/system/examples/lightweight-desktop.tmpl \
|
||||
gnu/system/examples/vm-image.tmpl
|
||||
|
|
|
@ -267,6 +267,7 @@ Please upgrade to an intermediate version first, for instance with:
|
|||
;; Closure of (guix modules).
|
||||
(guix modules)
|
||||
(guix memoization)
|
||||
(guix profiling)
|
||||
(guix sets))
|
||||
|
||||
;; Arrange so that our own (guix build …) modules are
|
||||
|
|
|
@ -22,12 +22,14 @@
|
|||
;;; tool.
|
||||
;;;
|
||||
|
||||
;; Attempt to use our very own Guix modules.
|
||||
(use-modules (system base compile))
|
||||
|
||||
(eval-when (compile load eval)
|
||||
|
||||
;; Ignore any available .go, and force recompilation. This is because our
|
||||
;; checkout in the store has mtime set to the epoch, and thus .go files look
|
||||
;; newer, even though they may not correspond.
|
||||
;; Pre-load the compiler so we don't end up auto-compiling it.
|
||||
(compile #t)
|
||||
|
||||
;; Use our very own Guix modules.
|
||||
(set! %fresh-auto-compile #t)
|
||||
|
||||
(and=> (assoc-ref (current-source-location) 'filename)
|
||||
|
@ -334,6 +336,13 @@ valid."
|
|||
(parameterize ((%graft? #f))
|
||||
;; Return one job for each package, except bootstrap packages.
|
||||
(append-map (lambda (system)
|
||||
(format (current-error-port)
|
||||
"evaluating for '~a' (heap size: ~a MiB)...~%"
|
||||
system
|
||||
(round
|
||||
(/ (assoc-ref (gc-stats) 'heap-size)
|
||||
(expt 2. 20))))
|
||||
(invalidate-derivation-caches!)
|
||||
(case subset
|
||||
((all)
|
||||
;; Build everything, including replacements.
|
||||
|
|
|
@ -193,6 +193,34 @@ facilities to directly operate on the syntax tree, such as raising an
|
|||
s-expression or wrapping it, swallowing or rejecting the following
|
||||
s-expression, etc.
|
||||
|
||||
@cindex code snippets
|
||||
@cindex templates
|
||||
@cindex reducing boilerplate
|
||||
We also provide templates for common git commit messages and package
|
||||
definitions in the @file{etc/snippets} directory. These templates can
|
||||
be used with @url{http://joaotavora.github.io/yasnippet/, YASnippet} to
|
||||
expand short trigger strings to interactive text snippets. You may want
|
||||
to add the snippets directory to the @var{yas-snippet-dirs} variable in
|
||||
Emacs.
|
||||
|
||||
@lisp
|
||||
;; @r{Assuming the Guix checkout is in ~/src/guix.}
|
||||
(with-eval-after-load 'yasnippet
|
||||
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
|
||||
@end lisp
|
||||
|
||||
The commit message snippets depend on @url{https://magit.vc/, Magit} to
|
||||
display staged files. When editing a commit message type @code{add}
|
||||
followed by @kbd{TAB} to insert a commit message template for adding a
|
||||
package; type @code{update} followed by @kbd{TAB} to insert a template
|
||||
for updating a package.
|
||||
|
||||
The main snippet for @code{scheme-mode} is triggered by typing
|
||||
@code{package...} followed by @kbd{TAB}. This snippet also inserts the
|
||||
trigger string @code{origin...}, which can be expanded further. The
|
||||
@code{origin} snippet in turn may insert other trigger strings ending on
|
||||
@code{...}, which also can be expanded further.
|
||||
|
||||
|
||||
@node Coding Style
|
||||
@section Coding Style
|
||||
|
|
217
doc/guix.texi
217
doc/guix.texi
|
@ -43,7 +43,8 @@ Copyright @copyright{} 2017 Maxim Cournoyer@*
|
|||
Copyright @copyright{} 2017 Tobias Geerinckx-Rice@*
|
||||
Copyright @copyright{} 2017 George Clemmer@*
|
||||
Copyright @copyright{} 2017 Andy Wingo@*
|
||||
Copyright @copyright{} 2017 Arun Isaac
|
||||
Copyright @copyright{} 2017 Arun Isaac@*
|
||||
Copyright @copyright{} 2017 nee
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -1065,6 +1066,15 @@ regular expression like this:
|
|||
# guix offload test machines.scm '\.gnu\.org$'
|
||||
@end example
|
||||
|
||||
@cindex offload status
|
||||
To display the current load of all build hosts, run this command on the
|
||||
main node:
|
||||
|
||||
@example
|
||||
# guix offload status
|
||||
@end example
|
||||
|
||||
|
||||
@node Invoking guix-daemon
|
||||
@section Invoking @command{guix-daemon}
|
||||
|
||||
|
@ -1550,7 +1560,7 @@ features.
|
|||
This chapter describes the main features of Guix, as well as the
|
||||
package management tools it provides. Along with the command-line
|
||||
interface described below (@pxref{Invoking guix package, @code{guix
|
||||
package}}), you may also use Emacs Interface (@pxref{Top,,,
|
||||
package}}), you may also use the Emacs-Guix interface (@pxref{Top,,,
|
||||
emacs-guix, The Emacs-Guix Reference Manual}), after installing
|
||||
@code{emacs-guix} package (run @kbd{M-x guix-help} command to start
|
||||
with it):
|
||||
|
@ -8690,6 +8700,9 @@ also specified. @xref{Mapped Devices} and @ref{File Systems}.
|
|||
@itemx @code{groups} (default: @var{%base-groups})
|
||||
List of user accounts and groups. @xref{User Accounts}.
|
||||
|
||||
If the @code{users} list lacks a user account with UID@tie{}0, a
|
||||
``root'' account with UID@tie{}0 is automatically added.
|
||||
|
||||
@item @code{skeletons} (default: @code{(default-skeletons)})
|
||||
A list target file name/file-like object tuples (@pxref{G-Expressions,
|
||||
file-like objects}). These are the skeleton files that will be added to
|
||||
|
@ -14813,10 +14826,7 @@ A simple example configuration is given below.
|
|||
(server-blocks
|
||||
(list (nginx-server-configuration
|
||||
(server-name '("www.example.com"))
|
||||
(root "/srv/http/www.example.com")
|
||||
(https-port #f)
|
||||
(ssl-certificate #f)
|
||||
(ssl-certificate-key #f))))))
|
||||
(root "/srv/http/www.example.com"))))))
|
||||
@end example
|
||||
|
||||
In addition to adding server blocks to the service configuration
|
||||
|
@ -14826,9 +14836,6 @@ blocks, as in this example:
|
|||
@example
|
||||
(simple-service 'my-extra-server nginx-service-type
|
||||
(list (nginx-server-configuration
|
||||
(https-port #f)
|
||||
(ssl-certificate #f)
|
||||
(ssl-certificate-key #f)
|
||||
(root "/srv/http/extra-website")
|
||||
(try-files (list "$uri" "$uri/index.html")))))
|
||||
@end example
|
||||
|
@ -14873,10 +14880,7 @@ HTTPS.
|
|||
(server-blocks
|
||||
(list (nginx-server-configuration
|
||||
(server-name '("www.example.com"))
|
||||
(root "/srv/http/www.example.com")
|
||||
(https-port #f)
|
||||
(ssl-certificate #f)
|
||||
(ssl-certificate-key #f))))))
|
||||
(root "/srv/http/www.example.com"))))))
|
||||
@end example
|
||||
|
||||
@item @code{upstream-blocks} (default: @code{'()})
|
||||
|
@ -14899,9 +14903,6 @@ requests with two servers.
|
|||
(list (nginx-server-configuration
|
||||
(server-name '("www.example.com"))
|
||||
(root "/srv/http/www.example.com")
|
||||
(https-port #f)
|
||||
(ssl-certificate #f)
|
||||
(ssl-certificate-key #f)
|
||||
(locations
|
||||
(list
|
||||
(nginx-location-configuration
|
||||
|
@ -14925,6 +14926,13 @@ This can be useful if you have an existing configuration file, or it's
|
|||
not possible to do what is required through the other parts of the
|
||||
nginx-configuration record.
|
||||
|
||||
@item @code{server-names-hash-bucket-size} (default: @code{#f})
|
||||
Bucket size for the server names hash tables, defaults to @code{#f} to
|
||||
use the size of the processors cache line.
|
||||
|
||||
@item @code{server-names-hash-bucket-max-size} (default: @code{#f})
|
||||
Maximum bucket size for the server names hash tables.
|
||||
|
||||
@end table
|
||||
@end deffn
|
||||
|
||||
|
@ -14933,17 +14941,15 @@ Data type representing the configuration of an nginx server block.
|
|||
This type has the following parameters:
|
||||
|
||||
@table @asis
|
||||
@item @code{http-port} (default: @code{80})
|
||||
Nginx will listen for HTTP connection on this port. Set it at @code{#f} if
|
||||
nginx should not listen for HTTP (non secure) connection for this
|
||||
@dfn{server block}.
|
||||
@item @code{listen} (default: @code{'("80" "443 ssl")})
|
||||
Each @code{listen} directive sets the address and port for IP, or the
|
||||
path for a UNIX-domain socket on which the server will accept requests.
|
||||
Both address and port, or only address or only port can be specified.
|
||||
An address may also be a hostname, for example:
|
||||
|
||||
@item @code{https-port} (default: @code{443})
|
||||
Nginx will listen for HTTPS connection on this port. Set it at @code{#f} if
|
||||
nginx should not listen for HTTPS (secure) connection for this @dfn{server block}.
|
||||
|
||||
Note that nginx can listen for HTTP and HTTPS connections in the same
|
||||
@dfn{server block}.
|
||||
@example
|
||||
'("127.0.0.1:8000" "127.0.0.1" "8000" "*:8000" "localhost:8000")
|
||||
@end example
|
||||
|
||||
@item @code{server-name} (default: @code{(list 'default)})
|
||||
A list of server names this server represents. @code{'default} represents the
|
||||
|
@ -14965,17 +14971,20 @@ Nginx will send the list of files in the directory.
|
|||
A list of files whose existence is checked in the specified order.
|
||||
@code{nginx} will use the first file it finds to process the request.
|
||||
|
||||
@item @code{ssl-certificate} (default: @code{"/etc/nginx/cert.pem"})
|
||||
@item @code{ssl-certificate} (default: @code{#f})
|
||||
Where to find the certificate for secure connections. Set it to @code{#f} if
|
||||
you don't have a certificate or you don't want to use HTTPS.
|
||||
|
||||
@item @code{ssl-certificate-key} (default: @code{"/etc/nginx/key.pem"})
|
||||
@item @code{ssl-certificate-key} (default: @code{#f})
|
||||
Where to find the private key for secure connections. Set it to @code{#f} if
|
||||
you don't have a key or you don't want to use HTTPS.
|
||||
|
||||
@item @code{server-tokens?} (default: @code{#f})
|
||||
Whether the server should add its configuration to response.
|
||||
|
||||
@item @code{raw-content} (default: @code{'()})
|
||||
A list of raw lines added to the server block.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -15086,6 +15095,145 @@ capability also has to be configured on the front-end as well.
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@cindex php-fpm
|
||||
PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation
|
||||
with some additional features useful for sites of any size.
|
||||
|
||||
These features include:
|
||||
@itemize @bullet
|
||||
@item Adaptive process spawning
|
||||
@item Basic statistics (similar to Apache's mod_status)
|
||||
@item Advanced process management with graceful stop/start
|
||||
@item Ability to start workers with different uid/gid/chroot/environment
|
||||
and different php.ini (replaces safe_mode)
|
||||
@item Stdout & stderr logging
|
||||
@item Emergency restart in case of accidental opcode cache destruction
|
||||
@item Accelerated upload support
|
||||
@item Support for a "slowlog"
|
||||
@item Enhancements to FastCGI, such as fastcgi_finish_request() -
|
||||
a special function to finish request & flush all data while continuing to do
|
||||
something time-consuming (video converting, stats processing, etc.)
|
||||
@end itemize
|
||||
... and much more.
|
||||
|
||||
@defvr {Scheme Variable} php-fpm-service-type
|
||||
A Service type for @code{php-fpm}.
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} php-fpm-configuration
|
||||
Data Type for php-fpm service configuration.
|
||||
@table @asis
|
||||
@item @code{php} (default: @code{php})
|
||||
The php package to use.
|
||||
@item @code{socket} (default: @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.sock")})
|
||||
The address on which to accept FastCGI requests. Valid syntaxes are:
|
||||
@table @asis
|
||||
@item @code{"ip.add.re.ss:port"}
|
||||
Listen on a TCP socket to a specific address on a specific port.
|
||||
@item @code{"port"}
|
||||
Listen on a TCP socket to all addresses on a specific port.
|
||||
@item @code{"/path/to/unix/socket"}
|
||||
Listen on a unix socket.
|
||||
@end table
|
||||
|
||||
@item @code{user} (default: @code{php-fpm})
|
||||
User who will own the php worker processes.
|
||||
@item @code{group} (default: @code{php-fpm})
|
||||
Group of the worker processes.
|
||||
@item @code{socket-user} (default: @code{php-fpm})
|
||||
User who can speak to the php-fpm socket.
|
||||
@item @code{socket-group} (default: @code{php-fpm})
|
||||
Group that can speak to the php-fpm socket.
|
||||
@item @code{pid-file} (default: @code{(string-append "/var/run/php" (version-major (package-version php)) "-fpm.pid")})
|
||||
The process id of the php-fpm process is written to this file
|
||||
once the service has started.
|
||||
@item @code{log-file} (default: @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.log")})
|
||||
Log for the php-fpm master process.
|
||||
@item @code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})
|
||||
Detailed settings for the php-fpm process manager.
|
||||
Must be either:
|
||||
@table @asis
|
||||
@item @code{<php-fpm-dynamic-process-manager-configuration>}
|
||||
@item @code{<php-fpm-static-process-manager-configuration>}
|
||||
@item @code{<php-fpm-on-demand-process-manager-configuration>}
|
||||
@end table
|
||||
@item @code{display-errors} (default @code{#f})
|
||||
Determines wether php errors and warning should be sent to clients
|
||||
and displayed in their browsers.
|
||||
This is useful for local php development, but a security risk for public sites,
|
||||
as error messages can reveal passwords and personal data.
|
||||
@item @code{workers-logfile} (default @code{(string-append "/var/log/php" (version-major (package-version php)) "-fpm.www.log")})
|
||||
This file will log the @code{stderr} outputs of php worker processes.
|
||||
Can be set to @code{#f} to disable logging.
|
||||
@item @code{file} (default @code{#f})
|
||||
An optional override of the whole configuration.
|
||||
You can use the @code{mixed-text-file} function or an absolute filepath for it.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@deftp {Data type} php-fpm-dynamic-process-manager-configuration
|
||||
Data Type for the @code{dynamic} php-fpm process manager. With the
|
||||
@code{dynamic} process manager, spare worker processes are kept around
|
||||
based on it's configured limits.
|
||||
@table @asis
|
||||
@item @code{max-children} (default: @code{5})
|
||||
Maximum of worker processes.
|
||||
@item @code{start-servers} (default: @code{2})
|
||||
How many worker processes should be started on start-up.
|
||||
@item @code{min-spare-servers} (default: @code{1})
|
||||
How many spare worker processes should be kept around at minimum.
|
||||
@item @code{max-spare-servers} (default: @code{3})
|
||||
How many spare worker processes should be kept around at maximum.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@deftp {Data type} php-fpm-static-process-manager-configuration
|
||||
Data Type for the @code{static} php-fpm process manager. With the
|
||||
@code{static} process manager, an unchanging number of worker processes
|
||||
are created.
|
||||
@table @asis
|
||||
@item @code{max-children} (default: @code{5})
|
||||
Maximum of worker processes.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@deftp {Data type} php-fpm-on-demand-process-manager-configuration
|
||||
Data Type for the @code{on-demand} php-fpm process manager. With the
|
||||
@code{on-demand} process manager, worker processes are only created as
|
||||
requests arrive.
|
||||
@table @asis
|
||||
@item @code{max-children} (default: @code{5})
|
||||
Maximum of worker processes.
|
||||
@item @code{process-idle-timeout} (default: @code{10})
|
||||
The time in seconds after which a process with no requests is killed.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
||||
@deffn {Scheme Procedure} nginx-php-fpm-location @
|
||||
[#:nginx-package nginx] @
|
||||
[socket (string-append "/var/run/php" @
|
||||
(version-major (package-version php)) @
|
||||
"-fpm.sock")]
|
||||
A helper function to quickly add php to an @code{nginx-server-configuration}.
|
||||
@end deffn
|
||||
|
||||
A simple services setup for nginx with php can look like this:
|
||||
@example
|
||||
(services (cons* (dhcp-client-service)
|
||||
(service php-fpm-service-type)
|
||||
(service nginx-service-type
|
||||
(nginx-server-configuration
|
||||
(server-name '("example.com"))
|
||||
(root "/srv/http/")
|
||||
(locations
|
||||
(list (nginx-php-location)))
|
||||
(https-port #f)
|
||||
(ssl-certificate #f)
|
||||
(ssl-certificate-key #f)))
|
||||
%base-services))
|
||||
@end example
|
||||
|
||||
@node Certificate Services
|
||||
@subsubsection Certificate Services
|
||||
|
||||
|
@ -15206,7 +15354,7 @@ and one slave, is:
|
|||
(operating-system
|
||||
;; ...
|
||||
(services (cons* (service knot-service-type
|
||||
(knot-confifguration
|
||||
(knot-configuration
|
||||
(remotes (list plop-master))
|
||||
(zones (list master-zone slave-zone))))
|
||||
;; ...
|
||||
|
@ -17545,7 +17693,7 @@ serve the default @file{/srv/git} over HTTPS might be:
|
|||
(server-blocks
|
||||
(list
|
||||
(nginx-server-configuration
|
||||
(http-port #f)
|
||||
(listen '("443 ssl"))
|
||||
(server-name "git.my-host.org")
|
||||
(ssl-certificate
|
||||
"/etc/letsencrypt/live/git.my-host.org/fullchain.pem")
|
||||
|
@ -18228,7 +18376,6 @@ system.
|
|||
A possibly empty list of @code{menu-entry} objects (see below), denoting
|
||||
entries to appear in the bootloader menu, in addition to the current
|
||||
system entry and the entry pointing to previous system generations.
|
||||
generations.
|
||||
|
||||
@item @code{default-entry} (default: @code{0})
|
||||
The index of the default boot menu entry. Index 0 is for the entry of the
|
||||
|
@ -18609,6 +18756,14 @@ Build Options}). In addition, @var{options} can contain one of the
|
|||
following:
|
||||
|
||||
@table @option
|
||||
@item --expression=@var{expr}
|
||||
@itemx -e @var{expr}
|
||||
Consider the operating-system @var{expr} evaluates to.
|
||||
This is an alternative to specifying a file which evaluates to an
|
||||
operating system.
|
||||
This is used to generate the GuixSD installer @pxref{Building the
|
||||
Installation Image}).
|
||||
|
||||
@item --system=@var{system}
|
||||
@itemx -s @var{system}
|
||||
Attempt to build for @var{system} instead of the host system type.
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-cvs-reference
|
||||
# key: cvs-reference...
|
||||
# --
|
||||
(cvs-reference
|
||||
(root-directory "${1:root-directory}")
|
||||
(module "${2:module}")
|
||||
(revision "${3:revision}"))
|
|
@ -0,0 +1,7 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-git-reference
|
||||
# key: git-reference...
|
||||
# --
|
||||
(git-reference
|
||||
(url "$1")
|
||||
(commit ${2:commit}))
|
|
@ -0,0 +1,7 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-hg-reference
|
||||
# key: hg-reference...
|
||||
# --
|
||||
(hg-reference
|
||||
(url "$1")
|
||||
(changeset ${2:changeset}))
|
|
@ -0,0 +1,23 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-origin
|
||||
# key: origin...
|
||||
# --
|
||||
(origin
|
||||
(method ${1:$$(yas-choose-value "url-fetch"
|
||||
"url-fetch/tarbomb"
|
||||
"url-fetch/zipbomb"
|
||||
"cvs-fetch"
|
||||
"git-fetch"
|
||||
"hg-fetch"
|
||||
"svn-fetch")})
|
||||
(uri ${1:$(cond ((equal yas-text "git-fetch") "git-reference...")
|
||||
((equal yas-text "svn-fetch") "svn-reference...")
|
||||
((equal yas-text "hg-fetch") "hg-reference...")
|
||||
((equal yas-text "cvs-fetch") "cvs-reference...")
|
||||
(t "(string-append \\"https://\\" version \\".tar.gz\\")"))}$0)
|
||||
${1:$(cond ((member yas-text '("git-fetch" "svn-fetch" "hg-fetch" "cvs-fetch"))
|
||||
"(file-name (string-append name \\"-\\" version \\"-checkout\\"))")
|
||||
(t ""))}
|
||||
(sha256
|
||||
(base32
|
||||
"$2")))
|
|
@ -0,0 +1,34 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-package
|
||||
# key: package...
|
||||
# --
|
||||
(define-public $1
|
||||
(package
|
||||
(name "$1")
|
||||
(version "$2")
|
||||
(source origin...$0)
|
||||
(build-system ${3:$$(yas-choose-value "ant-build-system"
|
||||
"asdf-build-system"
|
||||
"cargo-build-system"
|
||||
"cmake-build-system"
|
||||
"dub-build-system"
|
||||
"emacs-build-system"
|
||||
"font-build-system"
|
||||
"glib-or-gtk-build-system"
|
||||
"gnu-build-system"
|
||||
"go-build-system"
|
||||
"haskell-build-system"
|
||||
"meson-build-system"
|
||||
"minify-build-system"
|
||||
"ocaml-build-system"
|
||||
"perl-build-system"
|
||||
"python-build-system"
|
||||
"r-build-system"
|
||||
"ruby-build-system"
|
||||
"texlive-build-system"
|
||||
"trivial-build-system"
|
||||
"waf-build-system")})
|
||||
(home-page "$4")
|
||||
(synopsis "$5")
|
||||
(description "$6")
|
||||
(license $7)))
|
|
@ -0,0 +1,7 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-svn-reference
|
||||
# key: svn-reference...
|
||||
# --
|
||||
(svn-reference
|
||||
(url "$1")
|
||||
(revision ${2:svn-revision}))
|
|
@ -0,0 +1,8 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-commit-message-add-package
|
||||
# key: add
|
||||
# condition: git-commit-mode
|
||||
# --
|
||||
gnu: Add $1.
|
||||
|
||||
* `(car (magit-staged-files))` ($1): New variable.
|
|
@ -0,0 +1,9 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-commit-message-update-package
|
||||
# key: update
|
||||
# condition: git-commit-mode
|
||||
# --
|
||||
gnu: $1: Update to $2.
|
||||
|
||||
* `(car (magit-staged-files))` ($1): Update to $2.$0
|
||||
`(mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files)) "\n")`
|
|
@ -20,6 +20,7 @@
|
|||
(define-module (gnu bootloader extlinux)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu build bootloader)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix monads)
|
||||
|
@ -95,13 +96,8 @@ TIMEOUT ~a~%"
|
|||
(find-files syslinux-dir "\\.c32$"))
|
||||
(unless
|
||||
(and (zero? (system* extlinux "--install" install-dir))
|
||||
(call-with-input-file (string-append syslinux-dir "/" #$mbr)
|
||||
(lambda (input)
|
||||
(let ((bv (get-bytevector-n input 440)))
|
||||
(call-with-output-file device
|
||||
(lambda (output)
|
||||
(put-bytevector output bv))
|
||||
#:binary #t)))))
|
||||
(write-file-on-device
|
||||
(string-append syslinux-dir "/" #$mbr) 440 device 0))
|
||||
(error "failed to install SYSLINUX")))))
|
||||
|
||||
(define install-extlinux-mbr
|
||||
|
|
|
@ -21,18 +21,35 @@
|
|||
#:use-module (gnu bootloader extlinux)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu build bootloader)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix utils)
|
||||
#:export (u-boot-bootloader))
|
||||
#:export (u-boot-bootloader
|
||||
u-boot-beaglebone-black-bootloader))
|
||||
|
||||
(define install-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
(if bootloader
|
||||
(error "Failed to install U-Boot"))))
|
||||
|
||||
(define install-beaglebone-black-u-boot
|
||||
;; http://wiki.beyondlogic.org/index.php?title=BeagleBoneBlack_Upgrading_uBoot
|
||||
;; This first stage bootloader called MLO (U-Boot SPL) is expected at
|
||||
;; 0x20000 by BBB ROM code. The second stage bootloader will be loaded by
|
||||
;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and
|
||||
;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the
|
||||
;; specified DEVICE.
|
||||
#~(lambda (bootloader device mount-point)
|
||||
(let ((mlo (string-append bootloader "/libexec/MLO"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.img")))
|
||||
(write-file-on-device mlo (* 256 512)
|
||||
device (* 256 512))
|
||||
(write-file-on-device u-boot (* 1024 512)
|
||||
device (* 768 512)))))
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -45,3 +62,9 @@
|
|||
(name 'u-boot)
|
||||
(package #f)
|
||||
(installer install-u-boot)))
|
||||
|
||||
(define u-boot-beaglebone-black-bootloader
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-beagle-bone-black)
|
||||
(installer install-beaglebone-black-u-boot)))
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu build bootloader)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:export (write-file-on-device))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Writing utils.
|
||||
;;;
|
||||
|
||||
(define (write-file-on-device file size device offset)
|
||||
"Write SIZE bytes from FILE to DEVICE starting at OFFSET."
|
||||
(call-with-input-file file
|
||||
(lambda (input)
|
||||
(let ((bv (get-bytevector-n input size)))
|
||||
(call-with-output-file device
|
||||
(lambda (output)
|
||||
(seek output offset SEEK_SET)
|
||||
(put-bytevector output bv))
|
||||
#:binary #t)))))
|
|
@ -22,8 +22,11 @@
|
|||
#:use-module (system repl error-handling)
|
||||
#:autoload (system repl repl) (start-repl)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module ((guix build syscalls)
|
||||
|
@ -35,6 +38,7 @@
|
|||
linux-command-line
|
||||
find-long-option
|
||||
make-essential-device-nodes
|
||||
make-static-device-nodes
|
||||
configure-qemu-networking
|
||||
|
||||
bind-mount
|
||||
|
@ -105,6 +109,109 @@ with the given MAJOR number, starting with MINOR."
|
|||
'block-special #o644 (device-number major (+ minor i)))
|
||||
(loop (+ i 1)))))
|
||||
|
||||
;; Representation of a /dev node.
|
||||
(define-record-type <device-node>
|
||||
(device-node name type major minor module)
|
||||
device-node?
|
||||
(name device-node-name)
|
||||
(type device-node-type)
|
||||
(major device-node-major)
|
||||
(minor device-node-minor)
|
||||
(module device-node-module))
|
||||
|
||||
(define (read-static-device-nodes port)
|
||||
"Read from PORT a list of <device-node> written in the format used by
|
||||
/lib/modules/*/*.devname files."
|
||||
(let loop ((line (read-line port)))
|
||||
(if (eof-object? line)
|
||||
'()
|
||||
(match (string-split line #\space)
|
||||
(((? (cut string-prefix? "#" <>)) _ ...)
|
||||
(loop (read-line port)))
|
||||
((module-name device-name device-spec)
|
||||
(let* ((device-parts
|
||||
(string-match "([bc])([0-9][0-9]*):([0-9][0-9]*)"
|
||||
device-spec))
|
||||
(type-string (match:substring device-parts 1))
|
||||
(type (match type-string
|
||||
("c" 'char-special)
|
||||
("b" 'block-special)))
|
||||
(major-string (match:substring device-parts 2))
|
||||
(major (string->number major-string 10))
|
||||
(minor-string (match:substring device-parts 3))
|
||||
(minor (string->number minor-string 10)))
|
||||
(cons (device-node device-name type major minor module-name)
|
||||
(loop (read-line port)))))
|
||||
(_
|
||||
(begin
|
||||
(format (current-error-port)
|
||||
"read-static-device-nodes: ignored devname line '~a'~%" line)
|
||||
(loop (read-line port))))))))
|
||||
|
||||
(define* (mkdir-p* dir #:optional (mode #o755))
|
||||
"This is a variant of 'mkdir-p' that works around
|
||||
<http://bugs.gnu.org/24659> by passing MODE explicitly in each 'mkdir' call."
|
||||
(define absolute?
|
||||
(string-prefix? "/" dir))
|
||||
|
||||
(define not-slash
|
||||
(char-set-complement (char-set #\/)))
|
||||
|
||||
(let loop ((components (string-tokenize dir not-slash))
|
||||
(root (if absolute?
|
||||
""
|
||||
".")))
|
||||
(match components
|
||||
((head tail ...)
|
||||
(let ((path (string-append root "/" head)))
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(mkdir path mode)
|
||||
(loop tail path))
|
||||
(lambda args
|
||||
(if (= EEXIST (system-error-errno args))
|
||||
(loop tail path)
|
||||
(apply throw args))))))
|
||||
(() #t))))
|
||||
|
||||
(define (report-system-error name . args)
|
||||
"Report a system error for the file NAME."
|
||||
(let ((errno (system-error-errno args)))
|
||||
(format (current-error-port) "could not create '~a': ~a~%" name
|
||||
(strerror errno))))
|
||||
|
||||
;; Catch a system-error, log it and don't die from it.
|
||||
(define-syntax-rule (catch-system-error name exp)
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
exp)
|
||||
(lambda args
|
||||
(apply report-system-error name args))))
|
||||
|
||||
;; Create a device node like the <device-node> passed here on the filesystem.
|
||||
(define create-device-node
|
||||
(match-lambda
|
||||
(($ <device-node> xname type major minor module)
|
||||
(let ((name (string-append "/dev/" xname)))
|
||||
(mkdir-p* (dirname name))
|
||||
(catch-system-error name
|
||||
(mknod name type #o600 (device-number major minor)))))))
|
||||
|
||||
(define* (make-static-device-nodes linux-release-module-directory)
|
||||
"Create static device nodes required by the given Linux release.
|
||||
This is required in order to solve a chicken-or-egg problem:
|
||||
The Linux kernel has a feature to autoload modules when a device is first
|
||||
accessed.
|
||||
And udev has a feature to set the permissions of static nodes correctly
|
||||
when it is starting up and also to automatically create nodes when hardware
|
||||
is hotplugged. That leaves universal device files which are not linked to
|
||||
one specific hardware device. These we have to create."
|
||||
(let ((devname-name (string-append linux-release-module-directory "/"
|
||||
"modules.devname")))
|
||||
(for-each create-device-node
|
||||
(call-with-input-file devname-name
|
||||
read-static-device-nodes))))
|
||||
|
||||
(define* (make-essential-device-nodes #:key (root "/"))
|
||||
"Make essential device nodes under ROOT/dev."
|
||||
;; The hand-made devtmpfs/udev!
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
|
@ -77,6 +77,7 @@
|
|||
linux initrd
|
||||
make-disk-image?
|
||||
single-file-output?
|
||||
target-arm32?
|
||||
(disk-image-size (* 100 (expt 2 20)))
|
||||
(disk-image-format "qcow2")
|
||||
(references-graphs '()))
|
||||
|
@ -91,6 +92,31 @@ access it via /dev/hda.
|
|||
|
||||
REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
|
||||
the #:references-graphs parameter of 'derivation'."
|
||||
|
||||
(define arch-specific-flags
|
||||
`(;; On ARM, a machine has to be specified. Use "virt" machine to avoid
|
||||
;; hardware limits imposed by other machines.
|
||||
,@(if target-arm32? '("-M" "virt") '())
|
||||
|
||||
;; Only enable kvm if we see /dev/kvm exists. This allows users without
|
||||
;; hardware virtualization to still use these commands. KVM support is
|
||||
;; still buggy on some ARM32 boards. Do not use it even if available.
|
||||
,@(if (and (file-exists? "/dev/kvm")
|
||||
(not target-arm32?))
|
||||
'("-enable-kvm")
|
||||
'())
|
||||
"-append"
|
||||
;; The serial port name differs between emulated architectures/machines.
|
||||
,@(if target-arm32?
|
||||
`(,(string-append "console=ttyAMA0 --load=" builder))
|
||||
`(,(string-append "console=ttyS0 --load=" builder)))
|
||||
;; NIC is not supported on ARM "virt" machine, so use a user mode
|
||||
;; network stack instead.
|
||||
,@(if target-arm32?
|
||||
'("-device" "virtio-net-pci,netdev=mynet"
|
||||
"-netdev" "user,id=mynet")
|
||||
'("-net" "nic,model=virtio"))))
|
||||
|
||||
(when make-disk-image?
|
||||
(format #t "creating ~a image of ~,2f MiB...~%"
|
||||
disk-image-format (/ disk-image-size (expt 2 20)))
|
||||
|
@ -113,7 +139,8 @@ the #:references-graphs parameter of 'derivation'."
|
|||
(unless (zero?
|
||||
(apply system* qemu "-nographic" "-no-reboot"
|
||||
"-m" (number->string memory-size)
|
||||
"-net" "nic,model=virtio"
|
||||
"-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
|
||||
"-device" "virtio-rng-pci,rng=guixsd-vm-rng"
|
||||
"-virtfs"
|
||||
(string-append "local,id=store_dev,path="
|
||||
(%store-directory)
|
||||
|
@ -127,15 +154,12 @@ the #:references-graphs parameter of 'derivation'."
|
|||
builder)
|
||||
(append
|
||||
(if make-disk-image?
|
||||
`("-drive" ,(string-append "file=" output
|
||||
",if=virtio"))
|
||||
`("-device" "virtio-blk,drive=myhd"
|
||||
"-drive" ,(string-append "if=none,file=" output
|
||||
",format=" disk-image-format
|
||||
",id=myhd"))
|
||||
'())
|
||||
;; Only enable kvm if we see /dev/kvm exists.
|
||||
;; This allows users without hardware virtualization to still
|
||||
;; use these commands.
|
||||
(if (file-exists? "/dev/kvm")
|
||||
'("-enable-kvm")
|
||||
'()))))
|
||||
arch-specific-flags)))
|
||||
(error "qemu failed" qemu))
|
||||
|
||||
;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already.
|
||||
|
|
26
gnu/local.mk
26
gnu/local.mk
|
@ -490,6 +490,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/system/vm.scm \
|
||||
\
|
||||
%D%/build/activation.scm \
|
||||
%D%/build/bootloader.scm \
|
||||
%D%/build/cross-toolchain.scm \
|
||||
%D%/build/file-systems.scm \
|
||||
%D%/build/install.scm \
|
||||
|
@ -557,6 +558,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/binutils-ld-new-dtags.patch \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/blast+-fix-makefile.patch \
|
||||
%D%/packages/patches/borg-fix-archive-corruption-bug.patch \
|
||||
%D%/packages/patches/byobu-writable-status.patch \
|
||||
%D%/packages/patches/cairo-CVE-2016-9082.patch \
|
||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||
|
@ -607,6 +609,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/dtc-format-modifier.patch \
|
||||
%D%/packages/patches/dtc-32-bits-check.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
%D%/packages/patches/eigen-arm-neon-fixes.patch \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elixir-disable-failing-tests.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
|
@ -701,15 +704,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
%D%/packages/patches/gobject-introspection-cc.patch \
|
||||
%D%/packages/patches/gobject-introspection-girepository.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-12935.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-12936.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-12937.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-13775.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-14042.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-14165.patch \
|
||||
%D%/packages/patches/graphicsmagick-CVE-2017-14649.patch \
|
||||
%D%/packages/patches/graphite2-ffloat-store.patch \
|
||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
%D%/packages/patches/groff-source-date-epoch.patch \
|
||||
|
@ -760,6 +754,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jacal-fix-texinfo.patch \
|
||||
%D%/packages/patches/java-powermock-fix-java-files.patch \
|
||||
%D%/packages/patches/jemalloc-arm-address-bits.patch \
|
||||
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
|
||||
%D%/packages/patches/jq-CVE-2015-8863.patch \
|
||||
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
|
||||
|
@ -826,6 +821,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libtool-skip-tests2.patch \
|
||||
%D%/packages/patches/libusb-0.1-disable-tests.patch \
|
||||
%D%/packages/patches/libusb-for-axoloti.patch \
|
||||
%D%/packages/patches/libvdpau-va-gl-unbundle.patch \
|
||||
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
|
||||
%D%/packages/patches/libxcb-python-3.5-compat.patch \
|
||||
%D%/packages/patches/libxslt-generated-ids.patch \
|
||||
|
@ -942,6 +938,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/perl-module-pluggable-search.patch \
|
||||
%D%/packages/patches/perl-reproducible-build-date.patch \
|
||||
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
|
||||
%D%/packages/patches/picprog-non-intel-support.patch \
|
||||
%D%/packages/patches/pidgin-add-search-path.patch \
|
||||
%D%/packages/patches/pinball-const-fix.patch \
|
||||
%D%/packages/patches/pinball-cstddef.patch \
|
||||
|
@ -994,6 +991,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-parse-too-many-fields.patch \
|
||||
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
|
||||
%D%/packages/patches/python-statsmodels-fix-tests.patch \
|
||||
%D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \
|
||||
%D%/packages/patches/python-configobj-setuptools.patch \
|
||||
%D%/packages/patches/python-faker-fix-build-32bit.patch \
|
||||
%D%/packages/patches/python-pandas-skip-failing-tests.patch \
|
||||
|
@ -1008,9 +1006,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15038.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15118.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15119.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15268.patch \
|
||||
%D%/packages/patches/qemu-CVE-2017-15289.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
|
@ -1028,6 +1023,11 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rsem-makefile.patch \
|
||||
%D%/packages/patches/rsync-CVE-2017-16548.patch \
|
||||
%D%/packages/patches/rsync-CVE-2017-17433.patch \
|
||||
%D%/packages/patches/rsync-CVE-2017-17433-fix-tests.patch \
|
||||
%D%/packages/patches/rsync-CVE-2017-17434-pt1.patch \
|
||||
%D%/packages/patches/rsync-CVE-2017-17434-pt2.patch \
|
||||
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
|
||||
%D%/packages/patches/ruby-concurrent-test-arm.patch \
|
||||
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
|
||||
|
@ -1053,7 +1053,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
|
||||
%D%/packages/patches/tar-CVE-2016-6321.patch \
|
||||
%D%/packages/patches/tar-skip-unreliable-tests.patch \
|
||||
%D%/packages/patches/tclxml-3.2-install.patch \
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -577,27 +578,34 @@ cosine/ sine transforms or DCT/DST).")
|
|||
(define-public eigen
|
||||
(package
|
||||
(name "eigen")
|
||||
(version "3.2.9")
|
||||
(version "3.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/eigen/eigen/get/"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zs5b210mq7nyanky07li6456rrd0xv2nxf6sl2lhkzdq5p067jd"))
|
||||
"19m4406jvqnwh7kpcvx1lfx2vdc5zwia5q9ayv89bimg1gmln9fx"))
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(patches (search-patches "eigen-arm-neon-fixes.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; There are 3 test failures in the "unsupported" directory,
|
||||
;; but maintainers say it's a known issue and it's unsupported
|
||||
;; anyway, so just skip them.
|
||||
'(substitute* "CMakeLists.txt"
|
||||
'(begin
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(unsupported\\)")
|
||||
"# Do not build the tests for unsupported features.\n")
|
||||
;; Work around
|
||||
;; <http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1114>.
|
||||
(("\"include/eigen3\"")
|
||||
"\"${CMAKE_INSTALL_PREFIX}/include/eigen3\"")))))
|
||||
"\"${CMAKE_INSTALL_PREFIX}/include/eigen3\""))
|
||||
(substitute* "test/bdcsvd.cpp"
|
||||
;; See
|
||||
;; https://bitbucket.org/eigen/eigen/commits/ea8c22ce6920e982d15245ee41d0531a46a28e5d
|
||||
((".*svd_preallocate[^\n]*" &)
|
||||
(string-append "//" & " // Not supported by BDCSVD")))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(;; Turn off debugging symbols to save space.
|
||||
|
@ -608,6 +616,7 @@ cosine/ sine transforms or DCT/DST).")
|
|||
(lambda _
|
||||
(let* ((cores (parallel-job-count))
|
||||
(dash-j (format #f "-j~a" cores)))
|
||||
(setenv "EIGEN_SEED" "1") ;for reproducibility
|
||||
;; First build the tests, in parallel. See
|
||||
;; <http://eigen.tuxfamily.org/index.php?title=Tests>.
|
||||
(and (zero? (system* "make" "buildtests" dash-j))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
|
||||
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -130,12 +130,20 @@ dictionaries, including personal ones.")
|
|||
(base32
|
||||
"01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s")))
|
||||
|
||||
(define-public aspell-dict-en
|
||||
(aspell-dictionary "en" "English"
|
||||
#:version "2017.01.22-0"
|
||||
(define-public aspell-dict-el
|
||||
(aspell-dictionary "el" "Greek"
|
||||
#:version "0.08-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1qamzpw1fsnn5n9jpsnnnzqj1a0m0xvsikmkdp5a6pmb7sp3ziwk")))
|
||||
"1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja")))
|
||||
|
||||
(define-public aspell-dict-en
|
||||
(aspell-dictionary "en" "English"
|
||||
#:version "2017.08.24-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"0z2vvm1by485cm0sna21cmw6zb771c2l2lnn676zmrwm46q65d89")))
|
||||
|
||||
(define-public aspell-dict-eo
|
||||
(aspell-dictionary "eo" "Esperanto"
|
||||
|
@ -159,12 +167,19 @@ dictionaries, including personal ones.")
|
|||
(base32
|
||||
"14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr")))
|
||||
|
||||
(define-public aspell-dict-ru
|
||||
(aspell-dictionary "ru" "Russian"
|
||||
#:version "0.99f7-1"
|
||||
(define-public aspell-dict-grc
|
||||
(aspell-dictionary "grc" "Ancient Greek"
|
||||
#:version "0.02-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
|
||||
"1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512")))
|
||||
|
||||
(define-public aspell-dict-he
|
||||
(aspell-dictionary "he" "Hebrew"
|
||||
#:version "1.0-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
|
||||
|
||||
(define-public aspell-dict-it
|
||||
(aspell-dictionary "it" "Italian"
|
||||
|
@ -181,12 +196,20 @@ dictionaries, including personal ones.")
|
|||
(base32
|
||||
"0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4")))
|
||||
|
||||
(define-public aspell-dict-he
|
||||
(aspell-dictionary "he" "Hebrew"
|
||||
#:version "1.0-0"
|
||||
(define-public aspell-dict-pt-br
|
||||
(aspell-dictionary "pt-br" "Brazilian Portuguese"
|
||||
#:version "20090702-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
|
||||
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
|
||||
|
||||
(define-public aspell-dict-ru
|
||||
(aspell-dictionary "ru" "Russian"
|
||||
#:version "0.99f7-1"
|
||||
#:sha256
|
||||
(base32
|
||||
"0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))
|
||||
|
||||
(define-public aspell-dict-sv
|
||||
(aspell-dictionary "sv" "Swedish"
|
||||
|
@ -196,29 +219,6 @@ dictionaries, including personal ones.")
|
|||
(base32
|
||||
"02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v")))
|
||||
|
||||
(define-public aspell-dict-el
|
||||
(aspell-dictionary "el" "Greek"
|
||||
#:version "0.08-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja")))
|
||||
|
||||
(define-public aspell-dict-grc
|
||||
(aspell-dictionary "grc" "Ancient Greek"
|
||||
#:version "0.02-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512")))
|
||||
|
||||
(define-public aspell-dict-pt-br
|
||||
(aspell-dictionary "pt-br" "Brazilian Portuguese"
|
||||
#:version "20090702-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Hunspell packages made from the Aspell word lists.
|
||||
|
|
|
@ -222,7 +222,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
|
|||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'unpack 'set-rpath-in-LDFLAGS
|
||||
,(ardour-rpath-phase (version-prefix version 1))))
|
||||
,(ardour-rpath-phase (version-major version))))
|
||||
#:test-target "test"
|
||||
#:python ,python-2))
|
||||
(inputs
|
||||
|
@ -1993,6 +1993,38 @@ and ALSA.")
|
|||
into various outputs and to start, stop and configure jackd")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public qjackrcd
|
||||
(package
|
||||
(name "qjackrcd")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qjackrcd/stable/"
|
||||
"qjackrcd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xpnhzbwg5c60n5dhwln5p7qm191nvmf23la88zxfqx1jv0mmxxb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(zero? (system* "qmake"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "out")))))))))
|
||||
(native-inputs
|
||||
`(("qtbase" ,qtbase))) ; for qmake
|
||||
(inputs
|
||||
`(("jack" ,jack-1)
|
||||
("libsndfile" ,libsndfile)
|
||||
("qtbase" ,qtbase)))
|
||||
(home-page "https://sourceforge.net/projects/qjackrcd/")
|
||||
(synopsis "Stereo audio recorder for JACK")
|
||||
(description "QJackRcd is a simple graphical stereo recorder for JACK
|
||||
supporting silence processing for automatic pause, file splitting, and
|
||||
background file post-processing.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public raul
|
||||
(package
|
||||
|
@ -3136,3 +3168,106 @@ on the ALSA software PCM plugin.")
|
|||
customized and extended using either the s7 Scheme implementation (included in
|
||||
the Snd sources), Ruby, or Forth.")
|
||||
(license (license:non-copyleft "file://COPYING"))))
|
||||
|
||||
(define-public noise-repellent
|
||||
(package
|
||||
(name "noise-repellent")
|
||||
(version "0.1.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lucianodato/noise-repellent.git")
|
||||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rd3dlmk3vivjmcr6x2x860y0j1d49c2j95j6ny50v184mwvn11j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:tests? #f ; there are none
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("lv2" ,lv2)
|
||||
("fftwf" ,fftwf)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/lucianodato/noise-repellent")
|
||||
(synopsis "LV2 plugin for broadband noise reduction")
|
||||
(description "Noise Repellent is an LV2 plugin to reduce noise. It has
|
||||
the following features:
|
||||
|
||||
@enumerate
|
||||
@item Spectral gating and spectral subtraction suppression rule
|
||||
@item Adaptive and manual noise thresholds estimation
|
||||
@item Adjustable noise floor
|
||||
@item Adjustable offset of thresholds to perform over-subtraction
|
||||
@item Time smoothing and a masking estimation to reduce artifacts
|
||||
@item Basic onset detector to avoid transients suppression
|
||||
@item Whitening of the noise floor to mask artifacts and to recover higher
|
||||
frequencies
|
||||
@item Option to listen to the residual signal
|
||||
@item Soft bypass
|
||||
@item Noise profile saved with the session
|
||||
@end enumerate
|
||||
")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public cli-visualizer
|
||||
(package
|
||||
(name "cli-visualizer")
|
||||
(version "1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dpayne/cli-visualizer/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07zkm87f2fr8kc6531zrkya7q81sdanm6813y2f54mg13g41y6hi"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
(inputs
|
||||
`(("fftw" ,fftw)
|
||||
("googletest" ,googletest)
|
||||
("ncurses" ,ncurses)
|
||||
("pulseaudio" ,pulseaudio)))
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
#:make-flags
|
||||
(list (string-append "PREFIX=" %output "/bin/") "ENABLE_PULSE=1")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-sudo
|
||||
(lambda _
|
||||
(substitute* "install.sh" (("sudo") ""))
|
||||
#t))
|
||||
(add-before 'check 'set-check-environment
|
||||
(lambda _
|
||||
(setenv "CXX" "g++")
|
||||
(setenv "CC" "gcc")
|
||||
#t))
|
||||
(add-before 'install 'make-prefix
|
||||
(lambda _
|
||||
(mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))
|
||||
#t))
|
||||
(add-after 'install 'data
|
||||
(lambda _
|
||||
(for-each (lambda (file)
|
||||
(install-file file
|
||||
(string-append (assoc-ref %outputs "out")
|
||||
"/share/doc")))
|
||||
(find-files "examples"))
|
||||
#t)))))
|
||||
(home-page "https://github.com/dpayne/cli-visualizer/")
|
||||
(synopsis "Command-line audio visualizer")
|
||||
(description "@code{cli-visualizer} displays fast-Fourier
|
||||
transforms (FFTs) of the sound being played, as well as other graphical
|
||||
representations.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -189,7 +189,7 @@
|
|||
`(("chibios"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "mirror://sourceforge/chibios/ChibiOS_RT%20stable/Version%202.6.9/ChibiOS_2.6.9.zip")
|
||||
(uri "mirror://sourceforge/chibios/ChibiOS%20GPL3/Version%202.6.9/ChibiOS_2.6.9.zip")
|
||||
(sha256
|
||||
(base32
|
||||
"0lb5s8pkj80mqhsy47mmq0lqk34s2a2m3xagzihalvabwd0frhlj"))))
|
||||
|
|
|
@ -456,6 +456,7 @@ detection, and lossless compression.")
|
|||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(patches (search-patches "borg-fix-archive-corruption-bug.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rvn8b6clzd1r317r9jkvk34r31risi0dxfjc7jffhnwasck4anc"))
|
||||
|
|
|
@ -421,7 +421,7 @@ computational cluster.")
|
|||
(define-public bedtools
|
||||
(package
|
||||
(name "bedtools")
|
||||
(version "2.27.0")
|
||||
(version "2.27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/arq5x/bedtools2/releases/"
|
||||
|
@ -429,7 +429,7 @@ computational cluster.")
|
|||
"bedtools-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0q6fsiz4s52yzxs6h2vxwq95fsi3n64wkpinkk05mfh4dmhybw74"))))
|
||||
"1ndg5yknrxl4djx8ddzgk12rrbiidfpmkkg5z3f95jzryfxarhn8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
|
@ -466,7 +466,19 @@ BED, GFF/GTF, VCF.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf"))))))
|
||||
"05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf"))))
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
|
||||
(for-each (lambda (file)
|
||||
(install-file file bin))
|
||||
(find-files "bin" ".*")))
|
||||
#t)))))))
|
||||
|
||||
(define-public ribotaper
|
||||
(package
|
||||
|
@ -2061,7 +2073,7 @@ identify enrichments with functional annotations of the genome.")
|
|||
(define-public diamond
|
||||
(package
|
||||
(name "diamond")
|
||||
(version "0.9.13")
|
||||
(version "0.9.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2070,7 +2082,7 @@ identify enrichments with functional annotations of the genome.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pi5ncqwmynqpmmp3j3lhnqrjhj34sr6wpmsgrpkv3wyxx22fv86"))))
|
||||
"07li3chjdna0wjyh680j3bhwiqh1fbfq9dy9jxxs82mc0rw0m1yy"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no "check" target
|
||||
|
@ -2905,7 +2917,7 @@ indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).")
|
|||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://eddylab.org/software/hmmer"
|
||||
(version-prefix version 1) "/"
|
||||
(version-major version) "/"
|
||||
version "/hmmer-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
@ -9385,27 +9397,20 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-seurat
|
||||
;; Source releases are only made for new x.0 versions. All newer versions
|
||||
;; are only released as pre-built binaries. At the time of this writing the
|
||||
;; latest binary release is 1.4.0.12, which is equivalent to this commit.
|
||||
(let ((commit "fccb77d1452c35ee47e47ebf8e87bddb59f3b08d")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-seurat")
|
||||
(version (string-append "1.4.0.12-" revision "." (string-take commit 7)))
|
||||
(version "2.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/satijalab/seurat")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Seurat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"101wq3aqrdmbfi3lqmq4iivk9iwbf10d4z216ss25hf7n9091cyl"))
|
||||
"1hqaq6bciikrsyw157w8fn4jw885air7xbkxrmism93rp4qx483x"))
|
||||
;; Delete pre-built jar.
|
||||
(snippet
|
||||
'(begin (delete-file "inst/java/ModularityOptimizer.jar")
|
||||
#t))))
|
||||
(properties `((upstream-name . "Seurat")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -9415,10 +9420,15 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
(let ((classesdir "tmp-classes"))
|
||||
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
|
||||
(mkdir classesdir)
|
||||
(with-output-to-file "manifest"
|
||||
(lambda _
|
||||
(display "Manifest-Version: 1.0
|
||||
Main-Class: ModularityOptimizer\n")))
|
||||
(and (zero? (apply system* `("javac" "-d" ,classesdir
|
||||
,@(find-files "java" "\\.java$"))))
|
||||
(zero? (system* "jar"
|
||||
"-cf" "inst/java/ModularityOptimizer.jar"
|
||||
"-cmf" "manifest"
|
||||
"inst/java/ModularityOptimizer.jar"
|
||||
"-C" classesdir ".")))))))))
|
||||
(native-inputs
|
||||
`(("jdk" ,icedtea "jdk")))
|
||||
|
@ -9426,30 +9436,38 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
`(("r-ape" ,r-ape)
|
||||
("r-caret" ,r-caret)
|
||||
("r-cowplot" ,r-cowplot)
|
||||
("r-diffusionmap" ,r-diffusionmap)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-fastica" ,r-fastica)
|
||||
("r-dtw" ,r-dtw)
|
||||
("r-fnn" ,r-fnn)
|
||||
("r-fpc" ,r-fpc)
|
||||
("r-gdata" ,r-gdata)
|
||||
("r-ggjoy" ,r-ggjoy)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gplots" ,r-gplots)
|
||||
("r-gridextra" ,r-gridextra)
|
||||
("r-hmisc" ,r-hmisc)
|
||||
("r-ica" ,r-ica)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-irlba" ,r-irlba)
|
||||
("r-lars" ,r-lars)
|
||||
("r-mass" ,r-mass)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-mixtools" ,r-mixtools)
|
||||
("r-nmf" ,r-nmf)
|
||||
("r-pbapply" ,r-pbapply)
|
||||
("r-plyr" ,r-plyr)
|
||||
("r-plotly" ,r-plotly)
|
||||
("r-ranger" ,r-ranger)
|
||||
("r-rcolorbrewer" ,r-rcolorbrewer)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-rcppeigen" ,r-rcppeigen)
|
||||
("r-rcppprogress" ,r-rcppprogress)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-rocr" ,r-rocr)
|
||||
("r-rtsne" ,r-rtsne)
|
||||
("r-sdmtools" ,r-sdmtools)
|
||||
("r-stringr" ,r-stringr)
|
||||
("r-tclust" ,r-tclust)
|
||||
("r-tidyr" ,r-tidyr)
|
||||
("r-tsne" ,r-tsne)
|
||||
("r-vgam" ,r-vgam)))
|
||||
(home-page "http://www.satijalab.org/seurat")
|
||||
|
@ -9461,7 +9479,7 @@ analytical techniques, including the identification of highly variable genes,
|
|||
dimensionality reduction; PCA, ICA, t-SNE, standard unsupervised clustering
|
||||
algorithms; density clustering, hierarchical clustering, k-means, and the
|
||||
discovery of differentially expressed genes and markers.")
|
||||
(license license:gpl3))))
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-aroma-light
|
||||
(package
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -70,7 +71,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
|
|||
(define-public meson
|
||||
(package
|
||||
(name "meson")
|
||||
(version "0.43.0")
|
||||
(version "0.44.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mesonbuild/meson/"
|
||||
|
@ -78,7 +79,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h3k0m45004ay1hzz9r66fkl1kwizaigxahyrlabyw0d1slyq4y5"))))
|
||||
"06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
|
||||
(build-system python-build-system)
|
||||
(inputs `(("ninja", ninja)))
|
||||
(propagated-inputs `(("python" ,python)))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -61,14 +62,14 @@
|
|||
(define-public chez-scheme
|
||||
(package
|
||||
(name "chez-scheme")
|
||||
(version "9.4")
|
||||
(version "9.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/cisco/ChezScheme/archive/"
|
||||
"v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lprmpsjg2plc6ykgkz482zyvhkzv6gd0vnar71ph21h6zknyklz"))
|
||||
(base32 "135991hspq0grf26pvl2lkwhp92yz204h6rgiwyym0x6v0xzknd1"))
|
||||
(file-name (string-append "chez-scheme-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -105,6 +106,14 @@
|
|||
(lambda _ (substitute* "configure"
|
||||
(("uname -a") "uname -m"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-broken-documentation
|
||||
(lambda _
|
||||
;; Work around an oversight in the 9.5 release tarball that causes
|
||||
;; building the documentation to fail. This should be fixed in the
|
||||
;; next one; see <https://github.com/cisco/ChezScheme/issues/209>.
|
||||
(substitute* "csug/copyright.stex"
|
||||
(("\\\\INSERTREVISIONMONTHSPACEYEAR" )
|
||||
"October 2017")))) ; tarball release date
|
||||
;; Adapt the custom 'configure' script.
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
|
@ -99,14 +99,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
|
|||
(define-public global ; a global variable
|
||||
(package
|
||||
(name "global")
|
||||
(version "6.5.7")
|
||||
(version "6.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/global/global-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cnd7a7d1pl46yk15q6mnr9i9w3xi8pxgchw4ia9njgr4jjqzh6r"))))
|
||||
"1r2r6z41lmgbszzwx7h3jqhwnqb9jj32pndzhr3lb0id710c8gcl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("libltdl" ,libltdl)
|
||||
|
|
|
@ -661,7 +661,7 @@ compression library.")
|
|||
(define-public perl-compress-raw-zlib
|
||||
(package
|
||||
(name "perl-compress-raw-zlib")
|
||||
(version "2.074")
|
||||
(version "2.076")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -669,7 +669,7 @@ compression library.")
|
|||
"Compress-Raw-Zlib-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08bpx9v6i40n54rdcj6invlj294z20amrl8wvwf9b83aldwdwsd3"))))
|
||||
"1al2h0i6mspldmlf5c09fy5a4j8swsxd31v6zi8zx9iyqk1lw7in"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
|
|
|
@ -1642,3 +1642,134 @@ originally inspired by the book \"Visualizing Categorical Data\" by Michael
|
|||
Friendly and is now the main support package for a new book, \"Discrete Data
|
||||
Analysis with R\" by Michael Friendly and David Meyer (2015).")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-ica
|
||||
(package
|
||||
(name "r-ica")
|
||||
(version "1.0-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ica" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bkl4a72l0k6gm82l3jxnib898z20cw17zg81jj39l9dn65rlmcq"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://cran.r-project.org/web/packages/ica/")
|
||||
(synopsis "Independent component analysis")
|
||||
(description "This package provides tools for @dfn{Independent Component
|
||||
Analysis} (ICA) using various algorithms: FastICA,
|
||||
Information-Maximization (Infomax), and @dfn{Joint Approximate Diagonalization
|
||||
of Eigenmatrices} (JADE).")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-dtw
|
||||
(package
|
||||
(name "r-dtw")
|
||||
(version "1.18-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "dtw" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b91vahba09cqlb8b1ry4dlv4rbldb4s2p6w52gmyw31vxdv5nnr"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-proxy" ,r-proxy)))
|
||||
(home-page "http://dtw.r-forge.r-project.org/")
|
||||
(synopsis "Dynamic Time Warping Algorithms")
|
||||
(description "This package provides a comprehensive implementation of
|
||||
@dfn{dynamic time warping} (DTW) algorithms in R. DTW computes the
|
||||
optimal (least cumulative distance) alignment between points of two time
|
||||
series. Common DTW variants covered include local (slope) and global (window)
|
||||
constraints, subsequence matches, arbitrary distance definitions,
|
||||
normalizations, minimum variance matching, and so on.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-sdmtools
|
||||
(package
|
||||
(name "r-sdmtools")
|
||||
(version "1.1-221")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "SDMTools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kacrpamshv7wz83yn45sfbw4m9c44xrrngzcklnwx8gcxx2knm6"))))
|
||||
(properties `((upstream-name . "SDMTools")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-r-utils" ,r-r-utils)))
|
||||
(home-page "http://www.rforge.net/SDMTools/")
|
||||
(synopsis "Species distribution modelling tools")
|
||||
(description "This packages provides a set of tools for post processing
|
||||
the outcomes of species distribution modeling exercises. It includes novel
|
||||
methods for comparing models and tracking changes in distributions through
|
||||
time. It further includes methods for visualizing outcomes, selecting
|
||||
thresholds, calculating measures of accuracy and landscape fragmentation
|
||||
statistics, etc.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-scatterplot3d
|
||||
(package
|
||||
(name "r-scatterplot3d")
|
||||
(version "0.3-40")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "scatterplot3d" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ababcj87kx7860mica9y2ydlhskxmgj9n46crx036cila512jc2"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://cran.r-project.org/web/packages/scatterplot3d/")
|
||||
(synopsis "3D scatter plot")
|
||||
(description "This package provides an implementation of scatter plots for
|
||||
plotting. a three dimensional point cloud.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-ggridges
|
||||
(package
|
||||
(name "r-ggridges")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggridges" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kfa3icqdalqdg1klxjrhfl7if35d3wnsiyl86bprw5dyqyh3lh3"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ggplot2" ,r-ggplot2)
|
||||
("r-plyr" ,r-plyr)
|
||||
("r-scales" ,r-scales)))
|
||||
(home-page "https://github.com/clauswilke/ggridges")
|
||||
(synopsis "Ridgeline plots in ggplot2")
|
||||
(description
|
||||
"Ridgeline plots provide a convenient way of visualizing changes in
|
||||
distributions over time or space. This package enables the creation of such
|
||||
plots in @code{ggplot2}.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-ggjoy
|
||||
(package
|
||||
(name "r-ggjoy")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggjoy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s24zn7gmk52bvjjhanxby7rxbnc2yfl0nx5nv7x7z0zja8gg7nb"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ggplot2" ,r-ggplot2)
|
||||
("r-ggridges" ,r-ggridges)))
|
||||
(home-page "https://github.com/clauswilke/ggjoy")
|
||||
(synopsis "Joyplots in ggplot2")
|
||||
(description "Joyplots provide a convenient way of visualizing changes in
|
||||
distributions over time or space. This package enables the creation of such
|
||||
plots in @code{ggplot2}.")
|
||||
(license license:gpl2)))
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
(define-public libsodium
|
||||
(package
|
||||
(name "libsodium")
|
||||
(version "1.0.15")
|
||||
(version "1.0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
|
@ -72,7 +72,7 @@
|
|||
"releases/old/libsodium-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1x3qw7lsz44vcxpcn1dvwig410phg6gmv31jwj94arrgka3rwspv"))))
|
||||
"0cq5pn7qcib7q70mm1lgjwj75xdxix27v0xl1xl0kvxww7hwgbgf"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Portable NaCl-based crypto library")
|
||||
(description
|
||||
|
|
|
@ -370,14 +370,19 @@ device-specific programs to convert and print many types of files.")
|
|||
(define-public hplip
|
||||
(package
|
||||
(name "hplip")
|
||||
(version "3.17.10")
|
||||
(version "3.17.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
|
||||
"/hplip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v27hg856b5z2rilczcbfgz8ksxn0n810g1glac3mxkj8qbl8wqg"))))
|
||||
"0xda7x7xxjvzn1l0adlvbwcw21crq1r3r79bkf94q3m5i6abx49g"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Fix type mismatch.
|
||||
'(substitute* "prnt/hpcups/genPCLm.cpp"
|
||||
(("boolean") "bool")))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://hplipopensource.com/")
|
||||
(synopsis "HP Printer Drivers")
|
||||
|
@ -437,11 +442,11 @@ device-specific programs to convert and print many types of files.")
|
|||
(("/usr/include/libusb-1.0")
|
||||
(string-append (assoc-ref inputs "libusb")
|
||||
"/include/libusb-1.0"))
|
||||
(("^\tinstall-dist_hplip_stateDATA")
|
||||
;; Remove dependencies on
|
||||
;; 'install-dist_hplip_stateDATA' so we don't bail
|
||||
;; out while trying to create /var/lib/hplip.
|
||||
"\t")
|
||||
(("hplip_statedir =.*$")
|
||||
;; Don't bail out while trying to create
|
||||
;; /var/lib/hplip. We can safely change its value
|
||||
;; here because it's hard-coded in the code anyway.
|
||||
"hplip_statedir = $(prefix)\n")
|
||||
(("hplip_confdir = /etc/hp")
|
||||
;; This is only used for installing the default config.
|
||||
(string-append "hplip_confdir = " out
|
||||
|
@ -470,12 +475,14 @@ device-specific programs to convert and print many types of files.")
|
|||
("cups-minimal" ,cups-minimal)
|
||||
("libusb" ,libusb)
|
||||
("sane-backends" ,sane-backends-minimal)
|
||||
("zlib" ,zlib)
|
||||
("dbus" ,dbus)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("python" ,python)
|
||||
;; TODO: Make hp-setup find python-dbus.
|
||||
("python-dbus" ,python-dbus)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("perl" ,perl)))))
|
||||
|
||||
(define-public foomatic-filters
|
||||
(package
|
||||
|
|
|
@ -1280,7 +1280,7 @@ module, and nothing else.")
|
|||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
|
||||
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
|
||||
"SQL-Abstract-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
|
|
@ -116,3 +116,58 @@ with the number of cores. liburcu-cds provides efficient data structures
|
|||
based on RCU and lock-free algorithms. These structures include hash tables,
|
||||
queues, stacks, and doubly-linked lists.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public uthash
|
||||
(package
|
||||
(name "uthash")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(uri (string-append "https://github.com/troydhanson/uthash/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1la82gdlyl7m8ahdjirigwfh7zjgkc24cvydrqcri0vsvm8iv8rl"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; nothing to configure
|
||||
(delete 'build) ; nothing to build
|
||||
(replace 'check
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(with-directory-excursion "tests"
|
||||
(zero? (apply system* "make"
|
||||
make-flags)))))
|
||||
(replace 'install
|
||||
;; There is no top-level Makefile to do this for us.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (string-append out "/share/doc/" ,name))
|
||||
(include (string-append out "/include")))
|
||||
;; Don't install HTML files: they're just the below .txt files
|
||||
;; dolled up, can be stale, and regeneration requires asciidoc.
|
||||
(for-each (λ (file) (install-file file doc))
|
||||
(find-files "doc" "\\.txt$"))
|
||||
(for-each (λ (file) (install-file file include))
|
||||
(find-files "src" "\\.h$"))
|
||||
#t))))))
|
||||
(home-page "https://troydhanson.github.io/uthash/")
|
||||
(synopsis
|
||||
"Hash tables, lists, and other data structures implemented as C macros")
|
||||
(description
|
||||
"uthash implements a hash table and a few other basic data structures
|
||||
as C preprocessor macros. It aims to be minimalistic and efficient: it's
|
||||
around 1,000 lines of code which, being macros, inline automatically.
|
||||
|
||||
Unlike function calls with fixed prototypes, macros operate on untyped
|
||||
arguments. Thus, they are able to work with any type of structure and key.
|
||||
Any C structure can be stored in a hash table by adding @code{UT_hash_handle}
|
||||
to the structure and choosing one or more fields to act as the key.")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages curl)
|
||||
|
@ -206,6 +207,45 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
|||
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://www.dicollecte.org/grammalecte/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bl342i7nqbg8swk3fxashg9liyp3jdnix59pndhy41cpm1xln4i"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-setup.py
|
||||
;; FIXME: "setup.py" contains a typo in 0.6.1 release. The
|
||||
;; issue was reported and fixed upstream
|
||||
;; (https://dicollecte.org/thread.php?prj=fr&t=674). This
|
||||
;; phase can be removed in next release.
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("server_options\\.") "grammalecte-server-options."))
|
||||
#t)))))
|
||||
(home-page "https://www.dicollecte.org")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
(description "Grammalecte is a grammar checker dedicated to the French
|
||||
language, derived from Lightproof.
|
||||
|
||||
Grammalecte aims at helping to write a proper French without distracting users
|
||||
with false positives. This grammar checker follows the principle: the less
|
||||
false positives, the better; if it cannot know with a good chance if
|
||||
a dubious expression is wrong, it will keep silent.
|
||||
|
||||
The package provides the command line interface, along with a server
|
||||
and a Python library.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public translate-shell
|
||||
(package
|
||||
(name "translate-shell")
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
|
||||
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -377,7 +378,7 @@ when typing parentheses directly or commenting out code line by line.")
|
|||
|
||||
(define-public git-modes
|
||||
(package
|
||||
(name "git-modes")
|
||||
(name "emacs-git-modes")
|
||||
(version "1.2.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -396,6 +397,9 @@ when typing parentheses directly or commenting out code line by line.")
|
|||
configuration files, such as .gitattributes, .gitignore, and .git/config.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public git-modes/old-name
|
||||
(deprecated-package "git-modes" git-modes))
|
||||
|
||||
(define-public emacs-with-editor
|
||||
(package
|
||||
(name "emacs-with-editor")
|
||||
|
@ -1972,6 +1976,26 @@ keep pressing the key until it selects what you want. There's also
|
|||
column by drawing a thin line down the length of the editing window.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-grep-a-lot
|
||||
(package
|
||||
(name "emacs-grep-a-lot")
|
||||
(version "1.0.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ZungBang/emacs-grep-a-lot.git")
|
||||
(commit "9f9f645b9e308a0d887b66864ff97d0fca1ba4ad")))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f8262mrlinzgnn4m49hbj1hm3c1mvzza24py4b37sasn49546lw"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/ZungBang/emacs-grep-a-lot")
|
||||
(synopsis "Enables multiple grep buffers in Emacs")
|
||||
(description
|
||||
"This Emacs package allows managing multiple grep buffers.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-inf-ruby
|
||||
(package
|
||||
(name "emacs-inf-ruby")
|
||||
|
@ -2153,6 +2177,43 @@ evaluated in the browser, just like Emacs does with an inferior Lisp process
|
|||
in Lisp modes.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public emacs-string-inflection
|
||||
(package
|
||||
(name "emacs-string-inflection")
|
||||
(version "1.0.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/akicho8/string-inflection")
|
||||
(commit "a150e7bdda60b7824d3a936750ce23f73b0e4edd")))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1k0sm552iawi49v4zis6dbb81d1rzgky9v0dpv7nj31gnb7bmy7k"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
`(("ert-runner" ,ert-runner)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'check
|
||||
(lambda _
|
||||
(zero? (system* "ert-runner")))))))
|
||||
(home-page "https://github.com/akicho8/string-inflection")
|
||||
(synopsis "Convert symbol names between different naming conventions")
|
||||
(description
|
||||
"This Emacs package provides convenient methods for manipulating the
|
||||
naming style of a symbol. It supports different naming conventions such as:
|
||||
|
||||
@enumerate
|
||||
@item camel case
|
||||
@item Pascal case
|
||||
@item all upper case
|
||||
@item lower case separated by underscore
|
||||
@item etc...
|
||||
@end enumerate\n")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-stripe-buffer
|
||||
(package
|
||||
(name "emacs-stripe-buffer")
|
||||
|
@ -2195,6 +2256,31 @@ tables.")
|
|||
mode-line.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-robe
|
||||
(package
|
||||
(name "emacs-robe")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dgutov/robe/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vp45y99fwj88z04ah4yppz4z568qcib646az6m9az5ar0f203br"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-inf-ruby" ,emacs-inf-ruby)))
|
||||
(home-page "https://github.com/dgutov/robe")
|
||||
(synopsis "Ruby code assistance tool for Emacs")
|
||||
(description
|
||||
"Robe can provide information on loaded classes and modules in Ruby code,
|
||||
as well as where methods are defined. This allows the user to jump to method
|
||||
definitions, modules and classes, display method documentation and provide
|
||||
method and constant name completion.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-rspec
|
||||
(package
|
||||
(name "emacs-rspec")
|
||||
|
@ -2969,7 +3055,7 @@ single theme but a set of guidelines with numerous implementations.")
|
|||
(define-public emacs-smartparens
|
||||
(package
|
||||
(name "emacs-smartparens")
|
||||
(version "1.10.1")
|
||||
(version "1.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2978,7 +3064,7 @@ single theme but a set of guidelines with numerous implementations.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nwsi6fbbxjq3r22r6knmx71la3g0lmwfb95i9q4k138gn0m2l3i"))))
|
||||
"0q5as813xs8y29i3v2rm97phd6m7xsmmw6hwbvx57gwmi8i1c409"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs `(("emacs-dash" ,emacs-dash)))
|
||||
(home-page "https://github.com/Fuco1/smartparens")
|
||||
|
@ -4897,7 +4983,7 @@ highlights quasi-quoted expressions.")
|
|||
(define-public emacspeak
|
||||
(package
|
||||
(name "emacspeak")
|
||||
(version "46.0")
|
||||
(version "47.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4906,11 +4992,7 @@ highlights quasi-quoted expressions.")
|
|||
version "/emacspeak-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"15x4yfp3wl2fxm1nkx6pz3clw6zyw3argcsqxgcx6pa28sivlg2n"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete the bundled byte-compiled elisp files.
|
||||
'(for-each delete-file (find-files "lisp" "\\.elc$")))))
|
||||
"0xbcc266x752y68s3g096m161irzvsqym3axzqn8rb276a8x55n7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "prefix="
|
||||
|
@ -4920,6 +5002,7 @@ highlights quasi-quoted expressions.")
|
|||
(replace 'configure
|
||||
(lambda _
|
||||
;; Configure Emacspeak according to etc/install.org.
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(zero? (system* "make" "config"))))
|
||||
(add-after 'build 'build-espeak
|
||||
(lambda _
|
||||
|
@ -4998,6 +5081,28 @@ you'd get with @kbd{M-q} using @code{adaptive-fill-mode}, but without
|
|||
actually changing the buffer's text.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-diff-hl
|
||||
(package
|
||||
(name "emacs-diff-hl")
|
||||
(version "1.8.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://elpa.gnu.org/packages/diff-hl-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"0axhidc3cym7a2x4rpxf4745qss9s9ajyg4s9h5b4zn7v7fyp71n"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/dgutov/diff-hl")
|
||||
(synopsis
|
||||
"Highlight uncommitted changes using VC")
|
||||
(description
|
||||
"@code{diff-hl-mode} highlights uncommitted changes on the side of the
|
||||
window (using the fringe, by default), allows you to jump between
|
||||
the hunks and revert them selectively.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-diminish
|
||||
(package
|
||||
(name "emacs-diminish")
|
||||
|
@ -5386,7 +5491,7 @@ It should enable you to implement low-level X11 applications.")
|
|||
(define-public emacs-exwm
|
||||
(package
|
||||
(name "emacs-exwm")
|
||||
(version "0.15")
|
||||
(version "0.16")
|
||||
(synopsis "Emacs X window manager")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -5394,7 +5499,7 @@ It should enable you to implement low-level X11 applications.")
|
|||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y7nqry9y0a99bsdqkk9f554vczfw4sz6raadw3138835qy697jg"))))
|
||||
"0c4w5k9lzqj8yzhdqipdb4fs7ld2qklc6s137104jnfdvmrwcv2i"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-xelb" ,emacs-xelb)))
|
||||
|
@ -5930,6 +6035,35 @@ available key bindings that follow C-x (or as many as space allows given your
|
|||
settings).")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ws-butler
|
||||
(package
|
||||
(name "emacs-ws-butler")
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lewang/ws-butler.git")
|
||||
(commit "323b651dd70ee40a25accc940b8f80c3a3185205")))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a4b0lsmwq84qfx51c5xy4fryhb1ysld4fhgw2vr37izf53379sb"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs
|
||||
`(("ert-runner" ,ert-runner)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'check
|
||||
(lambda _
|
||||
(zero? (system* "ert-runner" "tests")))))))
|
||||
(home-page "https://github.com/lewang/ws-butler")
|
||||
(synopsis "Trim spaces from end of lines")
|
||||
(description
|
||||
"This Emacs package automatically and unobtrusively trims whitespace
|
||||
characters from end of lines.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-edit-latex
|
||||
(package
|
||||
(name "emacs-org-edit-latex")
|
||||
|
@ -6272,6 +6406,28 @@ and shell-command prompts that are based on bash completion.")
|
|||
let users kill or mark things easily.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-csv-mode
|
||||
(package
|
||||
(name "emacs-csv-mode")
|
||||
(version "1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://elpa.gnu.org/packages/csv-mode-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page
|
||||
"http://elpa.gnu.org/packages/csv-mode.html")
|
||||
(synopsis
|
||||
"Major mode for editing comma/char separated values")
|
||||
(description
|
||||
"This Emacs package implements CSV mode, a major mode for editing records
|
||||
in a generalized CSV (character-separated values) format.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-transmission
|
||||
(package
|
||||
(name "emacs-transmission")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -932,3 +933,40 @@ int fast_build_block_buffer"))
|
|||
MPSSE (Multi-Protocol Synchronous Serial Engine) adapter by FTDI that can do
|
||||
SPI, I2C, JTAG.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public picprog
|
||||
(package
|
||||
(name "picprog")
|
||||
(version "1.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.iki.fi/hyvatti/pic/picprog-"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1r04hg1n3v2jf915qr05la3q9cxy7a5jnh9cc98j04lh6c9p4x85"))
|
||||
(patches (search-patches "picprog-non-intel-support.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests exist.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local") (assoc-ref outputs "out"))
|
||||
((" -o 0 -g 0 ") " ")
|
||||
(("testport") ""))
|
||||
#t))
|
||||
(add-before 'install 'mkdir
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/bin"))
|
||||
(mkdir-p (string-append out "/man/man1"))
|
||||
#t)))
|
||||
(delete 'configure))))
|
||||
(synopsis "Programs Microchip's PIC microcontrollers")
|
||||
(description "This program programs Microchip's PIC microcontrollers.")
|
||||
(home-page "http://hyvatti.iki.fi/~jaakko/pic/picprog.html")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Steve Sprang <scs@stevesprang.com>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -23,6 +23,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages fontutils)
|
||||
|
@ -35,7 +36,7 @@
|
|||
(define-public erlang
|
||||
(package
|
||||
(name "erlang")
|
||||
(version "20.1")
|
||||
(version "20.1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; The tarball from http://erlang.org/download contains many
|
||||
|
@ -46,7 +47,7 @@
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r4g8ag7nlpw06y4c39fgcyccykj2sbyhv5jgp4qmrjci2ydgns8"))
|
||||
"00pmngdyh1h088anmx6fbk085i93ajgk92rz7qsyhfc0lx0sm0a9"))
|
||||
(patches (search-patches "erlang-man-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
@ -59,7 +60,7 @@
|
|||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://erlang.org/download/otp_doc_man_"
|
||||
version ".tar.gz"))
|
||||
(version-major+minor version) ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ikvdpn4z7az6szg176l1r2yxhgs3msa3wgb3gmy45jkz0pzik05"))))))
|
||||
|
|
|
@ -297,9 +297,13 @@ high quality, anti-aliased and subpixel rendered text on a display.")
|
|||
(sha256 (base32
|
||||
"0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2"))
|
||||
(patches (search-patches
|
||||
"t1lib-CVE-2010-2642.patch"
|
||||
"t1lib-CVE-2010-2642.patch" ; 2011-0443, 2011-5244
|
||||
"t1lib-CVE-2011-0764.patch"
|
||||
"t1lib-CVE-2011-1552+CVE-2011-1553+CVE-2011-1554.patch"))))
|
||||
"t1lib-CVE-2011-1552+.patch")))) ; 2011-1553, 2011-1554
|
||||
(properties `((lint-hidden-cve . ("CVE-2011-0433"
|
||||
"CVE-2011-1553"
|
||||
"CVE-2011-1554"
|
||||
"CVE-2011-5244"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Making the documentation requires latex, but t1lib is also an input
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -34,16 +35,15 @@
|
|||
(define-public fvwm
|
||||
(package
|
||||
(name "fvwm")
|
||||
(version "2.6.6")
|
||||
(version "2.6.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/fvwmorg/fvwm/releases/download/"
|
||||
"version-" (string-join (string-split version #\.) "_")
|
||||
"/" name "-" version ".tar.gz"))
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b6w0vk6cpqaz0ws3vl4by0mycv33r42a0m806j2h8avy9ghipn5"))))
|
||||
"0wzghjgy65pkn31rgl14fngizw7nbkzbxsfa670xmrndpmd4sr81"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -111,7 +112,7 @@ is used in some video games and movies.")
|
|||
(define-public deutex
|
||||
(package
|
||||
(name "deutex")
|
||||
(version "5.0.0")
|
||||
(version "5.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Doom-Utils/" name
|
||||
|
@ -119,7 +120,7 @@ is used in some video games and movies.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jvffcpq64hk3jysz4q6zi9hqkksy151ci9553h8q7wrrkbw0i9z"))))
|
||||
"0hwkm0q2w16ddmiwh7x3jcfp58zjb40a5dh7c3sybwm9bar37pn1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("asciidoc" ,asciidoc)))
|
||||
(home-page "https://github.com/Doom-Utils/deutex")
|
||||
|
@ -1014,7 +1015,7 @@ of use.")
|
|||
(define-public openmw
|
||||
(package
|
||||
(name "openmw")
|
||||
(version "0.42.0")
|
||||
(version "0.43.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1023,7 +1024,7 @@ of use.")
|
|||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pla8016lpbg8cgm9kia318a860f26dmiayc72p3zl35mqrc7g7w"))))
|
||||
"11phjx7b3mv4n295xgq25lkcwq0mgr35i5k05hf1h77y6n6jbw64"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test target
|
||||
|
|
|
@ -355,6 +355,47 @@ played. Freedoom complements the Doom engine with free levels, artwork, sound
|
|||
effects and music to make a completely free game.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public knights
|
||||
(package
|
||||
(name "knights")
|
||||
(version "025")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.knightsgame.org.uk/files/knights_"
|
||||
version "_src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18vp2ygvn0s0jz8rm585jqf6hjqkam1ximq81k0r9hpmfj7wb88f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; No configure script.
|
||||
(delete 'configure))
|
||||
#:tests? #f)) ;; No check target.
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer)))
|
||||
("freetype" ,freetype)
|
||||
("fontconfig" ,fontconfig)
|
||||
("curl" ,curl)))
|
||||
(home-page "http://www.knightsgame.org.uk/")
|
||||
(synopsis "Multiplayer dungeon game involving knights and quests")
|
||||
(description "Knights is a multiplayer game involving several knights who
|
||||
must run around a dungeon and complete various quests. Each game revolves
|
||||
around a quest – for example, you might have to find some items and carry them
|
||||
back to your starting point. This may sound easy, but as there are only
|
||||
enough items in the dungeon for one player to win, you may end up having to
|
||||
kill your opponents to get their stuff! Other quests involve escaping from
|
||||
the dungeon, fighting a duel to the death against the enemy knights, or
|
||||
destroying an ancient book using a special wand.")
|
||||
;; This package includes modified sources of lua (X11), enet (Expat), and
|
||||
;; guichan (BSD-3). The "Coercri" library is released under the Boost
|
||||
;; license. The whole package is released under GPLv3+.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnubg
|
||||
(package
|
||||
(name "gnubg")
|
||||
|
@ -2737,6 +2778,9 @@ Transport Tycoon Deluxe.")
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;; no tests available
|
||||
#:configure-flags
|
||||
(list (string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-usr-share-paths
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -41,6 +42,7 @@
|
|||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
|
@ -724,3 +726,36 @@ mixed vector/bitmap output.")
|
|||
(license (list license:lgpl2.0+
|
||||
(license:fsf-free "http://www.geuz.org/gl2ps/COPYING.GL2PS"
|
||||
"GPL-incompatible copyleft license")))))
|
||||
|
||||
(define-public virtualgl
|
||||
(package
|
||||
(name "virtualgl")
|
||||
(version "2.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/VirtualGL/virtualgl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rnid3hwrry9d5d4m7sygq00xxx976rgk00a3557m9r5kxbmy476"))))
|
||||
(arguments
|
||||
`(#:tests? #f ;; no tests are available
|
||||
#:configure-flags (list "-DVGL_USESSL=1" ;; use OpenSSL
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs `(("glu" ,glu)
|
||||
("libjpeg-turbo" ,libjpeg-turbo)
|
||||
("mesa" ,mesa)
|
||||
("openssl" ,openssl)))
|
||||
(native-inputs `(("pkg-config", pkg-config)))
|
||||
(home-page "https://www.virtualgl.org")
|
||||
(synopsis "Redirects 3D commands from an OpenGL application onto a 3D
|
||||
graphics card")
|
||||
(description "VirtualGL redirects the 3D rendering commands from OpenGL
|
||||
applications to 3D accelerator hardware in a dedicated server and displays the
|
||||
rendered output interactively to a thin client located elsewhere on the
|
||||
network.")
|
||||
(license license:wxwindows3.1+)))
|
||||
|
|
|
@ -4061,7 +4061,7 @@ work and the interface is well tested.")
|
|||
(define-public eolie
|
||||
(package
|
||||
(name "eolie")
|
||||
(version "0.9.13")
|
||||
(version "0.9.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/gnumdk/eolie/"
|
||||
|
@ -4069,7 +4069,7 @@ work and the interface is well tested.")
|
|||
"/eolie-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1khpc6x40y5gm0a3p5fxiva9p1djijxmsh74xinigddnyqbjqw69"))))
|
||||
"0glydxp1xh85gfidk1l9miqn6qxdbvvk5s3iy0pjlv8nrs3263jd"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -6638,7 +6638,7 @@ basically a text box in which notes can be written.")
|
|||
(sha256
|
||||
(base32
|
||||
"0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("desktop-file-utils" ,desktop-file-utils)
|
||||
("glib:bin" ,glib "bin") ; for glib-compile-resources.
|
||||
|
|
|
@ -144,14 +144,14 @@ tool to extract metadata from a file and print the results.")
|
|||
(define-public libmicrohttpd
|
||||
(package
|
||||
(name "libmicrohttpd")
|
||||
(version "0.9.57")
|
||||
(version "0.9.58")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kmgkk9sjg1n3q7rbzw5y4qmgh51zn5qi2j69gbqmr6phxjaghfy"))))
|
||||
"1wq17qvizis7bsyvyw1gnfycvivssncngziddnyrbzv2dhvy24bs"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
|
@ -188,11 +188,10 @@ authentication and support for SSL3 and TLS.")
|
|||
(version "7.57.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gnunet.org/sites/default/files/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dykh12mc241jnxcd8q5pm1yw9ras53ywyba9f9dy5cq39j2mk9c"))))
|
||||
"0cl2x1jddnhn1z8gd75w6k7lb6pymn5rf2vqgl2vdkbxsz677z07"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ; 1.5 MiB of man3 pages
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -736,7 +736,10 @@ including tools for signing keys, keyring analysis, and party preparation.
|
|||
(description
|
||||
"Pinentry provides a console that allows users to enter a passphrase when
|
||||
@code{gpg} is run and needs it.")
|
||||
(license license:gpl2+)))
|
||||
(license license:gpl2+)
|
||||
(properties '((ftp-server . "ftp.gnupg.org")
|
||||
(ftp-directory . "/gcrypt/pinentry")
|
||||
(upstream-name . "pinentry")))))
|
||||
|
||||
(define-public pinentry-gtk2
|
||||
(package
|
||||
|
|
|
@ -481,7 +481,8 @@ security standards.")
|
|||
(mozilla-patch "icecat-bug-1047098-pt3.patch" "36bd15d14c5a" "0cb3l3hpsgk674f08kfamxhqfga3ah5v904gpxq9ag006vzd2cxz")
|
||||
(mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16")
|
||||
(search-patch "icecat-bug-1415133.patch")
|
||||
(mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m")))
|
||||
(mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m")
|
||||
(mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl")))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages bioinformatics)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cran)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
|
@ -119,6 +120,31 @@ random and regular graphs, graph visualization, centrality methods and much
|
|||
more.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-diffusionmap
|
||||
(package
|
||||
(name "r-diffusionmap")
|
||||
(version "1.1-0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "diffusionMap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3"))))
|
||||
(properties `((upstream-name . "diffusionMap")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-igraph" ,r-igraph)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-scatterplot3d" ,r-scatterplot3d)))
|
||||
(home-page "http://www.r-project.org")
|
||||
(synopsis "Diffusion map")
|
||||
(description "This package implements the diffusion map method of data
|
||||
parametrization, including creation and visualization of diffusion maps,
|
||||
clustering with diffusion K-means and regression using the adaptive regression
|
||||
model.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-rgraphviz
|
||||
(package
|
||||
(name "r-rgraphviz")
|
||||
|
|
|
@ -100,7 +100,7 @@ arrays of data.")
|
|||
(define-public gstreamer
|
||||
(package
|
||||
(name "gstreamer")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -109,7 +109,7 @@ arrays of data.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vi1g8rmmsnd630ds3jwv2iph46ll8y07fzf04mz15q88j9g926k"))))
|
||||
"0x06jxmc5fhlz7cr1pl5lp0hm1jgz519jjic37d09srf9jm091ss"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -148,7 +148,7 @@ This package provides the core library and elements.")
|
|||
(define-public gst-plugins-base
|
||||
(package
|
||||
(name "gst-plugins-base")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -156,7 +156,7 @@ This package provides the core library and elements.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19ffwdch7m777ragmwpy6prqmfb742ym1n3ki40s0zyki627plyk"))))
|
||||
"10i255q7i8an1hxz3szb36x1jcs9nfdy511pj2wg24h2vw1nnc2c"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
|
@ -203,7 +203,7 @@ for the GStreamer multimedia library.")
|
|||
(define-public gst-plugins-good
|
||||
(package
|
||||
(name "gst-plugins-good")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -212,7 +212,7 @@ for the GStreamer multimedia library.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00sznj1sl97fqpn6j8ngps04clvxp8h8yhw6lvszx4b855wz9rqk"))))
|
||||
"0mxrbrqrfq1946gn9im19maj7ivld4k946vkwrzd94h8qsz4k7v4"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("aalib" ,aalib)
|
||||
|
@ -262,14 +262,14 @@ developers consider to have good quality code and correct functionality.")
|
|||
(define-public gst-plugins-bad
|
||||
(package
|
||||
(name "gst-plugins-bad")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gstreamer.freedesktop.org/src/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v5z3i5ha20gmbb3r9dwsaaspv5fm1jfzlzwlzqx1gjj31v5kl1n"))))
|
||||
"021d3q81m968lpnah517sfclagadcqwd6jz3lqdmqvb82sz5fy0c"))))
|
||||
(outputs '("out" "doc"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -277,16 +277,7 @@ developers consider to have good quality code and correct functionality.")
|
|||
#:configure-flags
|
||||
(list (string-append "--with-html-dir="
|
||||
(assoc-ref %outputs "doc")
|
||||
"/share/gtk-doc/html"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-openjpeg-reference
|
||||
(lambda _
|
||||
;; Remove hard-coded openjpeg-2.2 path. 2.3 is API- and
|
||||
;; ABI-compatible.
|
||||
(substitute* "ext/openjpeg/gstopenjpeg.h"
|
||||
(("<openjpeg-2\\.2/") "<openjpeg-2.3/"))
|
||||
#t)))))
|
||||
"/share/gtk-doc/html"))))
|
||||
(propagated-inputs
|
||||
`(("gst-plugins-base" ,gst-plugins-base)))
|
||||
(native-inputs
|
||||
|
@ -347,7 +338,7 @@ par compared to the rest.")
|
|||
(define-public gst-plugins-ugly
|
||||
(package
|
||||
(name "gst-plugins-ugly")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -355,7 +346,7 @@ par compared to the rest.")
|
|||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lh00rg26iy5lr5al23lxsyncjqkgzph1bzkrgp8x9sfr62ab378"))))
|
||||
"08p5kggk1szvr76cdbx3q3yfc235w1przb76v2n51lwfi26mn5hw"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gst-plugins-base" ,gst-plugins-base)
|
||||
|
@ -386,7 +377,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
|
|||
(define-public gst-libav
|
||||
(package
|
||||
(name "gst-libav")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -394,7 +385,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l4nc6ikdx49l7bdrk3bd9p3pzry8a328r22zg48gyzpnv5ghph1"))))
|
||||
"0qly3lgamm36xql9q7wg5751gi6j2d3ifzz1pkr15ncc5mfslmia"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-system-libav")
|
||||
|
@ -411,7 +402,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
|
|||
("python" ,python)))
|
||||
(inputs
|
||||
`(("gst-plugins-base" ,gst-plugins-base)
|
||||
("ffmpeg" ,ffmpeg-3.3)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("orc" ,orc)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "http://gstreamer.freedesktop.org/")
|
||||
|
@ -424,7 +415,7 @@ compression formats through the use of the libav library.")
|
|||
(define-public python-gst
|
||||
(package
|
||||
(name "python-gst")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -432,7 +423,7 @@ compression formats through the use of the libav library.")
|
|||
"gst-python-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19rb06x2m7103zwfm0plxx95gb8bp01ng04h4q9k6ii9q7g2kxf3"))))
|
||||
"1sm3dy10klf6i3w6a6mz0rnm29l2lxci5hr8346496jwc7v6mki0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: Factorize python-sitedir with python-build-system.
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
|
||||
;;; Coypright © 2016 ng0 <ng0@we.make.ritual.n0.is>
|
||||
;;; Coypright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Coypright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -380,7 +381,7 @@ printing and other features typical of a source code editor.")
|
|||
(define-public gtksourceview
|
||||
(package
|
||||
(name "gtksourceview")
|
||||
(version "3.24.4")
|
||||
(version "3.24.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -388,7 +389,7 @@ printing and other features typical of a source code editor.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14x738xrz9q8qz13xd7dys748ryxyq2srbqyaa9r7n47h2av2zr0"))))
|
||||
"1261fwjpwn3qizmvjns9z3k3a264j3ql5anyvmisfwywpkzbv9ks"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1117,13 +1118,16 @@ inspired by the SCSH regular expression system.")
|
|||
(compile-file
|
||||
(lambda (in-file out-file)
|
||||
(system* guild "compile" "-o" out-file in-file))))
|
||||
;; Make installation directories.
|
||||
(mkdir-p module-dir)
|
||||
(mkdir-p doc)
|
||||
|
||||
;; Switch directory for compiling and installing
|
||||
(chdir source)
|
||||
|
||||
;; Install the documentation.
|
||||
(install-file "README.md" doc)
|
||||
(copy-recursively "examples" (string-append doc "/examples"))
|
||||
|
||||
;; Make installation directories.
|
||||
(mkdir-p module-dir)
|
||||
|
||||
;; copy the source
|
||||
(copy-file "gdbm.scm" gdbm.scm-dest)
|
||||
|
||||
|
@ -1136,7 +1140,7 @@ inspired by the SCSH regular expression system.")
|
|||
;; compile to the destination
|
||||
(compile-file gdbm.scm-dest gdbm.go-dest)))))
|
||||
(inputs
|
||||
`(("guile" ,guile-2.0)))
|
||||
`(("guile" ,guile-2.2)))
|
||||
(propagated-inputs
|
||||
`(("gdbm" ,gdbm)))
|
||||
(home-page "https://github.com/ijp/guile-gdbm")
|
||||
|
@ -1146,8 +1150,11 @@ inspired by the SCSH regular expression system.")
|
|||
Guile's foreign function interface.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile2.0-gdbm-ffi
|
||||
(package-for-guile-2.0 guile-gdbm-ffi))
|
||||
|
||||
(define-public guile2.2-gdbm-ffi
|
||||
(package-for-guile-2.2 guile-gdbm-ffi))
|
||||
(deprecated-package "guile2.2-gdbm-ffi" guile-gdbm-ffi))
|
||||
|
||||
(define-public guile-sqlite3
|
||||
(let ((commit "607721fe1174a299e45d457acacf94eefb964071"))
|
||||
|
|
|
@ -1292,7 +1292,7 @@ unlit literate code files; and an option to turn off macro-expansion.")
|
|||
(define-public ghc-reflection
|
||||
(package
|
||||
(name "ghc-reflection")
|
||||
(version "2.1")
|
||||
(version "2.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1302,7 +1302,7 @@ unlit literate code files; and an option to turn off macro-expansion.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10w3m6v3g6am203wbrikdbp57x9vw6b4jsh7bxdzsss4nmpm81zg"))))
|
||||
"0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs `(("ghc-tagged" ,ghc-tagged)))
|
||||
(home-page "https://github.com/ekmett/reflection")
|
||||
|
|
|
@ -1112,14 +1112,14 @@ PNG, and performs PNG integrity checks and corrections.")
|
|||
(define-public libjpeg-turbo
|
||||
(package
|
||||
(name "libjpeg-turbo")
|
||||
(version "1.5.2")
|
||||
(version "1.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/" name "/" version "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a5m0psfp5952y5vrcs0nbdz1y9wqzg2ms0xwrx752034wxr964h"))))
|
||||
"08r5b5mywwrxv4axvq80dm31cklz81grczlzlxr2xqa6pgi90j5j"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("nasm" ,nasm)))
|
||||
|
|
|
@ -164,7 +164,7 @@ script.")
|
|||
(define-public graphicsmagick
|
||||
(package
|
||||
(name "graphicsmagick")
|
||||
(version "1.3.26")
|
||||
(version "1.3.27")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -176,17 +176,7 @@ script.")
|
|||
"/GraphicsMagick-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"122zgs96dqrys62mnh8x5yvfff6km4d3yrnvaxzg3mg5sprib87v"))
|
||||
(patches
|
||||
(search-patches "graphicsmagick-CVE-2017-11403+CVE-2017-14103.patch"
|
||||
"graphicsmagick-CVE-2017-12935.patch"
|
||||
"graphicsmagick-CVE-2017-12936.patch"
|
||||
"graphicsmagick-CVE-2017-12937.patch"
|
||||
"graphicsmagick-CVE-2017-13775.patch"
|
||||
"graphicsmagick-CVE-2017-13776+CVE-2017-13777.patch"
|
||||
"graphicsmagick-CVE-2017-14042.patch"
|
||||
"graphicsmagick-CVE-2017-14165.patch"
|
||||
"graphicsmagick-CVE-2017-14649.patch"))))
|
||||
"0rq35p3rml10cxz2z4s7xcfsilhhk19mmy094g3ivz0fg797hcnh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,6 +24,8 @@
|
|||
#:use-module ((guix licenses) #:select (bsd-2))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
|
@ -37,7 +40,8 @@
|
|||
version "/jemalloc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sf3lzgb0y8nnyzmp4zrca3sngdxw3kfh20sna9z03jv74fph528"))))
|
||||
"1sf3lzgb0y8nnyzmp4zrca3sngdxw3kfh20sna9z03jv74fph528"))
|
||||
(patches (search-patches "jemalloc-arm-address-bits.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -62,3 +66,17 @@
|
|||
"This library providing a malloc(3) implementation that emphasizes
|
||||
fragmentation avoidance and scalable concurrency support.")
|
||||
(license bsd-2)))
|
||||
|
||||
(define-public jemalloc-4.5.0
|
||||
(package
|
||||
(inherit jemalloc)
|
||||
(version "4.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/jemalloc/jemalloc/releases/download/"
|
||||
version "/jemalloc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl"))))
|
||||
(inputs '())))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Mark Meyer <mark@ofosos.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,18 +24,29 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages apr)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages version-control))
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public kdevelop
|
||||
(package
|
||||
|
@ -220,6 +232,86 @@ for some KDevelop language plugins (Ruby, PHP, CSS...).")
|
|||
plugins, as well as code to create plugins, or complete applications.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public krita
|
||||
(package
|
||||
(name "krita")
|
||||
(version "3.3.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kde/stable/krita/"
|
||||
"3.3.2/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i3l27cfi1h486m74xf4ynk0pwx32xaqraa91a0g1bpj1jxf2mg5"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:configure-flags
|
||||
(list "-DBUILD_TESTING=OFF" "-DKDE4_BUILD_TESTS=OFF"
|
||||
(string-append "-DWITH_FFTW3="
|
||||
(assoc-ref %build-inputs "fftw"))
|
||||
(string-append "-DWITH_GSL="
|
||||
(assoc-ref %build-inputs "gsl"))
|
||||
(string-append "-DWITH_LibRaw="
|
||||
(assoc-ref %build-inputs "libraw"))
|
||||
(string-append "-DWITH_TIFF="
|
||||
(assoc-ref %build-inputs "libtiff"))
|
||||
(string-append "-DCMAKE_CXX_FLAGS=-I"
|
||||
(assoc-ref %build-inputs "ilmbase")
|
||||
"/include/OpenEXR"))))
|
||||
(native-inputs
|
||||
`(("curl" ,curl)
|
||||
("eigen" ,eigen)
|
||||
("extra-cmake-modules" ,extra-cmake-modules)
|
||||
("gettext-minimal" ,gettext-minimal)
|
||||
("kitemmodels" ,kitemmodels)
|
||||
("qwt" ,qwt)
|
||||
("vc" ,vc)))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtdeclarative" ,qtdeclarative)
|
||||
("qtmultimedia" ,qtmultimedia)
|
||||
("qtx11extras" ,qtx11extras)
|
||||
("qtsvg" ,qtsvg)
|
||||
("karchive" ,karchive)
|
||||
("kcompletion" ,kcompletion)
|
||||
("kconfig" ,kconfig)
|
||||
("kcoreaddons" ,kcoreaddons)
|
||||
("kcrash" ,kcrash)
|
||||
("kguiaddons" ,kguiaddons)
|
||||
("ki18n" ,ki18n)
|
||||
("kiconthemes" ,kiconthemes)
|
||||
("kio" ,kio)
|
||||
("kitemviews" ,kitemviews)
|
||||
("kwidgetsaddons" ,kwidgetsaddons)
|
||||
("kwindowsystem" ,kwindowsystem)
|
||||
("kxmlgui" ,kxmlgui)
|
||||
("boost" ,boost)
|
||||
("exiv2" ,exiv2)
|
||||
("lcms" ,lcms)
|
||||
("libpng" ,libpng)
|
||||
("libjpeg-turbo" ,libjpeg-turbo)
|
||||
("zlib" ,zlib)
|
||||
("libx11" ,libx11)
|
||||
("libxcb" ,libxcb)
|
||||
("libxi" ,libxi)
|
||||
("fftw" ,fftw)
|
||||
("gsl" ,gsl)
|
||||
("poppler-qt5" ,poppler-qt5)
|
||||
("libraw" ,libraw)
|
||||
("libtiff" ,libtiff)
|
||||
("perl" ,perl)
|
||||
("ilmbase" ,ilmbase)
|
||||
("openexr" ,openexr)))
|
||||
(home-page "https://krita.org")
|
||||
(synopsis "Digital painting application")
|
||||
(description
|
||||
"Krita is a professional painting tool designed for concept artists,
|
||||
illustrators, matte and texture artists, and the VFX industry. Notable
|
||||
features include brush stabilizers, brush engines and wrap-around mode.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libkomparediff2
|
||||
(package
|
||||
(name "libkomparediff2")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -51,7 +52,7 @@ manipulating such numbers.")
|
|||
(define-public perl-lingua-en-inflect
|
||||
(package
|
||||
(name "perl-lingua-en-inflect")
|
||||
(version "1.901")
|
||||
(version "1.903")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -59,7 +60,7 @@ manipulating such numbers.")
|
|||
"Lingua-EN-Inflect-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mcwlgf6hkh4zm3s1x899f25xj4hyzrc2vssiwfxysqja36yf5ys"))))
|
||||
"0j8d1f1wvmgc11d71pc8xp8fv5a1nb2yfw1dgd19xhscn1klpvzw"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs `(("perl-module-build" ,perl-module-build)))
|
||||
(home-page "http://search.cpan.org/dist/Lingua-EN-Inflect")
|
||||
|
@ -284,15 +285,15 @@ parameters, returning the stemmed Italian word.")
|
|||
(define-public perl-lingua-stem-ru
|
||||
(package
|
||||
(name "perl-lingua-stem-ru")
|
||||
(version "0.01")
|
||||
(version "0.04")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/A/AL/ALGDR/"
|
||||
(uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
|
||||
"Lingua-Stem-Ru-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pqgg442fkf12ayh9fgmpa8q9x0iqx6s96181r52yn7s7pcs61h6"))))
|
||||
"0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Lingua-Stem-Ru")
|
||||
(synopsis "Porter's stemming algorithm for Russian")
|
||||
|
|
|
@ -78,6 +78,7 @@
|
|||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -369,8 +370,8 @@ It has been modified to remove all non-free binary blobs.")
|
|||
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
|
||||
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
|
||||
|
||||
(define %linux-libre-version "4.14.4")
|
||||
(define %linux-libre-hash "1hl4n1jpqd05b7qnxbwjmbl2l5cgrh2spqsjq1fnihphmawjd3li")
|
||||
(define %linux-libre-version "4.14.6")
|
||||
(define %linux-libre-hash "0q6dl2shkj5dkf0wgzgfyaq0axk97w05j618xi619y9xqph4ql79")
|
||||
|
||||
;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
|
||||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||
|
@ -383,20 +384,20 @@ It has been modified to remove all non-free binary blobs.")
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.67"
|
||||
"1fr8h4g3j4ns0x33i36kgsgb175cdz9v530gx8sxcrbkd10i9i07"
|
||||
(make-linux-libre "4.9.69"
|
||||
"0xkqbh8fpx47appszjbxzljr6vr0wyk0fphlkynpcrmingk4b98j"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.104"
|
||||
"1971hphyqbzh80frkbidbqwhgk21r5p2a42bihjcd5kh3pssn4zl"
|
||||
(make-linux-libre "4.4.105"
|
||||
"177qvci7wfrc23vi11bnyayfivxf6d8hankgrzv26jr3z6j0rall"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.1
|
||||
(make-linux-libre "4.1.46"
|
||||
"0bg1vplfksgsnxqdxdp2n0b5lv2j299nv52s8hpja5ckp396jkhk"
|
||||
(make-linux-libre "4.1.48"
|
||||
"13ii6ixcm46hzk1ns6n4hrrv4dyc0n3wvj2qhmxi178akdcgbn8a"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -4333,10 +4334,11 @@ libraries, which are often integrated directly into libfabric.")
|
|||
(package
|
||||
(name "psm")
|
||||
(version "3.3.20170428")
|
||||
(home-page "https://github.com/intel/psm")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "http://github.com/01org/psm")
|
||||
(uri (git-reference (url home-page)
|
||||
(commit "604758e76dc31e68d1de736ccf5ddf16cb22355b")))
|
||||
(file-name (string-append "psm-" version ".tar.gz"))
|
||||
(sha256
|
||||
|
@ -4362,7 +4364,6 @@ libraries, which are often integrated directly into libfabric.")
|
|||
(substitute* "Makefile"
|
||||
(("/lib64") "/lib"))
|
||||
#t)))))
|
||||
(home-page "https://github.com/01org/psm")
|
||||
(synopsis "Intel Performance Scaled Messaging (PSM) Libraries")
|
||||
(description
|
||||
"The PSM Messaging API, or PSM API, is Intel's low-level user-level
|
||||
|
@ -4372,3 +4373,119 @@ interfaces in parallel environments.")
|
|||
;; Only Intel-compatable processors are supported.
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(license (list license:bsd-2 license:gpl2)))) ;dual
|
||||
|
||||
(define-public snapscreenshot
|
||||
(package
|
||||
(name "snapscreenshot")
|
||||
(version "1.0.14.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://bisqwit.iki.fi/src/arch/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0gzvqsbf6a2sbd1mqvj1lbm57i2bm5k0cr6ncr821d1f32gw03mk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "BINDIR=" out "/bin")
|
||||
(string-append "MANDIR=" out "/share/man")))
|
||||
#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; ./configure is a snarky no-op
|
||||
(add-before 'install 'fix-ownership
|
||||
;; Install binaries owned by ‘root’ instead of the nonexistent ‘bin’.
|
||||
(lambda _
|
||||
(substitute* "depfun.mak"
|
||||
((" -o bin -g bin ") " "))
|
||||
#t))
|
||||
(add-before 'install 'create-output-directories
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/share/man/man1"))
|
||||
#t))))))
|
||||
(home-page "http://bisqwit.iki.fi/source/snapscreenshot.html")
|
||||
(synopsis "Take screenshots of one or more Linux text consoles")
|
||||
(description
|
||||
"snapscreenshot saves a screenshot of one or more Linux text consoles as a
|
||||
Targa (@dfn{.tga}) image. It can be used by anyone with read access to the
|
||||
relevant @file{/dev/vcs*} file(s).")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public fbcat
|
||||
(package
|
||||
(name "fbcat")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jwilk/fbcat/releases/download/"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1dla1na3nf3s4xy0p6w0v54zipg1x8c14yqsw8w9qjzhchr4caxw"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
;; For building the man pages.
|
||||
`(("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("xsltproc" ,libxslt)))
|
||||
(inputs
|
||||
;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters. We
|
||||
;; choose netpbm simply because it's the smallest. It still adds ~94 MiB
|
||||
;; to an otherwise tiny package, so we put ‘fbgrab’ in its own output.
|
||||
`(("pnmtopng" ,netpbm)))
|
||||
(outputs (list "out" "fbgrab"))
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc")
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-docbook-location
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "doc/Makefile"
|
||||
(("http://docbook.sourceforge.net/release/xsl/current")
|
||||
(string-append (assoc-ref inputs "docbook-xsl")
|
||||
"/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl))))
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'build 'build-documentation
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (apply system* "make" "-C" "doc"
|
||||
make-flags))))
|
||||
(add-after 'build 'qualify-references
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((pnmtopng (assoc-ref inputs "pnmtopng"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(substitute* "fbgrab"
|
||||
(("fbcat" all)
|
||||
(string-append out "/bin/" all))
|
||||
(("pnmtopng" all)
|
||||
(string-append pnmtopng "/bin/" all)))
|
||||
#t)))
|
||||
(replace 'install
|
||||
;; The Makefile lacks an ‘install’ target. Install files manually.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(out:fbgrab (assoc-ref outputs "fbgrab")))
|
||||
(install-file "fbcat" (string-append out "/bin"))
|
||||
(install-file "doc/fbcat.1"
|
||||
(string-append out "/share/man/man1"))
|
||||
(install-file "fbgrab" (string-append out:fbgrab "/bin"))
|
||||
(install-file "doc/fbgrab.1"
|
||||
(string-append out:fbgrab "/share/man/man1"))
|
||||
#t))))))
|
||||
(home-page "https://jwilk.net/software/fbcat")
|
||||
(synopsis "Take a screenshot of the contents of the Linux framebuffer")
|
||||
(description
|
||||
"fbcat saves the contents of the Linux framebuffer (@file{/dev/fb*}), or
|
||||
a dump therof. It supports a wide range of drivers and pixel formats.
|
||||
@command{fbcat} can take screenshots of virtually any application that can be
|
||||
made to write its output to the framebuffer, including (but not limited to)
|
||||
text-mode or graphical applications that don't use a display server.
|
||||
|
||||
Also included is @command{fbgrab}, a wrapper around @command{fbcat} that
|
||||
emulates the behaviour of Gunnar Monell's older fbgrab utility.")
|
||||
(license license:gpl2)))
|
||||
|
|
|
@ -621,7 +621,9 @@ computing environments.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18n8775kyfwbvcjjjzda9c5sqy4737c0hrmj6qj1ps2jmlqzair9"))))
|
||||
"18n8775kyfwbvcjjjzda9c5sqy4737c0hrmj6qj1ps2jmlqzair9"))
|
||||
(patches (search-patches
|
||||
"python-scikit-learn-fix-test-non-determinism.patch"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
|
||||
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
|
||||
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
|
@ -240,14 +240,14 @@ aliasing facilities to work just as they would on normal mail.")
|
|||
(define-public mutt
|
||||
(package
|
||||
(name "mutt")
|
||||
(version "1.9.1")
|
||||
(version "1.9.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
|
||||
"mutt-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl"))
|
||||
"15kqxpx8bykqbyw4q33hkz0j2f65v6cl21sl5li2vw5vaaim5qd2"))
|
||||
(patches (search-patches "mutt-store-references.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -279,7 +279,7 @@ operating systems.")
|
|||
(define-public neomutt
|
||||
(package
|
||||
(name "neomutt")
|
||||
(version "20171027")
|
||||
(version "20171208")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -287,7 +287,7 @@ operating systems.")
|
|||
"/archive/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10z523cy3s6syh0mwpsncl87wrvyzsk99y7nzicwvx6y3hmdw01d"))))
|
||||
"0dfp7m794ws6vg029zx7wrrjrscrnmi8cvbzqzgxafl97bbjipwz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("cyrus-sasl" ,cyrus-sasl)
|
||||
|
@ -693,17 +693,23 @@ invoking @command{notifymuch} from the post-new hook.")
|
|||
(define-public notmuch
|
||||
(package
|
||||
(name "notmuch")
|
||||
(version "0.25.2")
|
||||
(version "0.25.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ai6vbs9wzwfz7jcphgqsqpcbq137l34xhmcli4h5c8n82fvmdp4"))))
|
||||
"1fyx20rjpwbf2j1v5fpa5s0rjnwhcgvijzh2qyinp8rlbh1qxmab"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list "V=1") ; Verbose test output.
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
((guix build emacs-build-system) #:prefix emacs:)
|
||||
(guix build utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-build-system)
|
||||
(guix build emacs-utils))
|
||||
#:make-flags (list "V=1") ; Verbose test output.
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-notmuch-lib.el
|
||||
(lambda _
|
||||
|
@ -715,16 +721,25 @@ invoking @command{notifymuch} from the post-new hook.")
|
|||
(setenv "CC" "gcc")
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system* "./configure"
|
||||
(string-append "--prefix=" out))))))
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(elisp
|
||||
(string-append out "/share/emacs/site-lisp/guix.d/"
|
||||
,name "-" ,version)))
|
||||
(zero?
|
||||
(system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--emacslispdir=" elisp)
|
||||
(string-append "--emacsetcdir=" elisp))))))
|
||||
(add-before 'check 'prepare-test-environment
|
||||
(lambda _
|
||||
(setenv "TEST_CC" "gcc")
|
||||
;; Patch various inline shell invocations.
|
||||
(substitute* (find-files "test" "\\.sh$")
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t)))))
|
||||
#t))
|
||||
(add-after 'install 'make-autoloads
|
||||
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
|
||||
(native-inputs
|
||||
`(("bash-completion" ,bash-completion)
|
||||
("emacs" ,emacs-no-x) ; Minimal lacks libxml, needed for some tests.
|
||||
|
@ -928,7 +943,7 @@ compresses it.")
|
|||
(define-public claws-mail
|
||||
(package
|
||||
(name "claws-mail")
|
||||
(version "3.15.1")
|
||||
(version "3.16.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -936,7 +951,7 @@ compresses it.")
|
|||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hlm2jipyr4z6izlrpvabpz4ivh49i13avnm848kr1nv68pkq2cd"))))
|
||||
"1awpr3s7n8bq8p3w10a4j6lg5bizjxyiqp4rqzc2j8cn7lyi64n2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("bogofilter" ,bogofilter)
|
||||
|
@ -2181,7 +2196,7 @@ to access GNU Mailman.")
|
|||
(define-public blists
|
||||
(package
|
||||
(name "blists")
|
||||
(version "1.0")
|
||||
(version "2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2189,7 +2204,7 @@ to access GNU Mailman.")
|
|||
"blists/blists-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gp51kmb8yv8d693wcpdslmwlbw5w2kgz4kxhrcaf7y89w8wy4qd"))))
|
||||
"1xll5wn7py3bbncbwrj172f56nz75c9gwfsa80rwd96ss9gfmp3c"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests
|
||||
|
@ -2381,3 +2396,28 @@ the GNOME desktop. It supports both POP3 and IMAP servers as well as the
|
|||
mbox, maildir and mh local mailbox formats. Balsa also supports SMTP and/or
|
||||
the use of a local MTA such as Sendmail.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public afew
|
||||
(package
|
||||
(name "afew")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "afew" version))
|
||||
(sha256
|
||||
(base32
|
||||
"121w7bd53xyibllxxbfykjj76n81kn1vgjqd22izyh67y8qyyk5r"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("python-chardet" ,python-chardet)
|
||||
("python-notmuch" ,python-notmuch)))
|
||||
(native-inputs
|
||||
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
||||
(home-page "https://github.com/afewmail/afew")
|
||||
(synopsis "Initial tagging script for notmuch mail")
|
||||
(description "afew is an initial tagging script for notmuch mail. It
|
||||
provides automatic tagging each time new mail is registered with notmuch. It
|
||||
can add tags based on email headers or Maildir folders and can handle spam and
|
||||
killed threads.")
|
||||
(license isc)))
|
||||
|
|
|
@ -335,7 +335,7 @@ the OCaml language.")
|
|||
(define-public glpk
|
||||
(package
|
||||
(name "glpk")
|
||||
(version "4.63")
|
||||
(version "4.64")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -343,7 +343,7 @@ the OCaml language.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xp7nclmp8inp20968bvvfcwmz3mz03sbm0v3yjz8aqwlpqjfkci"))))
|
||||
"096cqgjc7vkq6wd8znhcxjbs1s2rym3qf753fqxrrq531vs6g4jk"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gmp" ,gmp)))
|
||||
|
@ -1230,7 +1230,7 @@ interfaces.")
|
|||
(define-public ceres
|
||||
(package
|
||||
(name "ceres-solver")
|
||||
(version "1.11.0")
|
||||
(version "1.13.0")
|
||||
(home-page "http://ceres-solver.org/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -1238,7 +1238,7 @@ interfaces.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i7qkbf8g6pd8arxzldppga26ckv93y8zldsfz6wbd4n6b1nqrjd"))))
|
||||
"1kbxgab3q1vgyq7hjqasr1lji4b2sgn7ss351amklkb3jyhr1x0x"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; TODO: Build HTML user documentation and install separately.
|
||||
|
|
|
@ -387,7 +387,7 @@ authentication.")
|
|||
(list (search-path-specification
|
||||
(variable "PURPLE_PLUGIN_PATH")
|
||||
(files (list (string-append "lib/purple-"
|
||||
(version-prefix version 1))
|
||||
(version-major version))
|
||||
"lib/pidgin")))))
|
||||
(home-page "http://www.pidgin.im/")
|
||||
(synopsis "Graphical multi-protocol instant messaging client")
|
||||
|
|
|
@ -76,7 +76,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
(define-public mpd
|
||||
(package
|
||||
(name "mpd")
|
||||
(version "0.20.11")
|
||||
(version "0.20.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -85,7 +85,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
"/mpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g0lwm8p98q2hxa9vd6jx61s7d3r665s2bmz6ipkv9ijmyfps8p9"))))
|
||||
"02gpfkki61c24hphaas9pb29wpvd0pbmwdqrpn8wi1gv103aqng1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system waf)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
|
@ -469,6 +470,75 @@ background while you work.")
|
|||
enable professional yet simple and intuitive pattern-based drum programming.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public easytag
|
||||
(package
|
||||
(name "easytag")
|
||||
(version "2.4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/easytag/2.4/easytag-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mbxnqrw1fwcgraa1bgik25vdzvf97vma5pzknbwbqq5ly9fwlgw"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("desktop-file-utils" ,desktop-file-utils)
|
||||
("glib" ,glib "bin")
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("xmllint" ,libxml2)))
|
||||
(inputs
|
||||
`(("flac" ,flac)
|
||||
("gtk+" ,gtk+)
|
||||
("id3lib" ,id3lib)
|
||||
("libid3tag" ,libid3tag)
|
||||
("libvorbis" ,libvorbis)
|
||||
("opusfile" ,opusfile)
|
||||
("speex" ,speex)
|
||||
("taglib" ,taglib)
|
||||
("wavpack" ,wavpack)
|
||||
("yelp" ,yelp)))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'configure-libid3tag
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; libid3tag does not provide a .pc file and EasyTAG's configure
|
||||
;; script healivy relies on pkg-config. Providing a temporary
|
||||
;; local .pc file is easier than patching the configure script.
|
||||
(let* ((libid3tag (assoc-ref inputs "libid3tag")))
|
||||
(mkdir-p "pkgconfig")
|
||||
(with-output-to-file
|
||||
"pkgconfig/id3tag.pc"
|
||||
(lambda _
|
||||
(format #t
|
||||
"prefix=~@*~a~@
|
||||
libdir=${prefix}/lib~@
|
||||
includedir=${prefix}/include~@
|
||||
Libs: -L${libdir} -lid3tag -lz~@
|
||||
Cflags: -I${includedir}~%"
|
||||
libid3tag)))
|
||||
(setenv "PKG_CONFIG_PATH"
|
||||
(string-append (getenv "PKG_CONFIG_PATH")
|
||||
":" (getcwd) "/pkgconfig")))))
|
||||
(add-after 'unpack 'patch-makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
;; The Makefile generates a test-desktop-file-validate.sh
|
||||
;; script with /bin/sh hard-coded.
|
||||
(("/bin/sh") (which "sh"))
|
||||
;; Don't create 'icon-theme.cache'.
|
||||
(("gtk-update-icon-cache") "true")))))))
|
||||
(home-page "https://wiki.gnome.org/Apps/EasyTAG")
|
||||
(synopsis "Simple application for viewing and editing tags in audio files")
|
||||
(description
|
||||
"EasyTAG is an application for viewing and editing tags in audio files.
|
||||
It supports MP3, MP2, MP4/AAC, FLAC, Ogg Opus, Ogg Speex, Ogg Vorbis,
|
||||
MusePack, Monkey's Audio, and WavPack files.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public extempore
|
||||
(package
|
||||
(name "extempore")
|
||||
|
@ -1857,7 +1927,7 @@ capabilities, custom envelopes, effects, etc.")
|
|||
(define-public yoshimi
|
||||
(package
|
||||
(name "yoshimi")
|
||||
(version "1.5.3")
|
||||
(version "1.5.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/yoshimi/"
|
||||
|
@ -1865,7 +1935,7 @@ capabilities, custom envelopes, effects, etc.")
|
|||
"/yoshimi-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sns35pyw2f74xrv1fxiyf9g9415kvh2rrbdjd60hsiv584nlari"))))
|
||||
"0h71x9742bswifwll7bma1fz648fd5xd0yfp7byvsczy6zhjz5pf"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
@ -1975,6 +2045,43 @@ on the library.")
|
|||
allows you to send JACK MIDI events (i.e. play) using your PC keyboard.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public jack-capture
|
||||
(package
|
||||
(name "jack-capture")
|
||||
(version "0.9.73")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kmatheussen/jack_capture.git")
|
||||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jcqky96q8xgya6wqv1p8pj9fkf2wh7ynl67ah7x5bn3basgfclf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:tests? #f ; there are none
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("which" ,which)))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+-2)
|
||||
("jack" ,jack-1)
|
||||
("libogg" ,libogg)
|
||||
("liblo" ,liblo)
|
||||
("lame" ,lame)
|
||||
("libsndfile" ,libsndfile)))
|
||||
(home-page "https://github.com/kmatheussen/jack_capture")
|
||||
(synopsis "Program for recording sound files with JACK")
|
||||
(description "This is a program for recording sound files with JACK. It
|
||||
can connect to any JACK port and record the output into a stereo WAV file.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public cursynth
|
||||
(package
|
||||
(name "cursynth")
|
||||
|
@ -2001,6 +2108,34 @@ synthesis engine. Notes and parameter changes may be entered via MIDI or the
|
|||
computer's keyboard.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public aj-snapshot
|
||||
(package
|
||||
(name "aj-snapshot")
|
||||
(version "0.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/aj-snapshot/"
|
||||
"aj-snapshot-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("minixml" ,minixml)
|
||||
("jack" ,jack-1)
|
||||
("alsa-lib" ,alsa-lib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://aj-snapshot.sourceforge.net/")
|
||||
(synopsis "Snapshot connections between ALSA and JACK clients")
|
||||
(description "Aj-snapshot is a small program that can be used to make
|
||||
snapshots of the connections made between JACK and/or ALSA clients. Because
|
||||
JACK can provide both audio and MIDI support to programs, aj-snapshot can
|
||||
store both types of connections for JACK. ALSA, on the other hand, only
|
||||
provides routing facilities for MIDI clients. Aj-snapshot is meant to be used
|
||||
from the command line.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public qtractor
|
||||
(package
|
||||
(name "qtractor")
|
||||
|
@ -2607,13 +2742,14 @@ standard MIDI file with the csvmidi program.")
|
|||
(name "gx-guvnor-lv2")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/brummer10/GxGuvnor.lv2/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/brummer10/GxGuvnor.lv2.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rnfvrvs8qmmldyfmx4llyly33zp68448gx40ywdwj42x0mam92p"))))
|
||||
"1wa5070j40p7f0b3kr259pzm99xb6cf2badr2capayjvgayd6gnm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; The check target is used only to output a warning.
|
||||
|
@ -2625,7 +2761,8 @@ standard MIDI file with the csvmidi program.")
|
|||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n"))
|
||||
(("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")
|
||||
(("install : all") "install :"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("lv2" ,lv2)))
|
||||
|
@ -2634,12 +2771,13 @@ standard MIDI file with the csvmidi program.")
|
|||
(description "This package provides the LV2 plugin \"GxGuvnor\", a
|
||||
simulation of an overdrive or distortion pedal for guitars.")
|
||||
;; The LICENSE file says GPLv3 but the license headers in the files say
|
||||
;; GPLv2 or later.
|
||||
(license license:gpl2+)))
|
||||
;; GPLv2 or later. The whole project is released under GPLv3 or later
|
||||
;; according to https://github.com/brummer10/GxGuvnor.lv2/issues/1
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gx-vbass-preamp-lv2
|
||||
(let ((commit "0e599abab10c7669dd444e5d06f671c2fc1b9c6c")
|
||||
(revision "1"))
|
||||
(let ((commit "eb999b0ca0ef4da40a59e458a9ab6e7042b96c99")
|
||||
(revision "2"))
|
||||
(package (inherit gx-guvnor-lv2)
|
||||
(name "gx-vbass-preamp-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
|
@ -2650,18 +2788,13 @@ simulation of an overdrive or distortion pedal for guitars.")
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzksdfrva666gpi62fd2ni9rhf18sl917f1894qr0b17pbdh9k1"))
|
||||
"0firap073ldw4nrykkd7jvyyj0jbl1nslxyzjj4kswazp99x7d9h"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments gx-guvnor-lv2)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")
|
||||
(("install : all") "install :"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("lv2" ,lv2)
|
||||
("gtk+" ,gtk+-2)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/brummer10/GxVBassPreAmp.lv2")
|
||||
(synopsis "Simulation of the Vox Venue Bass 100 Pre Amp Section")
|
||||
(description "This package provides the LV2 plugin \"GxVBassPreAmp\", a
|
||||
|
@ -2671,7 +2804,7 @@ Section."))))
|
|||
(define-public gx-overdriver-lv2
|
||||
(let ((commit "ed71801987449414bf3adaa0dbfac68e8775f1ce")
|
||||
(revision "1"))
|
||||
(package (inherit gx-vbass-preamp-lv2)
|
||||
(package (inherit gx-guvnor-lv2)
|
||||
(name "gx-overdriver-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
|
@ -2691,7 +2824,7 @@ overdrive effect."))))
|
|||
(define-public gx-tone-mender-lv2
|
||||
(let ((commit "b6780b4a3e4782b3ed0e5882d6788f178aed138f")
|
||||
(revision "1"))
|
||||
(package (inherit gx-vbass-preamp-lv2)
|
||||
(package (inherit gx-guvnor-lv2)
|
||||
(name "gx-tone-mender-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
|
@ -2711,7 +2844,7 @@ clean boost effect with a 3-knob tonestack."))))
|
|||
(define-public gx-push-pull-lv2
|
||||
(let ((commit "7f76ae2068498643ac8671ee0930b13ee3fd8eb5")
|
||||
(revision "1"))
|
||||
(package (inherit gx-vbass-preamp-lv2)
|
||||
(package (inherit gx-guvnor-lv2)
|
||||
(name "gx-push-pull-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
|
@ -2733,14 +2866,14 @@ simulation of a push pull transistor fuzz effect with added high octave."))))
|
|||
(name "gx-suppa-tone-bender-lv2")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/brummer10/"
|
||||
"GxSuppaToneBender.lv2/archive/v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/brummer10/GxSuppaToneBender.lv2.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j90fns87035sfr6bxs4cvqxbyy3pqjhihx1nis8xajn202nl1hx"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
"01x6bjmllkmvxfzc5xwdix7w021j26js71awv728cxsmkxgqw0zy"))))
|
||||
(home-page "https://github.com/brummer10/GxSuppaToneBender.lv2")
|
||||
(synopsis "Simulation of the Vox Suppa Tone Bender pedal")
|
||||
(description "This package provides the LV2 plugin
|
||||
|
@ -2748,8 +2881,8 @@ simulation of a push pull transistor fuzz effect with added high octave."))))
|
|||
pedal.")))
|
||||
|
||||
(define-public gx-saturator-lv2
|
||||
(let ((commit "0b581ac85c515325b9f16e51937cae6e1bf81a0a")
|
||||
(revision "2"))
|
||||
(let ((commit "605330f432c94b6eb3f8203cbe472befae959532")
|
||||
(revision "3"))
|
||||
(package (inherit gx-vbass-preamp-lv2)
|
||||
(name "gx-saturator-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
|
@ -2760,7 +2893,7 @@ pedal.")))
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1cl785pzq8zk55m1rnhfd6qsabci6kpf4pf002gwr91vagyq246z"))
|
||||
"1w4nvh0rmxrv3s3hmh4fs74f3hc0jn31v00j769j7v68mqr7kawy"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(home-page "https://github.com/brummer10/GxSaturator.lv2")
|
||||
(synopsis "Saturation effect")
|
||||
|
@ -2772,14 +2905,14 @@ saturation effect."))))
|
|||
(name "gx-hyperion-lv2")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/brummer10/"
|
||||
"GxHyperion.lv2/archive/v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/brummer10/GxHyperion.lv2.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pd7l33a14kq73wavgqq7csw4n3mwjz9d5rxaj0jgsyxd3llp3wh"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
"1vx79s6s9if117y2g0ppdja2sv2wcny6xcfl3j1z4cipahnildxf"))))
|
||||
(home-page "https://github.com/brummer10/GxHyperion.lv2")
|
||||
(synopsis "Simulation of the Hyperion Fuzz pedal")
|
||||
(description "This package provides the LV2 plugin \"GxHyperion\", a
|
||||
|
@ -2790,14 +2923,14 @@ simulation of the Hyperion Fuzz pedal.")))
|
|||
(name "gx-voodoo-fuzz-lv2")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/brummer10/"
|
||||
"GxVoodoFuzz.lv2/archive/v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/brummer10/GxVoodoFuzz.lv2.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cc8sg7q493bs6pcq4ipqp6czpxv04nh9yvn8kq2x65ni2208n2f"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
"1v0scphivri1fk4hl20j13f92i48mnx1zsil4hgnadsmm4nsfw43"))))
|
||||
(home-page "https://github.com/brummer10/GxVoodoFuzz.lv2")
|
||||
(synopsis "Fuzz effect modelled after the Voodoo Lab SuperFuzz")
|
||||
(description "This package provides the LV2 plugin \"GxVoodooFuzz\", a
|
||||
|
@ -2810,14 +2943,14 @@ parallel with a DarkBooster, followed by a volume control.")))
|
|||
(name "gx-super-fuzz-lv2")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/brummer10/"
|
||||
"GxSuperFuzz.lv2/archive/v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/brummer10/GxSuperFuzz.lv2.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pnivq05f1kji8c5jxsqdzhdfk3xn422v2d1x20x3jfsxnaf115x"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
"1jlljd9hlgfflbiizq47lv1xbbgjyx3v835mf24zmh1q5zsw4np4"))))
|
||||
(home-page "https://github.com/brummer10/GxSuperFuzz.lv2")
|
||||
(synopsis "Fuzz effect modelled after the UniVox SuperFuzz")
|
||||
(description "This package provides the LV2 plugin \"GxSuperFuzz\", an
|
||||
|
@ -2830,22 +2963,22 @@ adjusts the amount of harmonics.")))
|
|||
(name "gx-vintage-fuzz-master-lv2")
|
||||
(version "0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/brummer10/"
|
||||
"GxVintageFuzzMaster.lv2/archive/v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/brummer10/GxVintageFuzzMaster.lv2.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bdkfj6xi2g4izfw3pmr4i0nqzg8jnkdwc23x9ifxwc6p1kbayzk"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
"02jb211z8rw2qr5r1z5mdxlqgiw6cbc319xpqplvn6k21c59mskv"))))
|
||||
(home-page "https://github.com/brummer10/GxVintageFuzzMaster.lv2")
|
||||
(synopsis "Fuzz effect simulation of the vintage Fuzz Master")
|
||||
(description "This package provides the LV2 plugin
|
||||
\"GxVintageFuzzMaster\", a simulation of the vintage Fuzz Master pedal.")))
|
||||
|
||||
(define-public gx-slow-gear-lv2
|
||||
(let ((commit "cb852e0426f4e6fe077e7f1ede73a4da335cfc5e")
|
||||
(revision "2"))
|
||||
(let ((commit "5d37e775b0feef1d82feee94e2a7a2d7e57efe2d")
|
||||
(revision "3"))
|
||||
(package (inherit gx-vbass-preamp-lv2)
|
||||
(name "gx-slow-gear-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
|
@ -2856,7 +2989,7 @@ adjusts the amount of harmonics.")))
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0dp7afi1r3kzciiyn1hrkz6arsq47ys9sx5g4b7xa9k1dv92ishp"))
|
||||
"141mz69zkhk3lm54bb6wgpnghb92zm1ig7fv07240cmhydqji1q1"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(home-page "https://github.com/brummer10/GxSlowGear.lv2")
|
||||
(synopsis "Slow gear audio effect")
|
||||
|
@ -2866,7 +2999,7 @@ slow gear audio effect to produce volume swells."))))
|
|||
(define-public gx-switchless-wah-lv2
|
||||
(let ((commit "7b08691203314612999f0ce2328cdc1161cd6665")
|
||||
(revision "2"))
|
||||
(package (inherit gx-vbass-preamp-lv2)
|
||||
(package (inherit gx-guvnor-lv2)
|
||||
(name "gx-switchless-wah-lv2")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
(source (origin
|
||||
|
@ -2884,8 +3017,8 @@ slow gear audio effect to produce volume swells."))))
|
|||
a simulation of an analog Wah pedal with switchless activation."))))
|
||||
|
||||
(define-public mod-utilities
|
||||
(let ((commit "7cdeeac26ae682730740105ece121d4dddb8ba3f")
|
||||
(revision "1"))
|
||||
(let ((commit "80ea3ea9f52fab7f191671f4810bf90fc955a046")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "mod-utilities")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
|
@ -2894,17 +3027,19 @@ a simulation of an analog Wah pedal with switchless activation."))))
|
|||
(uri (git-reference
|
||||
(url "https://github.com/moddevices/mod-utilities.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ilnkbrmwrszxvc21qlb86h29yz7cnc6rcp0jmna1y693ny2qhf4"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
"1v55zmzmlg0ka7341x5lsvb44amy17vk27s669ps1basd1bk5s5v"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
#:make-flags
|
||||
(list (string-append "INSTALL_PATH="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/lv2"))
|
||||
"/lib/lv2")
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
|
@ -3005,14 +3140,14 @@ develop custom plugins for use in other applications without programming.")
|
|||
(define-public qmidiarp
|
||||
(package
|
||||
(name "qmidiarp")
|
||||
(version "0.6.4")
|
||||
(version "0.6.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qmidiarp/qmidiarp/"
|
||||
version "/qmidiarp-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gkfv8ajgf86kbn6j5ilfc1zlz17gdi9yxzywqd6jwff4xlm75hx"))))
|
||||
"043yh1p0rrbj1v840y27529m9260g55gvh1km8az4jxy7mns58r2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -3548,3 +3683,71 @@ by The Echo Nest.")
|
|||
@url{https://gpodder.net} APIs. It allows applications to discover, manage
|
||||
and track podcasts.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public sonivox-eas
|
||||
(package
|
||||
(name "sonivox-eas")
|
||||
(version "1.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pedrolcl/Linux-SonivoxEas.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l9gs00p5g4k4qy6i7nv1mfi2n2wnsycwjrgrh9hxzam4irf2mw2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ; there are no tests
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("drumstick" ,drumstick)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("qtbase" ,qtbase)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/pedrolcl/Linux-SonivoxEas")
|
||||
(synopsis "MIDI synthesizer library")
|
||||
(description "This project is a real time General MIDI synthesizer based
|
||||
on the Sonivox EAS Synthesizer by Google. It does not need external
|
||||
soundfonts, using embedded samples instead.")
|
||||
;; Sonivox is released under the ASL2.0; the rest of the code is under
|
||||
;; GPLv2+.
|
||||
(license (list license:gpl2+ license:asl2.0))))
|
||||
|
||||
(define-public whysynth
|
||||
(package
|
||||
(name "whysynth")
|
||||
(version "20170701")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://smbolton.com/whysynth/whysynth-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"02qbn0hbvn1iym4zxv35b201blg31yjpgh71h8db0j5zls2xc0m6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("dssi" ,dssi)
|
||||
("liblo" ,liblo)
|
||||
("fftwf" ,fftwf)
|
||||
("gtk+" ,gtk+-2)
|
||||
("ladspa" ,ladspa)
|
||||
("alsa-lib" ,alsa-lib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://smbolton.com/whysynth.html")
|
||||
(synopsis "DSSI software synthesizer")
|
||||
(description "WhySynth is a versatile softsynth which operates as a plugin
|
||||
for the DSSI Soft Synth Interface. A brief list of features:
|
||||
|
||||
@enumerate
|
||||
@item 4 oscillators, 2 filters, 3 LFOs, and 5 envelope generators per voice.
|
||||
@item 11 oscillator modes: minBLEP, wavecycle, chorused wavecycle,
|
||||
asynchronous granular, three FM modes, waveshaper, noise, PADsynth, and phase
|
||||
distortion.
|
||||
@item 10 filter modes.
|
||||
@item flexible modulation and mixdown options, plus effects.
|
||||
@end enumerate
|
||||
")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -450,7 +450,7 @@ and up to 1 Mbit/s downstream.")
|
|||
(define-public whois
|
||||
(package
|
||||
(name "whois")
|
||||
(version "5.2.18")
|
||||
(version "5.2.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -458,7 +458,7 @@ and up to 1 Mbit/s downstream.")
|
|||
name "_" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mcpgj18n1xppvlhjqzpj05yr5z48bym9bd88k10fwgkmwk0spf3"))))
|
||||
"0b16w48c17k35lhd95qcl2kjq2rahk8znkg3w467rf3kzmsa4fbc"))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO: unbundle mkpasswd binary + its po files.
|
||||
(arguments
|
||||
|
@ -471,13 +471,14 @@ and up to 1 Mbit/s downstream.")
|
|||
(add-before 'build 'setenv
|
||||
(lambda _
|
||||
(setenv "HAVE_ICONV" "1")
|
||||
(setenv "HAVE_LIBIDN" "1")
|
||||
#t)))))
|
||||
(inputs
|
||||
;; TODO: Switch to libidn2 when >= 2.0.3 is ungrafted in master.
|
||||
`(("libidn" ,libidn)))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("perl" ,perl)))
|
||||
("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.
|
||||
|
@ -710,7 +711,7 @@ allows for heavy scripting.")
|
|||
(define-public perl-net-dns
|
||||
(package
|
||||
(name "perl-net-dns")
|
||||
(version "1.13")
|
||||
(version "1.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -720,7 +721,7 @@ allows for heavy scripting.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dlca65l45mqs7l58fg838bj3as5kmnbs1zy8vg9cbsz6rindivy"))))
|
||||
"1z4r092qv0ify033dld5jayk8gs0bc7pl130dvb8ab7b9rcqmhw3"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs
|
||||
`(("perl-digest-hmac" ,perl-digest-hmac)))
|
||||
|
|
|
@ -52,11 +52,18 @@
|
|||
(inputs
|
||||
`(("pygtk" ,python2-pygtk)
|
||||
("sqlalchemy" ,python2-sqlalchemy)
|
||||
("python-lxml" ,python2-lxml)
|
||||
("python-pillow" ,python2-pillow)
|
||||
("elib.intl" ,python2-elib.intl)))
|
||||
(arguments
|
||||
`(#:python ,python-2 ;exception and print syntax
|
||||
#:tests? #f)) ;tests look bitrotted
|
||||
#:tests? #f ;tests look bitrotted
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(zero? (system* "python" "setup.py" "install" "--prefix"
|
||||
(assoc-ref %outputs "out"))))))))
|
||||
(home-page "http://thinkle.github.io/gourmet/")
|
||||
(synopsis "Recipe organizer")
|
||||
(description
|
||||
|
|
|
@ -87,8 +87,8 @@
|
|||
;; Note: the 'update-guix-package.scm' script expects this definition to
|
||||
;; start precisely like this.
|
||||
(let ((version "0.14.0")
|
||||
(commit "ad4953bc0ec1684c49c0934304c7ec200a0cd280")
|
||||
(revision 1))
|
||||
(commit "02345c963e1e8a45afcdf5acb80fca4538244b36")
|
||||
(revision 2))
|
||||
(package
|
||||
(name "guix")
|
||||
|
||||
|
@ -104,7 +104,7 @@
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0ngra4cb1kf3kwccslmhnvlr116drsnbqrsjniq1hrg5mqf6vf1b"))
|
||||
"0f33makasj14zf0zfv1w7k04bkcpdy5grx5b904vv5ygi5bak7nx"))
|
||||
(file-name (string-append "guix-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -98,6 +99,10 @@ human.")
|
|||
(base32
|
||||
"0wrl8kxb16wzdgfjj057yv18cfg0b8z8lxp1fl2q8fkdgr7phm9g"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out") "/lib"))))
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt)
|
||||
("libxi" ,libxi)
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
Fix a bug in `borg check --repair` that corrupts existing archives:
|
||||
|
||||
https://github.com/borgbackup/borg/issues/3444
|
||||
|
||||
Patches copied from upstream source repository:
|
||||
|
||||
https://github.com/borgbackup/borg/commit/e09892caec8a63d59e909518c4e9c230dbd69774
|
||||
https://github.com/borgbackup/borg/commit/a68d28bfa4db30561150c83eb6a0dca5efa4d9e8
|
||||
|
||||
From a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Waldmann <tw@waldmann-edv.de>
|
||||
Date: Sat, 16 Dec 2017 01:11:40 +0100
|
||||
Subject: [PATCH 1/2] modify borg check unit test so it "hangs", see #3444
|
||||
|
||||
it doesn't infinitely hang, but slows down considerably.
|
||||
---
|
||||
src/borg/testsuite/archiver.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py
|
||||
index c7def2c7..b3383e97 100644
|
||||
--- a/src/borg/testsuite/archiver.py
|
||||
+++ b/src/borg/testsuite/archiver.py
|
||||
@@ -3006,7 +3006,7 @@ def test_missing_file_chunk(self):
|
||||
def test_missing_archive_item_chunk(self):
|
||||
archive, repository = self.open_archive('archive1')
|
||||
with repository:
|
||||
- repository.delete(archive.metadata.items[-5])
|
||||
+ repository.delete(archive.metadata.items[0])
|
||||
repository.commit()
|
||||
self.cmd('check', self.repository_location, exit_code=1)
|
||||
self.cmd('check', '--repair', self.repository_location, exit_code=0)
|
||||
--
|
||||
2.15.1
|
||||
|
||||
|
||||
From e09892caec8a63d59e909518c4e9c230dbd69774 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Waldmann <tw@waldmann-edv.de>
|
||||
Date: Sat, 16 Dec 2017 01:16:05 +0100
|
||||
Subject: [PATCH 2/2] check --repair: fix malfunctioning validator, fixes #3444
|
||||
|
||||
the major problem was the ('path' in item) expression.
|
||||
the dict has bytes-typed keys there, so it never succeeded as it
|
||||
looked for a str key. this is a 1.1 regression, 1.0 was fine.
|
||||
|
||||
the dict -> StableDict change is just for being more specific,
|
||||
the check triggered correctly as StableDict subclasses dict,
|
||||
it was just a bit too general.
|
||||
---
|
||||
src/borg/archive.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/borg/archive.py b/src/borg/archive.py
|
||||
index 239d00b7..be086800 100644
|
||||
--- a/src/borg/archive.py
|
||||
+++ b/src/borg/archive.py
|
||||
@@ -1457,7 +1457,7 @@ def robust_iterator(archive):
|
||||
"""
|
||||
item_keys = frozenset(key.encode() for key in self.manifest.item_keys)
|
||||
required_item_keys = frozenset(key.encode() for key in REQUIRED_ITEM_KEYS)
|
||||
- unpacker = RobustUnpacker(lambda item: isinstance(item, dict) and 'path' in item,
|
||||
+ unpacker = RobustUnpacker(lambda item: isinstance(item, StableDict) and b'path' in item,
|
||||
self.manifest.item_keys)
|
||||
_state = 0
|
||||
|
||||
--
|
||||
2.15.1
|
||||
|
|
@ -0,0 +1,245 @@
|
|||
# HG changeset patch
|
||||
# User Gael Guennebaud <g.gael@free.fr>
|
||||
# Date 1497514590 -7200
|
||||
# Node ID d781c1de98342c5ca29c2fe719d8d3c96a35dcd4
|
||||
# Parent 48cd83b2b459aa9f3f5dca135d38760fe0b02a2f
|
||||
Bug 1436: fix compilation of Jacobi rotations with ARM NEON, some specializations of internal::conj_helper were missing.
|
||||
|
||||
diff --git a/Eigen/Core b/Eigen/Core
|
||||
--- a/Eigen/Core
|
||||
+++ b/Eigen/Core
|
||||
@@ -371,6 +371,7 @@
|
||||
#include "src/Core/MathFunctions.h"
|
||||
#include "src/Core/GenericPacketMath.h"
|
||||
#include "src/Core/MathFunctionsImpl.h"
|
||||
+#include "src/Core/arch/Default/ConjHelper.h"
|
||||
|
||||
#if defined EIGEN_VECTORIZE_AVX512
|
||||
#include "src/Core/arch/SSE/PacketMath.h"
|
||||
diff --git a/Eigen/src/Core/arch/AVX/Complex.h b/Eigen/src/Core/arch/AVX/Complex.h
|
||||
--- a/Eigen/src/Core/arch/AVX/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/AVX/Complex.h
|
||||
@@ -204,23 +204,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
-template<> struct conj_helper<Packet8f, Packet4cf, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet8f& x, const Packet4cf& y, const Packet4cf& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet4cf pmul(const Packet8f& x, const Packet4cf& y) const
|
||||
- { return Packet4cf(Eigen::internal::pmul(x, y.v)); }
|
||||
-};
|
||||
-
|
||||
-template<> struct conj_helper<Packet4cf, Packet8f, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet4cf pmadd(const Packet4cf& x, const Packet8f& y, const Packet4cf& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet4cf pmul(const Packet4cf& x, const Packet8f& y) const
|
||||
- { return Packet4cf(Eigen::internal::pmul(x.v, y)); }
|
||||
-};
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet4cf,Packet8f)
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet4cf pdiv<Packet4cf>(const Packet4cf& a, const Packet4cf& b)
|
||||
{
|
||||
@@ -400,23 +384,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
-template<> struct conj_helper<Packet4d, Packet2cd, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet4d& x, const Packet2cd& y, const Packet2cd& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet2cd pmul(const Packet4d& x, const Packet2cd& y) const
|
||||
- { return Packet2cd(Eigen::internal::pmul(x, y.v)); }
|
||||
-};
|
||||
-
|
||||
-template<> struct conj_helper<Packet2cd, Packet4d, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet2cd pmadd(const Packet2cd& x, const Packet4d& y, const Packet2cd& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet2cd pmul(const Packet2cd& x, const Packet4d& y) const
|
||||
- { return Packet2cd(Eigen::internal::pmul(x.v, y)); }
|
||||
-};
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cd,Packet4d)
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet2cd pdiv<Packet2cd>(const Packet2cd& a, const Packet2cd& b)
|
||||
{
|
||||
diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h b/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
--- a/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
@@ -224,23 +224,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
-template<> struct conj_helper<Packet4f, Packet2cf, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const
|
||||
- { return Packet2cf(internal::pmul<Packet4f>(x, y.v)); }
|
||||
-};
|
||||
-
|
||||
-template<> struct conj_helper<Packet2cf, Packet4f, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const
|
||||
- { return Packet2cf(internal::pmul<Packet4f>(x.v, y)); }
|
||||
-};
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
|
||||
{
|
||||
@@ -416,23 +400,8 @@
|
||||
return pconj(internal::pmul(a, b));
|
||||
}
|
||||
};
|
||||
-template<> struct conj_helper<Packet2d, Packet1cd, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const
|
||||
- { return Packet1cd(internal::pmul<Packet2d>(x, y.v)); }
|
||||
-};
|
||||
-
|
||||
-template<> struct conj_helper<Packet1cd, Packet2d, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const
|
||||
- { return Packet1cd(internal::pmul<Packet2d>(x.v, y)); }
|
||||
-};
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
|
||||
{
|
||||
diff --git a/Eigen/src/Core/arch/Default/ConjHelper.h b/Eigen/src/Core/arch/Default/ConjHelper.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/Eigen/src/Core/arch/Default/ConjHelper.h
|
||||
@@ -0,0 +1,29 @@
|
||||
+
|
||||
+// This file is part of Eigen, a lightweight C++ template library
|
||||
+// for linear algebra.
|
||||
+//
|
||||
+// Copyright (C) 2017 Gael Guennebaud <gael.guennebaud@inria.fr>
|
||||
+//
|
||||
+// This Source Code Form is subject to the terms of the Mozilla
|
||||
+// Public License v. 2.0. If a copy of the MPL was not distributed
|
||||
+// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
+
|
||||
+#ifndef EIGEN_ARCH_CONJ_HELPER_H
|
||||
+#define EIGEN_ARCH_CONJ_HELPER_H
|
||||
+
|
||||
+#define EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(PACKET_CPLX, PACKET_REAL) \
|
||||
+ template<> struct conj_helper<PACKET_REAL, PACKET_CPLX, false,false> { \
|
||||
+ EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_REAL& x, const PACKET_CPLX& y, const PACKET_CPLX& c) const \
|
||||
+ { return padd(c, pmul(x,y)); } \
|
||||
+ EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_REAL& x, const PACKET_CPLX& y) const \
|
||||
+ { return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x, y.v)); } \
|
||||
+ }; \
|
||||
+ \
|
||||
+ template<> struct conj_helper<PACKET_CPLX, PACKET_REAL, false,false> { \
|
||||
+ EIGEN_STRONG_INLINE PACKET_CPLX pmadd(const PACKET_CPLX& x, const PACKET_REAL& y, const PACKET_CPLX& c) const \
|
||||
+ { return padd(c, pmul(x,y)); } \
|
||||
+ EIGEN_STRONG_INLINE PACKET_CPLX pmul(const PACKET_CPLX& x, const PACKET_REAL& y) const \
|
||||
+ { return PACKET_CPLX(Eigen::internal::pmul<PACKET_REAL>(x.v, y)); } \
|
||||
+ };
|
||||
+
|
||||
+#endif // EIGEN_ARCH_CONJ_HELPER_H
|
||||
diff --git a/Eigen/src/Core/arch/NEON/Complex.h b/Eigen/src/Core/arch/NEON/Complex.h
|
||||
--- a/Eigen/src/Core/arch/NEON/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/NEON/Complex.h
|
||||
@@ -265,6 +265,8 @@
|
||||
}
|
||||
};
|
||||
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
|
||||
+
|
||||
template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
|
||||
{
|
||||
// TODO optimize it for NEON
|
||||
@@ -456,6 +458,8 @@
|
||||
}
|
||||
};
|
||||
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
|
||||
+
|
||||
template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
|
||||
{
|
||||
// TODO optimize it for NEON
|
||||
diff --git a/Eigen/src/Core/arch/SSE/Complex.h b/Eigen/src/Core/arch/SSE/Complex.h
|
||||
--- a/Eigen/src/Core/arch/SSE/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/SSE/Complex.h
|
||||
@@ -229,23 +229,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
-template<> struct conj_helper<Packet4f, Packet2cf, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet4f& x, const Packet2cf& y, const Packet2cf& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet4f& x, const Packet2cf& y) const
|
||||
- { return Packet2cf(Eigen::internal::pmul<Packet4f>(x, y.v)); }
|
||||
-};
|
||||
-
|
||||
-template<> struct conj_helper<Packet2cf, Packet4f, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmadd(const Packet2cf& x, const Packet4f& y, const Packet2cf& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet2cf pmul(const Packet2cf& x, const Packet4f& y) const
|
||||
- { return Packet2cf(Eigen::internal::pmul<Packet4f>(x.v, y)); }
|
||||
-};
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet2cf pdiv<Packet2cf>(const Packet2cf& a, const Packet2cf& b)
|
||||
{
|
||||
@@ -430,23 +414,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
-template<> struct conj_helper<Packet2d, Packet1cd, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet2d& x, const Packet1cd& y, const Packet1cd& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet2d& x, const Packet1cd& y) const
|
||||
- { return Packet1cd(Eigen::internal::pmul<Packet2d>(x, y.v)); }
|
||||
-};
|
||||
-
|
||||
-template<> struct conj_helper<Packet1cd, Packet2d, false,false>
|
||||
-{
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmadd(const Packet1cd& x, const Packet2d& y, const Packet1cd& c) const
|
||||
- { return padd(c, pmul(x,y)); }
|
||||
-
|
||||
- EIGEN_STRONG_INLINE Packet1cd pmul(const Packet1cd& x, const Packet2d& y) const
|
||||
- { return Packet1cd(Eigen::internal::pmul<Packet2d>(x.v, y)); }
|
||||
-};
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
|
||||
|
||||
template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
|
||||
{
|
||||
diff --git a/Eigen/src/Core/arch/ZVector/Complex.h b/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
--- a/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
+++ b/Eigen/src/Core/arch/ZVector/Complex.h
|
||||
@@ -336,6 +336,9 @@
|
||||
}
|
||||
};
|
||||
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet2cf,Packet4f)
|
||||
+EIGEN_MAKE_CONJ_HELPER_CPLX_REAL(Packet1cd,Packet2d)
|
||||
+
|
||||
template<> EIGEN_STRONG_INLINE Packet1cd pdiv<Packet1cd>(const Packet1cd& a, const Packet1cd& b)
|
||||
{
|
||||
// TODO optimize it for AltiVec
|
|
@ -1,137 +0,0 @@
|
|||
http://www.openwall.com/lists/oss-security/2017/09/01/6
|
||||
|
||||
CVE-2017-11403:
|
||||
http://hg.code.sf.net/p/graphicsmagick/code/rev/d0a76868ca37
|
||||
|
||||
CVE-2017-14103:
|
||||
http://hg.code.sf.net/p/graphicsmagick/code/rev/98721124e51f
|
||||
|
||||
some changes were made to make the patch apply
|
||||
|
||||
# HG changeset patch
|
||||
# User Glenn Randers-Pehrson <glennrp+bmo@gmail.com>
|
||||
# Date 1503875721 14400
|
||||
# Node ID 98721124e51fd5ec0c6fba64bce2e218869632d2
|
||||
# Parent f0f2ea85a2930f3b6dcd72352719adb9660f2aad
|
||||
Attempt to fix Issue 440.
|
||||
|
||||
diff -ru a/coders/png.c b/coders/png.c
|
||||
--- a/coders/png.c 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ b/coders/png.c 2017-09-10 11:31:56.543194173 -0400
|
||||
@@ -3106,7 +3106,9 @@
|
||||
if (length > PNG_MAX_UINT || count == 0)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(CorruptImageError,CorruptImage,image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "chunk length (%lu) > PNG_MAX_UINT",length);
|
||||
+ return ((Image*)NULL);
|
||||
}
|
||||
|
||||
chunk=(unsigned char *) NULL;
|
||||
@@ -3117,13 +3119,16 @@
|
||||
if (chunk == (unsigned char *) NULL)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,
|
||||
- image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " Could not allocate chunk memory");
|
||||
+ return ((Image*)NULL);
|
||||
}
|
||||
if (ReadBlob(image,length,chunk) < length)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(CorruptImageError,CorruptImage,image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " chunk reading was incomplete");
|
||||
+ return ((Image*)NULL);
|
||||
}
|
||||
p=chunk;
|
||||
}
|
||||
@@ -3198,7 +3203,7 @@
|
||||
jng_width, jng_height);
|
||||
MagickFreeMemory(chunk);
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
|
||||
+ return ((Image *)NULL);
|
||||
}
|
||||
|
||||
/* Temporarily set width and height resources to match JHDR */
|
||||
@@ -3233,8 +3238,9 @@
|
||||
if (color_image == (Image *) NULL)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,
|
||||
- image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " could not open color_image blob");
|
||||
+ return ((Image *)NULL);
|
||||
}
|
||||
if (logging)
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
@@ -3245,7 +3251,9 @@
|
||||
if (status == MagickFalse)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(CoderError,UnableToOpenBlob,color_image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " could not open color_image blob");
|
||||
+ return ((Image *)NULL);
|
||||
}
|
||||
|
||||
if (!image_info->ping && jng_color_type >= 12)
|
||||
@@ -3255,17 +3263,18 @@
|
||||
if (alpha_image_info == (ImageInfo *) NULL)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(ResourceLimitError,
|
||||
- MemoryAllocationFailed, image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " could not allocate alpha_image_info",length);
|
||||
+ return ((Image *)NULL);
|
||||
}
|
||||
GetImageInfo(alpha_image_info);
|
||||
alpha_image=AllocateImage(alpha_image_info);
|
||||
if (alpha_image == (Image *) NULL)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- ThrowReaderException(ResourceLimitError,
|
||||
- MemoryAllocationFailed,
|
||||
- alpha_image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " could not allocate alpha_image");
|
||||
+ return ((Image *)NULL);
|
||||
}
|
||||
if (logging)
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
@@ -3277,7 +3286,9 @@
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
DestroyImage(alpha_image);
|
||||
- ThrowReaderException(CoderError,UnableToOpenBlob,image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " could not allocate alpha_image blob");
|
||||
+ return ((Image *)NULL);
|
||||
}
|
||||
if (jng_alpha_compression_method == 0)
|
||||
{
|
||||
@@ -3613,6 +3624,8 @@
|
||||
alpha_image = (Image *)NULL;
|
||||
DestroyImageInfo(alpha_image_info);
|
||||
alpha_image_info = (ImageInfo *)NULL;
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " Destroy the JNG image");
|
||||
DestroyImage(jng_image);
|
||||
jng_image = (Image *)NULL;
|
||||
}
|
||||
@@ -5146,8 +5159,8 @@
|
||||
|
||||
if (image == (Image *) NULL)
|
||||
{
|
||||
- DestroyImageList(previous);
|
||||
CloseBlob(previous);
|
||||
+ DestroyImageList(previous);
|
||||
MngInfoFreeStruct(mng_info,&have_mng_structure);
|
||||
return((Image *) NULL);
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/cd699a44f188.
|
||||
|
||||
diff -ur a/coders/png.c b/coders/png.c
|
||||
--- a/coders/png.c 2017-07-04 17:32:08.000000000 -0400
|
||||
+++ b/coders/png.c 2017-08-19 11:16:20.933969362 -0400
|
||||
@@ -4101,11 +4101,17 @@
|
||||
mng_info->image=image;
|
||||
}
|
||||
|
||||
- if ((mng_info->mng_width > 65535L) || (mng_info->mng_height
|
||||
- > 65535L))
|
||||
- (void) ThrowException(&image->exception,ImageError,
|
||||
- WidthOrHeightExceedsLimit,
|
||||
- image->filename);
|
||||
+ if ((mng_info->mng_width > 65535L) ||
|
||||
+ (mng_info->mng_height > 65535L))
|
||||
+ {
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " MNG width or height is too large: %lu, %lu",
|
||||
+ mng_info->mng_width,mng_info->mng_height);
|
||||
+ MagickFreeMemory(chunk);
|
||||
+ ThrowReaderException(CorruptImageError,
|
||||
+ ImproperImageHeader,image);
|
||||
+ }
|
||||
+
|
||||
FormatString(page_geometry,"%lux%lu+0+0",mng_info->mng_width,
|
||||
mng_info->mng_height);
|
||||
mng_info->frame.left=0;
|
|
@ -1,16 +0,0 @@
|
|||
This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/be898b7c97bd.
|
||||
|
||||
diff -ur a/coders/wmf.c b/coders/wmf.c
|
||||
--- a/coders/wmf.c 2016-09-05 15:20:23.000000000 -0400
|
||||
+++ b/coders/wmf.c 2017-08-19 10:38:08.984187264 -0400
|
||||
@@ -2719,8 +2719,8 @@
|
||||
if(image->exception.severity != UndefinedException)
|
||||
ThrowException2(exception,
|
||||
CoderWarning,
|
||||
- ddata->image->exception.reason,
|
||||
- ddata->image->exception.description);
|
||||
+ image->exception.reason,
|
||||
+ image->exception.description);
|
||||
|
||||
if(logging)
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),"leave ReadWMFImage()");
|
|
@ -1,28 +0,0 @@
|
|||
This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/95d00d55e978.
|
||||
|
||||
diff -ur a/coders/sun.c b/coders/sun.c
|
||||
--- a/coders/sun.c 2016-05-30 13:19:54.000000000 -0400
|
||||
+++ b/coders/sun.c 2017-08-18 18:00:00.191023610 -0400
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
-% Copyright (C) 2003-2015 GraphicsMagick Group
|
||||
+% Copyright (C) 2003-2017 GraphicsMagick Group
|
||||
% Copyright (C) 2002 ImageMagick Studio
|
||||
% Copyright 1991-1999 E. I. du Pont de Nemours and Company
|
||||
%
|
||||
@@ -577,6 +577,7 @@
|
||||
for (bit=7; bit >= 0; bit--)
|
||||
{
|
||||
index=((*p) & (0x01 << bit) ? 0x01 : 0x00);
|
||||
+ VerifyColormapIndex(image,index);
|
||||
indexes[x+7-bit]=index;
|
||||
q[x+7-bit]=image->colormap[index];
|
||||
}
|
||||
@@ -587,6 +588,7 @@
|
||||
for (bit=7; bit >= (long) (8-(image->columns % 8)); bit--)
|
||||
{
|
||||
index=((*p) & (0x01 << bit) ? 0x01 : 0x00);
|
||||
+ VerifyColormapIndex(image,index);
|
||||
indexes[x+7-bit]=index;
|
||||
q[x+7-bit]=image->colormap[index];
|
||||
}
|
|
@ -1,195 +0,0 @@
|
|||
http://openwall.com/lists/oss-security/2017/08/31/3
|
||||
http://hg.code.sf.net/p/graphicsmagick/code/raw-rev/b037d79b6ccd
|
||||
|
||||
some changes were made to make the patch apply
|
||||
|
||||
# HG changeset patch
|
||||
# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
|
||||
# Date 1503774853 18000
|
||||
# Node ID b037d79b6ccd0cfba7ba9ce09b454ed46d688036
|
||||
# Parent 198ea602ea7cc767dc3022bbcf887bcd4534158d
|
||||
JNX: Fix DOS issues
|
||||
|
||||
diff -r 198ea602ea7c -r b037d79b6ccd coders/jnx.c
|
||||
--- a/coders/jnx.c Tue Aug 22 08:08:30 2017 -0500
|
||||
+++ b/coders/jnx.c Sat Aug 26 14:14:13 2017 -0500
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
-% Copyright (C) 2012-2015 GraphicsMagick Group
|
||||
+% Copyright (C) 2012-2017 GraphicsMagick Group
|
||||
%
|
||||
% This program is covered by multiple licenses, which are described in
|
||||
% Copyright.txt. You should have received a copy of Copyright.txt with this
|
||||
@@ -100,6 +100,7 @@
|
||||
|
||||
char img_label_str[MaxTextExtent];
|
||||
|
||||
+
|
||||
alloc_size = TileInfo->PicSize + 2;
|
||||
|
||||
if (image->logging)
|
||||
@@ -242,6 +243,9 @@
|
||||
total_tiles,
|
||||
current_tile;
|
||||
|
||||
+ magick_off_t
|
||||
+ file_size;
|
||||
+
|
||||
/* Open image file. */
|
||||
assert(image_info != (const ImageInfo *) NULL);
|
||||
assert(image_info->signature == MagickSignature);
|
||||
@@ -254,9 +258,8 @@
|
||||
if (status == False)
|
||||
ThrowReaderException(FileOpenError, UnableToOpenFile, image);
|
||||
|
||||
- memset(JNXLevelInfo, 0, sizeof(JNXLevelInfo));
|
||||
-
|
||||
/* Read JNX image header. */
|
||||
+ (void) memset(&JNXHeader, 0, sizeof(JNXHeader));
|
||||
JNXHeader.Version = ReadBlobLSBLong(image);
|
||||
if (JNXHeader.Version > 4)
|
||||
ThrowReaderException(CorruptImageError, ImproperImageHeader, image);
|
||||
@@ -266,8 +269,6 @@
|
||||
JNXHeader.MapBounds.SouthWest.lat = ReadBlobLSBLong(image);
|
||||
JNXHeader.MapBounds.SouthWest.lon = ReadBlobLSBLong(image);
|
||||
JNXHeader.Levels = ReadBlobLSBLong(image);
|
||||
- if (JNXHeader.Levels > 20)
|
||||
- ThrowReaderException(CorruptImageError, ImproperImageHeader, image);
|
||||
JNXHeader.Expiration = ReadBlobLSBLong(image);
|
||||
JNXHeader.ProductID = ReadBlobLSBLong(image);
|
||||
JNXHeader.CRC = ReadBlobLSBLong(image);
|
||||
@@ -279,7 +280,41 @@
|
||||
if (EOFBlob(image))
|
||||
ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
|
||||
+ file_size = GetBlobSize(image);
|
||||
+
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "JNX Header:\n"
|
||||
+ " Version: %u\n"
|
||||
+ " DeviceSN: %u\n"
|
||||
+ " MapBounds:\n"
|
||||
+ " NorthEast: lat = %u, lon = %u\n"
|
||||
+ " SouthWest: lat = %u, lon = %u\n"
|
||||
+ " Levels: %u\n"
|
||||
+ " Expiration: %u\n"
|
||||
+ " ProductID: %u\n"
|
||||
+ " CRC: %u\n"
|
||||
+ " SigVersion: %u\n"
|
||||
+ " SigOffset: %u\n"
|
||||
+ " ZOrder: %u",
|
||||
+ JNXHeader.Version,
|
||||
+ JNXHeader.DeviceSN,
|
||||
+ JNXHeader.MapBounds.NorthEast.lat,
|
||||
+ JNXHeader.MapBounds.NorthEast.lon,
|
||||
+ JNXHeader.MapBounds.SouthWest.lat,
|
||||
+ JNXHeader.MapBounds.SouthWest.lon,
|
||||
+ JNXHeader.Levels,
|
||||
+ JNXHeader.Expiration,
|
||||
+ JNXHeader.ProductID,
|
||||
+ JNXHeader.CRC,
|
||||
+ JNXHeader.SigVersion,
|
||||
+ JNXHeader.SigOffset,
|
||||
+ JNXHeader.ZOrder);
|
||||
+
|
||||
+ if (JNXHeader.Levels > 20)
|
||||
+ ThrowReaderException(CorruptImageError, ImproperImageHeader, image);
|
||||
+
|
||||
/* Read JNX image level info. */
|
||||
+ memset(JNXLevelInfo, 0, sizeof(JNXLevelInfo));
|
||||
total_tiles = 0;
|
||||
current_tile = 0;
|
||||
for (i = 0; i < JNXHeader.Levels; i++)
|
||||
@@ -302,11 +337,23 @@
|
||||
{
|
||||
JNXLevelInfo[i].Copyright = NULL;
|
||||
}
|
||||
+
|
||||
+ if (EOFBlob(image))
|
||||
+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
+
|
||||
+ if (image->logging)
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "Level[%u] Info:"
|
||||
+ " TileCount: %4u"
|
||||
+ " TilesOffset: %6u"
|
||||
+ " Scale: %04u",
|
||||
+ i,
|
||||
+ JNXLevelInfo[i].TileCount,
|
||||
+ JNXLevelInfo[i].TilesOffset,
|
||||
+ JNXLevelInfo[i].Scale
|
||||
+ );
|
||||
}
|
||||
|
||||
- if (EOFBlob(image))
|
||||
- ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
-
|
||||
/* Get the current limit */
|
||||
SaveLimit = GetMagickResourceLimit(MapResource);
|
||||
|
||||
@@ -316,11 +363,32 @@
|
||||
/* Read JNX image data. */
|
||||
for (i = 0; i < JNXHeader.Levels; i++)
|
||||
{
|
||||
+ /*
|
||||
+ Validate TileCount against remaining file data
|
||||
+ */
|
||||
+ const magick_off_t current_offset = TellBlob(image);
|
||||
+ const size_t pos_list_entry_size =
|
||||
+ sizeof(magick_uint32_t) + sizeof(magick_uint32_t) + sizeof(magick_uint32_t) +
|
||||
+ sizeof(magick_uint32_t) + sizeof(magick_uint16_t) + sizeof(magick_uint16_t) +
|
||||
+ sizeof(magick_uint32_t) + sizeof(magick_uint32_t);
|
||||
+ const magick_off_t remaining = file_size-current_offset;
|
||||
+ const size_t needed = MagickArraySize(pos_list_entry_size,JNXLevelInfo[i].TileCount);
|
||||
+
|
||||
+ if ((needed == 0U) || (remaining <= 0) || (remaining < (magick_off_t) needed))
|
||||
+ {
|
||||
+ (void) SetMagickResourceLimit(MapResource, SaveLimit);
|
||||
+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
+ }
|
||||
+
|
||||
PositionList = MagickAllocateArray(TJNXTileInfo *,
|
||||
JNXLevelInfo[i].TileCount,
|
||||
sizeof(TJNXTileInfo));
|
||||
if (PositionList == NULL)
|
||||
- continue;
|
||||
+ {
|
||||
+ (void) SetMagickResourceLimit(MapResource, SaveLimit);
|
||||
+ ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,
|
||||
+ image);
|
||||
+ }
|
||||
|
||||
(void) SeekBlob(image, JNXLevelInfo[i].TilesOffset, SEEK_SET);
|
||||
for (j = 0; j < JNXLevelInfo[i].TileCount; j++)
|
||||
@@ -333,12 +401,15 @@
|
||||
PositionList[j].PicHeight = ReadBlobLSBShort(image);
|
||||
PositionList[j].PicSize = ReadBlobLSBLong(image);
|
||||
PositionList[j].PicOffset = ReadBlobLSBLong(image);
|
||||
- }
|
||||
|
||||
- if (EOFBlob(image))
|
||||
- {
|
||||
- MagickFreeMemory(PositionList);
|
||||
- ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
+ if (EOFBlob(image) ||
|
||||
+ ((magick_off_t) PositionList[j].PicOffset +
|
||||
+ PositionList[j].PicSize > file_size))
|
||||
+ {
|
||||
+ (void) SetMagickResourceLimit(MapResource, SaveLimit);
|
||||
+ MagickFreeMemory(PositionList);
|
||||
+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
+ }
|
||||
}
|
||||
|
||||
for (j = 0; j < JNXLevelInfo[i].TileCount; j++)
|
||||
@@ -351,6 +422,9 @@
|
||||
image = ExtractTileJPG(image, image_info, PositionList+j, exception);
|
||||
(void) SetMonitorHandler(previous_handler);
|
||||
|
||||
+ if (exception->severity >= ErrorException)
|
||||
+ break;
|
||||
+
|
||||
current_tile++;
|
||||
if (QuantumTick(current_tile,total_tiles))
|
||||
if (!MagickMonitorFormatted(current_tile,total_tiles,exception,
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
http://openwall.com/lists/oss-security/2017/08/31/1
|
||||
http://openwall.com/lists/oss-security/2017/08/31/2
|
||||
http://hg.code.sf.net/p/graphicsmagick/code/raw-rev/233a720bfd5e
|
||||
|
||||
some changes were made to make the patch apply
|
||||
|
||||
# HG changeset patch
|
||||
# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
|
||||
# Date 1503779175 18000
|
||||
# Node ID 233a720bfd5efd378f133a776507ed41230da617
|
||||
# Parent b037d79b6ccd0cfba7ba9ce09b454ed46d688036
|
||||
XBM: Fix DOS issues.
|
||||
|
||||
diff -r b037d79b6ccd -r 233a720bfd5e coders/xbm.c
|
||||
--- a/coders/xbm.c Sat Aug 26 14:14:13 2017 -0500
|
||||
+++ b/coders/xbm.c Sat Aug 26 15:26:15 2017 -0500
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
-% Copyright (C) 2003 -2012 GraphicsMagick Group
|
||||
+% Copyright (C) 2003-2017 GraphicsMagick Group
|
||||
% Copyright (C) 2002 ImageMagick Studio
|
||||
% Copyright 1991-1999 E. I. du Pont de Nemours and Company
|
||||
%
|
||||
@@ -121,13 +121,15 @@
|
||||
|
||||
static int XBMInteger(Image *image,short int *hex_digits)
|
||||
{
|
||||
+ unsigned int
|
||||
+ flag;
|
||||
+
|
||||
int
|
||||
c,
|
||||
- flag,
|
||||
value;
|
||||
|
||||
value=0;
|
||||
- flag=0;
|
||||
+ flag=0U;
|
||||
for ( ; ; )
|
||||
{
|
||||
c=ReadBlobByte(image);
|
||||
@@ -158,18 +160,14 @@
|
||||
Image
|
||||
*image;
|
||||
|
||||
- int
|
||||
- bit;
|
||||
-
|
||||
- long
|
||||
- y;
|
||||
-
|
||||
register IndexPacket
|
||||
*indexes;
|
||||
|
||||
- register long
|
||||
+ register size_t
|
||||
+ bytes_per_line,
|
||||
i,
|
||||
- x;
|
||||
+ x,
|
||||
+ y;
|
||||
|
||||
register PixelPacket
|
||||
*q;
|
||||
@@ -177,22 +175,24 @@
|
||||
register unsigned char
|
||||
*p;
|
||||
|
||||
- short int
|
||||
- hex_digits[256];
|
||||
-
|
||||
unsigned char
|
||||
*data;
|
||||
|
||||
unsigned int
|
||||
+ bit,
|
||||
+ byte,
|
||||
+ padding,
|
||||
+ version;
|
||||
+
|
||||
+ int
|
||||
+ value;
|
||||
+
|
||||
+ short int
|
||||
+ hex_digits[256];
|
||||
+
|
||||
+ MagickPassFail
|
||||
status;
|
||||
|
||||
- unsigned long
|
||||
- byte,
|
||||
- bytes_per_line,
|
||||
- padding,
|
||||
- value,
|
||||
- version;
|
||||
-
|
||||
/*
|
||||
Open image file.
|
||||
*/
|
||||
@@ -207,6 +207,8 @@
|
||||
/*
|
||||
Read X bitmap header.
|
||||
*/
|
||||
+ (void) memset(buffer,0,sizeof(buffer));
|
||||
+ name[0]='\0';
|
||||
while (ReadBlobString(image,buffer) != (char *) NULL)
|
||||
if (sscanf(buffer,"#define %s %lu",name,&image->columns) == 2)
|
||||
if ((strlen(name) >= 6) &&
|
||||
@@ -278,6 +280,8 @@
|
||||
/*
|
||||
Initialize hex values.
|
||||
*/
|
||||
+ for (i = 0; i < sizeof(hex_digits)/sizeof(hex_digits[0]); i++)
|
||||
+ hex_digits[i]=(-1);
|
||||
hex_digits['0']=0;
|
||||
hex_digits['1']=1;
|
||||
hex_digits['2']=2;
|
||||
@@ -311,40 +315,50 @@
|
||||
*/
|
||||
p=data;
|
||||
if (version == 10)
|
||||
- for (i=0; i < (long) (bytes_per_line*image->rows); (i+=2))
|
||||
+ for (i=0; i < (bytes_per_line*image->rows); (i+=2))
|
||||
{
|
||||
value=XBMInteger(image,hex_digits);
|
||||
+ if (value < 0)
|
||||
+ {
|
||||
+ MagickFreeMemory(data);
|
||||
+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
|
||||
+ }
|
||||
*p++=(unsigned char) value;
|
||||
if (!padding || ((i+2) % bytes_per_line))
|
||||
*p++=(unsigned char) (value >> 8);
|
||||
}
|
||||
else
|
||||
- for (i=0; i < (long) (bytes_per_line*image->rows); i++)
|
||||
+ for (i=0; i < (bytes_per_line*image->rows); i++)
|
||||
{
|
||||
value=XBMInteger(image,hex_digits);
|
||||
+ if (value < 0)
|
||||
+ {
|
||||
+ MagickFreeMemory(data);
|
||||
+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
|
||||
+ }
|
||||
*p++=(unsigned char) value;
|
||||
}
|
||||
/*
|
||||
Convert X bitmap image to pixel packets.
|
||||
*/
|
||||
p=data;
|
||||
- for (y=0; y < (long) image->rows; y++)
|
||||
+ for (y=0; y < image->rows; y++)
|
||||
{
|
||||
q=SetImagePixels(image,0,y,image->columns,1);
|
||||
if (q == (PixelPacket *) NULL)
|
||||
break;
|
||||
indexes=AccessMutableIndexes(image);
|
||||
- bit=0;
|
||||
- byte=0;
|
||||
- for (x=0; x < (long) image->columns; x++)
|
||||
+ bit=0U;
|
||||
+ byte=0U;
|
||||
+ for (x=0; x < image->columns; x++)
|
||||
{
|
||||
- if (bit == 0)
|
||||
+ if (bit == 0U)
|
||||
byte=(*p++);
|
||||
indexes[x]=byte & 0x01 ? 0x01 : 0x00;
|
||||
bit++;
|
||||
- byte>>=1;
|
||||
- if (bit == 8)
|
||||
- bit=0;
|
||||
+ byte>>=1U;
|
||||
+ if (bit == 8U)
|
||||
+ bit=0U;
|
||||
}
|
||||
if (!SyncImagePixels(image))
|
||||
break;
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
http://openwall.com/lists/oss-security/2017/08/28/5
|
||||
http://hg.code.sf.net/p/graphicsmagick/code/rev/3bbf7a13643d
|
||||
|
||||
some changes were made to make the patch apply
|
||||
|
||||
# HG changeset patch
|
||||
# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
|
||||
# Date 1503268616 18000
|
||||
# Node ID 3bbf7a13643df3be76b0e19088a6cc632eea2072
|
||||
# Parent 83a5b946180835f260bcb91e3d06327a8e2577e3
|
||||
PNM: For binary formats, verify sufficient backing file data before memory request.
|
||||
|
||||
diff -r 83a5b9461808 -r 3bbf7a13643d coders/pnm.c
|
||||
--- a/coders/pnm.c Sun Aug 20 17:31:35 2017 -0500
|
||||
+++ b/coders/pnm.c Sun Aug 20 17:36:56 2017 -0500
|
||||
@@ -569,7 +569,7 @@
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),"Colors: %u",
|
||||
image->colors);
|
||||
}
|
||||
- number_pixels=image->columns*image->rows;
|
||||
+ number_pixels=MagickArraySize(image->columns,image->rows);
|
||||
if (number_pixels == 0)
|
||||
ThrowReaderException(CorruptImageError,NegativeOrZeroImageSize,image);
|
||||
if (image->storage_class == PseudoClass)
|
||||
@@ -858,14 +858,14 @@
|
||||
if (1 == bits_per_sample)
|
||||
{
|
||||
/* PBM */
|
||||
- bytes_per_row=((image->columns+7) >> 3);
|
||||
+ bytes_per_row=((image->columns+7U) >> 3);
|
||||
import_options.grayscale_miniswhite=MagickTrue;
|
||||
quantum_type=GrayQuantum;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* PGM & XV_332 */
|
||||
- bytes_per_row=((bits_per_sample+7)/8)*image->columns;
|
||||
+ bytes_per_row=MagickArraySize(((bits_per_sample+7U)/8U),image->columns);
|
||||
if (XV_332_Format == format)
|
||||
{
|
||||
quantum_type=IndexQuantum;
|
||||
@@ -878,7 +878,8 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- bytes_per_row=(((bits_per_sample+7)/8)*samples_per_pixel)*image->columns;
|
||||
+ bytes_per_row=MagickArraySize((((bits_per_sample+7)/8)*samples_per_pixel),
|
||||
+ image->columns);
|
||||
if (3 == samples_per_pixel)
|
||||
{
|
||||
/* PPM */
|
||||
@@ -915,6 +916,28 @@
|
||||
is_monochrome=MagickFalse;
|
||||
}
|
||||
}
|
||||
+
|
||||
+ /* Validate file size before allocating memory */
|
||||
+ if (BlobIsSeekable(image))
|
||||
+ {
|
||||
+ const magick_off_t file_size = GetBlobSize(image);
|
||||
+ const magick_off_t current_offset = TellBlob(image);
|
||||
+ if ((file_size > 0) &&
|
||||
+ (current_offset > 0) &&
|
||||
+ (file_size > current_offset))
|
||||
+ {
|
||||
+ const magick_off_t remaining = file_size-current_offset;
|
||||
+ const magick_off_t needed = (magick_off_t) image->rows *
|
||||
+ (magick_off_t) bytes_per_row;
|
||||
+ if ((remaining < (magick_off_t) bytes_per_row) ||
|
||||
+ (remaining < needed))
|
||||
+ {
|
||||
+ ThrowException(exception,CorruptImageError,UnexpectedEndOfFile,
|
||||
+ image->filename);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
scanline_set=AllocateThreadViewDataArray(image,exception,bytes_per_row,1);
|
||||
if (scanline_set == (ThreadViewDataSet *) NULL)
|
|
@ -1,72 +0,0 @@
|
|||
http://hg.code.sf.net/p/graphicsmagick/code/raw-rev/493da54370aa
|
||||
http://openwall.com/lists/oss-security/2017/09/06/4
|
||||
|
||||
some changes were made to make the patch apply
|
||||
|
||||
# HG changeset patch
|
||||
# User Bob Friesenhahn <bfriesen@GraphicsMagick.org>
|
||||
# Date 1503257388 18000
|
||||
# Node ID 493da54370aa42cb430c52a69eb75db0001a5589
|
||||
# Parent f8724674907902b7bc37c04f252fe30fbdd88e6f
|
||||
SUN: Verify that file header data length, and file length are sufficient for claimed image dimensions.
|
||||
|
||||
diff -r f87246749079 -r 493da54370aa coders/sun.c
|
||||
--- a/coders/sun.c Sun Aug 20 12:21:03 2017 +0200
|
||||
+++ b/coders/sun.c Sun Aug 20 14:29:48 2017 -0500
|
||||
@@ -498,6 +498,12 @@
|
||||
if (sun_info.depth < 8)
|
||||
image->depth=sun_info.depth;
|
||||
|
||||
+ if (image_info->ping)
|
||||
+ {
|
||||
+ CloseBlob(image);
|
||||
+ return(image);
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
Compute bytes per line and bytes per image for an unencoded
|
||||
image.
|
||||
@@ -522,15 +528,37 @@
|
||||
if (bytes_per_image > sun_info.length)
|
||||
ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
|
||||
|
||||
- if (image_info->ping)
|
||||
- {
|
||||
- CloseBlob(image);
|
||||
- return(image);
|
||||
- }
|
||||
if (sun_info.type == RT_ENCODED)
|
||||
sun_data_length=(size_t) sun_info.length;
|
||||
else
|
||||
sun_data_length=bytes_per_image;
|
||||
+
|
||||
+ /*
|
||||
+ Verify that data length claimed by header is supported by file size
|
||||
+ */
|
||||
+ if (sun_info.type == RT_ENCODED)
|
||||
+ {
|
||||
+ if (sun_data_length < bytes_per_image/255U)
|
||||
+ {
|
||||
+ ThrowReaderException(CorruptImageError,ImproperImageHeader,image);
|
||||
+ }
|
||||
+ }
|
||||
+ if (BlobIsSeekable(image))
|
||||
+ {
|
||||
+ const magick_off_t file_size = GetBlobSize(image);
|
||||
+ const magick_off_t current_offset = TellBlob(image);
|
||||
+ if ((file_size > 0) &&
|
||||
+ (current_offset > 0) &&
|
||||
+ (file_size > current_offset))
|
||||
+ {
|
||||
+ const magick_off_t remaining = file_size-current_offset;
|
||||
+ if (remaining < (magick_off_t) sun_data_length)
|
||||
+ {
|
||||
+ ThrowReaderException(CorruptImageError,UnexpectedEndOfFile,image);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
sun_data=MagickAllocateMemory(unsigned char *,sun_data_length);
|
||||
if (sun_data == (unsigned char *) NULL)
|
||||
ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,image);
|
||||
|
|
@ -1,210 +0,0 @@
|
|||
http://hg.code.sf.net/p/graphicsmagick/code/rev/358608a46f0a
|
||||
http://www.openwall.com/lists/oss-security/2017/09/22/2
|
||||
|
||||
Some changes were made to make the patch apply.
|
||||
|
||||
Notably, the DestroyJNG() function in the upstream diff has been replaced by
|
||||
its equivalent, a series of calls to MagickFreeMemory(), DestroyImageInfo(),
|
||||
and DestroyImage(). See
|
||||
http://hg.code.sf.net/p/graphicsmagick/code/rev/d445af60a8d5.
|
||||
|
||||
# HG changeset patch
|
||||
# User Glenn Randers-Pehrson <glennrp+bmo@gmail.com>
|
||||
# Date 1504014487 14400
|
||||
# Node ID 358608a46f0a9c55e9bb8b37d09bf1ac9bc87f06
|
||||
# Parent 38c362f0ae5e7a914c3fe822284c6953f8e6eee2
|
||||
Fix Issue 439
|
||||
|
||||
diff -ru a/coders/png.c b/coders/png.c
|
||||
--- a/coders/png.c 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ b/coders/png.c 2017-09-30 08:20:16.218944991 -0400
|
||||
@@ -1176,15 +1176,15 @@
|
||||
/* allocate space */
|
||||
if (length == 0)
|
||||
{
|
||||
- (void) ThrowException2(&image->exception,CoderWarning,
|
||||
- "invalid profile length",(char *) NULL);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "invalid profile length");
|
||||
return (MagickFail);
|
||||
}
|
||||
info=MagickAllocateMemory(unsigned char *,length);
|
||||
if (info == (unsigned char *) NULL)
|
||||
{
|
||||
- (void) ThrowException2(&image->exception,CoderWarning,
|
||||
- "unable to copy profile",(char *) NULL);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "Unable to copy profile");
|
||||
return (MagickFail);
|
||||
}
|
||||
/* copy profile, skipping white space and column 1 "=" signs */
|
||||
@@ -1197,8 +1197,8 @@
|
||||
if (*sp == '\0')
|
||||
{
|
||||
MagickFreeMemory(info);
|
||||
- (void) ThrowException2(&image->exception,CoderWarning,
|
||||
- "ran out of profile data",(char *) NULL);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "ran out of profile data");
|
||||
return (MagickFail);
|
||||
}
|
||||
sp++;
|
||||
@@ -1234,8 +1234,9 @@
|
||||
if(SetImageProfile(image,profile_name,info,length) == MagickFail)
|
||||
{
|
||||
MagickFreeMemory(info);
|
||||
- (void) ThrowException(&image->exception,ResourceLimitError,
|
||||
- MemoryAllocationFailed,"unable to copy profile");
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ "unable to copy profile");
|
||||
+ return MagickFail;
|
||||
}
|
||||
MagickFreeMemory(info);
|
||||
return MagickTrue;
|
||||
@@ -3285,7 +3286,6 @@
|
||||
if (status == MagickFalse)
|
||||
{
|
||||
DestroyJNGInfo(color_image_info,alpha_image_info);
|
||||
- DestroyImage(alpha_image);
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
" could not allocate alpha_image blob");
|
||||
return ((Image *)NULL);
|
||||
@@ -3534,7 +3534,7 @@
|
||||
CloseBlob(color_image);
|
||||
if (logging)
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
- " Reading jng_image from color_blob.");
|
||||
+ " Reading jng_image from color_blob.");
|
||||
|
||||
FormatString(color_image_info->filename,"%.1024s",color_image->filename);
|
||||
|
||||
@@ -3558,13 +3558,18 @@
|
||||
|
||||
if (logging)
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
- " Copying jng_image pixels to main image.");
|
||||
+ " Copying jng_image pixels to main image.");
|
||||
image->rows=jng_height;
|
||||
image->columns=jng_width;
|
||||
length=image->columns*sizeof(PixelPacket);
|
||||
+ if ((jng_height == 0 || jng_width == 0) && logging)
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " jng_width=%lu jng_height=%lu",
|
||||
+ (unsigned long)jng_width,(unsigned long)jng_height);
|
||||
for (y=0; y < (long) image->rows; y++)
|
||||
{
|
||||
- s=AcquireImagePixels(jng_image,0,y,image->columns,1,&image->exception);
|
||||
+ s=AcquireImagePixels(jng_image,0,y,image->columns,1,
|
||||
+ &image->exception);
|
||||
q=SetImagePixels(image,0,y,image->columns,1);
|
||||
(void) memcpy(q,s,length);
|
||||
if (!SyncImagePixels(image))
|
||||
@@ -3589,45 +3594,79 @@
|
||||
CloseBlob(alpha_image);
|
||||
if (logging)
|
||||
(void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
- " Reading opacity from alpha_blob.");
|
||||
+ " Reading opacity from alpha_blob.");
|
||||
|
||||
FormatString(alpha_image_info->filename,"%.1024s",
|
||||
alpha_image->filename);
|
||||
|
||||
jng_image=ReadImage(alpha_image_info,exception);
|
||||
|
||||
- for (y=0; y < (long) image->rows; y++)
|
||||
+ if (jng_image == (Image *)NULL)
|
||||
{
|
||||
- s=AcquireImagePixels(jng_image,0,y,image->columns,1,
|
||||
- &image->exception);
|
||||
- if (image->matte)
|
||||
- {
|
||||
- q=SetImagePixels(image,0,y,image->columns,1);
|
||||
- for (x=(long) image->columns; x > 0; x--,q++,s++)
|
||||
- q->opacity=(Quantum) MaxRGB-s->red;
|
||||
- }
|
||||
- else
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " jng_image is NULL.");
|
||||
+ if (color_image_info)
|
||||
+ DestroyImageInfo(color_image_info);
|
||||
+ if (alpha_image_info)
|
||||
+ DestroyImageInfo(alpha_image_info);
|
||||
+ if (color_image)
|
||||
+ DestroyImage(color_image);
|
||||
+ if (alpha_image)
|
||||
+ DestroyImage(alpha_image);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+
|
||||
+ if (logging)
|
||||
{
|
||||
- q=SetImagePixels(image,0,y,image->columns,1);
|
||||
- for (x=(long) image->columns; x > 0; x--,q++,s++)
|
||||
- {
|
||||
- q->opacity=(Quantum) MaxRGB-s->red;
|
||||
- if (q->opacity != OpaqueOpacity)
|
||||
- image->matte=MagickTrue;
|
||||
- }
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " Read jng_image.");
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " jng_image->width=%lu, jng_image->height=%lu",
|
||||
+ (unsigned long)jng_width,(unsigned long)jng_height);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " image->rows=%lu, image->columns=%lu",
|
||||
+ (unsigned long)image->rows,
|
||||
+ (unsigned long)image->columns);
|
||||
}
|
||||
- if (!SyncImagePixels(image))
|
||||
- break;
|
||||
- }
|
||||
- (void) LiberateUniqueFileResource(alpha_image->filename);
|
||||
- DestroyImage(alpha_image);
|
||||
- alpha_image = (Image *)NULL;
|
||||
- DestroyImageInfo(alpha_image_info);
|
||||
- alpha_image_info = (ImageInfo *)NULL;
|
||||
- (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
- " Destroy the JNG image");
|
||||
- DestroyImage(jng_image);
|
||||
- jng_image = (Image *)NULL;
|
||||
+
|
||||
+ for (y=0; y < (long) image->rows; y++)
|
||||
+ {
|
||||
+ s=AcquireImagePixels(jng_image,0,y,image->columns,1,
|
||||
+ &image->exception);
|
||||
+ if (image->matte)
|
||||
+ {
|
||||
+ q=SetImagePixels(image,0,y,image->columns,1);
|
||||
+ for (x=(long) image->columns; x > 0; x--,q++,s++)
|
||||
+ q->opacity=(Quantum) MaxRGB-s->red;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ q=SetImagePixels(image,0,y,image->columns,1);
|
||||
+ for (x=(long) image->columns; x > 0; x--,q++,s++)
|
||||
+ {
|
||||
+ q->opacity=(Quantum) MaxRGB-s->red;
|
||||
+ if (q->opacity != OpaqueOpacity)
|
||||
+ image->matte=MagickTrue;
|
||||
+ }
|
||||
+ }
|
||||
+ if (!SyncImagePixels(image))
|
||||
+ break;
|
||||
+ }
|
||||
+ (void) LiberateUniqueFileResource(alpha_image->filename);
|
||||
+ if (color_image_info)
|
||||
+ DestroyImageInfo(color_image_info);
|
||||
+ if (alpha_image_info)
|
||||
+ DestroyImageInfo(alpha_image_info);
|
||||
+ if (color_image)
|
||||
+ DestroyImage(color_image);
|
||||
+ if (alpha_image)
|
||||
+ DestroyImage(alpha_image);
|
||||
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
|
||||
+ " Destroy the JNG image");
|
||||
+ DestroyImage(jng_image);
|
||||
+ jng_image = (Image *)NULL;
|
||||
+ }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
From 8cfc9dec37b312a2686f602bbcdd102ca07cca99 Mon Sep 17 00:00:00 2001
|
||||
From: David Goldblatt <davidgoldblatt@fb.com>
|
||||
Date: Fri, 29 Sep 2017 13:54:08 -0700
|
||||
Subject: [PATCH] ARM: Don't extend bit LG_VADDR to compute high address bits.
|
||||
|
||||
In userspace ARM on Linux, zero-ing the high bits is the correct way to do this.
|
||||
This doesn't fix the fact that we currently set LG_VADDR to 48 on ARM, when in
|
||||
fact larger virtual address sizes are coming soon. We'll cross that bridge when
|
||||
we come to it.
|
||||
---
|
||||
include/jemalloc/internal/rtree.h | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/include/jemalloc/internal/rtree.h b/include/jemalloc/internal/rtree.h
|
||||
index b5d4db39..4563db23 100644
|
||||
--- a/include/jemalloc/internal/rtree.h
|
||||
+++ b/include/jemalloc/internal/rtree.h
|
||||
@@ -178,9 +178,21 @@ rtree_leaf_elm_bits_read(tsdn_t *tsdn, rtree_t *rtree, rtree_leaf_elm_t *elm,
|
||||
|
||||
JEMALLOC_ALWAYS_INLINE extent_t *
|
||||
rtree_leaf_elm_bits_extent_get(uintptr_t bits) {
|
||||
+# ifdef __aarch64__
|
||||
+ /*
|
||||
+ * aarch64 doesn't sign extend the highest virtual address bit to set
|
||||
+ * the higher ones. Instead, the high bits gets zeroed.
|
||||
+ */
|
||||
+ uintptr_t high_bit_mask = ((uintptr_t)1 << LG_VADDR) - 1;
|
||||
+ /* Mask off the slab bit. */
|
||||
+ uintptr_t low_bit_mask = ~(uintptr_t)1;
|
||||
+ uintptr_t mask = high_bit_mask & low_bit_mask;
|
||||
+ return (extent_t *)(bits & mask);
|
||||
+# else
|
||||
/* Restore sign-extended high bits, mask slab bit. */
|
||||
return (extent_t *)((uintptr_t)((intptr_t)(bits << RTREE_NHIB) >>
|
||||
RTREE_NHIB) & ~((uintptr_t)0x1));
|
||||
+# endif
|
||||
}
|
||||
|
||||
JEMALLOC_ALWAYS_INLINE szind_t
|
|
@ -0,0 +1,35 @@
|
|||
From 18e3ff648356cf06a39372aa4a4bbf2732d9d0f4 Mon Sep 17 00:00:00 2001
|
||||
From: Efraim Flashner <efraim@flashner.co.il>
|
||||
Date: Tue, 12 Dec 2017 21:36:44 +0200
|
||||
Subject: [PATCH] don't use bundled libvdpau headers
|
||||
|
||||
---
|
||||
CMakeLists.txt | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0484179..e950707 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -9,16 +9,17 @@ find_package(PkgConfig REQUIRED)
|
||||
find_package(X11 REQUIRED)
|
||||
pkg_check_modules(LIBVA libva-x11 REQUIRED)
|
||||
pkg_check_modules(LIBGL gl REQUIRED)
|
||||
+pkg_check_modules(LIBVDPAU vdpau REQUIRED)
|
||||
|
||||
set(DRIVER_NAME "vdpau_va_gl" CACHE STRING "driver name")
|
||||
set(LIB_SUFFIX "" CACHE STRING "library path suffix (if needed)")
|
||||
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/vdpau" CACHE PATH "library installation path")
|
||||
|
||||
include_directories (
|
||||
- 3rdparty
|
||||
${X11_INCLUDE_DIRS}
|
||||
${LIBVA_INCLUDE_DIRS}
|
||||
${LIBGL_INCLUDE_DIRS}
|
||||
+ ${LIBVDPAU_INCLUDE_DIRS}
|
||||
${GENERATED_INCLUDE_DIRS}
|
||||
${CMAKE_BINARY_DIR}
|
||||
)
|
||||
--
|
||||
2.15.1
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
https://sources.debian.org/data/main/p/picprog/1.9.1-3/debian/patches/20_iopl.patch
|
||||
|
||||
Description: Avoid some functions in some architectures
|
||||
Upstream uses iopl() function and other architecture-dependent
|
||||
codes. This patch adds building switches to avoid them in
|
||||
some architectures.
|
||||
Author: Koichi Akabe <vbkaisetsu@gmail.com>
|
||||
Last-Update: 2011-11-30
|
||||
|
||||
--- picprog-1.9.1.orig/picport.cc
|
||||
+++ picprog-1.9.1/picport.cc
|
||||
@@ -38,7 +38,12 @@
|
||||
#include <ctime>
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
-#include <sys/io.h>
|
||||
+
|
||||
+#if defined(__i386__) || defined(__x86_64__)
|
||||
+ #include <sys/io.h>
|
||||
+ #define HAVE_IOPL
|
||||
+#endif
|
||||
+
|
||||
#include <fcntl.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
@@ -160,8 +165,12 @@
|
||||
// Not root. Cannot use realtime scheduling.
|
||||
use_nanosleep = 0;
|
||||
}
|
||||
+#ifdef HAVE_IOPL
|
||||
if (iopl (3))
|
||||
disable_interrupts = 0;
|
||||
+#else
|
||||
+ disable_interrupts = 0;
|
||||
+#endif
|
||||
|
||||
#ifdef CPU_SETSIZE
|
||||
// When computing the delay loops, we do not want the cpu's to change.
|
||||
@@ -403,13 +412,17 @@
|
||||
{
|
||||
struct timeval tv1, tv2;
|
||||
gettimeofday (&tv1, 0);
|
||||
+#if defined(__i386__) or defined(__x86_64__)
|
||||
if (tsc_1000ns > 1 && disable_interrupts)
|
||||
asm volatile("pushf; cli");
|
||||
+#endif
|
||||
set_clock_data (1, b); // set data, clock up
|
||||
delay (cable_delay);
|
||||
set_clock_data (0, b); // clock down
|
||||
+#if defined(__i386__) or defined(__x86_64__)
|
||||
if (tsc_1000ns > 1 && disable_interrupts)
|
||||
asm volatile("popf");
|
||||
+#endif
|
||||
gettimeofday (&tv2, 0);
|
||||
|
||||
// We may have spent a long time in an interrupt or in another task
|
||||
@@ -428,13 +441,17 @@
|
||||
{
|
||||
struct timeval tv1, tv2;
|
||||
gettimeofday (&tv1, 0);
|
||||
+#if defined(__i386__) or defined(__x86_64__)
|
||||
if (tsc_1000ns > 1 && disable_interrupts)
|
||||
asm volatile("pushf; cli");
|
||||
+#endif
|
||||
set_clock_data (1, 1); // clock up
|
||||
delay (cable_delay);
|
||||
set_clock_data (0, 1); // set data up, clock down
|
||||
+#if defined(__i386__) or defined(__x86_64__)
|
||||
if (tsc_1000ns > 1 && disable_interrupts)
|
||||
asm volatile("popf");
|
||||
+#endif
|
||||
gettimeofday (&tv2, 0);
|
||||
|
||||
// We may have spent a long time in an interrupt or in another task
|
|
@ -0,0 +1,25 @@
|
|||
This patch stops a test sometimes failing because of non-determinism. See
|
||||
https://github.com/scikit-learn/scikit-learn/pull/9542
|
||||
|
||||
From ff9f6db6e8b59c2b3528c8137ed4054f57c1d7c4 Mon Sep 17 00:00:00 2001
|
||||
From: Hanmin Qin <qinhanmin2005@sina.com>
|
||||
Date: Sun, 13 Aug 2017 22:13:49 +0800
|
||||
Subject: [PATCH] add random_state
|
||||
|
||||
---
|
||||
sklearn/tests/test_kernel_ridge.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sklearn/tests/test_kernel_ridge.py b/sklearn/tests/test_kernel_ridge.py
|
||||
index 4750a096ac6..979875870b6 100644
|
||||
--- a/sklearn/tests/test_kernel_ridge.py
|
||||
+++ b/sklearn/tests/test_kernel_ridge.py
|
||||
@@ -10,7 +10,7 @@
|
||||
from sklearn.utils.testing import assert_array_almost_equal
|
||||
|
||||
|
||||
-X, y = make_regression(n_features=10)
|
||||
+X, y = make_regression(n_features=10, random_state=0)
|
||||
Xcsr = sp.csr_matrix(X)
|
||||
Xcsc = sp.csc_matrix(X)
|
||||
Y = np.array([y, y]).T
|
|
@ -1,58 +0,0 @@
|
|||
Fix CVE-2017-15118:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15118
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1516922
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=51ae4f8455c9e32c54770c4ebc25bf86a8128183
|
||||
|
||||
From 51ae4f8455c9e32c54770c4ebc25bf86a8128183 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Wed, 22 Nov 2017 15:07:22 -0600
|
||||
Subject: [PATCH] nbd/server: CVE-2017-15118 Stack smash on large export name
|
||||
|
||||
Introduced in commit f37708f6b8 (2.10). The NBD spec says a client
|
||||
can request export names up to 4096 bytes in length, even though
|
||||
they should not expect success on names longer than 256. However,
|
||||
qemu hard-codes the limit of 256, and fails to filter out a client
|
||||
that probes for a longer name; the result is a stack smash that can
|
||||
potentially give an attacker arbitrary control over the qemu
|
||||
process.
|
||||
|
||||
The smash can be easily demonstrated with this client:
|
||||
$ qemu-io f raw nbd://localhost:10809/$(printf %3000d 1 | tr ' ' a)
|
||||
|
||||
If the qemu NBD server binary (whether the standalone qemu-nbd, or
|
||||
the builtin server of QMP nbd-server-start) was compiled with
|
||||
-fstack-protector-strong, the ability to exploit the stack smash
|
||||
into arbitrary execution is a lot more difficult (but still
|
||||
theoretically possible to a determined attacker, perhaps in
|
||||
combination with other CVEs). Still, crashing a running qemu (and
|
||||
losing the VM) is bad enough, even if the attacker did not obtain
|
||||
full execution control.
|
||||
|
||||
CC: qemu-stable@nongnu.org
|
||||
Signed-off-by: Eric Blake <eblake@redhat.com>
|
||||
---
|
||||
nbd/server.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/nbd/server.c b/nbd/server.c
|
||||
index a81801e3bc..92c0fdd03b 100644
|
||||
--- a/nbd/server.c
|
||||
+++ b/nbd/server.c
|
||||
@@ -386,6 +386,10 @@ static int nbd_negotiate_handle_info(NBDClient *client, uint32_t length,
|
||||
msg = "name length is incorrect";
|
||||
goto invalid;
|
||||
}
|
||||
+ if (namelen >= sizeof(name)) {
|
||||
+ msg = "name too long for qemu";
|
||||
+ goto invalid;
|
||||
+ }
|
||||
if (nbd_read(client->ioc, name, namelen, errp) < 0) {
|
||||
return -EIO;
|
||||
}
|
||||
--
|
||||
2.15.0
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
Fix CVE-2017-15119:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15119
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1516925
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=fdad35ef6c5839d50dfc14073364ac893afebc30
|
||||
|
||||
From fdad35ef6c5839d50dfc14073364ac893afebc30 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <eblake@redhat.com>
|
||||
Date: Wed, 22 Nov 2017 16:25:16 -0600
|
||||
Subject: [PATCH] nbd/server: CVE-2017-15119 Reject options larger than 32M
|
||||
|
||||
The NBD spec gives us permission to abruptly disconnect on clients
|
||||
that send outrageously large option requests, rather than having
|
||||
to spend the time reading to the end of the option. No real
|
||||
option request requires that much data anyways; and meanwhile, we
|
||||
already have the practice of abruptly dropping the connection on
|
||||
any client that sends NBD_CMD_WRITE with a payload larger than 32M.
|
||||
|
||||
For comparison, nbdkit drops the connection on any request with
|
||||
more than 4096 bytes; however, that limit is probably too low
|
||||
(as the NBD spec states an export name can theoretically be up
|
||||
to 4096 bytes, which means a valid NBD_OPT_INFO could be even
|
||||
longer) - even if qemu doesn't permit exports longer than 256
|
||||
bytes.
|
||||
|
||||
It could be argued that a malicious client trying to get us to
|
||||
read nearly 4G of data on a bad request is a form of denial of
|
||||
service. In particular, if the server requires TLS, but a client
|
||||
that does not know the TLS credentials sends any option (other
|
||||
than NBD_OPT_STARTTLS or NBD_OPT_EXPORT_NAME) with a stated
|
||||
payload of nearly 4G, then the server was keeping the connection
|
||||
alive trying to read all the payload, tying up resources that it
|
||||
would rather be spending on a client that can get past the TLS
|
||||
handshake. Hence, this warranted a CVE.
|
||||
|
||||
Present since at least 2.5 when handling known options, and made
|
||||
worse in 2.6 when fixing support for NBD_FLAG_C_FIXED_NEWSTYLE
|
||||
to handle unknown options.
|
||||
|
||||
CC: qemu-stable@nongnu.org
|
||||
Signed-off-by: Eric Blake <eblake@redhat.com>
|
||||
---
|
||||
nbd/server.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/nbd/server.c b/nbd/server.c
|
||||
index 7d6801b427..a81801e3bc 100644
|
||||
--- a/nbd/server.c
|
||||
+++ b/nbd/server.c
|
||||
@@ -673,6 +673,12 @@ static int nbd_negotiate_options(NBDClient *client, uint16_t myflags,
|
||||
}
|
||||
length = be32_to_cpu(length);
|
||||
|
||||
+ if (length > NBD_MAX_BUFFER_SIZE) {
|
||||
+ error_setg(errp, "len (%" PRIu32" ) is larger than max len (%u)",
|
||||
+ length, NBD_MAX_BUFFER_SIZE);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
trace_nbd_negotiate_options_check_option(option,
|
||||
nbd_opt_lookup(option));
|
||||
if (client->tlscreds &&
|
||||
--
|
||||
2.15.0
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
Fix CVE-2017-15268:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15268
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=a7b20a8efa28e5f22c26c06cd06c2f12bc863493
|
||||
|
||||
From a7b20a8efa28e5f22c26c06cd06c2f12bc863493 Mon Sep 17 00:00:00 2001
|
||||
From: "Daniel P. Berrange" <berrange@redhat.com>
|
||||
Date: Mon, 9 Oct 2017 14:43:42 +0100
|
||||
Subject: [PATCH] io: monitor encoutput buffer size from websocket GSource
|
||||
|
||||
The websocket GSource is monitoring the size of the rawoutput
|
||||
buffer to determine if the channel can accepts more writes.
|
||||
The rawoutput buffer, however, is merely a temporary staging
|
||||
buffer before data is copied into the encoutput buffer. Thus
|
||||
its size will always be zero when the GSource runs.
|
||||
|
||||
This flaw causes the encoutput buffer to grow without bound
|
||||
if the other end of the underlying data channel doesn't
|
||||
read data being sent. This can be seen with VNC if a client
|
||||
is on a slow WAN link and the guest OS is sending many screen
|
||||
updates. A malicious VNC client can act like it is on a slow
|
||||
link by playing a video in the guest and then reading data
|
||||
very slowly, causing QEMU host memory to expand arbitrarily.
|
||||
|
||||
This issue is assigned CVE-2017-15268, publically reported in
|
||||
|
||||
https://bugs.launchpad.net/qemu/+bug/1718964
|
||||
|
||||
Reviewed-by: Eric Blake <eblake@redhat.com>
|
||||
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
||||
---
|
||||
io/channel-websock.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/io/channel-websock.c b/io/channel-websock.c
|
||||
index d1d471f86e..04bcc059cd 100644
|
||||
--- a/io/channel-websock.c
|
||||
+++ b/io/channel-websock.c
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <time.h>
|
||||
|
||||
|
||||
-/* Max amount to allow in rawinput/rawoutput buffers */
|
||||
+/* Max amount to allow in rawinput/encoutput buffers */
|
||||
#define QIO_CHANNEL_WEBSOCK_MAX_BUFFER 8192
|
||||
|
||||
#define QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN 24
|
||||
@@ -1208,7 +1208,7 @@ qio_channel_websock_source_check(GSource *source)
|
||||
if (wsource->wioc->rawinput.offset || wsource->wioc->io_eof) {
|
||||
cond |= G_IO_IN;
|
||||
}
|
||||
- if (wsource->wioc->rawoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) {
|
||||
+ if (wsource->wioc->encoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) {
|
||||
cond |= G_IO_OUT;
|
||||
}
|
||||
|
||||
--
|
||||
2.15.0
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
https://bugzilla.samba.org/show_bug.cgi?id=13112
|
||||
https://git.samba.org/rsync.git/?p=rsync.git;a=patch;h=47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1
|
||||
|
||||
From 47a63d90e71d3e19e0e96052bb8c6b9cb140ecc1 Mon Sep 17 00:00:00 2001
|
||||
From: Wayne Davison <wayned@samba.org>
|
||||
Date: Sun, 5 Nov 2017 11:33:15 -0800
|
||||
Subject: [PATCH] Enforce trailing \0 when receiving xattr name values. Fixes
|
||||
bug 13112.
|
||||
|
||||
---
|
||||
xattrs.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/xattrs.c b/xattrs.c
|
||||
index 68305d7..4867e6f 100644
|
||||
--- a/xattrs.c
|
||||
+++ b/xattrs.c
|
||||
@@ -824,6 +824,10 @@ void receive_xattr(int f, struct file_struct *file)
|
||||
out_of_memory("receive_xattr");
|
||||
name = ptr + dget_len + extra_len;
|
||||
read_buf(f, name, name_len);
|
||||
+ if (name_len < 1 || name[name_len-1] != '\0') {
|
||||
+ rprintf(FERROR, "Invalid xattr name received (missing trailing \\0).\n");
|
||||
+ exit_cleanup(RERR_FILEIO);
|
||||
+ }
|
||||
if (dget_len == datum_len)
|
||||
read_buf(f, ptr, dget_len);
|
||||
else {
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
https://git.samba.org/?p=rsync.git;a=patch;h=f5e8a17e093065fb20fea00a29540fe2c7896441
|
||||
minor edits were made to get the patch to apply
|
||||
|
||||
From f5e8a17e093065fb20fea00a29540fe2c7896441 Mon Sep 17 00:00:00 2001
|
||||
From: Wayne Davison <wayned@samba.org>
|
||||
Date: Sun, 3 Dec 2017 15:49:56 -0800
|
||||
Subject: [PATCH] Fix issue with earlier path-check (fixes "make check") and
|
||||
make a BOOL more explicit.
|
||||
|
||||
---
|
||||
checksum.c | 2 +-
|
||||
receiver.c | 10 +++++-----
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/receiver.c b/receiver.c
|
||||
index 9c46242..75cb00d 100644
|
||||
--- a/receiver.c
|
||||
+++ b/receiver.c
|
||||
@@ -574,15 +574,15 @@ int recv_files(int f_in, int f_out, char *local_name)
|
||||
file = dir_flist->files[cur_flist->parent_ndx];
|
||||
fname = local_name ? local_name : f_name(file, fbuf);
|
||||
|
||||
- if (daemon_filter_list.head
|
||||
- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
|
||||
+ if (DEBUG_GTE(RECV, 1))
|
||||
+ rprintf(FINFO, "recv_files(%s)\n", fname);
|
||||
+
|
||||
+ if (daemon_filter_list.head && (*fname != '.' || fname[1] != '\0')
|
||||
+ && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
|
||||
rprintf(FERROR, "attempt to hack rsync failed.\n");
|
||||
exit_cleanup(RERR_PROTOCOL);
|
||||
}
|
||||
|
||||
- if (DEBUG_GTE(RECV, 1))
|
||||
- rprintf(FINFO, "recv_files(%s)\n", fname);
|
||||
-
|
||||
#ifdef SUPPORT_XATTRS
|
||||
if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers
|
||||
&& !(want_xattr_optim && BITS_SET(iflags, ITEM_XNAME_FOLLOWS|ITEM_LOCAL_CHANGE)))
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17433
|
||||
https://git.samba.org/?p=rsync.git;a=patch;h=3e06d40029cfdce9d0f73d87cfd4edaf54be9c51
|
||||
|
||||
From 3e06d40029cfdce9d0f73d87cfd4edaf54be9c51 Mon Sep 17 00:00:00 2001
|
||||
From: Jeriko One <jeriko.one@gmx.us>
|
||||
Date: Thu, 2 Nov 2017 23:44:19 -0700
|
||||
Subject: [PATCH] Check fname in recv_files sooner.
|
||||
|
||||
---
|
||||
receiver.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/receiver.c b/receiver.c
|
||||
index baae3a9..9fdafa1 100644
|
||||
--- a/receiver.c
|
||||
+++ b/receiver.c
|
||||
@@ -574,6 +574,12 @@ int recv_files(int f_in, int f_out, char *local_name)
|
||||
file = dir_flist->files[cur_flist->parent_ndx];
|
||||
fname = local_name ? local_name : f_name(file, fbuf);
|
||||
|
||||
+ if (daemon_filter_list.head
|
||||
+ && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
|
||||
+ rprintf(FERROR, "attempt to hack rsync failed.\n");
|
||||
+ exit_cleanup(RERR_PROTOCOL);
|
||||
+ }
|
||||
+
|
||||
if (DEBUG_GTE(RECV, 1))
|
||||
rprintf(FINFO, "recv_files(%s)\n", fname);
|
||||
|
||||
@@ -645,12 +651,6 @@ int recv_files(int f_in, int f_out, char *local_name)
|
||||
|
||||
cleanup_got_literal = 0;
|
||||
|
||||
- if (daemon_filter_list.head
|
||||
- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0) {
|
||||
- rprintf(FERROR, "attempt to hack rsync failed.\n");
|
||||
- exit_cleanup(RERR_PROTOCOL);
|
||||
- }
|
||||
-
|
||||
if (read_batch) {
|
||||
int wanted = redoing
|
||||
? we_want_redo(ndx)
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17434
|
||||
https://git.samba.org/?p=rsync.git;a=patch;h=5509597decdbd7b91994210f700329d8a35e70a1
|
||||
|
||||
From 5509597decdbd7b91994210f700329d8a35e70a1 Mon Sep 17 00:00:00 2001
|
||||
From: Jeriko One <jeriko.one@gmx.us>
|
||||
Date: Thu, 16 Nov 2017 17:26:03 -0800
|
||||
Subject: [PATCH] Check daemon filter against fnamecmp in recv_files().
|
||||
|
||||
---
|
||||
receiver.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/receiver.c b/receiver.c
|
||||
index 9fdafa1..9c46242 100644
|
||||
--- a/receiver.c
|
||||
+++ b/receiver.c
|
||||
@@ -722,7 +722,7 @@ int recv_files(int f_in, int f_out, char *local_name)
|
||||
break;
|
||||
}
|
||||
if (!fnamecmp || (daemon_filter_list.head
|
||||
- && check_filter(&daemon_filter_list, FLOG, fname, 0) < 0)) {
|
||||
+ && check_filter(&daemon_filter_list, FLOG, fnamecmp, 0) < 0)) {
|
||||
fnamecmp = fname;
|
||||
fnamecmp_type = FNAMECMP_FNAME;
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17434
|
||||
https://git.samba.org/?p=rsync.git;a=patch;h=70aeb5fddd1b2f8e143276f8d5a085db16c593b9
|
||||
|
||||
From 70aeb5fddd1b2f8e143276f8d5a085db16c593b9 Mon Sep 17 00:00:00 2001
|
||||
From: Jeriko One <jeriko.one@gmx.us>
|
||||
Date: Thu, 16 Nov 2017 17:05:42 -0800
|
||||
Subject: [PATCH] Sanitize xname in read_ndx_and_attrs.
|
||||
|
||||
---
|
||||
rsync.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/rsync.c b/rsync.c
|
||||
index b82e598..a0945ba 100644
|
||||
--- a/rsync.c
|
||||
+++ b/rsync.c
|
||||
@@ -49,6 +49,7 @@ extern int flist_eof;
|
||||
extern int file_old_total;
|
||||
extern int keep_dirlinks;
|
||||
extern int make_backups;
|
||||
+extern int sanitize_paths;
|
||||
extern struct file_list *cur_flist, *first_flist, *dir_flist;
|
||||
extern struct chmod_mode_struct *daemon_chmod_modes;
|
||||
#ifdef ICONV_OPTION
|
||||
@@ -396,6 +397,11 @@ int read_ndx_and_attrs(int f_in, int f_out, int *iflag_ptr, uchar *type_ptr,
|
||||
if (iflags & ITEM_XNAME_FOLLOWS) {
|
||||
if ((len = read_vstring(f_in, buf, MAXPATHLEN)) < 0)
|
||||
exit_cleanup(RERR_PROTOCOL);
|
||||
+
|
||||
+ if (sanitize_paths) {
|
||||
+ sanitize_path(buf, buf, "", 0, SP_DEFAULT);
|
||||
+ len = strlen(buf);
|
||||
+ }
|
||||
} else {
|
||||
*buf = '\0';
|
||||
len = -1;
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -10,6 +10,7 @@
|
|||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -637,7 +638,7 @@ the behavior, just the input and the output.")
|
|||
(define-public perl-test-mocktime
|
||||
(package
|
||||
(name "perl-test-mocktime")
|
||||
(version "0.13")
|
||||
(version "0.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -645,7 +646,9 @@ the behavior, just the input and the output.")
|
|||
"Test-MockTime-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yrqmjg33akannwz2f99rfm7dvvxpzsdj23lsvlvfi4qslrlqfvw"))))
|
||||
"0j6cxmkj52i5xkwg8dg6klm0dh386fzc5v80n5nbdalpvq0h48c8"))))
|
||||
(propagated-inputs
|
||||
`(("perl-time-piece" ,perl-time-piece)))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Test-MockTime/")
|
||||
(synopsis "Replaces actual time with simulated time")
|
||||
|
@ -659,7 +662,7 @@ to gmtime,time or localtime.")
|
|||
(define-public perl-test-most
|
||||
(package
|
||||
(name "perl-test-most")
|
||||
(version "0.34")
|
||||
(version "0.35")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -667,7 +670,7 @@ to gmtime,time or localtime.")
|
|||
"Test-Most-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i72aih3pakm8gh73wx1n4dwq8lbx6dvxhla46gsapszws6hr0n2"))))
|
||||
"0zv5dyzq55r28plffibcr7wd00abap0h2zh4s4p8snaiszsad5wq"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-test-differences" ,perl-test-differences)
|
||||
|
@ -809,15 +812,15 @@ as flexible as possible to the tester.")
|
|||
(define-public perl-test-pod
|
||||
(package
|
||||
(name "perl-test-pod")
|
||||
(version "1.48")
|
||||
(version "1.51")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/D/DW/DWHEELER/"
|
||||
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
|
||||
"Test-Pod-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hmwwhabyng4jrnll926b4ab73r40w3pfchlrvs0yx6kh6kwwy14"))))
|
||||
"1yvy5mc4j3s2h4aizryvark2nm58g2c6zhw9mlx9wmsavz7d78f1"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs `(("perl-module-build" ,perl-module-build)))
|
||||
(home-page "http://search.cpan.org/dist/Test-Pod/")
|
||||
|
@ -850,7 +853,7 @@ checks for pod coverage of all appropriate files.")
|
|||
(define-public perl-test-requires
|
||||
(package
|
||||
(name "perl-test-requires")
|
||||
(version "0.08")
|
||||
(version "0.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -858,7 +861,7 @@ checks for pod coverage of all appropriate files.")
|
|||
"Test-Requires-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08c29m0dn34384mmmpqqlbb899zpbkkc01c2lsp31mch1frv9cg7"))))
|
||||
"1d9f481lj12cw1ciil46xq9nq16p6a90nm7yrsalpf8asn8s6s17"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Test-Requires/")
|
||||
(synopsis "Checks to see if the module can be loaded")
|
||||
|
@ -913,14 +916,14 @@ makes fork(2) safe to use in test cases.")
|
|||
(define-public perl-test-simple
|
||||
(package
|
||||
(name "perl-test-simple")
|
||||
(version "1.302078")
|
||||
(version "1.302120")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
|
||||
"Test-Simple-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05acl24kmz3dgr2nayy162yaf0kz92h1j5vkiavyv6mdh2lz6ixb"))))
|
||||
"0v1l0hfza9zlw3qj5l2mrzljy1sk02h3yqcb4kixdb2d5l4n08y8"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Basic utilities for writing tests")
|
||||
(description
|
||||
|
@ -979,7 +982,7 @@ a minimum of effort.")
|
|||
(define-public perl-test-trap
|
||||
(package
|
||||
(name "perl-test-trap")
|
||||
(version "0.3.2")
|
||||
(version "0.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -987,7 +990,7 @@ a minimum of effort.")
|
|||
"Test-Trap-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jq54pkm4s61gk8gzxglix1ff9s0m9vi6bpfv7f63lb9qq4r76rr"))))
|
||||
"1676gqjyk0zig3yyqv053y5j1pajp2af08ffmgx94n414whbhm5c"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)
|
||||
|
@ -1119,7 +1122,7 @@ generation of tests in nested combinations of contexts.")
|
|||
(define-public perl-test-yaml
|
||||
(package
|
||||
(name "perl-test-yaml")
|
||||
(version "1.05")
|
||||
(version "1.06")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1127,7 +1130,7 @@ generation of tests in nested combinations of contexts.")
|
|||
"Test-YAML-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"079nayc0fp2fwjv8s2yr069bdffln699j6z3lqr5dpx1v2qg82ck"))))
|
||||
"0hxrfs7p9hqkhvv5nhk2hd3kh32smwng4nz47b8xf4iw2q1n2dr7"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-test-base" ,perl-test-base)))
|
||||
|
@ -1140,7 +1143,7 @@ support.")
|
|||
(define-public perl-test-trailingspace
|
||||
(package
|
||||
(name "perl-test-trailingspace")
|
||||
(version "0.0300")
|
||||
(version "0.0301")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1150,7 +1153,7 @@ support.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01slmrcjfq38mpdg3hlb7lnnbgsqbn26958y3hzx0zwrif40pigr"))))
|
||||
"0w2rvsksv7cmf80v632xm2rwxrv933kzz97839yhwynvg9s7b252"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)
|
||||
|
|
|
@ -7890,6 +7890,28 @@ six-element array, and return the corresponding time(2) value in seconds since
|
|||
the system epoch.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-time-piece
|
||||
(package
|
||||
(name "perl-time-piece")
|
||||
(version "1.3203")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0hbg99v8xqy3nx6nrjpwh1w6xwqpfflz0djkbdd72kvf8zvglwb9"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Time-Piece/")
|
||||
(synopsis "Object-Oriented time objects")
|
||||
(description
|
||||
"This module replaces the standard @code{localtime} and @code{gmtime}
|
||||
functions with implementations that return objects. It does so in a
|
||||
backwards-compatible manner, so that using these functions as documented will
|
||||
still work as expected.")
|
||||
(license perl-license)))
|
||||
|
||||
(define-public perl-timedate
|
||||
(package
|
||||
(name "perl-timedate")
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -59,7 +59,7 @@
|
|||
#:use-module (gnu packages xfig)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module ((srfi srfi-1) #:hide (zip))
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define-public libraw
|
||||
|
@ -337,7 +337,7 @@ photographic equipment.")
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests.
|
||||
#:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib")
|
||||
#:configure-flags '("-DCMAKE_INSTALL_LIBDIR=lib" "-DBINARY_PACKAGE_BUILD=On")
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "CPATH=" (assoc-ref %build-inputs "ilmbase")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -95,14 +96,14 @@ similar to getopt(3), it contains a number of enhancements, including:
|
|||
(define-public gflags
|
||||
(package
|
||||
(name "gflags")
|
||||
(version "2.2.0")
|
||||
(version "2.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/gflags/gflags"
|
||||
"/archive/v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"120z4w40zr4s8wvfyw1bdmqvincwrwjnimzlwhs1ficaa333cv26"))
|
||||
"03lxc2ah8i392kh1naq99iip34k4fpv22kwflyx3byd2ssycs9xf"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -1134,10 +1134,24 @@ Python 3.3+.")
|
|||
(synopsis "Python extension wrapping the ICU C++ API")
|
||||
(description
|
||||
"PyICU is a python extension wrapping the ICU C++ API.")
|
||||
(properties `((python2-variant . ,(delay python2-pyicu))))
|
||||
(license license:x11)))
|
||||
|
||||
(define-public python2-pyicu
|
||||
(package-with-python2 python-pyicu))
|
||||
(let ((base (package-with-python2
|
||||
(strip-python2-variant python-pyicu))))
|
||||
(package
|
||||
(inherit base)
|
||||
(arguments
|
||||
`(,@(package-arguments base)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'delete-failing-test
|
||||
(λ _
|
||||
;; XXX: This fails due to Unicode issues unique to Python 2,
|
||||
;; it seems: <https://github.com/ovalhub/pyicu/issues/61>.
|
||||
(delete-file "test/test_Script.py")
|
||||
#t))))))))
|
||||
|
||||
(define-public python2-dogtail
|
||||
;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and
|
||||
|
@ -9954,7 +9968,7 @@ Features:
|
|||
(define-public python-dulwich
|
||||
(package
|
||||
(name "python-dulwich")
|
||||
(version "0.16.3")
|
||||
(version "0.18.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -9962,7 +9976,8 @@ Features:
|
|||
"dulwich-" version ".tar.gz")
|
||||
(pypi-uri "dulwich" version)))
|
||||
(sha256
|
||||
(base32 "0fl47vzfgc3w3rmhn8naii905cjqcp0vc68iyvymxp7567hh6als"))))
|
||||
(base32
|
||||
"1aa1xfrxkc3j9s4xi0llhf5gndyi9ryprcxsqfa5fcb8ph34981q"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -11594,6 +11609,22 @@ related APIs. The binding is created using the standard @code{ctypes}
|
|||
library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-pyopengl-accelerate
|
||||
(package
|
||||
(inherit python2-pyopengl)
|
||||
(name "python2-pyopengl-accelerate")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "PyOpenGL-accelerate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0464c1ifzk0k92lyndikmvzjgnx1y25r7bkkc8pnxm4kp1q4czwj"))))
|
||||
(synopsis "Acceleration code for PyOpenGL")
|
||||
(description
|
||||
"This is the Cython-coded accelerator module for PyOpenGL.")))
|
||||
|
||||
(define-public python-rencode
|
||||
(package
|
||||
(name "python-rencode")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -38,7 +39,15 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc"))))
|
||||
"1hm1q04hz15509f0p9bflw4d6jzfvpm1d36dxjwihk1wzakn5ypc"))
|
||||
(patches (search-patches "rsync-CVE-2017-16548.patch"
|
||||
"rsync-CVE-2017-17433.patch"
|
||||
"rsync-CVE-2017-17433-fix-tests.patch"
|
||||
"rsync-CVE-2017-17434-pt1.patch"
|
||||
"rsync-CVE-2017-17434-pt2.patch"
|
||||
))
|
||||
))
|
||||
(properties `((lint-hidden-cve . ("CVE-2017-15994")))) ; introduced after 3.1.2
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)
|
||||
("acl" ,acl)))
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
(define-public ruby
|
||||
(package
|
||||
(name "ruby")
|
||||
(replacement ruby-2.4.3)
|
||||
(version "2.4.2")
|
||||
(source
|
||||
(origin
|
||||
|
@ -103,10 +104,11 @@ a focus on simplicity and productivity.")
|
|||
(home-page "https://ruby-lang.org")
|
||||
(license license:ruby)))
|
||||
|
||||
(define-public ruby-2.3
|
||||
(define-public ruby-2.4.3
|
||||
(package
|
||||
(inherit ruby)
|
||||
(version "2.3.5")
|
||||
(name "ruby")
|
||||
(version "2.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -115,7 +117,26 @@ a focus on simplicity and productivity.")
|
|||
"/ruby-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1npzcnq5kh0f9y88w5gj4v6ln8csr91361k3r43dmhlhn6mpsfkx"))
|
||||
"0l9bv67dgsphk42lmiskhrnh47hbyj6rfg2rcjx22xivpx07srr3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet `(begin
|
||||
;; Remove bundled libffi
|
||||
(delete-file-recursively "ext/fiddle/libffi-3.2.1")
|
||||
#t))))))
|
||||
|
||||
(define-public ruby-2.3
|
||||
(package
|
||||
(inherit ruby)
|
||||
(version "2.3.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
|
||||
(version-major+minor version)
|
||||
"/ruby-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mlz0mk7yyxia37k8fdv8m8a72h61nfbns28430h796l4an6kng0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet `(begin
|
||||
;; Remove bundled libffi
|
||||
|
@ -124,7 +145,7 @@ a focus on simplicity and productivity.")
|
|||
|
||||
(define-public ruby-2.2
|
||||
(package (inherit ruby)
|
||||
(version "2.2.8")
|
||||
(version "2.2.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -133,7 +154,7 @@ a focus on simplicity and productivity.")
|
|||
"/ruby-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c31slidv2bdnnir3qfmdjs193b5s2ycb9pnf1lc55kk0cazrsip"))))))
|
||||
"0p18xykx8dm5mmlx5n5243z67lj4vbvwr70bnc5x12am22ql8fri"))))))
|
||||
|
||||
(define-public ruby-2.1
|
||||
(package (inherit ruby)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue