me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2019-11-28 00:38:25 +01:00
commit 0897ad7fac
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
115 changed files with 2481 additions and 1060 deletions

View File

@ -91,8 +91,9 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl sched_setaffinity: to improve RPC locality.
dnl statvfs: to detect disk-full conditions.
dnl strsignal: for error reporting.
dnl statx: fine-grain 'stat' call, new in glibc 2.28.
AC_CHECK_FUNCS([lutimes lchown posix_fallocate sched_setaffinity \
statvfs nanosleep strsignal])
statvfs nanosleep strsignal statx])
dnl Check whether the store optimiser can optimise symlinks.
AC_MSG_CHECKING([whether it is possible to create a link to a symlink])

View File

@ -111,9 +111,10 @@ REPL} by running @code{guile} from the command line.
Alternatively you can also run @code{guix environment --ad-hoc guile -- guile}
if you'd rather not have Guile installed in your user profile.
In the following examples we use the @code{>} symbol to denote the REPL
prompt, that is, the line reserved for user input. @xref{Using Guile
Interactively,,, guile, GNU Guile Reference Manual}) for more details on the
In the following examples, lines show what you would type at the REPL;
lines starting with ``@result{}'' show evaluation results, while lines
starting with ``@print{}'' show things that get printed. @xref{Using Guile
Interactively,,, guile, GNU Guile Reference Manual}), for more details on the
REPL.
@itemize
@ -121,17 +122,20 @@ REPL.
Scheme syntax boils down to a tree of expressions (or @emph{s-expression} in
Lisp lingo). An expression can be a literal such as numbers and strings, or a
compound which is a parenthesized list of compounds and literals. @code{#t}
and @code{#f} stand for the booleans "true" and "false", respectively.
and @code{#f} stand for the Booleans ``true'' and ``false'', respectively.
Examples of valid expressions:
@lisp
> "Hello World!"
"Hello World!"
> 17
@result{} "Hello World!"
17
> (display (string-append "Hello " "Guix" "\n"))
"Hello Guix!"
@result{} 17
(display (string-append "Hello " "Guix" "\n"))
@print{} Hello Guix!
@result{} #<unspecified>
@end lisp
@item
@ -144,8 +148,8 @@ last evaluated expression as its return value.
Anonymous functions are declared with the @code{lambda} term:
@lisp
> (lambda (x) (* x x))
#<procedure 120e348 at <unknown port>:24:0 (x)>
(lambda (x) (* x x))
@result{} #<procedure 120e348 at <unknown port>:24:0 (x)>
@end lisp
The above procedure returns the square of its argument. Since everything is
@ -153,18 +157,18 @@ an expression, the @code{lambda} expression returns an anonymous procedure,
which can in turn be applied to an argument:
@lisp
> ((lambda (x) (* x x)) 3)
9
((lambda (x) (* x x)) 3)
@result{} 9
@end lisp
@item
Anything can be assigned a global name with @code{define}:
@lisp
> (define a 3)
> (define square (lambda (x) (* x x)))
> (square a)
9
(define a 3)
(define square (lambda (x) (* x x)))
(square a)
@result{} 9
@end lisp
@item
@ -178,58 +182,63 @@ Procedures can be defined more concisely with the following syntax:
A list structure can be created with the @code{list} procedure:
@lisp
> (list 2 a 5 7)
(2 3 5 7)
(list 2 a 5 7)
@result{} (2 3 5 7)
@end lisp
@item
The @emph{quote} disables evaluation of a parenthesized expression: the first
term is not called over the other terms. Thus it effectively returns a list
of terms.
The @dfn{quote} disables evaluation of a parenthesized expression: the
first term is not called over the other terms (@pxref{Expression Syntax,
quote,, guile, GNU Guile Reference Manual}). Thus it effectively
returns a list of terms.
@lisp
> '(display (string-append "Hello " "Guix" "\n"))
(display (string-append "Hello " "Guix" "\n"))
> '(2 a 5 7)
(2 a 5 7)
'(display (string-append "Hello " "Guix" "\n"))
@result{} (display (string-append "Hello " "Guix" "\n"))
'(2 a 5 7)
@result{} (2 a 5 7)
@end lisp
@item
The @emph{quasiquote} disables evaluation of a parenthesized expression until
a comma re-enables it. Thus it provides us with fine-grained control over
what is evaluated and what is not.
The @dfn{quasiquote} disables evaluation of a parenthesized expression
until @dfn{unquote} (a comma) re-enables it. Thus it provides us with
fine-grained control over what is evaluated and what is not.
@lisp
> `(2 a 5 7 (2 ,a 5 ,(+ a 4)))
(2 a 5 7 (2 3 5 7))
`(2 a 5 7 (2 ,a 5 ,(+ a 4)))
@result{} (2 a 5 7 (2 3 5 7))
@end lisp
Note that the above result is a list of mixed elements: numbers, symbols (here
@code{a}) and the last element is a list itself.
@item
Multiple variables can be named locally with @code{let}:
Multiple variables can be named locally with @code{let} (@pxref{Local
Bindings,,, guile, GNU Guile Reference Manual}):
@lisp
> (define x 10)
> (let ((x 2)
(y 3))
(list x y))
(2 3)
> x
10
> y
ERROR: In procedure module-lookup: Unbound variable: y
(define x 10)
(let ((x 2)
(y 3))
(list x y))
@result{} (2 3)
x
@result{} 10
y
@error{} In procedure module-lookup: Unbound variable: y
@end lisp
Use @code{let*} to allow later variable declarations to refer to earlier
definitions.
@lisp
> (let* ((x 2)
(y (* x 3)))
(list x y))
(2 6)
(let* ((x 2)
(y (* x 3)))
(list x y))
@result{} (2 6)
@end lisp
@item
@ -242,7 +251,8 @@ the build stage. Note that it is merely a convention, like @code{_} in C.
Scheme treats @code{%} exactly the same as any other letter.
@item
Modules are created with @code{define-module}. For instance
Modules are created with @code{define-module} (@pxref{Creating Guile
Modules,,, guile, GNU Guile Reference Manual}). For instance
@lisp
(define-module (guix build-system ruby)
@ -331,14 +341,14 @@ It does not assume much knowledge of the Guix system nor of the Lisp language.
The reader is only expected to be familiar with the command line and to have some
basic programming knowledge.
@node A "Hello World" package
@subsection A "Hello World" package
@node A ``Hello World'' package
@subsection A ``Hello World'' package
The “Defining Packages” section of the manual introduces the basics of Guix
The ``Defining Packages'' section of the manual introduces the basics of Guix
packaging (@pxref{Defining Packages,,, guix, GNU Guix Reference Manual}). In
the following section, we will partly go over those basics again.
``GNU hello'' is a dummy project that serves as an idiomatic example for
GNU@tie{}Hello is a dummy project that serves as an idiomatic example for
packaging. It uses the GNU build system (@code{./configure && make && make
install}). Guix already provides a package definition which is a perfect
example to start with. You can look up its declaration with @code{guix edit
@ -416,10 +426,10 @@ available licenses.
@end table
Time to build our first package! Nothing fancy here for now: we will stick to a
dummy "my-hello", a copy of the above declaration.
dummy @code{my-hello}, a copy of the above declaration.
As with the ritualistic "Hello World" taught with most programming languages,
this will possibly be the most "manual" approach. We will work out an ideal
As with the ritualistic ``Hello World'' taught with most programming languages,
this will possibly be the most ``manual'' approach. We will work out an ideal
setup later; for now we will go the simplest route.
Save the following to a file @file{my-hello.scm}.
@ -554,20 +564,20 @@ earlier example.
The @code{use-modules} expression tells which of the modules we need in the file.
Modules are a collection of values and procedures. They are commonly called
"libraries" or "packages" in other programming languages.
``libraries'' or ``packages'' in other programming languages.
@node @samp{GUIX_PACKAGE_PATH}
@subsubsection @samp{GUIX_PACKAGE_PATH}
@emph{Note: Starting from Guix 0.16, the more flexible Guix "channels" are the
@emph{Note: Starting from Guix 0.16, the more flexible Guix @dfn{channels} are the
preferred way and supersede @samp{GUIX_PACKAGE_PATH}. See next section.}
It can be tedious to specify the file from the command line instead of simply
calling @code{guix package --install my-hello} as you would do with the official
packages.
Guix makes it possible to streamline the process by adding as many "package
declaration paths" as you want.
Guix makes it possible to streamline the process by adding as many ``package
declaration directories'' as you want.
Create a directory, say @samp{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
environment variable:
@ -581,7 +591,7 @@ To add several directories, separate them with a colon (@code{:}).
Our previous @samp{my-hello} needs some adjustments though:
@example
@lisp
(define-module (my-hello)
#:use-module (guix licenses)
#:use-module (guix packages)
@ -607,7 +617,7 @@ serves as an example of standard GNU coding practices. As such, it supports
command-line arguments, multiple languages, and so on.")
(home-page "https://www.gnu.org/software/hello/")
(license gpl3+)))
@end example
@end lisp
Note that we have assigned the package value to an exported variable name with
@code{define-public}. This is effectively assigning the package to the @code{my-hello}
@ -619,14 +629,14 @@ will fail because the last expression, @code{define-public}, does not return a
package. If you want to use @code{define-public} in this use-case nonetheless, make
sure the file ends with an evaluation of @code{my-hello}:
@example
@lisp
; ...
(define-public my-hello
; ...
)
my-hello
@end example
@end lisp
This last example is not very typical.
@ -670,7 +680,7 @@ In the rest of this article, we use @samp{$GUIX_CHECKOUT} to refer to the locati
the checkout.
Follow the instruction in the manual (@pxref{Contributing,,, guix, GNU Guix
Follow the instructions in the manual (@pxref{Contributing,,, guix, GNU Guix
Reference Manual}) to set up the repository environment.
Once ready, you should be able to use the package definitions from the
@ -679,7 +689,8 @@ repository environment.
Feel free to edit package definitions found in @samp{$GUIX_CHECKOUT/gnu/packages}.
The @samp{$GUIX_CHECKOUT/pre-inst-env} script lets you use @samp{guix} over the package
collection of the repository.
collection of the repository (@pxref{Running Guix Before It Is
Installed,,, guix, GNU Guix Reference Manual}).
@itemize
@item
@ -735,11 +746,11 @@ It's a community effort so the more join in, the better Guix becomes!
@node Extended example
@subsection Extended example
The above "Hello World" example is as simple as it goes. Packages can be more
The above ``Hello World'' example is as simple as it goes. Packages can be more
complex than that and Guix can handle more advanced scenarios. Let's look at
another, more sophisticated package (slightly modified from the source):
@example
@lisp
(define-module (gnu packages version-control)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
@ -812,7 +823,7 @@ provided as a re-entrant linkable library with a solid API, allowing you to
write native speed custom Git applications in any language with bindings.")
;; GPLv2 with linking exception
(license license:gpl2))))
@end example
@end lisp
(In those cases were you only want to tweak a few fields from a package
definition, you should rely on inheritance instead of copy-pasting everything.
@ -840,9 +851,7 @@ version when packaging programs for a specific commit.
Snippets are quoted (i.e. non-evaluated) Scheme code that are a means of patching
the source. They are a Guix-y alternative to the traditional @samp{.patch} files.
Because of the quote, the code in only evaluated when passed to the Guix daemon
for building.
There can be as many snippet as needed.
for building. There can be as many snippets as needed.
Snippets might need additional Guile modules which can be imported from the
@code{modules} field.
@ -851,17 +860,17 @@ Snippets might need additional Guile modules which can be imported from the
First, a syntactic comment: See the quasi-quote / comma syntax?
@example
@lisp
(native-inputs
`(("pkg-config" ,pkg-config)))
@end example
@end lisp
is equivalent to
@example
@lisp
(native-inputs
(list (list "pkg-config" pkg-config)))
@end example
@end lisp
You'll mostly see the former because it's shorter.
@ -883,7 +892,7 @@ being present at build time.
The distinction between the various inputs is important: if a dependency can be
handled as an @emph{input} instead of a @emph{propagated input}, it should be done so, or
else it "pollutes" the user profile for no good reason.
else it ``pollutes'' the user profile for no good reason.
For instance, a user installing a graphical program that depends on a
command line tool might only be interested in the graphical part, so there is no
@ -930,10 +939,10 @@ Another common argument is @code{:make-flags}, which specifies a list of flags
append when running make, as you would from the command line. For instance, the
following flags
@example
@lisp
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
"CC=gcc")
@end example
@end lisp
translate into
@ -946,11 +955,11 @@ directory in Make parlance) to @code{(assoc-ref %outputs "out")}, which is a bui
global variable pointing to the destination directory in the store (something like
@samp{/gnu/store/...-my-libgit2-20180408}).
Similarly, it's possible to set the "configure" flags.
Similarly, it's possible to set the configure flags:
@example
@lisp
#:configure-flags '("-DUSE_SHA1DC=ON")
@end example
@end lisp
The @code{%build-inputs} variable is also generated in scope. It's an association
table that maps the input names to their store directories.
@ -960,7 +969,7 @@ phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and
more about those phases, you need to work out the appropriate build system
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@example
@lisp
(define %standard-phases
;; Standard build phases, as a list of symbol/procedure pairs.
(let-syntax ((phases (syntax-rules ()
@ -978,16 +987,16 @@ definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
install-license-files
reset-gzip-timestamps
compress-documentation)))
@end example
@end lisp
Or from the REPL:
@example
> (add-to-load-path "/path/to/guix/checkout")
> ,module (guix build gnu-build-system)
> (map first %standard-phases)
(set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)
@end example
@lisp
(add-to-load-path "/path/to/guix/checkout")
,use (guix build gnu-build-system)
(map first %standard-phases)
@result{} (set-SOURCE-DATE-EPOCH set-paths install-locale unpack bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install patch-shebangs strip validate-runpath validate-documentation-location delete-info-dir-file patch-dot-desktop-files install-license-files reset-gzip-timestamps compress-documentation)
@end lisp
If you want to know more about what happens during those phases, consult the
associated procedures.
@ -995,7 +1004,7 @@ associated procedures.
For instance, as of this writing the definition of @code{unpack} for the GNU build
system is
@example
@lisp
(define* (unpack #:key source #:allow-other-keys)
"Unpack SOURCE in the working directory, and change directory within the
source. When SOURCE is a directory, copy it in a sub-directory of the current
@ -1015,7 +1024,7 @@ working directory."
(invoke "tar" "xvf" source))
(chdir (first-subdirectory "."))))
#t)
@end example
@end lisp
Note the @code{chdir} call: it changes the working directory to where the source was
unpacked.
@ -1045,14 +1054,14 @@ by their name in those variables. Thus @code{(assoc-ref outputs "out")} is the
directory of the main output of the package. A phase procedure may look like
this:
@example
@lisp
(lambda* (#:key inputs outputs #:allow-other-keys)
(let (((bash-directory (assoc-ref inputs "bash"))
(output-directory (assoc-ref outputs "out"))
(doc-directory (assoc-ref outputs "doc"))
; ...
#t)
@end example
@end lisp
The procedure must return @code{#t} on success. It's brittle to rely on the return
value of the last expression used to tweak the phase because there is no
@ -1066,11 +1075,11 @@ argument field. Indeed, the build code in the package declaration should not be
evaluated on the client side, but only when passed to the Guix daemon. This
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
@subsubsection "Utils" functions
@subsubsection Utility functions
When customizing @code{phases}, we often need to write code that mimics the
equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.) commonly used during
regular "Unix-style" installations.
regular ``Unix-style'' installations.
Some like @code{chmod} are native to Guile.
@xref{,,, guile, Guile reference manual} for a complete list.
@ -1103,7 +1112,7 @@ Run an executable. This should be used instead of @code{system*}.
Run the body in a different working directory,
then restore the previous working directory.
@item substitute*
A "sed-like" function.
A ``@command{sed}-like'' function.
@end table
@subsubsection Module prefix
@ -1233,7 +1242,7 @@ $ guix refresh hello --update
If you've started browsing the existing package definitions, you might have
noticed that a significant number of them have a @code{inherit} field:
@example
@lisp
(define-public adwaita-icon-theme
(package (inherit gnome-icon-theme)
(name "adwaita-icon-theme")
@ -1248,7 +1257,7 @@ noticed that a significant number of them have a @code{inherit} field:
"17fpahgh5dyckgz7rwqvzgnhx53cx9kr2xw0szprc6bnqy977fi8"))))
(native-inputs
`(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
@end example
@end lisp
All unspecified fields are inherited from the parent package. This is very
convenient to create alternative packages, for instance with different source,
@ -1299,7 +1308,7 @@ The @uref{https://www.gnu.org/software/guix/manual/en/html_node/Defining-Package
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
@item
@uref{https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf, "GNU Guix: Package without a scheme!"}, by Andreas Enge
@uref{https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf, ``GNU Guix: Package without a scheme!''}, by Andreas Enge
@end itemize
@c *********************************************************************
@ -1533,7 +1542,7 @@ CONFIG_VIRTIO=m
@end example
After copying all the configuration options, run @code{make localmodconfig}
again to make sure that you don't have any output starting with "module".
again to make sure that you don't have any output starting with ``module''.
After all of these machine specific modules there are a couple more left that
are also needed. @code{CONFIG_MODULES} is necessary so that you can build and
load modules separately and not have everything built into the kernel.

View File

@ -1368,13 +1368,11 @@ source URLs. When this option is omitted,
This means that substitutes may be downloaded from @var{urls}, as long
as they are signed by a trusted signature (@pxref{Substitutes}).
@cindex build hook
@item --no-build-hook
Do not use the @dfn{build hook}.
The build hook is a helper program that the daemon can start and to
which it submits build requests. This mechanism is used to offload
builds to other machines (@pxref{Daemon Offload Setup}).
@cindex offloading
@item --no-offload
Do not use offload builds to other machines (@pxref{Daemon Offload
Setup}). That is, always build things locally instead of offloading
builds to remote machines.
@item --cache-failures
Cache build failures. By default, only successful builds are cached.
@ -2830,7 +2828,8 @@ $ guix package --upgrade . --do-not-upgrade emacs
@cindex profile declaration
@cindex profile manifest
Create a new generation of the profile from the manifest object
returned by the Scheme code in @var{file}.
returned by the Scheme code in @var{file}. This option can be repeated
several times, in which case the manifests are concatenated.
This allows you to @emph{declare} the profile's contents rather than
constructing it through a sequence of @code{--install} and similar
@ -4802,7 +4801,8 @@ As an example, @var{file} might contain a definition like this
@item --manifest=@var{file}
@itemx -m @var{file}
Create an environment for the packages contained in the manifest object
returned by the Scheme code in @var{file}.
returned by the Scheme code in @var{file}. This option can be repeated
several times, in which case the manifests are concatenated.
This is similar to the same-named option in @command{guix package}
(@pxref{profile-manifest, @option{--manifest}}) and uses the same
@ -5176,7 +5176,8 @@ build} (@pxref{Additional Build Options, @code{--expression} in
@item --manifest=@var{file}
@itemx -m @var{file}
Use the packages contained in the manifest object returned by the Scheme
code in @var{file}.
code in @var{file}. This option can be repeated several times, in which
case the manifests are concatenated.
This has a similar purpose as the same-named option in @command{guix
package} (@pxref{profile-manifest, @option{--manifest}}) and uses the
@ -8050,9 +8051,9 @@ the end of the build log. This is useful when debugging build issues.
@xref{Debugging Build Failures}, for tips and tricks on how to debug
build issues.
This option has no effect when connecting to a remote daemon with a
@code{guix://} URI (@pxref{The Store, the @code{GUIX_DAEMON_SOCKET}
variable}).
This option implies @option{--no-offload}, and it has no effect when
connecting to a remote daemon with a @code{guix://} URI (@pxref{The
Store, the @code{GUIX_DAEMON_SOCKET} variable}).
@item --keep-going
@itemx -k
@ -8109,10 +8110,10 @@ stashing one of the build results with @code{guix archive --export}
(@pxref{Invoking guix archive}), then rebuilding, and finally comparing
the two results.
@item --no-build-hook
Do not attempt to offload builds @i{via} the ``build hook'' of the daemon
(@pxref{Daemon Offload Setup}). That is, always build things locally
instead of offloading builds to remote machines.
@item --no-offload
Do not use offload builds to other machines (@pxref{Daemon Offload
Setup}). That is, always build things locally instead of offloading
builds to remote machines.
@item --max-silent-time=@var{seconds}
When the build or substitution process remains silent for more than
@ -20359,7 +20360,7 @@ User who will own the php worker processes.
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})
@item @code{socket-group} (default: @code{nginx})
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

View File

@ -133,7 +133,7 @@ complete -f -c guix -n '__fish_guix_using_command pull' -l url -d 'download the
complete -f -c guix -n '__fish_guix_using_command pull' -l bootstrap -d 'use the bootstrap Guile to build the new Guix'
#### system
set -l remotecommands reconfigure roll-back switch-generation list-generations build container vm vm-image disk-image init extension-graph shepherd-graph load-path keep-failed keep-going dry-run fallback no-substitutes substitutes-urls no-grafts no-build-hook max-silent-time timeout verbosity rounds cores max-jobs derivation on-error image-size no-grub share expose full-boot
set -l remotecommands reconfigure roll-back switch-generation list-generations build container vm vm-image disk-image init extension-graph shepherd-graph load-path keep-failed keep-going dry-run fallback no-substitutes substitutes-urls no-grafts no-offload max-silent-time timeout verbosity rounds cores max-jobs derivation on-error image-size no-grub share expose full-boot
complete -f -c guix -n '__fish_guix_needs_command' -a system -d 'Build the operating system declared in FILE according to ACTION.'
complete -f -c guix -n '__fish_guix_using_command system' -l reconfigure -d 'switch to a new operating system configuration'
complete -f -c guix -n '__fish_guix_using_command system' -l roll-back -d 'switch to the previous operating system configuration'
@ -156,7 +156,7 @@ complete -f -c guix -n '__fish_guix_using_command system' -l fallback -d 'fall b
complete -f -c guix -n '__fish_guix_using_command system' -l no-substitutes -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command system' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command system' -l no-grafts -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command system' -l no-build-hook -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command system' -l no-offload -d 'do not attempt to offload builds'
complete -f -c guix -n '__fish_guix_using_command system' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command system' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command system' -a "--verbosity=" -d 'use the given verbosity LEVEL'
@ -174,7 +174,7 @@ complete -f -c guix -n '__fish_guix_using_command system' -a "--expose=" -d 'for
complete -f -c guix -n '__fish_guix_using_command system' -l full-boot -d 'for \'vm\', make a full boot sequence'
#### build
set -l remotecommands expression file source sources system target derivations check repair root quiet log-file load-path keep-failed keep-going dry-run fallback no-substitutes substitute-urls no-grafts no-build-hook max-silent-time timeout verbosity rounds cores max-jobs with-source with-input with-graft
set -l remotecommands expression file source sources system target derivations check repair root quiet log-file load-path keep-failed keep-going dry-run fallback no-substitutes substitute-urls no-grafts no-offload max-silent-time timeout verbosity rounds cores max-jobs with-source with-input with-graft
complete -f -c guix -n '__fish_guix_needs_command' -a build -d 'Build the given PACKAGE-OR-DERIVATION and return their output paths.'
complete -f -c guix -n '__fish_guix_using_command build' -a "--expression=" -d 'build the package or derivation EXPR evaluates to'
complete -f -c guix -n '__fish_guix_using_command build' -s f -d 'build the package or derivation that the code within FILE evaluates to' --exclusive --arguments "(ls -ap)"
@ -201,7 +201,7 @@ complete -f -c guix -n '__fish_guix_using_command build' -l fallback -d 'fall ba
complete -f -c guix -n '__fish_guix_using_command build' -l no-substitutes -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command build' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command build' -l no-grafts -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command build' -l no-build-hook -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command build' -l no-offload -d 'do not attempt to offload builds'
complete -f -c guix -n '__fish_guix_using_command build' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command build' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command build' -a "--verbosity=" -d 'use the given verbosity LEVEL'
@ -215,7 +215,7 @@ complete -f -c guix -n '__fish_guix_using_command build' -a "--with-input=" -d '
complete -f -c guix -n '__fish_guix_using_command build' -a "--with-graft=" -d 'PACKAGE=REPLACEMENT .. graft REPLACEMENT on packages that refer to PACKAGE'
#### package
set -l remotecommands install install-from-expression install-from-file remove upgrade manifest do-no-upgrade roll-back search-paths list-generations delete-generations switch-generation profile bootstrap verbose search list-installed list-available show load-path keep-failed keep-going dry-run fallback no.substitutes substitute-urls no-grafts no-build-hook max-silent-time timenout verbosity rounds cores max-jobs with-source with-input with-graft
set -l remotecommands install install-from-expression install-from-file remove upgrade manifest do-no-upgrade roll-back search-paths list-generations delete-generations switch-generation profile bootstrap verbose search list-installed list-available show load-path keep-failed keep-going dry-run fallback no.substitutes substitute-urls no-grafts no-offload max-silent-time timenout verbosity rounds cores max-jobs with-source with-input with-graft
complete -f -c guix -n '__fish_guix_needs_command' -a package -d 'Install, remove, or upgrade packages in a single transaction.'
complete -f -c guix -n '__fish_guix_using_command package' -s i -l install -d 'install PACKAGEs'
complete -f -c guix -n '__fish_guix_using_command package' -s e -d 'install the package EXP evaluates to'
@ -252,7 +252,7 @@ complete -f -c guix -n '__fish_guix_using_command package' -l fallback -d 'fall
complete -f -c guix -n '__fish_guix_using_command package' -l no-substitutes -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command package' -a "--substitute-urls=" -d 'URLS fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command package' -l no-grafts -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command package' -l no-build-hook -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command package' -l no-offload -d 'do not attempt to offload builds'
complete -f -c guix -n '__fish_guix_using_command package' -a "--max-silent-time=" -d 'SECONDS mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command package' -a "--timeout=" -d 'SECONDS mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command package' -a "--verbosity=" -d 'LEVEL use the given verbosity LEVEL'
@ -391,7 +391,7 @@ complete -f -c guix -n '__fish_guix_using_command gc' -l list-failures -d 'list
complete -f -c guix -n '__fish_guix_using_command gc' -l clear-failures -d 'remove PATHS from the set of cached failures'
#### environment
set -l remotecommands expression load ad-hoc pure search-paths system root container network share expose bootstrap load-path keep-failed keep-going dry-run fallback no-substitutes substitute-urls no-grafts no-build-hook max-silent-time timeout verbosity rounds cores max-jobs
set -l remotecommands expression load ad-hoc pure search-paths system root container network share expose bootstrap load-path keep-failed keep-going dry-run fallback no-substitutes substitute-urls no-grafts no-offload max-silent-time timeout verbosity rounds cores max-jobs
complete -f -c guix -n '__fish_guix_needs_command' -a environment -d 'Build an environment that includes the dependencies of PACKAGE and execute COMMAND or an interactive shell in that environment.'
complete -f -c guix -n '__fish_guix_using_command environment' -s e -d 'Create environment for the package that EXPR evaluates to'
complete -f -c guix -n '__fish_guix_using_command environment' -a "--expression=" -d 'Create environment for the package that EXPR evaluates to'
@ -418,7 +418,7 @@ complete -f -c guix -n '__fish_guix_using_command environment' -l fallback -d 'f
complete -f -c guix -n '__fish_guix_using_command environment' -l no-substitutes -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command environment' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command environment' -l no-grafts -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command environment' -l no-build-hook -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command environment' -l no-offload -d 'do not attempt to offload builds'
complete -f -c guix -n '__fish_guix_using_command environment' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command environment' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command environment' -a "--verbosity=" -d 'use the given verbosity LEVEL'
@ -432,7 +432,7 @@ complete -f -c guix -n '__fish_guix_using_command environment' -a "--max-jobs="
complete -f -c guix -n '__fish_guix_needs_command' -a edit -d 'Start $VISUAL or $EDITOR to edit the definitions of PACKAGE.'
#### copy
set -l remotecommands to= from= load-path= keep-failed keep-going dry-run fallback no-substitutes substitute-urls= no-grafts no-build-hook max-silent-time= timeout= verbosity= rounds= cores= max-jobs=
set -l remotecommands to= from= load-path= keep-failed keep-going dry-run fallback no-substitutes substitute-urls= no-grafts no-offload max-silent-time= timeout= verbosity= rounds= cores= max-jobs=
complete -f -c guix -n '__fish_guix_needs_command' -a copy -d 'Copy ITEMS to or from the specified host over SSH.'
complete -f -c guix -n '__fish_guix_using_command copy' -a "--to=" -d 'send ITEMS to HOST'
complete -f -c guix -n '__fish_guix_using_command copy' -a "--from=" -d 'receive ITEMS from HOST'
@ -445,7 +445,7 @@ complete -f -c guix -n '__fish_guix_using_command copy' -l fallback -d 'fall bac
complete -f -c guix -n '__fish_guix_using_command copy' -l no-substitutes -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command copy' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command copy' -l no-grafts -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command copy' -l no-build-hook -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command copy' -l no-offload -d 'do not attempt to offload builds'
complete -f -c guix -n '__fish_guix_using_command copy' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command copy' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command copy' -a "--verbosity=" -d 'use the given verbosity LEVEL'
@ -467,7 +467,7 @@ complete -f -c guix -n '__fish_guix_using_command challenge' -a "--substitute-ur
complete -f -c guix -n '__fish_guix_using_command challenge' -s v -l verbose -d 'show details about successful comparisons'
#### archive
set -l remotecommands export format= recursive import missing extract= generate-key authorize expression= source system= target= load-path= keep-failed keep-going dry-run fallback no-substitutes substitute-urls= no-grafts no-build-hook max-silent-time= timeout= verbosity= rounds= cores= max-jobs=
set -l remotecommands export format= recursive import missing extract= generate-key authorize expression= source system= target= load-path= keep-failed keep-going dry-run fallback no-substitutes substitute-urls= no-grafts no-offload max-silent-time= timeout= verbosity= rounds= cores= max-jobs=
complete -f -c guix -n '__fish_guix_needs_command' -a archive -d 'Export/import one or more packages from/to the store.'
complete -f -c guix -n '__fish_guix_using_command archive' -l export -d 'export the specified files/packages to stdout'
complete -f -c guix -n '__fish_guix_using_command archive' -a "--format=" -d 'export files/packages in the specified format FMT'
@ -489,7 +489,7 @@ complete -f -c guix -n '__fish_guix_using_command archive' -l fallback -d 'fall
complete -f -c guix -n '__fish_guix_using_command archive' -l no-substitutes -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command archive' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command archive' -l no-grafts -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command archive' -l no-build-hook -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command archive' -l no-offload -d 'do not attempt to offload builds'
complete -f -c guix -n '__fish_guix_using_command archive' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command archive' -a "--timeout=" -f -d 'mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command archive' -a "--verbosity=" -d 'use the given verbosity LEVEL'
@ -498,7 +498,7 @@ complete -f -c guix -n '__fish_guix_using_command archive' -a "--cores=" -d 'all
complete -f -c guix -n '__fish_guix_using_command archive' -a "--max-jobs=" -d 'allow at most N build jobs'
#### pack
set -l remotecommands --load-path= --keep-failed --keep-going --dry-run --fallback --no-substitutes --substitute-urls= --no-grafts --no-build-hook --max-silent-time= --timeout= --verbosity= --rounds= --cores= --max-jobs= --with-source= --with-input= --with-graft= --format= --expression= --system= --target= --compression= --symlink= --localstatedir --help --version
set -l remotecommands --load-path= --keep-failed --keep-going --dry-run --fallback --no-substitutes --substitute-urls= --no-grafts --no-offload --max-silent-time= --timeout= --verbosity= --rounds= --cores= --max-jobs= --with-source= --with-input= --with-graft= --format= --expression= --system= --target= --compression= --symlink= --localstatedir --help --version
complete -f -c guix -n '__fish_guix_needs_command' -a pack -d 'Create a bundle of PACKAGE.'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--load-path=" -d 'prepend DIR to the package module search path'
complete -f -c guix -n '__fish_guix_using_command pack' -s L -d 'prepend DIR to the package module search path'
@ -512,7 +512,7 @@ complete -f -c guix -n '__fish_guix_using_command pack' -a "--fallback" -d 'fall
complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-substitutes" -d 'build instead of resorting to pre-built substitutes'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--substitute-urls=" -d 'fetch substitute from URLS if they are authorized'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-grafts" -d 'do not graft packages'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-build-hook" -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--no-offload" -d 'do not attempt to offload builds via the build hook'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--max-silent-time=" -d 'mark the build as failed after SECONDS of silence'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--timeout=" -d 'mark the build as failed after SECONDS of activity'
complete -f -c guix -n '__fish_guix_using_command pack' -a "--verbosity=" -d 'use the given verbosity LEVEL'

View File

@ -87,7 +87,7 @@ _guix_list_installed_packages()
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
@ -158,7 +158,7 @@ _guix_list_installed_packages()
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
@ -282,7 +282,7 @@ _guix_list_installed_packages()
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URLS:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \
@ -374,7 +374,7 @@ _guix_list_installed_packages()
'--no-substitutes[build instead of resorting to pre-built substitutes]' \
'--substitute-urls=[fetch substitute from URLS if they are authorized]:URL:_urls' \
'--no-grafts[do not graft packages]' \
'--no-build-hook[do not attempt to offload builds via the build hook]' \
'--no-offload[do not attempt to offload builds]' \
'--max-silent-time=[mark the build as failed after SECONDS of silence]:SECONDS' \
'--timeout=[mark the build as failed after SECONDS of activity]:SECONDS' \
'--verbosity=[use the given verbosity LEVEL]:LEVEL' \

View File

@ -82,6 +82,7 @@
make-disk-image?
single-file-output?
target-arm32?
target-aarch64?
(disk-image-size (* 100 (expt 2 20)))
(disk-image-format "qcow2")
(references-graphs '()))
@ -97,16 +98,28 @@ 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 target-arm? (or target-arm32? target-aarch64?))
(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") '())
,@(if target-arm?
'("-M" "virt")
'())
;; On ARM32, if the kernel is built without LPAE support, ECAM conflicts
;; with VIRT_PCIE_MMIO causing PCI devices not to show up. Disable
;; explicitely highmem to fix it.
;; See: https://bugs.launchpad.net/qemu/+bug/1790975.
,@(if target-arm32?
'("-machine" "highmem=off")
'())
;; 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.
;; still buggy on some ARM boards. Do not use it even if available.
,@(if (and (file-exists? "/dev/kvm")
(not target-arm32?))
(not target-arm?))
'("-enable-kvm")
'())
@ -117,11 +130,11 @@ the #:references-graphs parameter of 'derivation'."
;; The serial port name differs between emulated
;; architectures/machines.
" console="
(if target-arm32? "ttyAMA0" "ttyS0"))
(if target-arm? "ttyAMA0" "ttyS0"))
;; NIC is not supported on ARM "virt" machine, so use a user mode
;; network stack instead.
,@(if target-arm32?
,@(if target-arm?
'("-device" "virtio-net-pci,netdev=mynet"
"-netdev" "user,id=mynet")
'("-net" "nic,model=virtio"))))
@ -145,7 +158,9 @@ the #:references-graphs parameter of 'derivation'."
(_ #f))
(apply invoke qemu "-nographic" "-no-reboot"
"-smp" (number->string (parallel-job-count))
;; CPU "max" behaves as "host" when KVM is enabled, and like a system
;; CPU with the maximum possible feature set otherwise.
"-cpu" "max"
"-m" (number->string memory-size)
"-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
"-device" "virtio-rng-pci,rng=guixsd-vm-rng"

View File

@ -826,6 +826,7 @@ dist_patch_DATA = \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \
%D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/feh-fix-tests-for-imlib2-1.6.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
%D%/packages/patches/file-CVE-2018-10360.patch \
@ -1079,6 +1080,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libreoffice-icu.patch \
%D%/packages/patches/libreoffice-glm.patch \
%D%/packages/patches/libseccomp-open-aarch64.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
@ -1218,6 +1220,7 @@ dist_patch_DATA = \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/pam-mount-luks2-support.patch \
%D%/packages/patches/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/pcre2-fix-jit_match-crash.patch \
@ -1466,7 +1469,12 @@ dist_patch_DATA = \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
%D%/packages/patches/xsane-support-ipv6.patch \
%D%/packages/patches/xsane-tighten-default-umask.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in

View File

@ -27,6 +27,8 @@
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -60,13 +62,16 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dns)
#:use-module (gnu packages file)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages guile)
@ -87,6 +92,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages openldap)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages patchutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
@ -620,6 +626,64 @@ and exploration tool, since it can create almost any kind of connection you
would need and has several interesting built-in capabilities.")
(license license:gpl2+)))
(define-public netcat-openbsd
(package
(name "netcat-openbsd")
(version "1.203-2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/debian/netcat-openbsd.git")
(commit (string-append "debian/" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0j85gzbjzs6yrhgabh3zkwzd27qkr5s0zjjczl0hah8q7yhrjk3m"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list "CC=gcc"
(string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
"LDFLAGS=-lbsd")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'patch
(lambda _
(setenv "QUILT_PATCHES" "debian/patches")
(invoke "quilt" "push" "-a")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1"))
(doc (string-append out "/share/doc/netcat-openbsd-" ,version))
(examples (string-append doc "/examples")))
(install-file "nc" bin)
(install-file "nc.1" man)
(install-file "debian/copyright" doc)
(copy-recursively "debian/examples" examples)
#t))))))
(inputs `(("libbsd" ,libbsd)))
(native-inputs `(("pkg-config" ,pkg-config)
("quilt" ,quilt)))
(home-page "https://packages.debian.org/sid/netcat-openbsd")
(synopsis "Read and write data over TCP/IP")
(description
"Netcat is a simple Unix utility which reads and writes data across
network connections using TCP or UDP protocol. It is designed to be a reliable
\"back-end\" tool that can be used directly or easily driven by other programs
and scripts. At the same time it is a feature-rich network debugging and
exploration tool, since it can create almost any kind of connection you would
need and has several interesting built-in capabilities.
This package contains the OpenBSD rewrite of netcat, including support for
IPv6, proxies, and Unix sockets.")
(license (list license:bsd-3
license:bsd-2)))) ; atomicio.*, socks.c
(define-public sipcalc
(package
(name "sipcalc")
@ -3452,3 +3516,68 @@ IGMP and Raw, across a wide variety of interface types, and understands BPF
filter logic in the same fashion as more common packet sniffing tools, such as
tcpdump and snoop.")
(license license:bsd-3)))
(define-public pam-mount
(package
(name "pam-mount")
(version "2.16")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pam-mount/pam_mount/"
version "/pam_mount-" version ".tar.xz"))
(sha256
(base32
"1rvi4irb7ylsbhvx1cr6islm2xxw1a4b19q6z4a9864ndkm0f0mf"))
(patches
;; Patch adding support for encrypted volumes in LUKS2 format.
;; It comes from the Gentoo package definition for sys-auth/pam_mount.
(search-patches "pam-mount-luks2-support.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs
`(("cryptsetup" ,cryptsetup)
("libhx" ,libhx)
("libxml2" ,libxml2)
("linux-pam" ,linux-pam)
("lvm2" ,lvm2)
("openssl" ,openssl)
("pcre" ,pcre)
("util-linux" ,util-linux)))
(arguments
`(#:configure-flags
(list (string-append "--with-slibdir=" %output "/lib")
(string-append "--with-ssbindir=" %output "/sbin"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-program-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((util-linux (assoc-ref inputs "util-linux"))
(out (assoc-ref outputs "out")))
(substitute* "src/mtcrypt.c"
(("\"mount\";")
(string-append "\"" util-linux "/bin/mount\";"))
(("\"umount\";")
(string-append "\"" util-linux "/bin/umount\";"))
(("\"fsck\",")
(string-append "\"" util-linux "/sbin/fsck\",")))
(substitute* "src/rdconf1.c"
(("\"mount\", \"")
(string-append "\"" util-linux "/bin/mount\", \""))
(("\"umount\", \"")
(string-append "\"" util-linux "/bin/umount\", \""))
(("\"fsck\", \"")
(string-append "\"" util-linux "/sbin/fsck\", \""))
(("\"pmvarrun\", \"")
(string-append "\"" out "/sbin/pmvarrun\", \""))))
#t)))))
(home-page "http://pam-mount.sourceforge.net")
(synopsis "PAM module to mount volumes for a user session")
(description
"Pam-mount is a PAM module that can mount volumes when a user logs in.
It supports mounting local filesystems of any kind the normal mount utility
supports. It can also mount encrypted LUKS volumes using the password
supplied by the user when logging in.")
(license (list license:gpl2+ license:lgpl2.1+))))

View File

@ -120,7 +120,7 @@ header.")
(define-public gnuastro
(package
(name "gnuastro")
(version "0.10")
(version "0.11")
(source
(origin
(method url-fetch)
@ -128,7 +128,7 @@ header.")
version ".tar.lz"))
(sha256
(base32
"0gmhmh0yddb2aql4hd5ffrr0d4hrmh4pa3yln0n186hslqinp81b"))))
"0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v"))))
(inputs
`(("cfitsio" ,cfitsio)
("gsl" ,gsl)

View File

@ -831,7 +831,7 @@ is like a time machine for your data. ")
(define-public restic
(package
(name "restic")
(version "0.9.5")
(version "0.9.6")
;; TODO Try packaging the bundled / vendored dependencies in the 'vendor/'
;; directory.
(source (origin
@ -842,7 +842,7 @@ is like a time machine for your data. ")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0afl3dv7gzwdc9klikk3fsb57d0px2fwihb0xxb7zq7d8vlhh8p2"))))
"1zmh42aah32ah8w5n6ilz9bci0y2xrf8p7qshy3yf1lzm5gnbj0w"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/restic/restic"

View File

@ -983,16 +983,17 @@ e.g. microbiome samples, genomes, metagenomes.")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/bioperl/bioperl-live/"
"archive/release-"
(string-map (lambda (c)
(if (char=? c #\.)
#\- c)) version)
".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bioperl/bioperl-live")
(commit (string-append "release-"
(string-map (lambda (c)
(if (char=? c #\.)
#\- c)) version)))))
(file-name (git-file-name name version))
(sha256
(base32
"12phgpxwgkqflkwfb9dcqg7a31dpjlfhar8wcgv0aj5ln4akfz06"))))
"0wl8yvzcls59pwwk6m8ahy87pwg6nnibzy5cldbvmcwg2x2w7783"))))
(build-system perl-build-system)
(arguments
`(#:phases
@ -11572,35 +11573,6 @@ provide this functionality without the necessity of drawing in a heavy-weight
dependency like SeqAn.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))
(define-public libdivsufsort
(package
(name "libdivsufsort")
(version "2.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/y-256/libdivsufsort.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; there are no tests
#:configure-flags
;; Needed for rapmap and sailfish.
'("-DBUILD_DIVSUFSORT64=ON")))
(home-page "https://github.com/y-256/libdivsufsort")
(synopsis "Lightweight suffix-sorting library")
(description "libdivsufsort is a software library that implements a
lightweight suffix array construction algorithm. This library provides a
simple and an efficient C API to construct a suffix array and a
Burrows-Wheeler transformed string from a given string over a constant-size
alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1)
bytes of memory space, where n is the length of the string.")
(license license:expat)))
(define-public sailfish
(package
(name "sailfish")

View File

@ -178,6 +178,23 @@ across a broad spectrum of applications.")
(symlink "libboost_python37.so" "libboost_python3.so"))
#t)))))))))
(define-public boost-static
(package
(inherit boost)
(name "boost-static")
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:make-flags flags)
`(cons "link=static" (delete "link=shared" ,flags)))
((#:phases phases)
`(modify-phases ,phases
(replace 'provide-libboost_python
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/lib")
(symlink "libboost_python27.a" "libboost_python.a"))
#t)))))))))
(define-public boost-for-mysql
;; Older version for MySQL 5.7.23.
(package

View File

@ -80,7 +80,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public bear
(package
(name "bear")
(version "2.3.13")
(version "2.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -89,7 +89,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(file-name (git-file-name name version))
(sha256
(base32
"0imvvs22gyr1v6ydgp5yn2nq8fb8llmz0ra1m733ikjaczl3jm7z"))))
"1w1kyjzvvy5lj16kn3yyf7iil2cqlfkszi8kvagql7f5h5l6w9b1"))))
(build-system cmake-build-system)
(inputs
`(("python" ,python-wrapper)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -183,7 +184,7 @@ compiler while still keeping it small, simple, fast and understandable.")
(define-public libbytesize
(package
(name "libbytesize")
(version "1.4")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -191,52 +192,17 @@ compiler while still keeping it small, simple, fast and understandable.")
"download/" version "/libbytesize-" version ".tar.gz"))
(sha256
(base32
"0bbqzln1nhjxl71aydq9k4jg3hvki9lqsb4w10s1i27jgibxqkdv"))
(modules '((guix build utils)))
(snippet
'(begin
;; This Makefile hard-codes MSGMERGE et al. instead of
;; honoring what 'configure' detected. Fix that.
(substitute* "po/Makefile.in"
(("^MSGMERGE = msgmerge")
"MSGMERGE = @MSGMERGE@\n"))
#t))))
"1bpz9cpb8s47kqplkkiz6ryfahas2ma95g9rh2axnfjp6w1d9ixc"))))
(build-system gnu-build-system)
(arguments
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
'(#:configure-flags '("ac_cv_path_MSGMERGE=true")
#:phases (modify-phases %standard-phases
(add-after 'configure 'create-merged-po-files
(lambda _
;; Create "merged PO" (.mpo) files so that 'msgmerge'
;; doesn't need to run.
(for-each (lambda (po-file)
(let ((merged-po
(string-append (dirname po-file) "/"
(basename po-file
".po")
".mpo")))
(copy-file po-file merged-po)))
(find-files "po" "\\.po$"))
#t)))
;; One test fails because busctl (systemd only?) and python2-pocketlint
;; are missing. Should we fix it, we would need the "python-2" ,
;; "python2-polib" and "python2-six" native-inputs.
#:tests? #f))
`(#:tests? #f))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("python" ,python)))
(inputs
`(("mpfr" ,mpfr)
("pcre" ,pcre)))
("pcre2" ,pcre2)))
(home-page "https://github.com/storaged-project/libbytesize")
(synopsis "Tiny C library for working with arbitrary big sizes in bytes")
(description
@ -316,3 +282,25 @@ Its three main components are:
"The purpose of libfixposix is to offer replacements for parts of POSIX
whose behaviour is inconsistent across *NIX flavours.")
(license license:boost1.0)))
(define-public libhx
(package
(name "libhx")
(version "3.24")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libhx/libHX/"
"libHX-" version ".tar.xz"))
(sha256
(base32
"0i8v2464p830c15myknvvs6bhxaf663lrqgga95l94ygfynkw6x5"))))
(build-system gnu-build-system)
(home-page "http://libhx.sourceforge.net")
(synopsis "C library with common data structures and functions")
(description
"This is a C library (with some C++ bindings available) that provides data
structures and functions commonly needed, such as maps, deques, linked lists,
string formatting and autoresizing, option and config file parsing, type
checking casts and more.")
(license license:lgpl2.1+)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +22,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@ -40,13 +42,14 @@
(name "cinnamon-desktop")
(version "3.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/linuxmint/cinnamon-desktop/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/linuxmint/cinnamon-desktop")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jf24csrbfi9aiza1g70jpvsbjiqwphk0i5wilxq9kpjjsl99maq"))))
"18mjy80ly9361npjhxpm3n0pkmrwviaqr2kixjb7hyxa6kzzh5xw"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -650,13 +650,14 @@ This package is mostly for compatibility and historical interest.")
(name "sfarklib")
(version "2.24")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/raboof/sfArkLib/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/raboof/sfArkLib.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0bzs2d98rk1xw9qwpnc7gmlbxwmwc3dg1rpn310afy9pq1k9clzi"))))
"0jrxy24gak7q5ml06p5jjgzk9i5r2mkfjk4ycirkp4kg7k5a237w"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
@ -1109,12 +1110,13 @@ well as bzip2.")
(version "1.1.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/google/snappy/archive/"
version ".tar.gz"))
(file-name (string-append "snappy-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/snappy.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix"))
(base32 "1x7r8sjmdqlqjz0xfiwdyrqpgaj5yrvrgb28ivgpvnxgar5qv6m2"))
(patches (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch"))))
(build-system cmake-build-system)
(arguments
@ -1303,13 +1305,14 @@ or junctions, and always follows hard links.")
(name "unshield")
(version "1.4.3")
(source
(origin (method url-fetch)
(uri (string-append "http://github.com/twogood/unshield/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(origin (method git-fetch)
(uri (git-reference
(url "http://github.com/twogood/unshield.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1avv5c11jbmzwizq10pwvlh1dmyna8ccvpgacv95h4gbq26rg35a"))))
"19wn22vszhci8dfcixx5rliz7phx3lv5ablvhjlclvj75k2vsdqd"))))
(build-system cmake-build-system)
(inputs
`(("zlib" ,zlib)
@ -1815,16 +1818,16 @@ single-member files which can't be decompressed in parallel.")
(define-public innoextract
(package
(name "innoextract")
(version "1.7")
(version "1.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dscharrer/innoextract/archive/"
version ".tar.gz"))
(uri (string-append "https://github.com/dscharrer/innoextract/releases"
"/download/" version
"/innoextract-" version ".tar.gz"))
(sha256
(base32
"0khwi9f0q0h6xfbixrrc1rfpgj0b7ajwilq7yhmxnn5lpc807f6x"))
(file-name (string-append name "-" version ".tar.gz"))))
"0saj50n8ds85shygy4mq1h6s99510r9wgjjdll4dmvhra4lzcy2y"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f

View File

@ -377,13 +377,14 @@ theorems between the two libraries.")
(name "coq-bignums")
(version "8.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/bignums/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/coq/bignums.git")
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0pmk9smw7a14wrfkvjlvmpxim4bsv6xnm5xkrlld2faqy74a044g"))))
"03qz1w2xb2j5p06liz5yyafl0fl9vprcqm6j0iwi7rxwghl00p01"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)

View File

@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
@ -13,6 +14,7 @@
;;; Copyright © 2018 Laura Lazzati <laura.lazzati.15@gmail.com>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
@ -95,6 +97,56 @@
the system clipboards.")
(license license:gpl3)))
(define-public r-scales
(package
(name "r-scales")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "scales" version))
(sha256
(base32 "00rdbfj5mwc3kr8pskidn3n2zkp4ms6cx36xazz54pxw3pysdr0y"))))
(build-system r-build-system)
(propagated-inputs
`(("r-farver" ,r-farver)
("r-labeling" ,r-labeling)
("r-lifecycle" ,r-lifecycle)
("r-munsell" ,r-munsell)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-r6" ,r-r6)
("r-viridislite" ,r-viridislite)))
(home-page "https://github.com/hadley/scales")
(synopsis "Scale functions for visualization")
(description
"This package provides graphical scales that map data to aesthetics, and
provides methods for automatically determining breaks and labels for axes and
legends.")
(license license:expat)))
(define-public r-pheatmap
(package
(name "r-pheatmap")
(version "1.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "pheatmap" version))
(sha256
(base32
"1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"))))
(build-system r-build-system)
(propagated-inputs
`(("r-gtable" ,r-gtable)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-scales" ,r-scales)))
(home-page "https://cran.r-project.org/web/packages/pheatmap")
(synopsis "Pretty heatmaps")
(description
"This package provides an implementation of heatmaps that offers more
control over dimensions and appearance.")
(license license:gpl2+)))
(define-public r-ellipsis
(package
(name "r-ellipsis")
@ -243,14 +295,14 @@ data types as well.")
(define-public r-tidyverse
(package
(name "r-tidyverse")
(version "1.2.1")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tidyverse" version))
(sha256
(base32
"0yy3fkjksgcn6wkbgsb0pbnmsyqs4m01mziqafhig578nixs4rxd"))))
"02gyys08qv2v4cl2d66gml4d31ipxay0iyfwwksvxyclx60wp2kd"))))
(build-system r-build-system)
(propagated-inputs
`(("r-broom" ,r-broom)
@ -267,6 +319,7 @@ data types as well.")
("r-lubridate" ,r-lubridate)
("r-magrittr" ,r-magrittr)
("r-modelr" ,r-modelr)
("r-pillar" ,r-pillar)
("r-purrr" ,r-purrr)
("r-readr" ,r-readr)
("r-readxl" ,r-readxl)
@ -314,14 +367,13 @@ scraping tasks, inspired by libraries like @code{BeautifulSoup}.")
(define-public r-selectr
(package
(name "r-selectr")
(version "0.4-1")
(version "0.4-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "selectr" version))
(sha256
(base32
"1jp27rxks4w29l47k42869hp8hnkzq2rnvsqbr44wd19fqb2zm4b"))))
(base32 "09y1n3iy297g49xlpl7xrjpwgnm57pskx5991lyfcpizbz8ax22m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-stringr" ,r-stringr)
@ -906,14 +958,13 @@ application framework for R, making it easy to create attractive dashboards.")
(define-public r-shinyfiles
(package
(name "r-shinyfiles")
(version "0.7.3")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "shinyFiles" version))
(sha256
(base32
"01as3l9ffj5dwac0vviais2x5l3027zxlj67kcvkdwxaj5hql33i"))))
(base32 "1143m941hma9hc77c3xcw26c0ygfhn9ii2sbp9wrydxv4gc7mr8a"))))
(properties `((upstream-name . "shinyFiles")))
(build-system r-build-system)
(propagated-inputs
@ -2339,14 +2390,14 @@ transportation problems.")
(define-public r-limsolve
(package
(name "r-limsolve")
(version "1.5.5.3")
(version "1.5.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "limSolve" version))
(sha256
(base32
"1ll6ir42h3g2fzf0wqai213bm82gpwjj2hfma2np3mz024sc09rg"))))
"1829rd2cnd8qj80z9a7sgc7gx4sf3kvl5g6d2a0lqqw30f9sjzmr"))))
(properties `((upstream-name . "limSolve")))
(build-system r-build-system)
(propagated-inputs
@ -2584,14 +2635,14 @@ regression using Kernel Ridge Regression.")
(define-public r-prodlim
(package
(name "r-prodlim")
(version "2019.10.13")
(version "2019.11.13")
(source
(origin
(method url-fetch)
(uri (cran-uri "prodlim" version))
(sha256
(base32
"0rsyfpz667y5cijmq33l318mrdw8r340khp72gcg8n490b1g0176"))))
"03wvh3kirp1prac5nky6a5whs97rvaf4hc27x0fnh51sa17r42b8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-kernsmooth" ,r-kernsmooth)
@ -3396,14 +3447,14 @@ structure.")
(define-public r-vioplot
(package
(name "r-vioplot")
(version "0.3.2")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "vioplot" version))
(sha256
(base32
"13kfjp747bnzksai8j39y2hyl3ljc6n53c2cfhaw78q3d63x0lbv"))))
"1jjrsds7p1jnnr4970h43526b9cdv3azizjbalbfzjjylc53lrca"))))
(build-system r-build-system)
(propagated-inputs
`(("r-sm" ,r-sm)
@ -3827,14 +3878,14 @@ of merit, ordering functions, and enhanced versions of @code{pairs} and
(define-public r-webshot
(package
(name "r-webshot")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "webshot" version))
(sha256
(base32
"08sb1xi376pfy1vwilk2d68zljsg9yiv04n2dkqz383gdhh0sxdr"))))
"0gq4h8cw51z95yvsnf38kj5l58wgljkm0dalmi8mn1sp06bxr0zi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-callr" ,r-callr)
@ -4843,14 +4894,13 @@ the application.")
(define-public r-algdesign
(package
(name "r-algdesign")
(version "1.1-7.3")
(version "1.1-7.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "AlgDesign" version))
(sha256
(base32
"0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz"))))
(base32 "1s69yx0wxi9kqj9kyib0yvd363d7g4zrz0cvz1hn97ladr8656bz"))))
(properties `((upstream-name . "AlgDesign")))
(build-system r-build-system)
(home-page "https://github.com/jvbraun/AlgDesign")
@ -6053,14 +6103,14 @@ to help insert or delete content at a specific location in the document.")
(define-public r-abn
(package
(name "r-abn")
(version "2.1")
(version "2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "abn" version))
(sha256
(base32
"08jlvb6i5f7ry2dwm0jgrnn2w95vr0l67dpx13n9878lz9ld131b"))))
"19w6bdjyp4zwqs6p0flry4qxqynf9rh8ykdrfrp61wrdf7kysw0d"))))
(build-system r-build-system)
(inputs
`(("gsl" ,gsl)))
@ -6204,14 +6254,14 @@ other add-on packages.")
(define-public r-insight
(package
(name "r-insight")
(version "0.6.0")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "insight" version))
(sha256
(base32
"1izqh4j0gzyk25cga67gs0i6rl0j471h5y2c3y1maz79r32fs7fd"))))
"1alxc483r3d1ydp983m2872mxd4nj3j25qv47zzgj10nbi4y32sq"))))
(build-system r-build-system)
(home-page "https://easystats.github.io/insight/")
(synopsis "Easy access to model information for various model objects")
@ -8176,14 +8226,13 @@ detection, parallelism through BLAS and parallel user templates.")
(define-public r-sjstats
(package
(name "r-sjstats")
(version "0.17.6")
(version "0.17.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjstats" version))
(sha256
(base32
"11z1wfi0d74d1rld0320l3vmv6rl41wa0v9bjc44rk06yc90wld2"))))
(base32 "029rl05p88bp01favz300m980r1khcx2a2kn88yqbnbgkjjgqqc6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
@ -8333,22 +8382,47 @@ are also supported. The two main functions are @code{ggpredict()} and
results using @code{ggplot2}.")
(license license:gpl3)))
(define-public r-effectsize
(package
(name "r-effectsize")
(version "0.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "effectsize" version))
(sha256
(base32
"07vgmxdl75798hgdh90zysafjh97rmmj2wjjyr6xff4fbhi8rlkb"))))
(properties `((upstream-name . "effectsize")))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
("r-insight" ,r-insight)
("r-parameters" ,r-parameters)))
(home-page "https://github.com/easystats/effectsize")
(synopsis "Indices of effect size and standardized parameters")
(description
"This package provides utilities to work with indices of effect size and
standardized parameters for a wide variety of models, allowing computation and
conversion of indices such as Cohen's d, r, odds, etc.")
(license license:gpl3)))
(define-public r-sjplot
(package
(name "r-sjplot")
(version "2.7.2")
(version "2.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjPlot" version))
(sha256
(base32 "1kx1qqgp4fhwwwpqn9mv8m1pnpjxfs7ww36ns7j1ja4a7ydwn2hp"))))
(base32 "0ahz6v6bhvq1537inwakmrafs44hs2m9w0ra8q17fz626nn9rb9b"))))
(properties `((upstream-name . "sjPlot")))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
("r-broom" ,r-broom)
("r-dplyr" ,r-dplyr)
("r-effectsize" ,r-effectsize)
("r-forcats" ,r-forcats)
("r-ggeffects" ,r-ggeffects)
("r-ggplot2" ,r-ggplot2)
@ -8360,7 +8434,7 @@ results using @code{ggplot2}.")
("r-magrittr" ,r-magrittr)
("r-mass" ,r-mass)
("r-modelr" ,r-modelr)
("r-nlme" ,r-nlme)
("r-parameters" ,r-parameters)
("r-performance" ,r-performance)
("r-psych" ,r-psych)
("r-purrr" ,r-purrr)
@ -9048,14 +9122,13 @@ netCDF files.")
(define-public r-biocmanager
(package
(name "r-biocmanager")
(version "1.30.9")
(version "1.30.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "BiocManager" version))
(sha256
(base32
"1l9b2mr99nhpvk1wkd93397i0d6z4vvbq3zm8dk86gb1pfci26sx"))))
(base32 "03n9s2vf7vgpgb5alpxwamf9xfkn32cbzngwyn6spq1bnh9a9dzk"))))
(properties `((upstream-name . "BiocManager")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/BiocManager/")
@ -9582,13 +9655,13 @@ maps.")
(define-public r-tidytree
(package
(name "r-tidytree")
(version "0.2.9")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tidytree" version))
(sha256
(base32 "1l9rk71dzlwg8736l0g4rdlq3pghxkfzmlxyln8y4bxx7ym51i6g"))))
(base32 "1sbfwcxf9v1lhpa0392b49b6qfjrq7nlqz2djqzk5aknj9j64zvy"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
@ -9971,14 +10044,14 @@ Touzet and Varre (2007).")
(define-public r-rnifti
(package
(name "r-rnifti")
(version "0.11.1")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "RNifti" version))
(sha256
(base32
"0jcgdg5k2swmi57aqj347kfi1fc4nvag7pxdfz61kc0vqqamm0wg"))))
"0l61hjnzv043ibpkgrhc0yngaqmc58lkvii8j1dzh022z5wbqrj8"))))
(properties `((upstream-name . "RNifti")))
(build-system r-build-system)
(propagated-inputs `(("r-rcpp" ,r-rcpp)))
@ -11147,19 +11220,16 @@ library.")
(define-public r-protviz
(package
(name "r-protviz")
(version "0.4.0")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "protViz" version))
(sha256
(base32
"150i2q4nakz28f39kmhrchz4qsr8ax6y02512md94k8hq4hamxg1"))))
"0cznzm1ijlq33yd5wsa61prav77y2vi698w0n2fx1xcv504c4bjv"))))
(properties `((upstream-name . "protViz")))
(build-system r-build-system)
(inputs
`(("perl" ,perl)
("python-2" ,python-2)))
(propagated-inputs `(("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/protViz/protViz/")
(synopsis "Visualizing and analyzing mass spectrometry data in proteomics")
@ -11226,14 +11296,14 @@ model with finite state space using the Aalen-Johansen estimator.")
(define-public r-epi
(package
(name "r-epi")
(version "2.38")
(version "2.40")
(source
(origin
(method url-fetch)
(uri (cran-uri "Epi" version))
(sha256
(base32
"0ald9fjynrlyah8nzwfs49a08j4myd3c5bm56zn61gg5pyyhi8hd"))))
"046y10vwks5y84pzccmrn6d4pd6qz70imvp1hw5ywp8fnwzfh4g5"))))
(properties `((upstream-name . "Epi")))
(build-system r-build-system)
(propagated-inputs
@ -11408,14 +11478,14 @@ them in distributed compute environments.")
(define-public r-future
(package
(name "r-future")
(version "1.15.0")
(version "1.15.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "future" version))
(sha256
(base32
"1cbp7agb9lipjxsh7xm1yphh8a4hrjy7wrbkvhsxn1swh0c4s3b7"))))
"101hi8warqa0py9l6c5p98f7i9xjhx01w655z6a35jx1dhspykzd"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
@ -13125,14 +13195,13 @@ lspec, polyclass, and polymars.")
(define-public r-rms
(package
(name "r-rms")
(version "5.1-3.1")
(version "5.1-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "rms" version))
(sha256
(base32
"0drbr3g0x5pbxyzy50wnf92rbal8izizrcqslqhg0gsfg9adjih9"))))
(base32 "19knh1sw0icw6jh9wfb2hq5jf49i2qfvp9myvqm5paa495689x9q"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -13361,13 +13430,13 @@ SELECT or UPDATE queries to an end-point.")
(define-public r-bookdown
(package
(name "r-bookdown")
(version "0.15")
(version "0.16")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
"0pgkabaqsckaz8z1nlza84jp172jyzv17kx5dily43jfx5psy2ap"))))
"1gwgvx1yg6q3wccnhidr3gshdvlgr42i4pvlg4h29kpsa7smjiv1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
@ -15540,14 +15609,14 @@ in pipelines.")
(define-public r-parameters
(package
(name "r-parameters")
(version "0.2.0")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "parameters" version))
(sha256
(base32
"1mgggb3l67wgjiccq4y84wbs2dw9qk01akd553yiwbwky9rpawgh"))))
"0ifb9g1h8sn661q7jf9d8glk58gxdcym5ywbmx7phwn0y3is5wdv"))))
(properties `((upstream-name . "parameters")))
(build-system r-build-system)
(propagated-inputs
@ -15674,3 +15743,112 @@ unique identifiers, and whether it is a certain length. In addition,
files and to efficiently import multiple tabular data files into one
data.table.")
(license license:gpl3)))
(define-public r-quadprog
(package
(name "r-quadprog")
(version "1.5-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "quadprog" version))
(sha256
(base32 "1ka9g8zak8sg4y2xbz93dfrldznlk9qpd4pq9z21cdcdn3b8s4i2"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/quadprog")
(synopsis "Functions to solve quadratic programming problems")
(description
"This package contains routines and documentation for solving quadratic
programming problems.")
(license license:gpl3+)))
(define-public r-desolve
(package
(name "r-desolve")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (cran-uri "deSolve" version))
(sha256
(base32 "0735y3p5glhqx69rzrc8qgmvs7p7w0p98qxmvylb6bgqp6kp0cbp"))))
(properties `((upstream-name . "deSolve")))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://desolve.r-forge.r-project.org/")
(synopsis "Solvers for initial value problems of differential equations")
(description "This package provides functions that solve initial
value problems of a system of first-order ordinary differential equations (ODE),
of partial differential equations (PDE), of differential algebraic equations
(DAE), and of delay differential equations. The functions provide an interface
to the FORTRAN functions lsoda, lsodar, lsode, lsodes of the ODEPACK collection,
to the FORTRAN functions dvode and daspk and a C-implementation of solvers of
the Runge-Kutta family with fixed or variable time steps. The package contains
routines designed for solving ODEs resulting from 1-D, 2-D and 3-D partial
differential equations (PDE) that have been converted to ODEs by numerical
differencing.")
(license license:gpl2+)))
(define-public r-pracma
(package
(name "r-pracma")
(version "2.2.5")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
(base32 "0isd3s0i4mzmva8lkh0j76hwjy1w50q7d1n9lhxsnnkgalx3xs1g"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/pracma/")
(synopsis "Practical numerical math functions")
(description "This package provides functions for numerical analysis and
linear algebra, numerical optimization, differential equations, plus some
special functions. It uses Matlab function names where appropriate to simplify
porting.")
(license license:gpl3+)))
(define-public r-subplex
(package
(name "r-subplex")
(version "1.5-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "subplex" version))
(sha256
(base32
"10cbgbx1bgsax5z7gz6716g360xpq4mvq19cf4qqrxv02mmwz57z"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/subplex")
(synopsis "Unconstrained optimization using the subplex algorithm")
(description
"This package implements the Subplex optimization algorithm.
It solves unconstrained optimization problems using a simplex method on
subspaces. The method is well suited for optimizing objective functions that
are noisy or are discontinuous at the solution.")
(license license:gpl3+)))
(define-public r-txtplot
(package
(name "r-txtplot")
(version "1.0-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "txtplot" version))
(sha256
(base32
"1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/txtplot/")
(synopsis "Text-based plotting")
(description "This package provides functions to produce rudimentary ASCII
graphics directly in the terminal window. This package provides a basic
plotting function (and equivalents of curve, density, acf and barplot) as well
as a boxplot function.")
(license license:lgpl3+)))

View File

@ -535,19 +535,18 @@ generator.")
(define-public perl-crypt-random-source
(package
(name "perl-crypt-random-source")
(version "0.12")
(version "0.14")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"Crypt-Random-Source-" version ".tar.gz"))
(sha256
(base32
"00mw5m52sbz9nqp3f6axyrgcrihqxn7k8gv0vi1kvm1j1nc9g29h"))))
(base32 "1rpdds3sy5l1fhngnkrsgwsmwd54wpicx3i9ds69blcskwkcwkpc"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build-tiny" ,perl-module-build-tiny)
("perl-test-exception" ,perl-test-exception)))
("perl-test-fatal" ,perl-test-fatal)))
(propagated-inputs
`(("perl-capture-tiny" ,perl-capture-tiny)
("perl-module-find" ,perl-module-find)

View File

@ -37,6 +37,7 @@
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3195,3 +3196,92 @@ NumPy, and other traditional Python scientific computing packages.")
It implements the Python DB API 2.0 specification and includes support for
SQLAlchemy.")
(license license:asl2.0)))
(define-public libdbi
(package
(name "libdbi")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libdbi/libdbi/libdbi-"
version "/libdbi-" version ".tar.gz"))
(sha256
(base32
"00s5ra7hdlq25iv23nwf4h1v3kmbiyzx0v9bhggjiii4lpf6ryys"))))
(build-system gnu-build-system)
(synopsis "Database independent abstraction layer in C")
(description
"This library implements a database independent abstraction layer in C,
similar to the DBI/DBD layer in Perl. Writing one generic set of code,
programmers can leverage the power of multiple databases and multiple
simultaneous database connections by using this framework.")
(home-page "http://libdbi.sourceforge.net/")
(license license:lgpl2.1+)))
(define-public libdbi-drivers
(package
(name "libdbi-drivers")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libdbi-drivers/"
"libdbi-drivers/libdbi-drivers-" version
"/libdbi-drivers-" version ".tar.gz"))
(sha256
(base32
"0m680h8cc4428xin4p733azysamzgzcmv4psjvraykrsaz6ymlj3"))))
(build-system gnu-build-system)
(native-inputs
`(("inetutils" ,inetutils)
("glibc-locales" ,glibc-locales)))
(inputs
`(("libdbi" ,libdbi)
("mysql" ,mariadb)
("postgresql" ,postgresql)
("sqlite" ,sqlite)))
(arguments
`(#:configure-flags
(let ((libdbi (assoc-ref %build-inputs "libdbi"))
(mysql (assoc-ref %build-inputs "mysql"))
(postgresql (assoc-ref %build-inputs "postgresql"))
(sqlite (assoc-ref %build-inputs "sqlite")))
(list "--disable-docs"
(string-append "--with-dbi-incdir=" libdbi "/include")
(string-append "--with-dbi-libdir=" libdbi "/lib")
"--with-mysql"
(string-append "--with-mysql-incdir=" mysql "/include/mysql")
(string-append "--with-mysql-libdir=" mysql "/lib")
"--with-pgsql"
(string-append "--with-pgsql-incdir=" postgresql "/include")
(string-append "--with-pgsql-libdir=" postgresql "/lib")
"--with-sqlite3"
(string-append "--with-sqlite-incdir=" sqlite "/include")
(string-append "--with-sqlite-libdir=" sqlite "/lib")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tests/test_mysql.sh"
(("^MYMYSQLD=.*")
(string-append "MYMYSQLD="
(assoc-ref inputs "mysql")
"/bin/mysqld")))
#t))
(add-after 'install 'remove-empty-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((var (string-append (assoc-ref outputs "out") "/var")))
(delete-file-recursively var))
#t)))))
(synopsis "Database drivers for the libdbi framework")
(description
"The @code{libdbi-drivers} library provides the database specific drivers
for the @code{libdbi} framework.
The drivers officially supported by @code{libdbi} are:
@itemize
@item MySQL,
@item PostgreSQL,
@item SQLite.
@end itemize")
(home-page "http://libdbi-drivers.sourceforge.net/")
(license license:lgpl2.1+)))

View File

@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,7 +21,6 @@
(define-module (gnu packages datastructures)
#:use-module (gnu packages)
#:use-module (gnu packages documentation)
#:use-module (gnu packages perl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -80,12 +80,14 @@ library.")
(name "sparsehash")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/sparsehash/sparsehash/"
"archive/sparsehash-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/sparsehash/sparsehash.git")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"133szz0ldwch0kd91l0sa57qsnl020njn622szd9cxrjqyjqds85"))))
"0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na"))))
(build-system gnu-build-system)
(synopsis "Memory-efficient hashtable implementations")
(description
@ -211,10 +213,31 @@ to the structure and choosing one or more fields to act as the key.")
".tar.gz.offline.install.gz"))
(sha256
(base32
"1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))))
"1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "external") #t))
(patches
(list (origin
(method url-fetch)
(uri "https://salsa.debian.org/science-team/libsdsl/raw/debian/2.1.1+dfsg-2/debian/patches/0001-Patch-cmake-files.patch")
(file-name "sdsl-lite-dont-use-bundled-libraries.patch")
(sha256
(base32
"0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z")))))))
(build-system cmake-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-static-library
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(copy-file "lib/libsdsl_static.a"
(string-append out "/lib/libsdsl.a")))
#t)))))
(native-inputs
`(("doxygen" ,doxygen)))
`(("libdivsufsort" ,libdivsufsort)))
(home-page "https://github.com/simongog/sdsl-lite")
(synopsis "Succinct data structure library")
(description "The Succinct Data Structure Library (SDSL) is a powerful and
@ -226,3 +249,32 @@ operations of the original object efficiently. The theoretical time
complexity of an operation performed on the classical data structure and the
equivalent succinct data structure are (most of the time) identical.")
(license license:gpl3+)))
(define-public libdivsufsort
(package
(name "libdivsufsort")
(version "2.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/y-256/libdivsufsort.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; there are no tests
#:configure-flags
;; Needed for rapmap and sailfish.
'("-DBUILD_DIVSUFSORT64=ON")))
(home-page "https://github.com/y-256/libdivsufsort")
(synopsis "Lightweight suffix-sorting library")
(description "libdivsufsort is a software library that implements a
lightweight suffix array construction algorithm. This library provides a
simple and an efficient C API to construct a suffix array and a
Burrows-Wheeler transformed string from a given string over a constant-size
alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1)
bytes of memory space, where n is the length of the string.")
(license license:expat)))

View File

@ -67,7 +67,7 @@
#:use-module (ice-9 match))
(define-public diffoscope
(let ((version "129"))
(let ((version "131"))
(package
(name "diffoscope")
(version version)
@ -79,7 +79,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1r8hq93gga9n4jv4fyf1divc9cwvvjadkzl47lazzrfy3nn1qjwr"))))
"0jai3kycjlrc64f4vg8yklri6ds1451qy6r6sw2646bhjr0gs233"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -102,7 +102,7 @@
(assoc-ref %build-inputs "shadow")
"/etc/login.defs")
(string-append "-DQT_IMPORTS_DIR="
(assoc-ref %outputs "out") "/qml")
(assoc-ref %outputs "out") "/lib/qt5/qml")
(string-append "-DCMAKE_INSTALL_SYSCONFDIR="
(assoc-ref %outputs "out") "/etc"))
#:modules ((guix build cmake-build-system)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
@ -348,14 +348,14 @@ account authentication.")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jazzband/django-debug-toolbar/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jazzband/django-debug-toolbar.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1rww056hyzks8spbgf4h7kf6ybxlc5p08a2b6gn1nqrrzs4yx9sy"))))
"0zr6yjsms97wlvvd17rdbrx01irkg887dn9x70c1hzfjmfvp9afk"))))
(build-system python-build-system)
(propagated-inputs
`(("python-sqlparse" ,python-sqlparse)
@ -456,14 +456,14 @@ merging, minifying and compiling CSS and Javascript files.")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/niwinz/django-jinja/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/niwinz/django-jinja.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0bzrb4m6wx9ph5cpvz7wpvg5k6ksvj0dnxlg0nhhqskhvp46brs1"))))
"1fcrxlznlq1xvl26y3j1r22vvy6m08r5l97xi2wj50rdmxhfvhis"))))
(build-system python-build-system)
(propagated-inputs
`(("python-django" ,python-django)
@ -695,6 +695,9 @@ project.")
(or
(not tests?)
(begin
(setenv "PYTHONPATH"
(string-append (getcwd) ":"
(getenv "PYTHONPATH")))
(setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
(invoke "django-admin" "test" "tests"))))))))
(propagated-inputs

View File

@ -167,7 +167,7 @@ of categories with some of the activities available in that category.
("gettext" ,gettext-minimal)
("perl" ,perl)
("qttools" ,qttools)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("openssl" ,openssl)
("python-2" ,python-2)

View File

@ -4814,13 +4814,14 @@ variants.")
(name "emacs-solarized-theme")
(version "1.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bbatsov/solarized-emacs/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bbatsov/solarized-emacs/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ha3slc6d9wi9ilkhmwrzkvf308n6ph7b0k69pk369s9304awxzx"))))
"0zcj9jf8nlsj9vms888z2vs76q54n8g8r9sh381xad3x8d6lrlb3"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@ -5936,13 +5937,14 @@ possible to query other endpoints like DBPedia.")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/technomancy/better-defaults"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/technomancy/better-defaults")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"08fg4zslzlxbvyil5g4gwvwd22fh4zsgqprs5wh9hv1rgc6757m2"))))
"1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr"))))
(build-system emacs-build-system)
(home-page "https://github.com/technomancy/better-defaults")
(synopsis "Better defaults for Emacs")
@ -7945,14 +7947,14 @@ passive voice.")
(version "0.5.2")
(home-page "https://github.com/jaypei/emacs-neotree")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaypei/" name
"/archive/" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(sha256
(base32
"1zd6dchwyijnf7kgchfcp51gs938l204dk9z6mljrfqf2zy0gp12"))
(file-name (string-append name "-" version ".tar.gz"))))
"0hx72fq10772bbyqrj7mhhp02k26cccjxdadiqm1ykainhfmn1x0"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(synopsis "Folder tree view for Emacs")
(description "This Emacs package provides a folder tree view.")
@ -8033,13 +8035,14 @@ files that you would find in @file{contrib/} from the git repository.")))
(version "0.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lewang/"
"flx/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/lewang/flx.git")
(commit (string-append "v" version))))
(sha256
(base32
"0bkcpnf1j4i2fcc2rllwbz62l00sw2mcia6rm5amgwvlkqavmkv6"))
(file-name (string-append name "-" version ".tar.gz"))))
"0sjybrcnb2sl33swy3q664vqrparajcl0m455gciiih2j87hwadc"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/lewang/flx")
(synopsis "Fuzzy matching for Emacs")
@ -8057,13 +8060,14 @@ Flx has support for ido (interactively do things) through flx-ido.")
(version "1.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/n3mo/cyberpunk-theme.el/"
"archive/" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/n3mo/cyberpunk-theme.el/")
(commit version)))
(sha256
(base32
"05l5fxw1mn5py6mfhxrzyqjq0d8m5m1akfi46vrgh13r414jffvv"))
(file-name (string-append name "-" version ".tar.gz"))))
"1npwrw3pgdmvqhihcqcfi2yrs178iiip5fcj8zhpp6cr9yqsvvgi"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/n3mo/cyberpunk-theme.el")
(synopsis "Cyberpunk theme for emacs built-in color theme support")
@ -8131,13 +8135,14 @@ by zenburn, sinburn and similar themes, but slowly diverging from them.")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/auto-complete/"
"auto-complete/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/auto-complete/auto-complete.git")
(commit (string-append "v" version))))
(sha256
(base32
"1jvq4lj00hwml75lpmlciazy8f3bbg13gffsfnl835p4qd8l7yqv"))
(file-name (string-append name "-" version ".tar.gz"))))
"04i9b11iksg6acn885wl3qgi5xpsm3yszlqmd2x21yhprndlz7gb"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-popup" ,emacs-popup)))
@ -8467,13 +8472,14 @@ been adapted to work with mu4e.")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/akatov/pretty-mode/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/akatov/pretty-mode/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1fan7m4vnqs8kpg7r54kx3g7faadkpkf9kzarfv8n57kq8w157pl"))))
"013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"))))
(build-system emacs-build-system)
(home-page "https://github.com/akatov/pretty-mode")
(synopsis "Redisplay parts of the buffer as Unicode symbols")
@ -11223,14 +11229,14 @@ supports multiple backends such as @code{vlc}, @code{mpg123},
(name "emacs-groovy-modes")
(version "2.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15j0hnkx9nppjzda5cqsxxz5f3bq9hc4xfyjcdypzqiypcvmpa39"))))
"0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-s" ,emacs-s)))
@ -12658,13 +12664,14 @@ region instead.")
(name "emacs-validate")
(version "1.0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Malabarba/validate.el"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Malabarba/validate.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"125mbd111f1h1baw0z3fzm48y1bvaigljyzvvnqgrn0shxbj0khg"))))
"1l12ibx6cw4mgicgjpw71fb4fr4sd0k54lvbpq7ngc29br3j6i4v"))))
(build-system emacs-build-system)
(home-page "https://github.com/Malabarba/validate.el")
(synopsis "Emacs library for scheme validation")
@ -13031,13 +13038,14 @@ confused by comments or @code{foo-bar} matching @code{foo}.")
(version "0.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/phillord/m-buffer-el"
"/archive/" "v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/phillord/m-buffer-el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17vdcc8q37q9db98jyww1c0ivinmwfcw4l04zccfacalra63a214"))))
"1sx76i59razwccvn6x7rx5a124bfyjw9fcbxf4gj7nsg33qiq809"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -13358,13 +13366,14 @@ grouping buffers by their projectile root directory.")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/istib/helm-mode-manager/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/istib/helm-mode-manager")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0wllj321z16hgrx0ddwzk5wz4mnnx5am7w5nclqclfc5dfdn92wm"))))
"1srx5f0s9x7zan7ayqd6scxfhcvr3nkd4yzs96hphd87rb18apzk"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
@ -14048,13 +14057,14 @@ split to display more windows and more buffers, the buffer exits
(name "emacs-rsw-elisp")
(version "1.0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rswgnu/rsw-elisp"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/rswgnu/rsw-elisp")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1jnn7xfwl3wxc87v44ccsf1wwp80par3xgcvfb1icd6zchjmlcps"))))
"0dfq8myg0r91900bk1s70amsmm4mjk2qsg12v5pk7lla5d2vnyaf"))))
(build-system emacs-build-system)
(home-page "https://github.com/rswgnu/rsw-elisp")
(synopsis "Improved expressions that interactively evaluate Emacs Lisp")
@ -14267,13 +14277,14 @@ compilation/grep buffers. Works with @code{wgrep}, @code{ack}, @code{ag},
(version "0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/alezost/shift-number.el"
"/archive/" "v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/alezost/shift-number.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1g79m0hqn9jgpm565vvh8pdfzndc4vw7xisnh5qysj55qfg8cb1x"))))
"0zlwmzsxkv4mkggylxfx2fkrwgz7dz3zbg2gkn2rxcpy2k2gla64"))))
(build-system emacs-build-system)
(home-page "https://github.com/alezost/shift-number.el")
(synopsis "Increase or decrease the number at point")
@ -14483,7 +14494,7 @@ Emacs minor mode to escape sequences in code.")
(define-public emacs-dashboard
(package
(name "emacs-dashboard")
(version "1.5.0")
(version "1.6.0")
(source
(origin
(method git-fetch)
@ -14492,7 +14503,7 @@ Emacs minor mode to escape sequences in code.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0ihpcagwgc9qy70lf2y3dvx2bm5h9lnqh4sx6643cr8pp06ysbvq"))))
(base32 "1g6g8vad1kdmv1zxp95a8sn70idl26isqjb3xk1r95pqnx1cn591"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-page-break-lines" ,emacs-page-break-lines)))

View File

@ -373,7 +373,7 @@ features.")))
("imagemagick" ,imagemagick)
("gerbv" ,gerbv)
("ghostscript" ,ghostscript)
("xvfb" ,xorg-server)))
("xvfb" ,xorg-server-for-tests)))
(home-page "http://pcb.geda-project.org/")
(synopsis "Design printed circuit board layouts")
(description
@ -1771,7 +1771,7 @@ parallel computing platforms. It also supports serial execution.")
("python" ,python-2) ; for tests
("matplotlib" ,python2-matplotlib) ; for tests
("numpy" ,python2-numpy) ; for tests
("xorg-server" ,xorg-server))) ; for tests
("xorg-server" ,xorg-server-for-tests))) ; for tests
(inputs
`(("adms" ,adms)
("asco" ,asco)
@ -2174,7 +2174,7 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
("imagemagick" ,imagemagick)
("ps" ,procps)
("python" ,python)
("xvfb" ,xorg-server)))
("xvfb" ,xorg-server-for-tests)))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -3840,29 +3840,22 @@ programmers may also add their own favorite language.")
(define-public bambam
(package
(name "bambam")
(version "0.6")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/porridge/bambam")
(commit version)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08hcd0gzia3pz7fzk4pqc5kbq1074j4q0jcmbpgvr7n623nj2xa5"))))
(base32 "18cwd1wpyyx8y61cags9bkdhx9x858xicc4y1c9c2s0xjmgzhl3i"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:tests? #f ; no tests
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'build)
(add-before 'install 'patch-data-dir-location
(lambda _
(substitute* "bambam.py"
(("'data'") "'../share/bambam/data'"))
#t))
(delete 'build) ; nothing to build
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -339,6 +339,7 @@ shared NFS home directories.")
(variable "GIO_EXTRA_MODULES")
(files '("lib/gio/modules")))))
(search-paths native-search-paths)
(properties '((hidden? . #t)))
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
(description
@ -348,6 +349,34 @@ dynamic loading, and an object system.")
(home-page "https://developer.gnome.org/glib/")
(license license:lgpl2.1+)))
(define-public glib-with-documentation
;; glib's doc must be built in a separate package since it requires gtk-doc,
;; which in turn depends on glib.
(package
(inherit glib)
(properties (alist-delete 'hidden? (package-properties glib)))
(outputs (cons "doc" (package-outputs glib))) ; 20 MiB of GTK-Doc reference
(native-inputs
`(("gtk-doc" ,gtk-doc) ; for the doc
("docbook-xml" ,docbook-xml)
("libxml2" ,libxml2)
,@(package-native-inputs glib)))
(arguments
(substitute-keyword-arguments (package-arguments glib)
((#:configure-flags flags ''())
`(cons "-Dgtk_doc=true" ,flags))
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(html (string-append "/share/gtk-doc")))
(copy-recursively (string-append out html)
(string-append doc html))
(delete-file-recursively (string-append out html))
#t)))))))))
(define gobject-introspection
(package
(name "gobject-introspection")

View File

@ -2025,7 +2025,7 @@ since ca. 2006, when GTK+ itself incorporated printing support.")
(native-inputs
`(("glib" ,glib "bin") ; for glib-genmarshal, etc.
("intltool" ,intltool)
("xorg-server" ,xorg-server) ; For running the tests
("xorg-server" ,xorg-server-for-tests) ; For running the tests
("pkg-config" ,pkg-config)))
(home-page "https://developer.gnome.org/libbonoboui/")
(synopsis "Some user interface controls using Bonobo")
@ -2338,28 +2338,28 @@ libraries written in C.")
(define-public vte
(package
(name "vte")
(version "0.56.3")
(version "0.58.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/vte/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"vte-" version ".tar.xz"))
(sha256
(base32
"0j166gic5znssdb9r45qazq4kb4v9fial82czand5wa8i2yd988p"))))
(build-system gnu-build-system)
"0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("vala" ,vala)
("gobject-introspection" ,gobject-introspection)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("gperf" ,gperf)
("xmllint" ,libxml2)))
(propagated-inputs
`(("gtk+" ,gtk+) ;required by vte-2.91.pc
("gnutls" ,gnutls) ;ditto
("pcre2" ,pcre2))) ;ditto
`(("gtk+" ,gtk+) ; required by vte-2.91.pc
("gnutls" ,gnutls) ; ditto
("pcre2" ,pcre2))) ; ditto
(home-page "https://www.gnome.org/")
(synopsis "Virtual Terminal Emulator")
(description
@ -4374,7 +4374,7 @@ USB transfers with your high-level application or system daemon.")
(define-public simple-scan
(package
(name "simple-scan")
(version "3.34.1")
(version "3.34.2")
(source
(origin
(method url-fetch)
@ -4382,7 +4382,7 @@ USB transfers with your high-level application or system daemon.")
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
(base32 "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq"))))
(base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
@ -4591,7 +4591,7 @@ principles are simplicity and standards compliance.")
("pkg-config" ,pkg-config)
("python-pep8" ,python-pep8)
("xmllint" ,libxml2)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
@ -7752,7 +7752,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).")
;; For tests.
("aspell-dict-en" ,aspell-dict-en)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(propagated-inputs
`(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
(home-page "https://wiki.gnome.org/Projects/gspell")
@ -8167,7 +8167,7 @@ hexadecimal or ASCII. It is useful for editing binary files in general.")
`(("glib" ,glib "bin") ; glib-compile-resources
("pkg-config" ,pkg-config)
;; For tests.
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("glib" ,glib)
("gobject-introspection" ,gobject-introspection)
@ -8257,7 +8257,7 @@ functionality.")
(define-public gthumb
(package
(name "gthumb")
(version "3.8.1")
(version "3.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gthumb/"
@ -8265,7 +8265,7 @@ functionality.")
"gthumb-" version ".tar.xz"))
(sha256
(base32
"184zn79w4s9y1zy42ar31p3jsg8rmkxy8k6iry51nz8aizbcs7jb"))))
"15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -8389,9 +8389,9 @@ advanced image management tool")
("gtk-doc" ,gtk-doc)
("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal)
("xorg-server" ,xorg-server)
;; Test suite dependencies.
("xorg-server" ,xorg-server-for-tests)
("hicolor-icon-theme" ,hicolor-icon-theme)))
(home-page "https://source.puri.sm/Librem5/libhandy")
(synopsis "Library full of GTK+ widgets for mobile phones")

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,6 +34,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gnome)
@ -70,6 +72,8 @@
("icu4c" ,icu4c)
("glib" ,glib)
("gtk" ,gtk+)
("libdbi" ,libdbi)
("libdbi-drivers" ,libdbi-drivers)
("libgnomecanvas" ,libgnomecanvas)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
@ -89,8 +93,7 @@
(arguments
`(#:test-target "check"
#:configure-flags
(list "-DWITH_OFX=OFF" ; libofx is not available yet
"-DWITH_SQL=OFF") ; without dbi.h
(list "-DWITH_OFX=OFF") ; libofx is not available yet
#:make-flags '("GUILE_AUTO_COMPILE=0")
#:modules ((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
@ -147,6 +150,10 @@
(for-each (lambda (prog)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/" prog)
`("GNC_DBD_DIR" =
(,(string-append
(assoc-ref inputs "libdbi-drivers")
"/lib/dbd")))
`("PERL5LIB" ":" prefix
,(map (lambda (o)
(string-append o "/lib/perl5/site_perl/"

View File

@ -55,7 +55,9 @@
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages backup)
@ -232,7 +234,7 @@ supports HTTP, HTTPS and GnuTLS.")
(define-public gnunet
(package
(name "gnunet")
(version "0.10.1")
(version "0.11.8")
(source
(origin
(method url-fetch)
@ -240,53 +242,67 @@ supports HTTP, HTTPS and GnuTLS.")
".tar.gz"))
(sha256
(base32
"04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n"))))
"1zkmcq75sfr3iyg8rgxp9dbl7fwsvc1a71rc0vgisghcbrx1n7yj"))))
(build-system gnu-build-system)
(inputs
`(("glpk" ,glpk)
`(("bluez" ,bluez)
("glpk" ,glpk)
("gnurl" ,gnurl)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("gnutls" ,gnutls/dane)
("gstreamer" ,gstreamer)
("jansson" ,jansson)
("libextractor" ,libextractor)
("libidn" ,libidn2)
("libgcrypt" ,libgcrypt)
("libidn" ,libidn)
("libmicrohttpd" ,libmicrohttpd) ; hostlist, pt, contrib, and more
("libltdl" ,libltdl)
("libunistring" ,libunistring) ; fs and more
("openssl" ,openssl) ; transport, certificate creation, contribs
("opus" ,opus) ; gnunet-conversation
("pulseaudio" ,pulseaudio) ; conversation
("sqlite" ,sqlite) ; sqlite bindings, *store
("zlib" ,zlib)
("perl" ,perl) ; doxygen and more
("jansson" ,jansson) ; identity, taler (external), gnunet-json, gns
("nss" ,nss) ; gns
("gmp" ,gmp) ; util
("bluez" ,bluez) ; gnunet-transport
("glib" ,glib)
("libogg" ,libogg) ; gnunet-conversation
("python-2" ,python-2))) ; tests, gnunet-qr
("libmicrohttpd" ,libmicrohttpd)
("libogg" ,libogg)
("libunistring" ,libunistring)
("miniupnpc" ,miniupnpc)
("opus" ,opus)
("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite)
("zbar" ,zbar)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("python" ,python)
("xxd" ,xxd)
("which" ,(@ (gnu packages base) which))))
(arguments
'(#:configure-flags
(list (string-append "--with-nssdir=" %output "/lib"))
#:parallel-tests? #f
;; test_gnunet_service_arm fails; reported upstream
#:tests? #f
'(#:parallel-tests? #f ; Parallel tests aren't supported.
#:phases
(modify-phases %standard-phases
;; swap check and install phases and set paths to installed binaries
(add-after 'configure 'remove-failing-tests
;; These tests fail in Guix's building envrionment.
(lambda _
(substitute* "src/transport/Makefile"
(("test_transport_api_udp_nat\\$\\(EXEEXT\\) \\\\\n") "")
(("test_transport_api_manipulation_cfg\\$\\(EXEEXT\\) \\\\\n") ""))
(substitute* "src/topology/Makefile"
(("^check_PROGRAMS.*") "\n")
(("test_gnunet_daemon_topology\\$\\(EXEEXT\\)\n") ""))
(substitute* "src/namestore/Makefile"
(("\\$\\(am__append_2\\)") ""))
(substitute* "src/gns/Makefile"
(("\\$\\(am__append_4\\)") ""))
(substitute* "contrib/Makefile"
(("^check_PROGRAMS.*") "\n"))
;; 'test' from coreutils doesn't behave as the test expects.
(substitute* '("src/gns/gnunet-gns-proxy-setup-ca.in"
"src/transport/gnunet-transport-certificate-creation.in")
(("gnutls-certtool") "certtool"))
#t))
;; Swap 'check and 'install phases and add installed binaries to $PATH.
(add-before 'check 'set-path-for-check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "GNUNET_PREFIX" (string-append out "/lib"))
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin")))
#t))
(delete 'check)
(add-after 'install 'check
(assoc-ref %standard-phases 'check))
(delete 'check))))
(assoc-ref %standard-phases 'check)))))
(synopsis "Secure, decentralized, peer-to-peer networking framework")
(description
"GNUnet is a framework for secure peer-to-peer networking. The
@ -333,14 +349,14 @@ services.")
(define-public gnunet-gtk
(package (inherit gnunet)
(name "gnunet-gtk")
(version (package-version gnunet))
(version "0.11.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
version ".tar.gz"))
(sha256
(base32
"1p38k1s6a2fmcfc9a7cf1zrdycm9h06kqdyand4s3k500nj6mb4g"))))
"061ifhqk6q9kx71z5404fm4d60yj2dihlwwmdqmhkn5nn4bvcwb5"))))
(arguments
`(#:configure-flags
(list "--with-libunique"
@ -348,14 +364,17 @@ services.")
(string-append "--with-gnunet="
(assoc-ref %build-inputs "gnunet")))))
(inputs
`(("gnunet" ,gnunet)
("libgcrypt" ,libgcrypt)
`(("glade3" ,glade3)
("gnunet" ,gnunet)
("gnutls" ,gnutls/dane)
("gtk+" ,gtk+)
("libextractor" ,libextractor)
("glade3" ,glade3)
("qrencode" ,qrencode)
("libunique" ,libunique)))
("libgcrypt" ,libgcrypt)
("libunique" ,libunique)
("qrencode" ,qrencode)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libglade" ,libglade)))
(synopsis "Graphical front-end tools for GNUnet")))
(synopsis "Graphical front-end tools for GNUnet")
(properties '((ftp-server . "ftp.gnu.org")
(ftp-directory . "/gnunet")))))

View File

@ -247,14 +247,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.2.17")
(version "2.2.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"056mgy09lvsi03531a437qj58la1j2x1y1scvfi53diris3658mg"))))
"02pcdmb9p4a8hil88gyd86mnc85jldss3cl02jvbkcjmrbi7rlrh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -1045,7 +1045,7 @@ files, to verify signatures, and to manage the private and public keys.")
("perl-xml-twig" ,perl-xml-twig)
("torsocks" ,torsocks)))
(native-inputs
`(("xorg-server" ,xorg-server)))
`(("xorg-server" ,xorg-server-for-tests)))
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -758,7 +758,7 @@ realistic reflections, shading, perspective and other effects.")
("graphviz" ,graphviz)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xvfb" ,xorg-server)))
("xvfb" ,xorg-server-for-tests)))
(home-page "https://rapicorn.testbit.org/")
(synopsis "Toolkit for rapid development of user interfaces")
(description
@ -1055,7 +1055,7 @@ requirements.")
(setenv "DISPLAY" ":1")
#t)))))
(native-inputs
`(("xorg-server" ,xorg-server)))
`(("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("glew" ,glew)
("libxrandr" ,libxrandr)

View File

@ -360,7 +360,7 @@ diagrams.")
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)
;; For testing.
("xorg-server" ,xorg-server)
("xorg-server" ,xorg-server-for-tests)
("shared-mime-info" ,shared-mime-info)))
(propagated-inputs
;; As per the pkg-config file.
@ -431,7 +431,7 @@ printing and other features typical of a source code editor.")
("pkg-config" ,pkg-config)
("vala" ,vala)
;; For testing.
("xorg-server" ,xorg-server)
("xorg-server" ,xorg-server-for-tests)
("shared-mime-info" ,shared-mime-info)))
(propagated-inputs
;; gtksourceview-3.0.pc refers to all these.
@ -1287,7 +1287,7 @@ write GNOME applications.")
(define-public perl-cairo
(package
(name "perl-cairo")
(version "1.106")
(version "1.107")
(source (origin
(method url-fetch)
(uri (string-append
@ -1295,7 +1295,7 @@ write GNOME applications.")
version ".tar.gz"))
(sha256
(base32
"1i25kks408c54k2zxskvg54l5k3qadzm8n72ffga9jy7ic0h6j76"))))
"0sg1gf1f2pjq7pji0zsv4rbi3bzpsx82z98k7yqxafzrvlkf27ay"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)

View File

@ -22,6 +22,7 @@
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
;;; Copyright © 2019 Amar Singh <nly@disroot.org>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2254,22 +2255,32 @@ list of components. This module takes care of that for you.")
(define-public guile-gi
(package
(name "guile-gi")
(version "0.2.0")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (string-append "http://lonelycactus.com/tarball/guile_gi-"
version ".tar.gz"))
(sha256
(base32
"1n4pbrmbrjkrx826a4m31ag5c35rgkj1sirqh4qalk7gg67cfb41"))))
"1ah5bmkzplsmkrk7v9vlxlqch7i91qv4cq2d2nar9xshbpcrj484"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-gnu-filesystem-hierarchy")))
`(#:configure-flags '("--with-gnu-filesystem-hierarchy")
#:phases
(modify-phases %standard-phases
(add-before 'check 'start-xorg-server
(lambda* (#:key inputs #:allow-other-keys)
;; The init_check test requires a running X server.
(system (format #f "~a/bin/Xvfb :1 &"
(assoc-ref inputs "xorg-server")))
(setenv "DISPLAY" ":1")
#t)))))
(native-inputs
`(("gettext" ,gnu-gettext)
("glib:bin" ,glib "bin") ; for glib-compile-resources
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server)))
(propagated-inputs
`(("glib" ,glib)
("gobject-introspection" ,gobject-introspection)
@ -2660,3 +2671,55 @@ anything other than straight complex DFTs.")
;; TODO: This might actually be LGPLv3+
;; See https://github.com/lloda/guile-ffi-fftw/issues/1
(license license:gpl3+))))
(define-public srfi-64-driver
(package
(name "srfi-64-driver")
(version "0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://files.ngyro.com/srfi-64-driver/"
"srfi-64-driver-" version ".tar.gz"))
(sha256
(base32
"188b6mb7sjjg0a8zldikinglf40ky8mg8rwh5768gjmch6gkk3ph"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'build))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "https://ngyro.com/software/srfi-64-driver.html")
(synopsis "Automake test driver for SRFI 64 test suites")
(description "This package provides an Automake test driver that can
run SRFI 64 test suites. It gives Automake insight into the individual
tests being run, resulting clearer and more specific output.")
(license license:gpl3+)))
(define-public guile-semver
(package
(name "guile-semver")
(version "0.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://files.ngyro.com/guile-semver/"
"guile-semver-" version ".tar.gz"))
(sha256
(base32
"06b66rj7nyhr6i3dpkwvfw1xb10w2pngrsw2hxfxkznwsbh9byfz"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("srfi-64-driver" ,srfi-64-driver)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "https://ngyro.com/software/guile-semver.html")
(synopsis "Semantic Versioning (SemVer) for Guile")
(description "This Guile library provides tools for reading,
comparing, and writing Semantic Versions. It also includes ranges in
the style of the Node Package Manager (NPM).")
(license license:gpl3+)))

View File

@ -276,14 +276,14 @@ without requiring the source code to be rewritten.")
(package
(inherit guile-2.2)
(name "guile-next")
(version "2.9.4")
(version "2.9.5")
(source (origin
(inherit (package-source guile-2.2))
(uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
"1milviqhipyfx400pqhngxpxyajalzwmp597dxn5514pkk0g7v0p"))))
"1db91mhvphzmiyw6f41ks9haysphygngv400ivgqf23lg22wn5zr"))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")
@ -541,7 +541,15 @@ Guile's foreign function interface.")
(sha256
(base32
"1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp"))
(file-name (string-append name "-" version "-checkout"))))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure.ac"
(("^GUILE_PKG.*")
"GUILE_PKG([3.0 2.2 2.0])\n"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -558,6 +566,9 @@ Guile's foreign function interface.")
(define-public guile2.0-sqlite3
(package-for-guile-2.0 guile-sqlite3))
(define-public guile3.0-sqlite3
(package-for-guile-3.0 guile-sqlite3))
(define-public guile-bytestructures
(package
(name "guile-bytestructures")
@ -604,7 +615,21 @@ type system, elevating types to first-class status.")
(sha256
(base32
"018hmfsh0rjwfvr4h7y10jc6k8a2k9xsirngghy3pjasin4nd2yz"))
(file-name (git-file-name name version))))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure.ac"
(("^GUILE_PKG.*")
"GUILE_PKG([3.0 2.2 2.0])\n"))
;; The 'guile.m4' that's shipped is too old and fails to
;; recognize Guile 2.9/3.0. Delete it and pick the one
;; provided by the Guile we're using.
(delete-file "m4/guile.m4")
#t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -622,8 +647,19 @@ type system, elevating types to first-class status.")
manipulate repositories of the Git version control system.")
(license license:gpl3+)))
(define-public guile3.0-git
(package-for-guile-3.0 guile-git))
(define-public guile2.0-git
(package-for-guile-2.0 guile-git))
(let ((base (package-for-guile-2.0 guile-git)))
(package
(inherit base)
;; Libgit2's Guile test driver requires (ice-9 textual-ports), which is
;; not in Guile 2.0. Thus, keep LIBGIT2 as-is here (i.e., built against
;; Guile 2.2).
(inputs `(("libgit2" ,libgit2)
,@(srfi-1:alist-delete "libgit2"
(package-inputs base)))))))
;;; guile.scm ends here

View File

@ -373,7 +373,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server) ; For running the tests
("xorg-server" ,xorg-server-for-tests) ; For running the tests
("opencv-extra"
,(origin
(method git-fetch)

View File

@ -11,6 +11,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -72,7 +73,9 @@
name "-" version ".tar.bz2"))
(sha256
(base32
"070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg"))))
"070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg"))
(patches
(search-patches "feh-fix-tests-for-imlib2-1.6.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -8,7 +8,7 @@
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -63,6 +63,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages mp3)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
@ -853,7 +854,7 @@ compose, and analyze GIF images.")
(define-public imlib2
(package
(name "imlib2")
(version "1.5.1")
(version "1.6.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -861,19 +862,21 @@ compose, and analyze GIF images.")
"/imlib2-" version ".tar.bz2"))
(sha256
(base32
"1bms2iwmvnvpz5jqq3r52glarqkafif47zbh1ykz8hw85d2mfkps"))))
"07b9v3ycwhici35fnczvpyjpgkc7gbcdhajpl9dwhpzdzbfl1i6g"))))
(build-system gnu-build-system)
(native-inputs
`(("pkgconfig" ,pkg-config)))
(inputs
`(("libx11" ,libx11)
("libxext" ,libxext)
`(("bzip2" ,bzip2)
("freetype" ,freetype)
("giflib" ,giflib)
("libid3tag" ,libid3tag)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
("giflib" ,giflib)
("bzip2" ,bzip2)))
("libx11" ,libx11)
("libxext" ,libxext)
("libwebp" ,libwebp)))
(home-page "https://sourceforge.net/projects/enlightenment/")
(synopsis
"Loading, saving, rendering and manipulating image files")

View File

@ -513,7 +513,7 @@ Internet).")
("extra-cmake-modules" ,extra-cmake-modules)
("inetutils" ,inetutils)
("qttools" ,qttools)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("qtbase" ,qtbase)))
(arguments
@ -578,7 +578,7 @@ propagate their changes to their respective configuration files.")
("qttools" ,qttools)
("shared-mime-info" ,shared-mime-info)
;; TODO: FAM: File alteration notification http://oss.sgi.com/projects/fam
("xorg-server" ,xorg-server))) ; for the tests
("xorg-server" ,xorg-server-for-tests))) ; for the tests
(inputs
`(("qtbase" ,qtbase)))
(arguments
@ -1108,7 +1108,7 @@ represented by a QPoint or a QSize.")
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("qttools" ,qttools)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("qtbase" ,qtbase)))
(arguments
@ -1158,7 +1158,7 @@ configuration pages, message boxes, and password requests.")
("dbus" ,dbus) ; for the tests
("openbox" ,openbox) ; for the tests
("qttools" ,qttools)
("xorg-server" ,xorg-server))) ; for the tests
("xorg-server" ,xorg-server-for-tests))) ; for the tests
(inputs
`(("libxrender" ,libxrender)
("qtbase" ,qtbase)
@ -2345,7 +2345,7 @@ their settings.")
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("kauth" ,kauth)
("kbookmarks" ,kbookmarks)

View File

@ -96,7 +96,7 @@ manager which re-parents a Client window to a window decoration frame.")
;; For tests.
("dbus" ,dbus)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("kcmutils" ,kcmutils)
("kcrash" ,kcrash)

View File

@ -558,9 +558,6 @@ different notification systems.")
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "QT_PLUGIN_PATH"
(string-append out "/lib/qt5/plugins"
":" (getenv "QT_PLUGIN_PATH")))
(wrap-qt-program out "../lib/libexec/kdeconnectd")
(wrap-qt-program out "kdeconnect-cli")
(wrap-qt-program out "kdeconnect-handler")

View File

@ -305,25 +305,37 @@ wrapper for accessing libusb-1.0.")
(define-public libplist
(package
(name "libplist")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libimobiledevice.org/downloads/"
"libplist-" version ".tar.bz2"))
(sha256
(base32
"00pnh9zf3iwdji2faccns7vagbmbrwbj9a8zp9s53a6rqaa9czis"))))
(version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libimobiledevice/libplist.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02vraf4j46bp746s0gz7vga2gv2dy3zd1v1bsy9x8algg9fpcb7n"))))
(build-system gnu-build-system)
(arguments
;; Tests fail randomly when run in parallel because several of them write
;; and read to/from the same file--e.g., "4.plist" is accessed by
;; 'large.test' and 'largecmp.test'.
'(#:parallel-tests? #f))
`(#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'configure-later
;; Don't run ./configure during bootstrap.
(lambda _
(setenv "NOCONFIGURE" "set")
#t)))
;; Tests fail randomly when run in parallel because several of them write
;; and read to/from the same file--e.g., "4.plist" is accessed by
;; 'large.test' and 'largecmp.test'.
#:parallel-tests? #f))
(inputs
`(("python" ,python)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-cython" ,python-cython)))
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("python-cython" ,python-cython))) ; to build Python bindings
(home-page "https://www.libimobiledevice.org/")
(synopsis "C library to handle Apple Property List files")
(description "This package provides a small portable C library to handle

View File

@ -352,42 +352,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz"))
(sha256 hash)))
(define-public linux-libre-5.3-version "5.3.12")
(define-public linux-libre-5.3-version "5.3.13")
(define-public linux-libre-5.3-pristine-source
(let ((version linux-libre-5.3-version)
(hash (base32 "184pmjyqh4bkrc3vj65zn6xnljzv9d1x7c1z0hlgj6fakpwgdgsk")))
(hash (base32 "0by9lmgmllf19yflzm9f24cy9glcq6m73ywm25bddsnh0czya14z")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.3)))
(define-public linux-libre-4.19-version "4.19.85")
(define-public linux-libre-4.19-version "4.19.86")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1dsgbys73jga5h0a9icgif6qbi31g84315zlcdid9bzf1abkbx3v")))
(hash (base32 "1xmzcxsiydym574y7k313qd8s4c3mdahpb3nx3cingfl36ivnb5z")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.155")
(define-public linux-libre-4.14-version "4.14.156")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "10g4493ldc398qza304z5yz8qdp93w7a2bs5h5dwk0bbamwikmkp")))
(hash (base32 "1h47fxfbq0d5ry7j3jxz45v5c4103qncgm2vydpz6zdx1kmrz27q")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.202")
(define-public linux-libre-4.9-version "4.9.203")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "1gsfbvsswpwj6r56ynb6mmx7dc8hp9yhi7sfr0hhii0gs4ffq241")))
(hash (base32 "0jd8n8y3yf59sgfjhgjxsznxng7s4b30x5vdb48wrpgqmz7m1n8w")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.202")
(define-public linux-libre-4.4-version "4.4.203")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "0adrmps7izfqy0yn4440isxvigslwzk1a375r9kh86idwbmcxb7x")))
(hash (base32 "02krniihix9mb9bc0ffs03q4i9grjhwymnfp10h1r6gmxa554qlj")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -4794,7 +4794,8 @@ of flash storage.")
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
"0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))))
"0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))
(patches (search-patches "libseccomp-open-aarch64.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))

View File

@ -854,14 +854,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
(version "0.29.2")
(version "0.29.3")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz"))
(sha256
(base32
"1pjmrnbn0iavm5pnw7wgfw5d6hg5i6miqfa6s7s4027vn94n3nhv"))))
"0dfwa38vgnxk9cvvpza66szjgp8lir6iz6yy0cry9593lywh9xym"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)

View File

@ -162,7 +162,7 @@ the traditional flat-text whatis databases.")
(define-public man-pages
(package
(name "man-pages")
(version "5.03")
(version "5.04")
(source
(origin
(method url-fetch)
@ -172,7 +172,7 @@ the traditional flat-text whatis databases.")
(string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
"man-pages-" version ".tar.xz")))
(sha256
(base32 "082i9258rl9xxjgpxpz3v8jcwk96dsk704ki9h9lq7q8z7m3mqbz"))))
(base32 "1bx4ws24bjq6iyfyilg7aih5f0qrhy9l97ksrwcd4yxvjh8gn13x"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -62,7 +62,6 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
@ -2342,45 +2341,6 @@ sparse system of linear equations A x = b using Gaussian elimination.")
(inputs
(alist-delete "pt-scotch" (package-inputs mumps-openmpi)))))
(define-public r-quadprog
(package
(name "r-quadprog")
(version "1.5-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "quadprog" version))
(sha256
(base32
"0vg7i9p241bwvfdspjbydjrsvgipl6nsb8bjigp0hbbgvxbixx0s"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/quadprog")
(synopsis "Functions to solve quadratic programming problems")
(description
"This package contains routines and documentation for solving quadratic
programming problems.")
(license license:gpl3+)))
(define-public r-pracma
(package
(name "r-pracma")
(version "2.2.5")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
(base32 "0isd3s0i4mzmva8lkh0j76hwjy1w50q7d1n9lhxsnnkgalx3xs1g"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/pracma/")
(synopsis "Practical numerical math functions")
(description "This package provides functions for numerical analysis and
linear algebra, numerical optimization, differential equations, plus some
special functions. It uses Matlab function names where appropriate to simplify
porting.")
(license license:gpl3+)))
(define-public ruby-asciimath
(package
(name "ruby-asciimath")
@ -2992,7 +2952,7 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
(version "19.09.0")
(version "19.11.1")
(source
(origin
(method git-fetch)
@ -3001,7 +2961,7 @@ point numbers.")
(commit (string-append "Version-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "195j6j8z0jd6xg3a63ywbrbsc6dany795m3fb95nbx1vq0bqqvvn"))))
(base32 "16xizaddb27432n1083y89ir5zdqvllsgbwrzzk4jc2rw1ldxfsv"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)))
@ -4368,57 +4328,6 @@ analysed.")
(arguments
'(#:configure-flags '("-DMCRL2_ENABLE_GUI_TOOLS=OFF")))))
(define-public r-subplex
(package
(name "r-subplex")
(version "1.5-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "subplex" version))
(sha256
(base32
"10cbgbx1bgsax5z7gz6716g360xpq4mvq19cf4qqrxv02mmwz57z"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/subplex")
(synopsis "Unconstrained optimization using the subplex algorithm")
(description "This package implements the Subplex optimization algorithm.
It solves unconstrained optimization problems using a simplex method on
subspaces. The method is well suited for optimizing objective functions that
are noisy or are discontinuous at the solution.")
(license license:gpl3+)))
(define-public r-desolve
(package
(name "r-desolve")
(version "1.24")
(source
(origin
(method url-fetch)
(uri (cran-uri "deSolve" version))
(sha256
(base32
"0hkvspq0fp8j64l9zayab2l2nazazhwfgfym0jllh0xv5a12r99s"))))
(properties `((upstream-name . "deSolve")))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "https://desolve.r-forge.r-project.org/")
(synopsis "Solvers for initial value problems of differential equations")
(description "This package provides functions that solve initial
value problems of a system of first-order ordinary differential equations (ODE),
of partial differential equations (PDE), of differential algebraic equations
(DAE), and of delay differential equations. The functions provide an interface
to the FORTRAN functions lsoda, lsodar, lsode, lsodes of the ODEPACK collection,
to the FORTRAN functions dvode and daspk and a C-implementation of solvers of
the Runge-Kutta family with fixed or variable time steps. The package contains
routines designed for solving ODEs resulting from 1-D, 2-D and 3-D partial
differential equations (PDE) that have been converted to ODEs by numerical
differencing.")
(license license:gpl2+)))
(define-public tcalc
(package
(name "tcalc")

View File

@ -140,14 +140,14 @@ Guile.")
(define-public mes
(package
(inherit mes-0.19)
(version "0.20")
(version "0.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(sha256
(base32
"04pajp8v31na34ls4730ig5f6miiplhdvkmsb9ls1b8bbmw2vb4n"))))
"104qxngxyl7pql8vqrnli3wfyx0ayfaqg8gjfhmk4qzrafs46slm"))))
(propagated-inputs
`(("mescc-tools" ,mescc-tools)
("nyacc" ,nyacc)))))

View File

@ -644,7 +644,7 @@ else [])"))
(native-inputs
`(("intltool" ,intltool)
("python-docutils" ,python-docutils)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme)
("gnome-keyring" ,gnome-keyring)
@ -1822,13 +1822,13 @@ QMatrixClient project.")
(define-public hangups
(package
(name "hangups")
(version "0.4.9")
(version "0.4.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hangups" version))
(sha256
(base32 "1jw4i58cd4j1ymsnhv9224xsi26w8y0qrj6z4nw50dnbl45b6aaa"))))
(base32 "0ww9z9kcb02pwnr8q1ll31wkzspc1fci1ly8ifrwzxysp4rxy3j5"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -6,6 +6,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016, 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@ -340,3 +342,27 @@ Daemon (MPD). It supports playlists, multiple profiles (connecting to different
MPD servers, search and multimedia key support.")
(home-page "https://www.nongnu.org/sonata/")
(license license:gpl3+)))
(define-public ashuffle
(package
(name "ashuffle")
(version "2.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/joshkunz/ashuffle.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"11aa95cg0yca2m2d00sar6wr14g3lc7cfm9bin1h7lk7asdm8azp"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libmpdclient" ,libmpdclient)))
(build-system meson-build-system)
(home-page "https://github.com/joshkunz/ashuffle")
(synopsis "Automatic library-wide shuffle for mpd")
(description "ashuffle is an application for automatically shuffling your
MPD library in a similar way to many other music players' 'shuffle library'
feature. ashuffle works like any other MPD client, and can be used alongside
other MPD frontends.")
(license license:expat)))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
@ -423,7 +423,10 @@ many input formats and provides a customisable Vi-style user interface.")
"Clarinet in Bb.denemo"))
#t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for gtester
`(("intltool" ,intltool)
("glib:bin" ,glib "bin") ; for gtester
("gtk-doc" ,gtk-doc)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
@ -433,13 +436,10 @@ many input formats and provides a customisable Vi-style user interface.")
("fluidsynth" ,fluidsynth)
("glib" ,glib)
("gtk+" ,gtk+)
("gtk-doc" ,gtk-doc)
("gtksourceview" ,gtksourceview-3)
("guile" ,guile-2.0)
("intltool" ,intltool)
("librsvg" ,librsvg)
("libsndfile" ,libsndfile)
("libtool" ,libtool)
("libxml2" ,libxml2)
("lilypond" ,lilypond)
("portaudio" ,portaudio)
@ -1128,6 +1128,40 @@ be used alone or in concert with Non Mixer and Non Sequencer to form a
complete studio.")
(license license:gpl2+)))
(define-public bsequencer
(package
(name "bsequencer")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sjaehn/BSEQuencer.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q"))))
(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))))
(inputs
`(("cairo" ,cairo)
("lv2" ,lv2)
("libx11" ,libx11)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/sjaehn/BSEQuencer")
(synopsis "Multi-channel MIDI step sequencer LV2 plugin")
(description
"This package provides a multi-channel MIDI step sequencer LV2 plugin
with a selectable pattern matrix size.")
(license license:gpl3+)))
(define-public solfege
(package
(name "solfege")
@ -3804,7 +3838,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
(version "3.3.2")
(version "3.3.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3813,7 +3847,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
"0r2xhhwv09v8ykgvh38fgpmpcmkra7lvhv7714xp7vb0wpcnh8l3"))
"11pcw2ihi7ddd4rr83y72i61yyc1qfj6v14a82zwlak2qnllpbmr"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@ -5013,3 +5047,62 @@ Soul Force), MVerb, Nekobi, and ProM.")
MacArthur's AVLdrums. This plugin provides a convenient way to sequence and mix
MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
(license license:gpl2+)))
(define-public helm
(package
(name "helm")
(version "0.9.0")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/mtytel/helm.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17ys2vvhncx9i3ydg3xwgz1d3gqv4yr5mqi7vr0i0ca6nad6x3d4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:make-flags
(list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
"lv2" "standalone")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'include-pnglib-code-and-remove-usr-from-paths
(lambda _
(substitute* "standalone/builds/linux/Makefile"
(("JUCE_INCLUDE_PNGLIB_CODE=0")
"JUCE_INCLUDE_PNGLIB_CODE=1"))
(substitute* "builds/linux/LV2/Makefile"
(("JUCE_INCLUDE_PNGLIB_CODE=0")
"JUCE_INCLUDE_PNGLIB_CODE=1"))
(substitute* "Makefile"
(("/usr") ""))
#t))
(add-before 'reset-gzip-timestamps 'make-gz-files-writable
(lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable
(find-files (string-append (assoc-ref outputs "out"))
".*\\.gz$"))
#t))
(delete 'configure))))
(inputs
`(("alsa-lib" ,alsa-lib)
("curl" ,curl)
("freetype2" ,freetype)
("hicolor-icon-theme" ,hicolor-icon-theme)
("libxcursor" ,libxcursor)
("libxinerama", libxinerama)
("jack", jack-1)
("mesa" ,mesa)))
(native-inputs
`(("pkg-config" ,pkg-config)
("lv2", lv2)))
(home-page "https://tytel.org/helm/")
(synopsis "Polyphonic synth with lots of modulation")
(description "Helm is a cross-platform polyphonic synthesizer available standalone
and as an LV2 plugin.")
(license license:gpl3+)))

View File

@ -553,7 +553,7 @@ and up to 1 Mbit/s downstream.")
(define-public whois
(package
(name "whois")
(version "5.5.2")
(version "5.5.3")
(source
(origin
(method url-fetch)
@ -561,7 +561,7 @@ and up to 1 Mbit/s downstream.")
"whois_" version ".tar.xz"))
(sha256
(base32
"1h55zs3cj4w9b0hq0x3z7s2mn46v0jyc39gz320ra4hwr0xlsnf0"))))
"0imb87iz17a530fg1x9wnsm4bvr61hxydv29chfwzh015af3zhsm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite

View File

@ -5199,7 +5199,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
(define-public ocaml-odoc
(package
(name "ocaml-odoc")
(version "1.4.1")
(version "1.4.2")
(source
(origin
(method git-fetch)
@ -5208,8 +5208,7 @@ then run the Bisect_ppx report tool on the generated visitation files.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1i2j0krbzvb1n3dcic9h1pyyqxmf051ky82nrcyzx1nwqjb8zfh6"))))
(base32 "0rvhx139jx6wmlfz355mja6mk03x4swq1xxvk5ky6jzhalq3cf5i"))))
(build-system dune-build-system)
(inputs
`(("ocaml-alcotest" ,ocaml-alcotest)

View File

@ -53,14 +53,14 @@
(define-public parallel
(package
(name "parallel")
(version "20191022")
(version "20191122")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4"))))
(base32 "01wmk3sf34d2lmhl37j4ga7aims2hcnzv1bydg1xs4pablar6ahq"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -353,19 +353,19 @@ them out, at the source.")
(define-public libpwquality
(package
(name "libpwquality")
(version "1.4.0")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (list
(string-append "https://github.com/" name "/" name
"/releases/download/" name "-" version
"/" name "-" version ".tar.bz2")
(string-append "https://github.com/libpwquality/libpwquality"
"/releases/download/libpwquality-" version
"/libpwquality-" version ".tar.bz2")
(string-append "https://launchpad.net/libpwquality/trunk/"
version "/+download/"
name "-" version ".tar.bz2")))
"libpwquality-" version ".tar.bz2")))
(sha256
(base32
"0syyz8r54l8mqmbb0mw19qz4z2cx8gdgidicb8k2s5zjdh2gzrhx"))))
"13hw532fmzc5xjpy75d74rlfdlxf2a8ibb4hyy9c0s92wsgf0qsj"))))
(build-system gnu-build-system)
(arguments
;; XXX: have RUNPATH issue.

View File

@ -0,0 +1,51 @@
commit 8048fb542d0c36f868760ba1590fbe14a3a85df7
Author: Pierre Langlois <pierre.langlois@gmx.com>
Date: Wed Nov 27 10:42:05 2019 +0000
Adapt tests for imlib2 1.6
Reported upstream on https://github.com/derf/feh/issues/497
diff --git a/test/list/custom b/test/list/custom
index dbe2074..40ac557 100644
--- a/test/list/custom
+++ b/test/list/custom
@@ -1,4 +1,4 @@
test/ok/gif; 16; 4; list; gif; 256; 953; gif; 1; 16
-test/ok/jpg; 16; 4; list; jpg; 256; 354; jpeg; 2; 16
+test/ok/jpg; 16; 4; list; jpg; 256; 354; jpg; 2; 16
test/ok/png; 16; 4; list; png; 256; 403; png; 3; 16
test/ok/pnm; 16; 4; list; pnm; 256; 269; pnm; 4; 16
diff --git a/test/list/default b/test/list/default
index bc0ef52..e480db3 100644
--- a/test/list/default
+++ b/test/list/default
@@ -1,5 +1,5 @@
NUM FORMAT WIDTH HEIGHT PIXELS SIZE ALPHA FILENAME
1 gif 16 16 256 953 - test/ok/gif
-2 jpeg 16 16 256 354 - test/ok/jpg
+2 jpg 16 16 256 354 - test/ok/jpg
3 png 16 16 256 403 X test/ok/png
4 pnm 16 16 256 269 - test/ok/pnm
diff --git a/test/list/format_reverse b/test/list/format_reverse
index 9216184..3301f78 100644
--- a/test/list/format_reverse
+++ b/test/list/format_reverse
@@ -1,5 +1,5 @@
NUM FORMAT WIDTH HEIGHT PIXELS SIZE ALPHA FILENAME
1 pnm 16 16 256 269 - test/ok/pnm
2 png 16 16 256 403 X test/ok/png
-3 jpeg 16 16 256 354 - test/ok/jpg
+3 jpg 16 16 256 354 - test/ok/jpg
4 gif 16 16 256 953 - test/ok/gif
diff --git a/test/list/size b/test/list/size
index cad60b0..7716239 100644
--- a/test/list/size
+++ b/test/list/size
@@ -1,5 +1,5 @@
NUM FORMAT WIDTH HEIGHT PIXELS SIZE ALPHA FILENAME
1 pnm 16 16 256 269 - test/ok/pnm
-2 jpeg 16 16 256 354 - test/ok/jpg
+2 jpg 16 16 256 354 - test/ok/jpg
3 png 16 16 256 403 X test/ok/png
4 gif 16 16 256 953 - test/ok/gif

View File

@ -0,0 +1,27 @@
This patch fixes the build failure on AArch64 reported
at <https://github.com/seccomp/libseccomp/pull/191>.
From cc21c1b48d35f9d34ef2da0e184af3855bfeee5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Wed, 20 Nov 2019 14:11:12 -0500
Subject: [PATCH] tests: use openat instead of open
On arm64, __NR_open is not defined, openat is always used. Let's use openat
instead, which is defined for architectures currently.
---
tests/15-basic-resolver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c
index 6badef1..4884faf 100644
--- a/tests/15-basic-resolver.c
+++ b/tests/15-basic-resolver.c
@@ -55,7 +55,7 @@ int main(int argc, char *argv[])
unsigned int arch;
char *name = NULL;
- if (seccomp_syscall_resolve_name("open") != __NR_open)
+ if (seccomp_syscall_resolve_name("openat") != __NR_openat)
goto fail;
if (seccomp_syscall_resolve_name("read") != __NR_read)
goto fail;

View File

@ -0,0 +1,51 @@
From d4434c05e7c0cf05d87089404cfa2deedc60811a Mon Sep 17 00:00:00 2001
From: Ingo Franzki <ifranzki@linux.ibm.com>
Date: Mon, 29 Oct 2018 16:47:40 +0100
Subject: [PATCH] crypto: Add support for LUKS2
Cryptsetup version 2.0 added support for LUKS2.
This patch adds support for mounting LUKS2 volumes with
pam_mount.
Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
---
src/crypto-dmc.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/crypto-dmc.c b/src/crypto-dmc.c
index d0ab6ca..abd0358 100644
--- a/src/crypto-dmc.c
+++ b/src/crypto-dmc.c
@@ -21,6 +21,12 @@
#include "libcryptmount.h"
#include "pam_mount.h"
+#ifndef CRYPT_LUKS
+ #define CRYPT_LUKS NULL /* Passing NULL to crypt_load will
+ default to LUKS(1) on older
+ libcryptsetup versions. */
+#endif
+
/**
* dmc_is_luks - check if @path points to a LUKS volume (cf. normal dm-crypt)
* @path: path to the crypto container
@@ -48,7 +54,7 @@ EXPORT_SYMBOL int ehd_is_luks(const char *path, bool blkdev)
ret = crypt_init(&cd, device);
if (ret == 0) {
- ret = crypt_load(cd, CRYPT_LUKS1, NULL);
+ ret = crypt_load(cd, CRYPT_LUKS, NULL);
if (ret == -EINVAL)
ret = false;
else if (ret == 0)
@@ -106,7 +112,7 @@ static bool dmc_run(const struct ehd_mount_request *req,
#endif
}
- ret = crypt_load(cd, CRYPT_LUKS1, NULL);
+ ret = crypt_load(cd, CRYPT_LUKS, NULL);
if (ret == 0) {
ret = crypt_activate_by_passphrase(cd, mt->crypto_name,
CRYPT_ANY_SLOT, req->key_data, req->key_size, flags);
--
2.21.0

View File

@ -0,0 +1,34 @@
From bbd54510f0297afa2d1a81927db060cb0b791f14 Mon Sep 17 00:00:00 2001
From: Ralph Little <littlesincanada@yahoo.co.uk>
Date: Sun, 1 Sep 2019 17:34:19 -0700
Subject: [PATCH] Apply opensuse upstream patch xsane_memory_leak
Removes completely redundant memory allocation.
---
src/xsane-batch-scan.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/xsane-batch-scan.c b/src/xsane-batch-scan.c
index 90cc0e0..e77caca 100644
--- a/src/xsane-batch-scan.c
+++ b/src/xsane-batch-scan.c
@@ -680,7 +680,6 @@ static GtkWidget *xsane_batch_scan_create_list_entry(Batch_Scan_Parameters *para
GtkWidget *list_item;
GtkWidget *hbox;
int size = 120;
- char *data;
list_item = gtk_list_item_new();
@@ -688,8 +687,6 @@ static GtkWidget *xsane_batch_scan_create_list_entry(Batch_Scan_Parameters *para
gtk_container_add(GTK_CONTAINER(list_item), hbox);
gtk_widget_show(hbox);
- data = calloc(size, size);
-
parameters->gtk_preview = gtk_preview_new(GTK_PREVIEW_COLOR);
gtk_preview_size(GTK_PREVIEW(parameters->gtk_preview), size, size);
gtk_box_pack_start(GTK_BOX(hbox), parameters->gtk_preview, FALSE, FALSE, 0);
--
2.22.0

View File

@ -0,0 +1,85 @@
From c126eea11c4ee39cbe9c0c76f920626b618b6ee9 Mon Sep 17 00:00:00 2001
From: Ralph Little <littlesincanada@yahoo.co.uk>
Date: Sun, 1 Sep 2019 17:03:44 -0700
Subject: [PATCH] Apply debian upstream patch 0135-fix_pdf_floats
Original patch commentary:
Description: Fix floats in PDF and PostScript
Set LC_NUMERIC to POSIX before printing floats when building
PostScript or PDF output.
Author: Julien BLACHE <jblache@debian.org>
Forwarded: yes
------------
Looks like float printing format is affected by the current locale.
Ensures that we always get POSIX formatting of floats.
---
src/xsane-save.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/xsane-save.c b/src/xsane-save.c
index f14df05..63550cc 100644
--- a/src/xsane-save.c
+++ b/src/xsane-save.c
@@ -26,6 +26,8 @@
#include "xsane-back-gtk.h"
#include "xsane-front-gtk.h"
#include "xsane-save.h"
+#include <locale.h>
+#include <string.h>
#include <time.h>
#include <sys/wait.h>
@@ -2425,6 +2427,7 @@ static void xsane_save_ps_create_image_header(FILE *outfile,
int flatedecode)
{
int depth;
+ char *save_locale;
depth = image_info->depth;
@@ -2442,8 +2445,15 @@ static void xsane_save_ps_create_image_header(FILE *outfile,
fprintf(outfile, "%d rotate\n", degree);
fprintf(outfile, "%d %d translate\n", position_left, position_bottom);
+
+ save_locale = strdup(setlocale(LC_NUMERIC, NULL));
+ setlocale(LC_NUMERIC, "POSIX");
+
fprintf(outfile, "%f %f scale\n", width, height);
+ setlocale(LC_NUMERIC, save_locale);
+ free(save_locale);
+
fprintf(outfile, "<<\n");
fprintf(outfile, " /ImageType 1\n");
fprintf(outfile, " /Width %d\n", image_info->image_width);
@@ -3921,6 +3931,7 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
int position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
int left, bottom;
float rad;
+ char *save_locale;
DBG(DBG_proc, "xsane_save_pdf_create_page_header\n");
@@ -4035,8 +4046,16 @@ static void xsane_save_pdf_create_page_header(FILE *outfile, struct pdf_xref *xr
fprintf(outfile, "q\n");
fprintf(outfile, "1 0 0 1 %d %d cm\n", position_left, position_bottom); /* translate */
+
+ save_locale = strdup(setlocale(LC_NUMERIC, NULL));
+ setlocale(LC_NUMERIC, "POSIX");
+
fprintf(outfile, "%f %f -%f %f 0 0 cm\n", cos(rad), sin(rad), sin(rad), cos(rad)); /* rotate */
fprintf(outfile, "%f 0 0 %f 0 0 cm\n", width, height); /* scale */
+
+ setlocale(LC_NUMERIC, save_locale);
+ free(save_locale);
+
fprintf(outfile, "BI\n");
fprintf(outfile, " /W %d\n", image_info->image_width);
fprintf(outfile, " /H %d\n", image_info->image_height);
--
2.22.0

View File

@ -0,0 +1,72 @@
From 893a5ce1f75e5eea7c8d383038ff92a150819c9c Mon Sep 17 00:00:00 2001
From: Ralph Little <littlesincanada@yahoo.co.uk>
Date: Thu, 19 Sep 2019 22:02:33 -0700
Subject: [PATCH] xsane-*-project.c - reduced snprintf format pad to silence
warning about too long constrant string for buffer.
---
src/xsane-email-project.c | 4 ++--
src/xsane-fax-project.c | 4 ++--
src/xsane-multipage-project.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/xsane-email-project.c b/src/xsane-email-project.c
index f20cb12..ac93fc2 100644
--- a/src/xsane-email-project.c
+++ b/src/xsane-email-project.c
@@ -896,7 +896,7 @@ static void xsane_email_project_update_project_status()
snprintf(filename, sizeof(filename), "%s/xsane-mail-list", preferences.email_project);
projectfile = fopen(filename, "r+b"); /* r+ = read and write, position = start of file */
- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */
+ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */
fprintf(projectfile, "%s\n", buf); /* first line is status of email */
fclose(projectfile);
@@ -936,7 +936,7 @@ void xsane_email_project_save()
{
char buf[TEXTBUFSIZE];
- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */
+ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.email_status); /* fill 32 characters status line */
fprintf(projectfile, "%s\n", buf); /* first line is status of email */
gtk_progress_set_format_string(GTK_PROGRESS(xsane.project_progress_bar), _(xsane.email_status));
xsane_progress_bar_set_fraction(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0);
diff --git a/src/xsane-fax-project.c b/src/xsane-fax-project.c
index f263313..0c60a97 100644
--- a/src/xsane-fax-project.c
+++ b/src/xsane-fax-project.c
@@ -452,7 +452,7 @@ static void xsane_fax_project_update_project_status()
snprintf(filename, sizeof(filename), "%s/xsane-fax-list", preferences.fax_project);
projectfile = fopen(filename, "r+b"); /* r+ = read and write, position = start of file */
- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */
+ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */
fprintf(projectfile, "%s\n", buf); /* first line is status of mail */
fclose(projectfile);
@@ -498,7 +498,7 @@ void xsane_fax_project_save()
{
char buf[TEXTBUFSIZE];
- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */
+ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.fax_status); /* fill 32 characters status line */
fprintf(projectfile, "%s\n", buf); /* first line is status of mail */
gtk_progress_set_format_string(GTK_PROGRESS(xsane.project_progress_bar), _(xsane.fax_status));
xsane_progress_bar_set_fraction(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0);
diff --git a/src/xsane-multipage-project.c b/src/xsane-multipage-project.c
index f23e5f8..9392e00 100644
--- a/src/xsane-multipage-project.c
+++ b/src/xsane-multipage-project.c
@@ -522,7 +522,7 @@ void xsane_multipage_project_save()
{
char buf[TEXTBUFSIZE];
- snprintf(buf, 32, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.multipage_status); /* fill 32 characters status line */
+ snprintf(buf, 33, "%s@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@", xsane.multipage_status); /* fill 32 characters status line */
fprintf(projectfile, "%s\n", buf); /* first line is status of multipage */
gtk_progress_set_format_string(GTK_PROGRESS(xsane.project_progress_bar), _(xsane.multipage_status));
xsane_progress_bar_set_fraction(GTK_PROGRESS_BAR(xsane.project_progress_bar), 0.0);
--
2.23.0

View File

@ -0,0 +1,153 @@
From 62d9c172f258769e3a7540fe710e013bb39a704f Mon Sep 17 00:00:00 2001
From: Ralph Little <littlesincanada@yahoo.co.uk>
Date: Sat, 7 Sep 2019 12:39:45 -0700
Subject: [PATCH] Apply opensuse upstream patch 004-ipv6-support
Appears to be related to this:
https://bugzilla.redhat.com/show_bug.cgi?id=198422
-----
Changes email socket connection code to use more IP version agnostic
calls. It appears to only be used by the scan email option and
originally comes from the RedHat IPv6 awareness program mentioned
in the bug report.
In practice, I'm not sure how practical the implementation for emailing
scans in xsane is as it does not look to support encryption, pretty
much a given in today's world.
---
src/xsane-save.c | 96 +++++++++++++++++++++++++++++++-----------------
1 file changed, 62 insertions(+), 34 deletions(-)
diff --git a/src/xsane-save.c b/src/xsane-save.c
index 63550cc..ff3c459 100644
--- a/src/xsane-save.c
+++ b/src/xsane-save.c
@@ -31,6 +31,8 @@
#include <time.h>
#include <sys/wait.h>
+#include <glib.h>
+
/* the following test is always false */
#ifdef _native_WIN32
# include <winsock.h>
@@ -7540,55 +7542,81 @@ void write_email_attach_file(int fd_socket, char *boundary, FILE *infile, char *
/* returns fd_socket if sucessfull, < 0 when error occured */
int open_socket(char *server, int port)
{
- int fd_socket;
- struct sockaddr_in sin;
- struct hostent *he;
+ int fd_socket, e;
+
+ struct addrinfo *ai_list, *ai;
+ struct addrinfo hints;
+ gchar *port_s;
+ gint connected;
+
+ memset(&hints, '\0', sizeof(hints));
+ hints.ai_flags = AI_ADDRCONFIG;
+ hints.ai_socktype = SOCK_STREAM;
+
+ port_s = g_strdup_printf("%d", port);
+ e = getaddrinfo(server, port_s, &hints, &ai_list);
+ g_free(port_s);
- he = gethostbyname(server);
- if (!he)
+ if (e != 0)
{
- DBG(DBG_error, "open_socket: Could not get hostname of \"%s\"\n", server);
+ DBG(DBG_error, "open_socket: Could not lookup \"%s\"\n", server);
return -1;
}
- else
+
+ connected = 0;
+ for (ai = ai_list; ai != NULL && !connected; ai = ai->ai_next)
{
- DBG(DBG_info, "open_socket: connecting to \"%s\" = %d.%d.%d.%d\n",
- he->h_name,
- (unsigned char) he->h_addr_list[0][0],
- (unsigned char) he->h_addr_list[0][1],
- (unsigned char) he->h_addr_list[0][2],
- (unsigned char) he->h_addr_list[0][3]);
- }
+ gchar hostname[NI_MAXHOST];
+ gchar hostaddr[NI_MAXHOST];
+
+ /* If all else fails */
+ strncpy(hostname, "(unknown name)", NI_MAXHOST-1);
+ strncpy(hostaddr, "(unknown address)", NI_MAXHOST-1);
+
+ /* Determine canonical name and IPv4/IPv6 address */
+ (void) getnameinfo(ai->ai_addr, ai->ai_addrlen, hostname, sizeof(hostname),
+ NULL, 0, 0);
+ (void) getnameinfo(ai->ai_addr, ai->ai_addrlen, hostaddr, sizeof(hostaddr),
+ NULL, 0, NI_NUMERICHOST);
+
+ DBG(DBG_info, "open_socket: connecting to \"%s\" (\"%s\"): %s\n",
+ server, hostname, hostaddr);
- if (he->h_addrtype != AF_INET)
- {
- DBG(DBG_error, "open_socket: Unknown address family: %d\n", he->h_addrtype);
- return -1;
- }
+ if ((ai->ai_family != AF_INET) && (ai->ai_family != AF_INET6))
+ {
+ DBG(DBG_error, "open_socket: Unknown address family: %d\n", ai->ai_family);
+ continue;
+ }
- fd_socket = socket(AF_INET, SOCK_STREAM, 0);
+ fd_socket = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
- if (fd_socket < 0)
- {
- DBG(DBG_error, "open_socket: Could not create socket: %s\n", strerror(errno));
- return -1;
- }
+ if (fd_socket < 0)
+ {
+ DBG(DBG_error, "open_socket: Could not create socket: %s\n", strerror(errno));
+ continue;
+ }
-/* setsockopt (dev->ctl, level, TCP_NODELAY, &on, sizeof (on)); */
+ /* setsockopt (dev->ctl, level, TCP_NODELAY, &on, sizeof (on)); */
- sin.sin_port = htons(port);
- sin.sin_family = AF_INET;
- memcpy(&sin.sin_addr, he->h_addr_list[0], he->h_length);
+ if (connect(fd_socket, ai->ai_addr, ai->ai_addrlen) != 0)
+ {
+ DBG(DBG_error, "open_socket: Could not connect with port %d of socket: %s\n", port, strerror(errno));
+ continue;
+ }
+
+ /* All went well */
+ connected = 1;
+ }
- if (connect(fd_socket, &sin, sizeof(sin)))
+ if (!connected)
{
- DBG(DBG_error, "open_socket: Could not connect with port %d of socket: %s\n", ntohs(sin.sin_port), strerror(errno));
- return -1;
+ DBG(DBG_info, "open_socket: Could not connect to any address");
+ return -1;
}
- DBG(DBG_info, "open_socket: Connected with port %d\n", ntohs(sin.sin_port));
+ DBG(DBG_info, "open_socket: Connected with port %d\n", port);
- return fd_socket;
+ return fd_socket;
}
/* ---------------------------------------------------------------------------------------------------------------------- */
--
2.22.0

View File

@ -0,0 +1,36 @@
From 5dc1e301a165709c60c435f00ec9bb6d7d5f21f3 Mon Sep 17 00:00:00 2001
From: Ralph Little <littlesincanada@yahoo.co.uk>
Date: Tue, 27 Aug 2019 21:40:02 -0700
Subject: [PATCH] Apply debian upstream patch 0160-fix_tighten_default_umask
Original patch commentary:
Description: Change default XSane umask from 0007 to 0077
A default umask of 0007 can be mildly insecure in a multiuser environment,
so tighten things up a bit and go with 0077 instead.
Author: Adrien Thebo
Bug-Debian: http://bugs.debian.org/592972
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/xsane/+bug/611950
----
As above.
---
src/xsane.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/xsane.h b/src/xsane.h
index 67f06d4..fa04418 100644
--- a/src/xsane.h
+++ b/src/xsane.h
@@ -104,7 +104,7 @@
#define XSANE_DEBUG_ENVIRONMENT "XSANE_DEBUG"
#define XSANE_PROGRESS_BAR_MIN_DELTA_PERCENT 0.025
-#define XSANE_DEFAULT_UMASK 0007
+#define XSANE_DEFAULT_UMASK 0077
#define XSANE_HOLD_TIME 200
#define XSANE_CONTINUOUS_HOLD_TIME 10
#define XSANE_DEFAULT_DEVICE "SANE_DEFAULT_DEVICE"
--
2.22.0

View File

@ -1027,20 +1027,18 @@ PDF Arranger was formerly known as PDF-Shuffler.")
(define-public pdfposter
(package
(name "pdfposter")
(version "0.6.0")
(version "0.7.post1")
(source (origin
(method url-fetch)
(uri (pypi-uri "pdftools.pdfposter" version ".tar.bz2"))
(uri (pypi-uri "pdftools.pdfposter" version))
(sha256
(base32
"1i9jqawf279va089ykicglcq4zlsnwgcnsdzaa8vnm836lqhywma"))))
"0c1avpbr9q53yzq5ar2x485rmp9d0l3z27aham32bg7gplzd7w0j"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test suite, only for visual control
#:python ,python-2))
`(#:tests? #f)) ; test-suite not included in source archive
(inputs
;; pdfposter 0.6.0 still uses the old pyPdf
`(("python2-pypdf" ,python2-pypdf)))
`(("python-pypdf2" ,python-pypdf2)))
(home-page "https://pythonhosted.org/pdftools.pdfposter/")
(synopsis "Scale and tile PDF images/pages to print on multiple pages")
(description "@command{pdfposter} can be used to create a large poster by

View File

@ -1239,14 +1239,14 @@ makes fork(2) safe to use in test cases.")
(define-public perl-test-simple
(package
(name "perl-test-simple")
(version "1.302164")
(version "1.302169")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
"Test-Simple-" version ".tar.gz"))
(sha256
(base32
"05b61ndlf2d6xphq13caps001f0p0p76jb5hhzmm5k897xhpn9sh"))))
"08y7b817045w9bc1k9y01l5shl162q9fdc2g5qf7ny0gdxvh85s1"))))
(build-system perl-build-system)
(synopsis "Basic utilities for writing tests")
(description

View File

@ -779,15 +779,14 @@ library assert.h.")
(define-public perl-carp-assert-more
(package
(name "perl-carp-assert-more")
(version "1.16")
(version "1.20")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/P/PE/PETDANCE/"
"Carp-Assert-More-" version ".tar.gz"))
(sha256
(base32
"1x9jd6s3lq97na6gz7g0zaq62l8z297xsfpdj2v42p3ijpfirl4f"))))
(base32 "16jnhdjgfwymrc5fki4xlf1rlziszf9k6q0245g976124k708ac5"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-exception" ,perl-test-exception)))
@ -1221,16 +1220,17 @@ uses no non-core modules for any recent Perl.")
(define-public perl-class-unload
(package
(name "perl-class-unload")
(version "0.08")
(version "0.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"Class-Unload-" version ".tar.gz"))
(sha256
(base32
"097gr3r2jgnm1175m4lpg4a97hv2mxrn9r0b2c6bn1x9xdhkywgh"))))
(base32 "0pqa98z3ij6a3v9wkmvc8b410kv30y0xxqf0i6if3lp4lx3rgqjj"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-requires" ,perl-test-requires)))
(propagated-inputs
`(("perl-class-inspector" ,perl-class-inspector)))
(home-page "https://metacpan.org/release/Class-Unload")
@ -2190,16 +2190,15 @@ Date::Calc.")
(define-public perl-date-manip
(package
(name "perl-date-manip")
(version "6.76")
(version "6.78")
(source
(origin
(method url-fetch)
(uri (string-append "https://cpan.metacpan.org/authors/id/S/SB/SBECK/"
(uri (string-append "mirror://cpan/authors/id/S/SB/SBECK/"
"Date-Manip-" version ".tar.gz"))
(sha256
(base32 "1a33mpkx7qqb9nqxyh2kkb596d8xq6jw0ljrd4xrwiz30f6cg1qw"))))
(base32 "1faxj6gafrqir9hvy9r8q57s93n57b412s04qycrks7r0520hdnb"))))
(build-system perl-build-system)
(native-inputs `(("perl-module-build" ,perl-module-build)))
(arguments
;; Tests would require tzdata for timezone information, but tzdata is in
;; (gnu packages base) which would create a circular dependency. TODO:
@ -2237,15 +2236,14 @@ hours, minutes, seconds, and time zones.")
(define-public perl-datetime
(package
(name "perl-datetime")
(version "1.50")
(version "1.51")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/"
"DateTime-" version ".tar.gz"))
(sha256
(base32
"165iqk1xvhs5j0kzsipa7aqycx3h37wqsl2r4jl104yqvmqhqszd"))))
(base32 "1ibfq6acz1ih28vl613yygbb3r2d8ykx6di669vajhvswl6xl8ny"))))
(build-system perl-build-system)
(native-inputs
`(("perl-cpan-meta-check" ,perl-cpan-meta-check)
@ -2906,15 +2904,14 @@ arbitrary parameters.")
(define-public perl-devel-stacktrace
(package
(name "perl-devel-stacktrace")
(version "2.03")
(version "2.04")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DR/DROLSKY/"
"Devel-StackTrace-" version ".tar.gz"))
(sha256
(base32
"0j58kgjr9s3vibsgifmk9k5h7daag0cb9x45f30m9qi4pr7cs63n"))))
(base32 "0mb8bngjq7s3kbh95h3ig4p3jfb156c4r0d53z344gbxaknh6g6d"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Devel-StackTrace")
(synopsis "Object representing a stack trace")
@ -3873,14 +3870,14 @@ allows you to locate these files after installation.")
(define-public perl-file-slurp
(package
(name "perl-file-slurp")
(version "9999.27")
(version "9999.28")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CA/CAPOEIRAB/"
"File-Slurp-" version ".tar.gz"))
(sha256
(base32 "1x233kj1qifvii7j8d4wzarwhj5z11vnpxsqvdm98dsccr7qi79s"))))
(base32 "1vkwh880lbyr2qcrfka7yb3z4yz9id4va52gfjgdnyfb1c0wx1q5"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/File-Slurp")
(synopsis "Reading/Writing/Modifying of complete files")
@ -4286,7 +4283,7 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
(define-public perl-indirect
(package
(name "perl-indirect")
(version "0.38")
(version "0.39")
(source
(origin
(method url-fetch)
@ -4294,8 +4291,7 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
"mirror://cpan/authors/id/V/VP/VPIT/indirect-"
version ".tar.gz"))
(sha256
(base32
"13k5a8p903m8x3pcv9qqkzvnb8gpgq36cr3dvn3lk1ngsi9w5ydy"))))
(base32 "1r971mykvvsrzrp6a9ccl649ihr84h254jmlfpazv64f6i63qwvi"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/indirect")
(synopsis "Lexically warn about using the indirect method call syntax")
@ -6384,17 +6380,15 @@ an external class to the given attribute.")
(define-public perl-moox-late
(package
(name "perl-moox-late")
(version "0.015")
(version "0.016")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-"
version
".tar.gz"))
version ".tar.gz"))
(sha256
(base32
"1gzvd9zws3v09sh0xx6srmw4jwi22fnrya4zcsc8dykn62pjclqp"))))
(base32 "0kjy86rrpzfy6w5r9ykjq7njwdnvp7swd6r2k4gfrh3picz3kdhz"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-fatal" ,perl-test-fatal)
@ -6405,8 +6399,7 @@ an external class to the given attribute.")
("perl-moox-handlesvia" ,perl-moox-handlesvia)))
(propagated-inputs
`(("perl-type-tiny" ,perl-type-tiny)))
(home-page
"https://metacpan.org/release/MooX-late")
(home-page "https://metacpan.org/release/MooX-late")
(synopsis "Easily translate Moose code to Moo")
(description
"MooX::late does the following:

View File

@ -59,7 +59,7 @@
(define-public php
(package
(name "php")
(version "7.3.11")
(version "7.3.12")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
@ -67,7 +67,7 @@
"php-" version ".tar.xz"))
(sha256
(base32
"088hl1gyjr7a8ipdzylwy00c4xmvywn7mh2r1i4yja5c9d3gcz35"))
"1psmv3yw21rng2qqwck2b5w190s8q76qi35gqrh8i0mdc6c5xzma"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"

View File

@ -3996,14 +3996,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(define-public python-matplotlib
(package
(name "python-matplotlib")
(version "3.1.1")
(version "3.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
"14qc109dibp32xfd9lah54djc0rc76fhbsj9cwyb328lzqmd5sqz"))))
"1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
@ -4068,8 +4068,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(for-each delete-file
;; test_normal_axes, test_get_tightbbox_polar
'("lib/matplotlib/tests/test_axes.py"
;; We don't use the webagg backend and this test forces it.
"lib/matplotlib/tests/test_backend_webagg.py"
;; test_outward_ticks
"lib/matplotlib/tests/test_tightlayout.py"
;; test_hidden_axes fails with minor extent
;; differences, possibly due to the use of a
;; different version of FreeType.
"lib/matplotlib/tests/test_constrainedlayout.py"
;; Fontconfig returns no fonts.
"lib/matplotlib/tests/test_font_manager.py"))
#t))
@ -4087,7 +4093,7 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(lambda* (#:key outputs inputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "tests.py" "-v"
"-m" "not network")))
"-m" "not network and not webagg")))
(add-before 'build 'configure-environment
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((cairo (assoc-ref inputs "cairo")))
@ -5944,14 +5950,14 @@ parsing (browser/HTTP) user agent strings.")
(define-public python-dbus
(package
(name "python-dbus")
(version "1.2.10")
(version "1.2.14")
(source
(origin
(method url-fetch)
(uri (string-append "https://dbus.freedesktop.org/releases/dbus-python/"
"dbus-python-" version ".tar.gz"))
(sha256
(base32 "11nqk01iq5bx2llgb3ksknyinijdp29w4ndj210glm009ayjncyl"))))
(base32 "0cdchkgnivlka4lf8q4qfk0yxq483i3r3aqickjf8hfn7nx0c0mi"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -5970,10 +5976,7 @@ implementation of D-Bus.")
(inputs `(("python" ,python-2)
,@(alist-delete "python"
(package-inputs python-dbus)
equal?)))
;; FIXME: on Python 2, the test_utf8 fails with:
;; "ValueError: unichr() arg not in range(0x10000) (narrow Python build)"
(arguments `(#:tests? #f))))
equal?)))))
(define-public python-notify2
(package
@ -6265,7 +6268,19 @@ SVG, EPS, PNG and terminal output.")
(method url-fetch)
(uri (pypi-uri "seaborn" version))
(sha256
(base32 "0bqysi3fxfjl1866m5jq8z7mynhqbqnikim74dmzn8539iwkzj3n"))))
(base32 "0bqysi3fxfjl1866m5jq8z7mynhqbqnikim74dmzn8539iwkzj3n"))
(patches
(list (origin
(method url-fetch)
;; This has already been merged, but there is no new
;; release including this patch. It fixes problems
;; with axis rotation that would lead to test
;; failures.
(uri "https://patch-diff.githubusercontent.com/raw/mwaskom/seaborn/pull/1716.diff")
(sha256
(base32
"1lm870z316n9ivsyr86hpk1gxaraw0mrjvq42lqsm0znhjdp9q9w"))
(file-name "seaborn-0.9.0-axis-rotation.patch"))))))
(build-system python-build-system)
(arguments
`(#:phases
@ -6278,6 +6293,12 @@ SVG, EPS, PNG and terminal output.")
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1")
#t)))
(add-after 'unpack 'fix-tests
(lambda _
;; test_cbar_ticks fails probably because of matplotlib's
;; expectation of using an older version of FreeType.
(delete-file "seaborn/tests/test_matrix.py")
#t))
(replace 'check (lambda _ (invoke "pytest" "seaborn") #t)))))
(propagated-inputs
`(("python-pandas" ,python-pandas)
@ -6286,7 +6307,7 @@ SVG, EPS, PNG and terminal output.")
("python-scipy" ,python-scipy)))
(native-inputs
`(("python-pytest" ,python-pytest)
("xorg-server" ,xorg-server)))
("xorg-server" ,xorg-server-for-tests)))
(home-page "http://stanford.edu/~mwaskom/software/seaborn/")
(synopsis "Statistical data visualization")
(description
@ -10855,13 +10876,13 @@ it will manage (install/update) them for you.")
(define-public python-lazy-object-proxy
(package
(name "python-lazy-object-proxy")
(version "1.4.2")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "lazy-object-proxy" version))
(sha256
(base32
"1wgl0fmddi0ind78a74yyk2qrr9pb5llvj1892cdpp6z6n6mn4zx"))))
"1w1aaay424ciz8fz3fkzxb0pxzfxn184f2whpyn4fx72bn50x47k"))))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm-3.3)))
(build-system python-build-system)
@ -14820,15 +14841,14 @@ files, and Makefiles.")
(define-public python-whatever
(package
(name "python-whatever")
(version "0.5")
(version "0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Suor/whatever/archive/" version
".tar.gz"))
(sha256
(base32
"1iqvnaf0zpc6b4rvbqq4xy45mszcscyzpzknv8wg6j84pbp22sap"))
(base32 "1rchg9hrlvw4sn20lq1zspczr4x1pv57c02gv73igiqx1hqpy2nc"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(arguments

View File

@ -1627,7 +1627,7 @@ module provides support functions to the automatically generated code.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(sip (string-append out "/share/sip"))
(plugins (string-append out "/plugins"))
(plugins (string-append out "/lib/qt5/plugins"))
(designer (string-append plugins "/designer"))
(qml (string-append plugins "/PyQt5"))
(python (assoc-ref inputs "python"))

View File

@ -1256,17 +1256,16 @@ complexity.")
(define-public ruby-oauth2
(package
(name "ruby-oauth2")
(version "1.4.1")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "oauth2" version))
(sha256
(base32
"0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh"))))
(base32 "15i9z4j5pcjkr30lkcd79xzbr4kpmy0bqgwa436fqyqk646fv036"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; No included tests
'(#:tests? #f)) ; no included tests
(propagated-inputs
`(("ruby-faraday" ,ruby-faraday)
("ruby-jwt" ,ruby-jwt)
@ -1761,13 +1760,13 @@ the output produced by running shell commands.")
(define-public ruby-notiffany
(package
(name "ruby-notiffany")
(version "0.1.1")
(version "0.1.3")
(source (origin
(method url-fetch)
(uri (rubygems-uri "notiffany" version))
(sha256
(base32
"0x838fa5il0dd9zbm3lxkpbfxcf5fxv9556mayc2mxsdl5ghv8nx"))))
"0f47h3bmg1apr4x51szqfv3rh2vq58z3grh4w02cp3bzbdh6jxnk"))))
(build-system ruby-build-system)
;; Tests are not included in the gem.
(arguments `(#:tests? #f))
@ -2067,13 +2066,13 @@ the SimpleCov code coverage tool for Ruby version 1.9 and above.")
(define-public ruby-simplecov
(package
(name "ruby-simplecov")
(version "0.17.0")
(version "0.17.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "simplecov" version))
(sha256
(base32
"0dq0nkaxvbsnl70hkimy35g4yjfs3blx4s7nbpzbvgqx72hxgv5v"))))
"1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw"))))
(build-system ruby-build-system)
;; Simplecov depends on rubocop for code style checking at build time.
;; Rubocop needs simplecov at build time.
@ -2094,13 +2093,13 @@ suites.")
(define-public ruby-useragent
(package
(name "ruby-useragent")
(version "0.16.8")
(version "0.16.10")
(source (origin
(method url-fetch)
(uri (rubygems-uri "useragent" version))
(sha256
(base32
"1139cjqyv1hk1qcw89k81ajjkqyakqgbcyvmfrsmjqi8yn9kgqhq"))))
"1fv5kvq494swy0p17h9qya9r50w15xsi9zmvhzb8gh55kq6ki50p"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no test suite
@ -3802,18 +3801,16 @@ for select languages.")
(define-public ruby-prawn-manual-builder
(package
(name "ruby-prawn-manual-builder")
(version "0.3.0")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "prawn-manual_builder" version))
(sha256
(base32
"0wbjnkqp55p5wmz85ldypcray223glckd209hmdxhnzk8s5pb3za"))))
(base32 "1vlg5w7wq43g2hgpgra2nrcxj1kb4ayqliz4gmja2rhs037j2vzs"))))
(build-system ruby-build-system)
(arguments
'(;; No included tests
#:tests? #f
'(#:tests? #f ; no included tests
#:phases
(modify-phases %standard-phases
(add-after 'extract-gemspec 'patch-gemspec
@ -3888,14 +3885,13 @@ suitable for a gemspec file.")
(define-public ruby-progressbar
(package
(name "ruby-progressbar")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "ruby-progressbar" version))
(sha256
(base32
"1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk"))))
(base32 "1k77i0d4wsn23ggdd2msrcwfy0i376cglfqypkk2q77r2l3408zf"))))
(build-system ruby-build-system)
(arguments
'(;; TODO: There looks to be a circular dependency with ruby-fuubar.
@ -4408,18 +4404,16 @@ when working with Ruby code.")
(define-public ruby-jaro-winkler
(package
(name "ruby-jaro-winkler")
(version "1.5.2")
(version "1.5.4")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "jaro_winkler" version))
(sha256
(base32
"1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l"))))
(base32 "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh"))))
(build-system ruby-build-system)
(arguments
'(;; No included tests
#:tests? #f))
'(#:tests? #f)) ; no included tests
(synopsis "Ruby implementation of Jaro-Winkler distance algorithm")
(description
"@code{jaro_winkler} is an implementation of Jaro-Winkler distance
@ -5973,14 +5967,13 @@ that TURN is no longer being maintained.")
(define-public ruby-mimemagic
(package
(name "ruby-mimemagic")
(version "0.3.2")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "mimemagic" version))
(sha256
(base32
"00ibc1mhvdfyfyl103xwb45621nwyqxf124cni5hyfhag0fn1c3q"))))
(base32 "04cp5sfbh1qx82yqxn0q75c7hlcx8y1dr5g3kyzwm4mx6wi2gifw"))))
(build-system ruby-build-system)
(arguments
'(#:phases
@ -6417,18 +6410,16 @@ checking for the right Ruby version in software.")
(define-public ruby-websocket-driver
(package
(name "ruby-websocket-driver")
(version "0.7.0")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "websocket-driver" version))
(sha256
(base32
"1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn"))))
(base32 "1bxamwqldmy98hxs5pqby3andws14hl36ch78g0s81gaz9b91nj2"))))
(build-system ruby-build-system)
(arguments
'(;; No included tests
#:tests? #f))
'(#:tests? #f)) ; no included tests
(propagated-inputs
`(("ruby-websocket-extensions" ,ruby-websocket-extensions)))
(synopsis "WebSocket protocol handler with pluggable I/O")
@ -7569,13 +7560,13 @@ for the terminal.")
(define-public ruby-command-line-reporter
(package
(name "ruby-command-line-reporter")
(version "4.0.0")
(version "4.0.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "command_line_reporter" version))
(sha256
(base32
"1qma35xrb772whxwy1rs9bicb9d6lvz0s2dd2dnn4fr6zcbcxc0a"))))
"1l0zxkh5n9dxfw46lpkg416ljpldlq1bgdhqh0d118dk338nz4ll"))))
(build-system ruby-build-system)
(arguments
;; No Rakefile

View File

@ -21,11 +21,16 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages scanner)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses)
#:prefix licence:)
#:use-module (guix packages)
@ -148,3 +153,87 @@ package contains the library, but no drivers.")
proving access to any raster image scanner hardware (flatbed scanner,
hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The
package contains the library and drivers.")))
(define-public xsane
(package
(name "xsane")
(version "0.999")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/sane-project/frontend/xsane.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "08zvxj7i1s88ckrsqldmsrikc3g62a6p3s3i5b5x4krcfpi3vs50"))
;; Apply some important-looking fixes. There are many more unreleased
;; commits upstream. A 1.0 release is planned.
(patches (search-patches "xsane-fix-memory-leak.patch"
"xsane-fix-pdf-floats.patch"
"xsane-fix-snprintf-buffer-length.patch"
"xsane-support-ipv6.patch"
"xsane-tighten-default-umask.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove ancient bundled lprng code under a non-free licence. See
;; <https://trisquel.info/en/issues/10713>, which solves the problem
;; by replacing it with a newer (free) copy. We let the build fall
;; back to the system version instead, which appears to work fine.
(delete-file "lib/snprintf.c")
(substitute* "lib/Makefile.in"
(("snprintf\\.o ") ""))
#t))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "xsanedocdir=" (assoc-ref %outputs "out")
"/share/doc/" ,name "-" ,version))
#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-invalid-dereference
;; Fix the following compilation error with libpng:
;; xsane-save.c: In function xsane_save_png:
;; xsane-save.c:4913:21: error: dereferencing pointer to
;; incomplete type png_struct {aka struct png_struct_def}
;; if (setjmp(png_ptr->jmpbuf))
;; ^
(lambda _
(substitute* "src/xsane-save.c"
(("png_ptr->jmpbuf") "png_jmpbuf(png_ptr)"))
#t))
(add-after 'unpack 'use-sane-help-browser
(lambda _
(substitute* "src/xsane.h"
(("netscape") (which "xdg-open")))
#t))
(add-after 'install 'delete-empty-/sbin
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(rmdir (string-append out "/sbin"))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+-2)
("lcms" ,lcms)
("libjpeg" ,libjpeg)
("libtiff" ,libtiff)
("sane-backends" ,sane-backends)
;; To open the manual from the Help menu.
("xdg-utils" ,xdg-utils)))
(home-page "https://gitlab.com/sane-project/frontend/xsane")
(synopsis "Featureful graphical interface for document and image scanners")
(description
"XSane is a graphical interface for controlling a scanner and acquiring
images from it. You can photocopy multi-page documents and save, fax, print,
or e-mail your scanned images. It is highly configurable and exposes all
device settings, letting you fine-tune the final result. It can also be used
as a GIMP plugin to acquire images directly from a scanner.
XSane talks to scanners through the @acronym{SANE, Scanner Access Now Easy}
back-end library, which supports almost all existing scanners.")
(license licence:gpl2+)))

View File

@ -143,6 +143,7 @@ joystick, and graphics hardware.")
("glib" ,glib)
("ibus" ,ibus)
("libxkbcommon" ,libxkbcommon)
("libxcursor" ,libxcursor) ; enables X11 cursor support
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols))
(package-inputs sdl)))

View File

@ -49,14 +49,14 @@
(define-public xapian
(package
(name "xapian")
(version "1.4.13")
(version "1.4.14")
;; Note: When updating Xapian, remember to update xapian-bindings below.
(source (origin
(method url-fetch)
(uri (string-append "https://oligarchy.co.uk/xapian/" version
"/xapian-core-" version ".tar.xz"))
(sha256
(base32 "0z0k8902bz2ckdggikj5yz11ik2n8krmdwzvpqv60phcm3zzzy4k"))))
(base32 "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)
("util-linux" ,util-linux)))
@ -94,7 +94,7 @@ rich set of boolean query operators.")
"/xapian-bindings-" version ".tar.xz"))
(sha256
(base32
"14jqm8mi55z4jxyi9qnnxdljli81zknsp2ja2yjx17hm28kmsnks"))))
"0qb17cw8n0g5gcg8dq5b3hs6i16w74rgxcryd0ja9n2h0rlda2an"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-python3")
@ -104,9 +104,10 @@ rich set of boolean query operators.")
"/lib/python" ,(version-major+minor
(package-version python))
"/site-packages/xapian"))))
(native-inputs
`(("python-sphinx" ,python-sphinx))) ;for documentation
(inputs
`(("python" ,python)
("python-sphinx" ,python-sphinx) ; for documentation
("xapian" ,xapian)
("zlib" ,zlib)))
(synopsis "Python bindings for the Xapian search engine library")

View File

@ -316,3 +316,26 @@ commands that are obsolete or contain a piece of sensitive information) or
bookmark your favourite commands.")
(home-page "http://me.mindforger.com/projects/hh.html")
(license license:asl2.0)))
(define-public shell-functools
(package
(name "shell-functools")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sharkdp/shell-functools.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0d6zzg7cxfrzwzh1wmpj7q85kz33sak6ac59ncsm6dlbin12h0hi"))))
(build-system python-build-system)
(home-page "https://github.com/sharkdp/shell-functools/")
(synopsis "Functional programming tools for the shell")
(description "This package provides higher order functions like map,
filter, foldl, sort_by and take_while as simple command-line tools. Following
the UNIX philosophy, these commands are designed to be composed via pipes. A
large collection of functions such as basename, replace, contains or is_dir
are provided as arguments to these commands.")
(license license:expat)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,7 +33,7 @@
(define-public polyml
(package
(name "polyml")
(version "5.7.1")
(version "5.8")
(source (origin
(method git-fetch)
(uri (git-reference
@ -41,7 +42,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"))))
"1jabrf9cnmsppawga6q5pjiq1cdayilxp66fkxykczs6vv2gz7f9"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
@ -65,7 +66,7 @@
make-flags)
make-flags))
(apply system* "make" (append flags (list "compiler"))))))))
(home-page "http://www.polyml.org/")
(home-page "https://www.polyml.org/")
(synopsis "Standard ML implementation")
(description "Poly/ML is a Standard ML implementation. It is fully
compatible with the ML97 standard. It includes a thread library, a foreign

View File

@ -65,6 +65,7 @@
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1))
(define-public libssh
@ -257,6 +258,11 @@ Additionally, various channel-specific options can be negotiated.")
(substitute* "tests/server.scm"
(("= %libssh-minor-version 7")
">= %libssh-minor-version 7"))
;; Allow builds with Guile 3.0.
(substitute* "configure.ac"
(("^GUILE_PKG.*$")
"GUILE_PKG([3.0 2.2 2.0])\n"))
#t))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
@ -265,9 +271,6 @@ Additionally, various channel-specific options can be negotiated.")
#:configure-flags '("--disable-static")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda* (#:key inputs #:allow-other-keys)
(invoke "autoreconf" "-vfi")))
(add-before 'build 'fix-libguile-ssh-file-name
(lambda* (#:key outputs #:allow-other-keys)
;; Build and install libguile-ssh.so so that we can use
@ -321,6 +324,39 @@ libssh library.")
(inputs `(("guile" ,guile-2.0)
,@(alist-delete "guile" (package-inputs guile-ssh))))))
(define-public guile3.0-ssh
(package
(inherit guile-ssh)
(name "guile3.0-ssh")
(arguments
(substitute-keyword-arguments (package-arguments guile-ssh)
((#:phases phases)
`(modify-phases ,phases
(add-before 'bootstrap 'delete-old-guile-m4
(lambda _
;; The old 'guile.m4' that's shipped would fail to recognize
;; Guile 2.9 as "3.0".
(delete-file "m4/guile.m4")
#t))
(add-before 'build 'adjust-for-guile3
(lambda _
;; Adjust for things that are deprecated in 2.2 and removed in
;; 3.0.
(substitute* "tests/common.scm"
(("define-module \\(tests common\\)")
"define-module (tests common)
#:use-module (ice-9 threads)\n"))
(substitute* "modules/ssh/tunnel.scm"
(("define-module \\(ssh tunnel\\)")
"define-module (ssh tunnel)
#:use-module (ice-9 threads)"))
(substitute* "modules/srfi/srfi-64.upstream.scm"
(("_IOLBF")
"'line"))
#t))))))
(inputs `(("guile" ,guile-next)
,@(alist-delete "guile" (package-inputs guile-ssh))))))
(define-public corkscrew
(package
(name "corkscrew")

View File

@ -803,13 +803,13 @@ effects of different types of color-blindness.")
(define-public r-digest
(package
(name "r-digest")
(version "0.6.22")
(version "0.6.23")
(source
(origin
(method url-fetch)
(uri (cran-uri "digest" version))
(sha256
(base32 "1qav52y1qmkg9j2g48mrl6bbjwhs0fs9dl55xb62lfkrihkappqh"))))
(base32 "18h5s8vkdcz2vhpsx6g3ig00zalrihr03skn95zw3lr2y56pafmp"))))
(build-system r-build-system)
;; Vignettes require r-knitr, which requires r-digest, so we have to
;; disable them and the tests.
@ -848,30 +848,6 @@ functions of regression coefficients, and @code{epredict} methods that handle
non-estimable cases correctly.")
(license license:gpl2+)))
(define-public r-pheatmap
(package
(name "r-pheatmap")
(version "1.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "pheatmap" version))
(sha256
(base32
"1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"))))
(build-system r-build-system)
(propagated-inputs
`(("r-gtable" ,r-gtable)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-scales" ,r-scales)))
(home-page
"https://cran.r-project.org/web/packages/pheatmap")
(synopsis "Pretty heatmaps")
(description
"This package provides an implementation of heatmaps that offers more
control over dimensions and appearance.")
(license license:gpl2+)))
(define-public r-labeling
(package
(name "r-labeling")
@ -1108,32 +1084,6 @@ the input of another.")
using just two functions: melt and dcast (or acast).")
(license license:expat)))
(define-public r-scales
(package
(name "r-scales")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "scales" version))
(sha256
(base32 "0353dkh3d7x78463c6ds80hcml59lrqwr8rlv82a8dnkxla4l7qc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-labeling" ,r-labeling)
("r-munsell" ,r-munsell)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rcpp" ,r-rcpp)
("r-r6" ,r-r6)
("r-viridislite" ,r-viridislite)))
(home-page "https://github.com/hadley/scales")
(synopsis "Scale functions for visualization")
(description
"This package provides graphical scales that map data to aesthetics, and
provides methods for automatically determining breaks and labels for axes and
legends.")
(license license:expat)))
(define-public r-ggplot2
(package
(name "r-ggplot2")
@ -1656,13 +1606,13 @@ defined in different packages.")
(define-public r-rlang
(package
(name "r-rlang")
(version "0.4.1")
(version "0.4.2")
(source (origin
(method url-fetch)
(uri (cran-uri "rlang" version))
(sha256
(base32
"122hhc7pdri8wkjmk37y71m4h1gmdzaqcfdizfdjg1bhy935i10k"))))
"0fczcp17kaz3s4p0nd4126bppwl20vpxfybhsndpcky9h75wklgv"))))
(build-system r-build-system)
(home-page "http://rlang.tidyverse.org")
(synopsis "Functions for base types, core R and Tidyverse features")
@ -2309,13 +2259,13 @@ tables, autolinks and strikethrough text.")
(define-public r-roxygen2
(package
(name "r-roxygen2")
(version "7.0.0")
(version "7.0.1")
(source (origin
(method url-fetch)
(uri (cran-uri "roxygen2" version))
(sha256
(base32
"13sani3y9ql56cvja8pfjpwsbq8pismc52ns1cq1zgi0jycgqja5"))))
"07v7f7may3vr80f4m1w1ll41qdahszycyx4c1yf8pw7asx73d77j"))))
(build-system r-build-system)
(propagated-inputs
`(("r-brew" ,r-brew)
@ -3256,14 +3206,13 @@ analysis of large sparse or dense matrices.")
(define-public r-glmnet
(package
(name "r-glmnet")
(version "3.0")
(version "3.0-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "glmnet" version))
(sha256
(base32
"1fwspkxbsx7jy5h8zcdl0q8xsbj7svjjbcmg5lfpxdsgyyww46v7"))))
(base32 "04wa926mnss53p1fhx0mjgxnmwmmqls12sc0sy7w09kbmyqa3fq7"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
@ -4884,14 +4833,14 @@ analysis} (PCA) by projection pursuit.")
(define-public r-rrcov
(package
(name "r-rrcov")
(version "1.4-7")
(version "1.4-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "rrcov" version))
(sha256
(base32
"14zjyqcdiqx6js99nx5s8hmyx564ixy2d8s6i7wa50xmx368rl6b"))))
"11zvxidlb1pr2j5dzvmbjqdgsmmicsq8ppjf5wcfykfyf2fkcmz7"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cluster" ,r-cluster)
@ -5020,14 +4969,13 @@ groupings.")
(define-public r-vgam
(package
(name "r-vgam")
(version "1.1-1")
(version "1.1-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "VGAM" version))
(sha256
(base32
"0lnsqx3q3k0c7sj8gj0n6shn2fyxwrh8xph8h1r1i23ybbb2n6fy"))))
(base32 "0kyan3a4ys2xbg9kf167cyf1gk7g963id62cjm2ij4i7y4wi61zq"))))
(properties `((upstream-name . "VGAM")))
(build-system r-build-system)
(inputs
@ -5088,14 +5036,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.")
(define-public r-rcppeigen
(package
(name "r-rcppeigen")
(version "0.3.3.5.0")
(version "0.3.3.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "RcppEigen" version))
(sha256
(base32
"01bz41c29591ybzqn4z88ss036ai3anh9figryvmfpqcfwbszip5"))))
"1b78qcjim0n9klgkr82n794d6bj9r9f33g0kcsszsns2hir65sk2"))))
(properties `((upstream-name . "RcppEigen")))
(build-system r-build-system)
(propagated-inputs
@ -5268,14 +5216,13 @@ bootstrap test for generalized linear mixed models.")
(define-public r-cardata
(package
(name "r-cardata")
(version "3.0-2")
(version "3.0-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "carData" version))
(sha256
(base32
"152lfgaspgx6x2wzdb5p3zv6r87a0d2pg10h6fjmdr613kzlwp1v"))))
(base32 "0cg2yxzn0pdjqykr60my1fzpfkqac21fll5hv3m9w5c9sayq8swq"))))
(properties `((upstream-name . "carData")))
(build-system r-build-system)
(home-page "https://r-forge.r-project.org/projects/car/")
@ -5288,14 +5235,13 @@ Companion to Applied Regression, Third Edition, Sage.")
(define-public r-car
(package
(name "r-car")
(version "3.0-4")
(version "3.0-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "car" version))
(sha256
(base32
"1mhfxrb62yanaz36f4n38p9hhnqbs5b19k0864w4ja1ccgh3nl3f"))))
(base32 "0w7fm81pn0wqrwzbjyddnrkpjl8gavg7ijh7rab9f21rkgkzgm3y"))))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
@ -5764,26 +5710,6 @@ table made by the command @code{show256Colors()}. You can also set the colors
to any arbitrary string. In this case, it is up to you to set valid values.")
(license license:gpl3+)))
(define-public r-txtplot
(package
(name "r-txtplot")
(version "1.0-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "txtplot" version))
(sha256
(base32
"1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/txtplot/")
(synopsis "Text-based plotting")
(description "This package provides functions to produce rudimentary ASCII
graphics directly in the terminal window. This package provides a basic
plotting function (and equivalents of curve, density, acf and barplot) as well
as a boxplot function.")
(license license:lgpl3+)))
(define-public python-rpy2
;; We need to take this changeset instead of the RELEASE_3_0_4 tag, because
;; it fixes a regression when using ggplot 3.2.0.

View File

@ -263,6 +263,39 @@ required structures.")
(inputs `(("unbound" ,unbound)
,@(package-inputs gnutls)))))
(define gnutls-3.6.10
;; This is for 'guile3.0-gnutls', below. Version 3.6.10 is the first to
;; introduce Guile 2.9/3.0 support.
(package
(inherit gnutls)
(version "3.6.10")
(source (origin
(inherit (package-source gnutls))
(uri (string-append "mirror://gnupg/gnutls/v"
(version-major+minor version)
"/gnutls-" version ".tar.xz"))
(sha256
(base32
"14r2h73yfj66cm14k9mnb3kgzq5a7qjg5b31m53bf19vcxkwmwxi"))))))
(define-public guile3.0-gnutls
(package
(inherit gnutls-3.6.10)
(name "guile3.0-gnutls")
(arguments
(substitute-keyword-arguments (package-arguments gnutls-3.6.10)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'build 'leave-guile-stdout-open
(lambda _
;; Work around <https://bugs.gnu.org/38348>.
(substitute* "guile/Makefile"
(("out=-") "out=/dev/null"))
#t))))))
(inputs `(("guile" ,guile-next)
,@(alist-delete "guile"
(package-inputs gnutls-3.6.10))))))
(define-public openssl
(package
(name "openssl")

View File

@ -1497,7 +1497,7 @@ projects while introducing many more.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2019.11.05")
(version "2019.11.22")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@ -1505,7 +1505,7 @@ projects while introducing many more.")
version ".tar.gz"))
(sha256
(base32
"129461i4103slqj3nq69djnlmgjj3lfgmazn41avc5g967w29b85"))))
"0avdlp0dc9p3lm68mfnic21x6blxmr0zvlxa4br5vj4y4sckq2m8"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View File

@ -198,7 +198,7 @@ with the editor vim.")))
display " &")))))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("xorg-server" ,xorg-server)
("xorg-server" ,xorg-server-for-tests)
,@(package-native-inputs vim)))
(inputs
`(("acl" ,acl)

View File

@ -1089,15 +1089,15 @@ virtual machines.")
(define-public bubblewrap
(package
(name "bubblewrap")
(version "0.3.3")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/projectatomic/bubblewrap/"
(uri (string-append "https://github.com/containers/bubblewrap/"
"releases/download/v" version "/bubblewrap-"
version ".tar.xz"))
(sha256
(base32
"1zsd6rxryg97dkkhibr0fvq16x3s75qj84rvhdv8p42ag58mz966"))))
"08r0f4c3fjkb4zjrb4kkax1zfcgcgic702vb62sjjw5xfhppvzp5"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1134,7 +1134,7 @@ virtual machines.")
(native-inputs
`(("python-2" ,python-2)
("util-linux" ,util-linux)))
(home-page "https://github.com/projectatomic/bubblewrap")
(home-page "https://github.com/containers/bubblewrap")
(synopsis "Unprivileged sandboxing tool")
(description "Bubblewrap is aimed at running applications in a sandbox,
restricting their access to parts of the operating system or user data such as

View File

@ -1596,14 +1596,14 @@ language known as SASS.")
(define-public perl-apache-logformat-compiler
(package
(name "perl-apache-logformat-compiler")
(version "0.35")
(version "0.36")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/K/KA/KAZEBURO/"
"Apache-LogFormat-Compiler-" version ".tar.gz"))
(sha256
(base32 "06i70ydxk2wa2rcqn16842kra2qz3jwk0vk1abq8lah4180c0m0n"))))
(base32 "05xcl7j65vakx7x79jqjikyw0nzf60bc2w6hhc0q5sklxq1ral4l"))))
(build-system perl-build-system)
(native-inputs
`(("perl-http-message" ,perl-http-message)
@ -4190,8 +4190,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(package-with-python2 python-feedparser))
(define-public guix-data-service
(let ((commit "23f60a6bbb923a9510d95250b4a1626cb8a84b7f")
(revision "5"))
(let ((commit "af1324855e1ecaf9b1dd7afcc714d09aaa38f081")
(revision "6"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4203,7 +4203,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version))
(sha256
(base32
"08v6wdj5ia139krplc7y74s4rm1iblqf91713z69yhh5zbkvyxg8"))))
"1qxs1sbyx894njw4f898wzc5shjj85h9kgz95p8mq1acmazhlhkv"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@ -5588,7 +5588,7 @@ inspired by Ruby's @code{fakeweb}.")
(define-public jo
(package
(name "jo")
(version "1.2")
(version "1.3")
(source
(origin
(method url-fetch)
@ -5596,7 +5596,7 @@ inspired by Ruby's @code{fakeweb}.")
version "/jo-" version ".tar.gz"))
(sha256
(base32
"1bmdck53jslrl3anqqpm6iyjdxrz445qzcc4fr37hr3wjg22zv1n"))))
"0r6yb8pjsbcqfyac4240a0sj93pb91fv385bpk395cx3f5bcj9fy"))))
(build-system gnu-build-system)
(home-page "https://github.com/jpmens/jo")
(synopsis "Output JSON from a shell")

View File

@ -5072,7 +5072,7 @@ over Xlib, including:
(define-public xorg-server
(package
(name "xorg-server")
(version "1.20.5")
(version "1.20.6")
(source
(origin
(method url-fetch)
@ -5081,7 +5081,7 @@ over Xlib, including:
"xorg-server-" version ".tar.bz2"))
(sha256
(base32
"17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8"))
"1laib9z17jksgzb67z69blcmnpbvj7i7m604b5ns7s760iii85k3"))
(patches
(list
;; See:
@ -5203,7 +5203,16 @@ draggable titlebars and borders.")
(define-public xorg-server-for-tests
(hidden-package
(package
(inherit xorg-server))))
(inherit xorg-server)
(version "1.20.5")
(source (origin
(inherit (package-source xorg-server))
(uri (string-append
"mirror://xorg/individual/xserver/"
"xorg-server-" version ".tar.bz2"))
(sha256
(base32
"17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8")))))))
(define-public xorg-server-xwayland
(package

View File

@ -235,10 +235,12 @@ made available under the /xchg CIFS share."
#:memory-size #$memory-size
#:make-disk-image? #$make-disk-image?
#:single-file-output? #$single-file-output?
;; FIXME: target-arm32? may not operate on
;; the right system/target values. Rewrite
;; FIXME: target-arm32? and
;; target-aarch64? may not operate on the
;; right system/target values. Rewrite
;; using let-system when available.
#:target-arm32? #$(target-arm32?)
#:target-aarch64? #$(target-aarch64?)
#:disk-image-format #$disk-image-format
#:disk-image-size size
#:references-graphs graphs))))))
@ -452,10 +454,10 @@ system."
;; bootloaders if we are not targeting ARM because UEFI
;; support in U-Boot is experimental.
;;
;; FIXME: target-arm32? may be not operate on the right
;; FIXME: target-arm? may be not operate on the right
;; system/target values. Rewrite using let-system when
;; available.
(if #$(target-arm32?)
(if #$(target-arm?)
'()
(list (partition
;; The standalone grub image is about 10MiB, but
@ -466,10 +468,11 @@ system."
;; when mounting. The actual FAT-ness is based
;; on file system size (16 in this case).
(file-system "vfat")
(flags '(esp))))))))
(flags '(esp)))))))
(grub-efi #$(and (not (target-arm?)) grub-efi)))
(initialize-hard-disk "/dev/vda"
#:partitions partitions
#:grub-efi #$grub-efi
#:grub-efi grub-efi
#:bootloader-package
#$(bootloader-package bootloader)
#:bootcfg #$bootcfg-drv

View File

@ -39,25 +39,32 @@
;;;
;;; Code:
(define %default-optimizations
;; Default optimization options (equivalent to -O2 on Guile 2.2).
(append (if (defined? 'tree-il-default-optimization-options)
(tree-il-default-optimization-options) ;Guile 2.2
(tree-il-optimizations)) ;Guile 3
(if (defined? 'cps-default-optimization-options)
(cps-default-optimization-options) ;Guile 2.2
(cps-optimizations)))) ;Guile 3
(define optimizations-for-level
(or (and=> (false-if-exception
(resolve-interface '(system base optimize)))
(lambda (iface)
(module-ref iface 'optimizations-for-level))) ;Guile 3.0
(let () ;Guile 2.2
(define %default-optimizations
;; Default optimization options (equivalent to -O2 on Guile 2.2).
(append (tree-il-default-optimization-options)
(cps-default-optimization-options)))
(define %lightweight-optimizations
;; Lightweight optimizations (like -O0, but with partial evaluation).
(let loop ((opts %default-optimizations)
(result '()))
(match opts
(() (reverse result))
((#:partial-eval? _ rest ...)
(loop rest `(#t #:partial-eval? ,@result)))
((kw _ rest ...)
(loop rest `(#f ,kw ,@result))))))
(define %lightweight-optimizations
;; Lightweight optimizations (like -O0, but with partial evaluation).
(let loop ((opts %default-optimizations)
(result '()))
(match opts
(() (reverse result))
((#:partial-eval? _ rest ...)
(loop rest `(#t #:partial-eval? ,@result)))
((kw _ rest ...)
(loop rest `(#f ,kw ,@result))))))
(lambda (level)
(if (<= level 1)
%lightweight-optimizations
%default-optimizations)))))
(define (supported-warning-type? type)
"Return true if TYPE, a symbol, denotes a supported warning type."
@ -80,8 +87,8 @@
(define (optimization-options file)
"Return the default set of optimizations options for FILE."
(if (string-contains file "gnu/packages/")
%lightweight-optimizations ;build faster
'()))
(optimizations-for-level 1) ;build faster
(optimizations-for-level 3)))
(define (scm->go file)
"Strip the \".scm\" suffix from FILE, and append \".go\"."

View File

@ -26,9 +26,9 @@
(if env-val (string-append env-val ":" path) path)))
(let ((qml-path (suffix "QML2_IMPORT_PATH"
(string-append out "/qml")))
(string-append out "/lib/qt5/qml")))
(plugin-path (suffix "QT_PLUGIN_PATH"
(string-append out "/plugins")))
(string-append out "/lib/qt5/plugins")))
(xdg-data-path (suffix "XDG_DATA_DIRS"
(string-append out "/share")))
(xdg-config-path (suffix "XDG_CONFIG_DIRS"

View File

@ -140,7 +140,9 @@ expression describing it."
(synopsis (sxml-value '(entry caption *text*)))
(version (or (sxml-value '(entry version @ number *text*))
(sxml-value '(entry version @ date *text*))))
(license (string->license (sxml-value '(entry license @ type *text*))))
(license (match ((sxpath '(entry license @ type *text*)) sxml)
((license) (string->license license))
((lst ...) (map string->license lst))))
(home-page (string-append "http://www.ctan.org/pkg/" id))
(ref (texlive-ref component id))
(checkout (download-svn-to-store store ref)))
@ -169,7 +171,9 @@ expression describing it."
(sxml->string (or (sxml-value '(entry description))
'())))
#\newline)))))
(license ,license)))))
(license ,(match license
((lst ...) `(list ,@lst))
(license license)))))))
(define texlive->guix-package
(memoize

View File

@ -92,6 +92,7 @@
manifest-pattern-version
manifest-pattern-output
concatenate-manifests
manifest-remove
manifest-add
manifest-lookup
@ -515,6 +516,10 @@ procedure is here for backward-compatibility and will eventually vanish."
"Return the packages listed in MANIFEST."
(sexp->manifest (read port)))
(define (concatenate-manifests lst)
"Concatenate the manifests listed in LST and return the resulting manifest."
(manifest (append-map manifest-entries lst)))
(define (entry-predicate pattern)
"Return a procedure that returns #t when passed a manifest entry that
matches NAME/OUTPUT/VERSION. OUTPUT and VERSION may be #f, in which case they

View File

@ -55,7 +55,7 @@
;; Alist of default option values.
`((system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(graft? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)

View File

@ -504,7 +504,7 @@ options handled by 'set-build-options-from-command-line', and listed in
(display (G_ "
--no-grafts do not graft packages"))
(display (G_ "
--no-build-hook do not attempt to offload builds via the build hook"))
--no-offload do not attempt to offload builds"))
(display (G_ "
--max-silent-time=SECONDS
mark the build as failed after SECONDS of silence"))
@ -545,7 +545,8 @@ talking to a remote daemon\n")))
#:fallback? (assoc-ref opts 'fallback?)
#:use-substitutes? (assoc-ref opts 'substitutes?)
#:substitute-urls (assoc-ref opts 'substitute-urls)
#:use-build-hook? (assoc-ref opts 'build-hook?)
#:offload? (and (assoc-ref opts 'offload?)
(not (assoc-ref opts 'keep-failed?)))
#:max-silent-time (assoc-ref opts 'max-silent-time)
#:timeout (assoc-ref opts 'timeout)
#:print-build-trace (assoc-ref opts 'print-build-trace?)
@ -610,11 +611,15 @@ talking to a remote daemon\n")))
(alist-cons 'graft? #f
(alist-delete 'graft? result eq?))
rest)))
(option '("no-build-hook") #f #f
(option '("no-offload" "no-build-hook") #f #f
(lambda (opt name arg result . rest)
(when (string=? name "no-build-hook")
(warning (G_ "'--no-build-hook' is deprecated; \
use '--no-offload' instead~%")))
(apply values
(alist-cons 'build-hook? #f
(alist-delete 'build-hook? result))
(alist-cons 'offload? #f
(alist-delete 'offload? result))
rest)))
(option '("max-silent-time") #t #f
(lambda (opt name arg result . rest)
@ -659,7 +664,7 @@ talking to a remote daemon\n")))
`((build-mode . ,(build-mode normal))
(graft? . #t)
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)

View File

@ -158,7 +158,7 @@ Copy ITEMS to or from the specified host over SSH.\n"))
(define %default-options
`((system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(graft? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)

View File

@ -84,7 +84,7 @@ Perform the deployment specified by FILE.\n"))
(debug . 0)
(graft? . #t)
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)))

View File

@ -191,7 +191,7 @@ COMMAND or an interactive shell in that environment.\n"))
(define %default-options
`((system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(graft? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)

View File

@ -60,7 +60,7 @@
;;; retrieving the build output(s) over SSH upon success.
;;;
;;; This command should not be used directly; instead, it is called on-demand
;;; by the daemon, unless it was started with '--no-build-hook' or a client
;;; by the daemon, unless it was started with '--no-offload' or a client
;;; inhibited build hooks.
;;;
;;; Code:

View File

@ -759,7 +759,7 @@ last resort for relocation."
(profile-name . "guix-profile")
(system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(graft? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
@ -965,7 +965,10 @@ Create a bundle of PACKAGE.\n"))
(list (transform store package) "out")))
(reverse
(filter-map maybe-package-argument opts))))
(manifest-file (assoc-ref opts 'manifest)))
(manifests (filter-map (match-lambda
(('manifest . file) file)
(_ #f))
opts)))
(define properties
(if (assoc-ref opts 'save-provenance?)
(lambda (package)
@ -979,11 +982,15 @@ Create a bundle of PACKAGE.\n"))
(const '())))
(cond
((and manifest-file (not (null? packages)))
((and (not (null? manifests)) (not (null? packages)))
(leave (G_ "both a manifest and a package list were given~%")))
(manifest-file
(let ((user-module (make-user-module '((guix profiles) (gnu)))))
(load* manifest-file user-module)))
((not (null? manifests))
(concatenate-manifests
(map (lambda (file)
(let ((user-module (make-user-module
'((guix profiles) (gnu)))))
(load* file user-module)))
manifests)))
(else
(manifest
(map (match-lambda

View File

@ -318,7 +318,7 @@ Alternately, see @command{guix package --search-paths -p ~s}.")
(debug . 0)
(graft? . #t)
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)))
@ -832,32 +832,17 @@ processed, #f otherwise."
(unless dry-run?
(delete-matching-generations store profile pattern)))
(define* (manifest-action store profile file opts
#:key dry-run?)
"Change PROFILE to contain the packages specified in FILE."
(let* ((user-module (make-user-module '((guix profiles) (gnu))))
(manifest (load* file user-module))
(bootstrap? (assoc-ref opts 'bootstrap?))
(substitutes? (assoc-ref opts 'substitutes?))
(allow-collisions? (assoc-ref opts 'allow-collisions?)))
(if dry-run?
(format #t (G_ "would install new manifest from '~a' with ~d entries~%")
file (length (manifest-entries manifest)))
(format #t (G_ "installing new manifest from '~a' with ~d entries~%")
file (length (manifest-entries manifest))))
(build-and-use-profile store profile manifest
#:allow-collisions? allow-collisions?
#:bootstrap? bootstrap?
#:use-substitutes? substitutes?
#:dry-run? dry-run?)))
(define (load-manifest file)
"Load the user-profile manifest (Scheme code) from FILE and return it."
(let ((user-module (make-user-module '((guix profiles) (gnu)))))
(load* file user-module)))
(define %actions
;; List of actions that may be processed. The car of each pair is the
;; action's symbol in the option list; the cdr is the action's procedure.
`((roll-back? . ,roll-back-action)
(switch-generation . ,switch-generation-action)
(delete-generations . ,delete-generations-action)
(manifest . ,manifest-action)))
(delete-generations . ,delete-generations-action)))
(define (process-actions store opts)
"Process any install/remove/upgrade action from OPTS."
@ -896,7 +881,13 @@ processed, #f otherwise."
opts)
;; Then, process normal package removal/installation/upgrade.
(let* ((manifest (profile-manifest profile))
(let* ((files (filter-map (match-lambda
(('manifest . file) file)
(_ #f))
opts))
(manifest (match files
(() (profile-manifest profile))
(_ (concatenate-manifests (map load-manifest files)))))
(step1 (options->removable opts manifest
(manifest-transaction)))
(step2 (options->installable opts manifest step1))
@ -904,12 +895,23 @@ processed, #f otherwise."
(inherit step2)
(install (map transform-entry
(manifest-transaction-install step2)))))
(new (manifest-perform-transaction manifest step3)))
(new (manifest-perform-transaction manifest step3))
(trans (if (null? files)
step3
(fold manifest-transaction-install-entry
step3
(manifest-entries manifest)))))
(warn-about-old-distro)
(unless (manifest-transaction-null? step3)
(show-manifest-transaction store manifest step3
(unless (manifest-transaction-null? trans)
;; When '--manifest' is used, display information about TRANS as if we
;; were starting from an empty profile.
(show-manifest-transaction store
(if (null? files)
manifest
(make-manifest '()))
trans
#:dry-run? dry-run?)
(build-and-use-profile store profile new
#:allow-collisions? allow-collisions?

View File

@ -71,7 +71,7 @@
;; Alist of default option values.
`((system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)

View File

@ -86,6 +86,8 @@
read-narinfo
write-narinfo
%allow-unauthenticated-substitutes?
substitute-urls
guix-substitute))
@ -118,15 +120,21 @@
(string-append %state-directory "/substitute/cache"))
(string-append (cache-directory #:ensure? #f) "/substitute")))
(define (warn-about-missing-authentication)
(warning (G_ "authentication and authorization of substitutes \
disabled!~%"))
#t)
(define %allow-unauthenticated-substitutes?
;; Whether to allow unchecked substitutes. This is useful for testing
;; purposes, and should be avoided otherwise.
(and (and=> (getenv "GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES")
(cut string-ci=? <> "yes"))
(begin
(warning (G_ "authentication and authorization of substitutes \
disabled!~%"))
#t)))
(make-parameter
(and=> (getenv "GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES")
(cut string-ci=? <> "yes"))
(lambda (value)
(when value
(warn-about-missing-authentication))
value)))
(define %narinfo-ttl
;; Number of seconds during which cached narinfo lookups are considered
@ -227,58 +235,6 @@ provide."
(leave (G_ "unsupported substitute URI scheme: ~a~%")
(uri->string uri)))))
(define-record-type <cache-info>
(%make-cache-info url store-directory wants-mass-query?)
cache-info?
(url cache-info-url)
(store-directory cache-info-store-directory)
(wants-mass-query? cache-info-wants-mass-query?))
(define (download-cache-info url)
"Download the information for the cache at URL. On success, return a
<cache-info> object and a port on which to send further HTTP requests. On
failure, return #f and #f."
(define uri
(string->uri (string-append url "/nix-cache-info")))
(define (read-cache-info port)
(alist->record (fields->alist port)
(cut %make-cache-info url <...>)
'("StoreDir" "WantMassQuery")))
(catch #t
(lambda ()
(case (uri-scheme uri)
((file)
(values (call-with-input-file (uri-path uri)
read-cache-info)
#f))
((http https)
(let ((port (guix:open-connection-for-uri
uri
#:verify-certificate? #f
#:timeout %fetch-timeout)))
(guard (c ((http-get-error? c)
(warning (G_ "while fetching '~a': ~a (~s)~%")
(uri->string (http-get-error-uri c))
(http-get-error-code c)
(http-get-error-reason c))
(close-connection port)
(warning (G_ "ignoring substitute server at '~s'~%") url)
(values #f #f)))
(values (read-cache-info (http-fetch uri
#:verify-certificate? #f
#:port port
#:keep-alive? #t))
port))))))
(lambda (key . args)
(case key
((getaddrinfo-error system-error)
;; Silently ignore the error: probably due to lack of network access.
(values #f #f))
(else
(apply throw key args))))))
(define-record-type <narinfo>
(%make-narinfo path uri-base uris compressions file-sizes file-hashes
@ -422,7 +378,7 @@ No authentication and authorization checks are performed here!"
(define* (valid-narinfo? narinfo #:optional (acl (current-acl))
#:key verbose?)
"Return #t if NARINFO's signature is not valid."
(or %allow-unauthenticated-substitutes?
(or (%allow-unauthenticated-substitutes?)
(let ((hash (narinfo-sha256 narinfo))
(signature (narinfo-signature narinfo))
(uri (uri->string (first (narinfo-uris narinfo)))))
@ -628,6 +584,41 @@ if file doesn't exist, and the narinfo otherwise."
#f
(apply throw args)))))
(define %unreachable-hosts
;; Set of names of unreachable hosts.
(make-hash-table))
(define* (open-connection-for-uri/maybe uri
#:key
(verify-certificate? #f)
(time %fetch-timeout))
"Open a connection to URI and return a port to it, or, if connection failed,
print a warning and return #f."
(define host
(uri-host uri))
(catch #t
(lambda ()
(guix:open-connection-for-uri uri
#:verify-certificate? verify-certificate?
#:timeout time))
(match-lambda*
(('getaddrinfo-error error)
(unless (hash-ref %unreachable-hosts host)
(hash-set! %unreachable-hosts host #t) ;warn only once
(warning (G_ "~a: host not found: ~a~%")
host (gai-strerror error)))
#f)
(('system-error . args)
(unless (hash-ref %unreachable-hosts host)
(hash-set! %unreachable-hosts host #t)
(warning (G_ "~a: connection failed: ~a~%") host
(strerror
(system-error-errno `(system-error ,@args)))))
#f)
(args
(apply throw args)))))
(define (fetch-narinfos url paths)
"Retrieve all the narinfos for PATHS from the cache at URL and return them."
(define update-progress!
@ -657,13 +648,18 @@ if file doesn't exist, and the narinfo otherwise."
(len (response-content-length response))
(cache (response-cache-control response))
(ttl (and cache (assoc-ref cache 'max-age))))
(update-progress!)
;; Make sure to read no more than LEN bytes since subsequent bytes may
;; belong to the next response.
(if (= code 200) ; hit
(let ((narinfo (read-narinfo port url #:size len)))
(cache-narinfo! url (narinfo-path narinfo) narinfo ttl)
(update-progress!)
(cons narinfo result))
(if (string=? (dirname (narinfo-path narinfo))
(%store-prefix))
(begin
(cache-narinfo! url (narinfo-path narinfo) narinfo ttl)
(cons narinfo result))
result))
(let* ((path (uri-path (request-uri request)))
(hash-part (basename
(string-drop-right path 8)))) ;drop ".narinfo"
@ -674,26 +670,28 @@ if file doesn't exist, and the narinfo otherwise."
(if (= 404 code)
ttl
%narinfo-transient-error-ttl))
(update-progress!)
result))))
(define (do-fetch uri port)
(define (do-fetch uri)
(case (and=> uri uri-scheme)
((http https)
(let ((requests (map (cut narinfo-request url <>) paths)))
(update-progress!)
;; Note: Do not check HTTPS server certificates to avoid depending on
;; the X.509 PKI. We can do it because we authenticate narinfos,
;; which provides a much stronger guarantee.
(let ((result (http-multiple-get uri
handle-narinfo-response '()
requests
#:verify-certificate? #f
#:port port)))
(close-connection port)
(newline (current-error-port))
result)))
(match (open-connection-for-uri/maybe uri)
(#f
'())
(port
(update-progress!)
;; Note: Do not check HTTPS server certificates to avoid depending
;; on the X.509 PKI. We can do it because we authenticate
;; narinfos, which provides a much stronger guarantee.
(let ((result (http-multiple-get uri
handle-narinfo-response '()
requests
#:verify-certificate? #f
#:port port)))
(close-port port)
(newline (current-error-port))
result)))))
((file #f)
(let* ((base (string-append (uri-path uri) "/"))
(files (map (compose (cut string-append base <> ".narinfo")
@ -704,17 +702,7 @@ if file doesn't exist, and the narinfo otherwise."
(leave (G_ "~s: unsupported server URI scheme~%")
(if uri (uri-scheme uri) url)))))
(let-values (((cache-info port)
(download-cache-info url)))
(and cache-info
(if (string=? (cache-info-store-directory cache-info)
(%store-prefix))
(do-fetch (string->uri url) port) ;reuse PORT
(begin
(warning (G_ "'~a' uses different store '~a'; ignoring it~%")
url (cache-info-store-directory cache-info))
(close-connection port)
#f)))))
(do-fetch (string->uri url)))
(define (lookup-narinfos cache paths)
"Return the narinfos for PATHS, invoking the server at CACHE when no

View File

@ -1013,7 +1013,7 @@ Some ACTIONS support additional ARGS.\n"))
;; Alist of default option values.
`((system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(offload? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)

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