Merge branch 'master' into core-updates
This commit is contained in:
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"
|
||||
(("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\"")))))
|
||||
'(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\""))
|
||||
(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,83 +9397,89 @@ 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)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/satijalab/seurat")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"101wq3aqrdmbfi3lqmq4iivk9iwbf10d4z216ss25hf7n9091cyl"))
|
||||
;; Delete pre-built jar.
|
||||
(snippet
|
||||
'(begin (delete-file "inst/java/ModularityOptimizer.jar")
|
||||
#t))))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-jar
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((classesdir "tmp-classes"))
|
||||
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
|
||||
(mkdir classesdir)
|
||||
(and (zero? (apply system* `("javac" "-d" ,classesdir
|
||||
,@(find-files "java" "\\.java$"))))
|
||||
(zero? (system* "jar"
|
||||
"-cf" "inst/java/ModularityOptimizer.jar"
|
||||
"-C" classesdir ".")))))))))
|
||||
(native-inputs
|
||||
`(("jdk" ,icedtea "jdk")))
|
||||
(propagated-inputs
|
||||
`(("r-ape" ,r-ape)
|
||||
("r-caret" ,r-caret)
|
||||
("r-cowplot" ,r-cowplot)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-fastica" ,r-fastica)
|
||||
("r-fnn" ,r-fnn)
|
||||
("r-fpc" ,r-fpc)
|
||||
("r-gdata" ,r-gdata)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gplots" ,r-gplots)
|
||||
("r-gridextra" ,r-gridextra)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-irlba" ,r-irlba)
|
||||
("r-lars" ,r-lars)
|
||||
("r-mixtools" ,r-mixtools)
|
||||
("r-pbapply" ,r-pbapply)
|
||||
("r-plyr" ,r-plyr)
|
||||
("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-stringr" ,r-stringr)
|
||||
("r-tclust" ,r-tclust)
|
||||
("r-tsne" ,r-tsne)
|
||||
("r-vgam" ,r-vgam)))
|
||||
(home-page "http://www.satijalab.org/seurat")
|
||||
(synopsis "Seurat is an R toolkit for single cell genomics")
|
||||
(description
|
||||
"This package is an R package designed for QC, analysis, and
|
||||
(package
|
||||
(name "r-seurat")
|
||||
(version "2.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Seurat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"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
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-jar
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(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"
|
||||
"-cmf" "manifest"
|
||||
"inst/java/ModularityOptimizer.jar"
|
||||
"-C" classesdir ".")))))))))
|
||||
(native-inputs
|
||||
`(("jdk" ,icedtea "jdk")))
|
||||
(propagated-inputs
|
||||
`(("r-ape" ,r-ape)
|
||||
("r-caret" ,r-caret)
|
||||
("r-cowplot" ,r-cowplot)
|
||||
("r-diffusionmap" ,r-diffusionmap)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("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-plotly" ,r-plotly)
|
||||
("r-ranger" ,r-ranger)
|
||||
("r-rcolorbrewer" ,r-rcolorbrewer)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("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")
|
||||
(synopsis "Seurat is an R toolkit for single cell genomics")
|
||||
(description
|
||||
"This package is an R package designed for QC, analysis, and
|
||||
exploration of single cell RNA-seq data. It easily enables widely-used
|
||||
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
|
||||
|
@ -104,7 +105,15 @@
|
|||
(add-after 'unpack 'patch-processor-detection
|
||||
(lambda _ (substitute* "configure"
|
||||
(("uname -a") "uname -m"))
|
||||
#t))
|
||||
#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
Loading…
Reference in New Issue