me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2019-10-27 10:17:14 +01:00
commit a557810ac7
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
45 changed files with 2290 additions and 457 deletions

View File

@ -58,6 +58,7 @@ Translation Project}.
* Scheme tutorials:: Meet your new favorite language!
* Packaging:: Packaging tutorials
* System Configuration:: Customizing the GNU System
* Advanced package management:: Power to the users!
* Acknowledgments:: Thanks!
* GNU Free Documentation License:: The license of this document.
@ -124,14 +125,14 @@ and @code{#f} stand for the booleans "true" and "false", respectively.
Examples of valid expressions:
@example scheme
@lisp
> "Hello World!"
"Hello World!"
> 17
17
> (display (string-append "Hello " "Guix" "\n"))
"Hello Guix!"
@end example
@end lisp
@item
This last example is a function call nested in another function call. When a
@ -142,66 +143,66 @@ last evaluated expression as its return value.
@item
Anonymous functions are declared with the @code{lambda} term:
@example scheme
@lisp
> (lambda (x) (* x x))
#<procedure 120e348 at <unknown port>:24:0 (x)>
@end example
@end lisp
The above procedure returns the square of its argument. Since everything is
an expression, the @code{lambda} expression returns an anonymous procedure,
which can in turn be applied to an argument:
@example scheme
@lisp
> ((lambda (x) (* x x)) 3)
9
@end example
@end lisp
@item
Anything can be assigned a global name with @code{define}:
@example scheme
@lisp
> (define a 3)
> (define square (lambda (x) (* x x)))
> (square a)
9
@end example
@end lisp
@item
Procedures can be defined more concisely with the following syntax:
@example scheme
@lisp
(define (square x) (* x x))
@end example
@end lisp
@item
A list structure can be created with the @code{list} procedure:
@example scheme
@lisp
> (list 2 a 5 7)
(2 3 5 7)
@end example
@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.
@example scheme
@lisp
> '(display (string-append "Hello " "Guix" "\n"))
(display (string-append "Hello " "Guix" "\n"))
> '(2 a 5 7)
(2 a 5 7)
@end example
@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.
@example scheme
@lisp
> `(2 a 5 7 (2 ,a 5 ,(+ a 4)))
(2 a 5 7 (2 3 5 7))
@end example
@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.
@ -209,7 +210,7 @@ Note that the above result is a list of mixed elements: numbers, symbols (here
@item
Multiple variables can be named locally with @code{let}:
@example scheme
@lisp
> (define x 10)
> (let ((x 2)
(y 3))
@ -219,17 +220,17 @@ Multiple variables can be named locally with @code{let}:
10
> y
ERROR: In procedure module-lookup: Unbound variable: y
@end example
@end lisp
Use @code{let*} to allow later variable declarations to refer to earlier
definitions.
@example scheme
@lisp
> (let* ((x 2)
(y (* x 3)))
(list x y))
(2 6)
@end example
@end lisp
@item
The keyword syntax is @code{#:}; it is used to create unique identifiers.
@ -243,12 +244,12 @@ Scheme treats @code{%} exactly the same as any other letter.
@item
Modules are created with @code{define-module}. For instance
@example scheme
@lisp
(define-module (guix build-system ruby)
#:use-module (guix store)
#:export (ruby-build
ruby-build-system))
@end example
@end lisp
defines the module @code{guix build-system ruby} which must be located in
@file{guix/build-system/ruby.scm} somewhere in the Guile load path. It
@ -342,7 +343,7 @@ 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
hello} from the command line. Let's see how it looks:
@example scheme
@lisp
(define-public hello
(package
(name "hello")
@ -362,7 +363,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
As you can see, most of it is rather straightforward. But let's review the
fields together:
@ -422,7 +423,7 @@ setup later; for now we will go the simplest route.
Save the following to a file @file{my-hello.scm}.
@example scheme
@lisp
(use-modules (guix packages)
(guix download)
(guix build-system gnu)
@ -446,7 +447,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
We will explain the extra code in a moment.
@ -563,7 +564,7 @@ nature of how the package definition is written.
The @code{linux-libre} kernel package definition is actually a procedure which
creates a package.
@example scheme
@lisp
(define* (make-linux-libre version hash supported-systems
#:key
;; A function that takes an arch and a variant.
@ -574,19 +575,19 @@ creates a package.
(extra-options %default-extra-linux-options)
(patches (list %boot-logo-patch)))
...)
@end example
@end lisp
The current @code{linux-libre} package is for the 5.1.x series, and is
declared like this:
@example scheme
@lisp
(define-public linux-libre
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
#:patches %linux-libre-5.1-patches
#:configuration-file kernel-config))
@end example
@end lisp
Any keys which are not assigned values inherit their default value from the
@code{make-linux-libre} definition. When comparing the two snippets above,
@ -602,7 +603,7 @@ including an actual @file{.config} file as a native input to our custom
kernel. The following is a snippet from the custom @code{'configure} phase of
the @code{make-linux-libre} package definition:
@example scheme
@lisp
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref (or native-inputs inputs) "kconfig")))
@ -613,13 +614,13 @@ the @code{make-linux-libre} package definition:
(copy-file config ".config")
(chmod ".config" #o666))
(invoke "make" ,defconfig))
@end example
@end lisp
Below is a sample kernel package. The @code{linux-libre} package is nothing
special and can be inherited from and have its fields overridden like any
other package:
@example scheme
@lisp
(define-public linux-libre/E2140
(package
(inherit linux-libre)
@ -627,7 +628,7 @@ other package:
`(("kconfig" ,(local-file "E2140.config"))
,@@(alist-delete "kconfig"
(package-native-inputs linux-libre))))))
@end example
@end lisp
In the same directory as the file defining @code{linux-libre-E2140} is a file
named @file{E2140.config}, which is an actual kernel configuration file. The
@ -640,7 +641,7 @@ The second way to create a custom kernel is to pass a new value to the
@code{extra-options} keyword works with another function defined right below
it:
@example scheme
@lisp
(define %default-extra-linux-options
`(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
@ -666,11 +667,11 @@ it:
(string-append option "=n")))
options)
"\n"))
@end example
@end lisp
And in the custom configure script from the `make-linux-libre` package:
@example scheme
@lisp
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a"))
@ -679,13 +680,13 @@ And in the custom configure script from the `make-linux-libre` package:
(close-port port))
(invoke "make" "oldconfig"))))
@end example
@end lisp
So by not providing a configuration-file the @file{.config} starts blank, and
then we write into it the collection of flags that we want. Here's another
custom kernel:
@example scheme
@lisp
(define %macbook41-full-config
(append %macbook41-config-options
%filesystems
@ -702,7 +703,7 @@ custom kernel:
#:extra-version "macbook41"
#:patches (@@@@ (gnu packages linux) %linux-libre-5.1-patches)
#:extra-options %macbook41-config-options))
@end example
@end lisp
In the above example @code{%filesystems} is a collection of flags enabling
different filesystem support, @code{%efi-support} enables EFI support and
@ -778,6 +779,394 @@ likely that you'll need to modify the initrd on a machine using a custom
kernel, since certain modules which are expected to be built may not be
available for inclusion into the initrd.
@c *********************************************************************
@node Advanced package management
@chapter Advanced package management
Guix is a functional package manager that offers many features beyond
what more traditional package managers can do. To the uninitiated,
those features might not have obvious use cases at first. The purpose
of this chapter is to demonstrate some advanced package management
concepts.
@pxref{Package Management,,, guix, GNU Guix Reference Manual} for a complete
reference.
@menu
* Guix Profiles in Practice:: Strategies for multiple profiles and manifests.
@end menu
@node Guix Profiles in Practice
@section Guix Profiles in Practice
Guix provides a very useful feature that may be quite foreign to newcomers:
@emph{profiles}. They are a way to group package installations together and all users
on a same system are free to use as many profiles as they want.
Whether you're a developer or not, you may find that multiple profiles bring you
great power and flexibility. While they shift the paradigm somewhat compared to
@emph{traditional package managers}, they are very convenient to use once you've
understood how to set them up.
If you are familiar with Python's @samp{virtualenv}, you can think of a profile as a
kind of universal @samp{virtualenv} that can hold any kind of software whatsoever, not
just Python software. Furthermore, profiles are self-sufficient: they capture
all the runtime dependencies which guarantees that all programs within a profile
will always work at any point in time.
Multiple profiles have many benefits:
@itemize
@item
Clean semantic separation of the various packages a user needs for different contexts.
@item
Multiple profiles can be made available into the environment either on login
or within a dedicated shell.
@item
Profiles can be loaded on demand. For instance, the user can use multiple
shells, each of them running different profiles.
@item
Isolation: Programs from one profile will not use programs from the other, and
they user can even install different versions of the same programs to the two
profiles without conflict.
@item
Deduplication: Profiles share dependencies that happens to be the exact same.
This makes multiple profiles storage-efficient.
@item
Reproducible: when used with declarative manifests, a profile can be fully
specified by the Guix commit that was active when it was set up. This means
that the exact same profile can be @uref{https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/, set up anywhere, anytime}, with just the
commit information. See the section on @ref{Reproducible profiles}.
@item
Easier upgrades and maintenance: Multiple profiles make it easy to keep
package listings at hand and make upgrades completely friction-less.
@end itemize
Concretely, here follows some typical profiles:
@itemize
@item
The dependencies of a project you are working on.
@item
Your favourite programming language libraries.
@item
Laptop-specific programs (like @samp{powertop}) that you don't need on a desktop.
@item
@TeX{}live (this one can be really useful when you need to install just one
package for this one document you've just received over email).
@item
Games.
@end itemize
Let's dive in the set up!
@node Basic setup with manifests
@subsection Basic setup with manifests
A Guix profile can be set up @emph{via} a so-called @emph{manifest specification} that looks like
this:
@lisp
(specifications->manifest
'("package-1"
;; Version 1.3 of package-2.
"package-2@@1.3"
;; The "lib" output of package-3.
"package-3:lib"
; ...
"package-N"))
@end lisp
@pxref{Invoking guix package,,, guix, GNU Guix Reference Manual}, for
the syntax details.
We can create a manifest specification per profile and install them this way:
@example
GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
mkdir -p "$GUIX_EXTRA_PROFILES"/my-project # if it does not exist yet
guix package --manifest=/path/to/guix-my-project-manifest.scm --profile="$GUIX_EXTRA_PROFILES"/my-project/my-project
@end example
Here we set an arbitrary variable @samp{GUIX_EXTRA_PROFILES} to point to the directory
where we will store our profiles in the rest of this article.
Placing all your profiles in a single directory, with each profile getting its
own sub-directory, is somewhat cleaner. This way, each sub-directory will
contain all the symlinks for precisely one profile. Besides, "looping over
profiles" becomes obvious from any programming language (e.g. a shell script) by
simply looping over the sub-directories of @samp{$GUIX_EXTRA_PROFILES}.
Note that it's also possible to loop over the output of
@example
guix package --list-profiles
@end example
although you'll probably have to filter out @samp{~/.config/guix/current}.
To enable all profiles on login, add this to your @samp{~/.bash_profile} (or similar):
@example
for i in $GUIX_EXTRA_PROFILES/*; do
profile=$i/$(basename "$i")
if [ -f "$profile"/etc/profile ]; then
GUIX_PROFILE="$profile"
. "$GUIX_PROFILE"/etc/profile
fi
unset profile
done
@end example
Note to Guix System users: the above reflects how your default profile
@samp{~/.guix-profile} is activated from @samp{/etc/profile}, that latter being loaded by
@samp{~/.bashrc} by default.
You can obviously choose to only enable a subset of them:
@example
for i in "$GUIX_EXTRA_PROFILES"/my-project-1 "$GUIX_EXTRA_PROFILES"/my-project-2; do
profile=$i/$(basename "$i")
if [ -f "$profile"/etc/profile ]; then
GUIX_PROFILE="$profile"
. "$GUIX_PROFILE"/etc/profile
fi
unset profile
done
@end example
When a profile is off, it's straightforward to enable it for an individual shell
without "polluting" the rest of the user session:
@example
GUIX_PROFILE="path/to/my-project" ; . "$GUIX_PROFILE"/etc/profile
@end example
The key to enabling a profile is to @emph{source} its @samp{etc/profile} file. This file
contains shell code that exports the right environment variables necessary to
activate the software contained in the profile. It is built automatically by
Guix and meant to be sourced.
It contains the same variables you would get if you ran:
@example
guix package --search-paths=prefix --profile=$my_profile"
@end example
Once again, see (@pxref{Invoking guix package,,, guix, GNU Guix Reference Manual})
for the command line options.
To upgrade a profile, simply install the manifest again:
@example
guix package -m /path/to/guix-my-project-manifest.scm -p "$GUIX_EXTRA_PROFILES"/my-project/my-project
@end example
To upgrade all profiles, it's easy enough to loop over them. For instance,
assuming your manifest specifications are stored in
@samp{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name
of the profile (e.g. "project1"), you could do the following in Bourne shell:
@example
for profile in "$GUIX_EXTRA_PROFILES"/*; do
guix package --profile="$profile" --manifest="$HOME/.guix-manifests/guix-$profile-manifest.scm"
done
@end example
Each profile has its own generations:
@example
guix package -p "$GUIX_EXTRA_PROFILES"/my-project/my-project --list-generations
@end example
You can roll-back to any generation of a given profile:
@example
guix package -p "$GUIX_EXTRA_PROFILES"/my-project/my-project --switch-generations=17
@end example
@node Required packages
@subsection Required packages
Activating a profile essentially boils down to exporting a bunch of
environmental variables. This is the role of the @samp{etc/profile} within the
profile.
@emph{Note: Only the environmental variables of the packages that consume them will
be set.}
For instance, @samp{MANPATH} won't be set if there is no consumer application for man
pages within the profile. So if you need to transparently access man pages once
the profile is loaded, you've got two options:
@itemize
@item
Either export the variable manually, e.g.
@example
export MANPATH=/path/to/profile$@{MANPATH:+:@}$MANPATH"
@end example
@item
Or include @samp{man-db} to the profile manifest.
@end itemize
The same is true for @samp{INFOPATH} (you can install @samp{info-reader}),
@samp{PKG_CONFIG_PATH} (install @samp{pkg-config}), etc.
@node Default profile
@subsection Default profile
What about the default profile that Guix keeps in @samp{~/.guix-profile}?
You can assign it the role you want. Typically you would install the manifest
of the packages you want to use all the time.
Alternatively, you could keep it "manifest-less" for throw-away packages
that you would just use for a couple of days.
This way makes it convenient to run
@example
guix install package-foo
guix upgrade package-bar
@end example
without having to specify the path to a profile.
@node The benefits of manifests
@subsection The benefits of manifests
Manifests are a convenient way to keep your package lists around and, say,
to synchronize them across multiple machines using a version control system.
A common complaint about manifests is that they can be slow to install when they
contain large number of packages. This is especially cumbersome when you just
want get an upgrade for one package within a big manifest.
This is one more reason to use multiple profiles, which happen to be just
perfect to break down manifests into multiple sets of semantically connected
packages. Using multiple, small profiles provides more flexibility and
usability.
Manifests come with multiple benefits. In particular, they ease maintenance:
@itemize
@item
When a profile is set up from a manifest, the manifest itself is
self-sufficient to keep a "package listing" around and reinstall the profile
later or on a different system. For ad-hoc profiles, we would need to
generate a manifest specification manually and maintain the package versions
for the packages that don't use the default version.
@item
@code{guix package --upgrade} always tries to update the packages that have
propagated inputs, even if there is nothing to do. Guix manifests remove this
problem.
@item
When partially upgrading a profile, conflicts may arise (due to diverging
dependencies between the updated and the non-updated packages) and they can be
annoying to resolve manually. Manifests remove this problem altogether since
all packages are always upgraded at once.
@item
As mentioned above, manifests allow for reproducible profiles, while the
imperative @code{guix install}, @code{guix upgrade}, etc. do not, since they produce
different profiles every time even when they hold the same packages. See
@uref{https://issues.guix.gnu.org/issue/33285, the related discussion on the matter}.
@item
Manifest specifications are usable by other @samp{guix} commands. For example, you
can run @code{guix weather -m manifest.scm} to see how many substitutes are
available, which can help you decide whether you want to try upgrading today
or wait a while. Another example: you can run @code{guix pack -m manifest.scm} to
create a pack containing all the packages in the manifest (and their
transitive references).
@item
Finally, manifests have a Scheme representation, the @samp{<manifest>} record type.
They can be manipulated in Scheme and passed to the various Guix @uref{https://en.wikipedia.org/wiki/Api, APIs}.
@end itemize
It's important to understand that while manifests can be used to declare
profiles, they are not strictly equivalent: profiles have the side effect that
they "pin" packages in the store, which prevents them from being
garbage-collected (@pxref{Invoking guix gc,,, guix, GNU Guix Reference Manual})
and ensures that they will still be available at any point in
the future.
Let's take an example:
@enumerate
@item
We have an environment for hacking on a project for which there isn't a Guix
package yet. We build the environment using a manifest, and then run @code{guix
environment -m manifest.scm}. So far so good.
@item
Many weeks pass and we have run a couple of @code{guix pull} in the mean time.
Maybe a dependency from our manifest has been updated; or we may have run
@code{guix gc} and some packages needed by our manifest have been
garbage-collected.
@item
Eventually, we set to work on that project again, so we run @code{guix environment
-m manifest.scm}. But now we have to wait for Guix to build and install
stuff!
@end enumerate
Ideally, we could spare the rebuild time. And indeed we can, all we need is to
install the manifest to a profile and use @code{GUIX_PROFILE=/the/profile;
. "$GUIX_PROFILE"/etc/profile} as explained above: this guarantees that our
hacking environment will be available at all times.
@emph{Security warning:} While keeping old profiles around can be convenient, keep in
mind that outdated packages may not have received the latest security fixes.
@node Reproducible profiles
@subsection Reproducible profiles
To reproduce a profile bit-for-bit, we need two pieces of information:
@itemize
@item
a manifest,
@item
a Guix channel specification.
@end itemize
Indeed, manifests alone might not be enough: different Guix versions (or
different channels) can produce different outputs for a given manifest.
You can output the Guix channel specification with @samp{guix describe
--format=channels}.
Save this to a file, say @samp{channel-specs.scm}.
On another computer, you can use the channel specification file and the manifest
to reproduce the exact same profile:
@example
GUIX_EXTRA_PROFILES=$HOME/.guix-extra-profiles
GUIX_EXTRA=$HOME/.guix-extra
mkdir "$GUIX_EXTRA"/my-project
guix pull --channels=channel-specs.scm --profile "$GUIX_EXTRA/my-project/guix"
mkdir -p "$GUIX_EXTRA_PROFILES/my-project"
"$GUIX_EXTRA"/my-project/guix/bin/guix package --manifest=/path/to/guix-my-project-manifest.scm --profile="$GUIX_EXTRA_PROFILES"/my-project/my-project
@end example
It's safe to delete the Guix channel profile you've just installed with the
channel specification, the project profile does not depend on it.
@c *********************************************************************
@node Acknowledgments
@chapter Acknowledgments

View File

@ -13988,6 +13988,9 @@ When @code{auto-login?} is false, GDM presents a log-in screen.
When @code{auto-login?} is true, GDM logs in directly as
@code{default-user}.
@item @code{debug?} (default: @code{#f})
When true, GDM writes debug messages to its log.
@item @code{gnome-shell-assets} (default: ...)
List of GNOME Shell assets needed by GDM: icon theme, fonts, etc.

View File

@ -769,7 +769,6 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
%D%/packages/patches/dav1d-aarch64-symbol-alignment.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
@ -976,6 +975,8 @@ dist_patch_DATA = \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-default-search-ddg.patch \
%D%/packages/patches/icecat-disable-sync.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \

View File

@ -344,7 +344,7 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.5.0-65")
(version "1.5.0-69")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -356,7 +356,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"1g2fp9vgy0gqjmi6mlc3ldfn8ryq3h4mfd7rcq5hs6ry21hblv30"))))
"05l1qa2kfmvsbp0iqjmg3ixkcqa3h9ry1mjpcps52bxw05s3k1z9"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)

View File

@ -416,7 +416,7 @@ desktops.")
(define-public qbittorrent
(package
(name "qbittorrent")
(version "4.1.6")
(version "4.1.8")
(source
(origin
(method git-fetch)
@ -425,7 +425,7 @@ desktops.")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1y9kv84sy5fg64wbl4xpm8qh0hjba7ibk045cazp0m736rjmxk8c"))))
(base32 "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -671,7 +671,7 @@ information is written to standard error.")
(define-public asunder
(package
(name "asunder")
(version "2.9.3")
(version "2.9.5")
(source (origin
(method url-fetch)
(uri
@ -680,7 +680,7 @@ information is written to standard error.")
".tar.bz2"))
(sha256
(base32
"1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"))))
"069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:out-of-source? #f

View File

@ -68,6 +68,8 @@
(ice-9 rdelim)
(ice-9 popen))
#:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-repo-tests

View File

@ -2786,14 +2786,14 @@ Delaunay triangulation and convex hull computation.")
(define-public r-ddalpha
(package
(name "r-ddalpha")
(version "1.3.9")
(version "1.3.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "ddalpha" version))
(sha256
(base32
"1vzs0cvl6xw3h9i00rg3hs02xwgxcnh8326y10kxmhs3qq4m7nb2"))))
"1064g7y8d7kmvd5kjc2m48yvidmh2ci1y0xgil3pcx4ix6mf0ljz"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bh" ,r-bh)
@ -3163,14 +3163,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
(define-public r-jomo
(package
(name "r-jomo")
(version "2.6-9")
(version "2.6-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "jomo" version))
(sha256
(base32
"16ychdhhv8cii8zrdfdf5gzgnvmfaq573bmi00xqdf323q3lf3xr"))))
"1k9l4290g350zbw1pjs871q9bxj3j2h1dilxpp06v4wy4n7d8qs0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lme4" ,r-lme4)
@ -6527,25 +6527,51 @@ comparisons to Cohen's d are offered based on Huberty & Lowman's Percentage of
Group (Non-)Overlap considerations.")
(license license:gpl2)))
(define-public r-deriv
(package
(name "r-deriv")
(version "3.9.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "Deriv" version))
(sha256
(base32
"0hlqm216bg3l79gq6m0am0xz6vd3l2hgjnjm6lym3mkmgkka4kxw"))))
(properties `((upstream-name . "Deriv")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/Deriv")
(synopsis "Symbolic differentiation")
(description
"This package provides an R-based solution for symbolic differentiation.
It admits user-defined functions as well as function substitution in arguments
of functions to be differentiated. Some symbolic simplification is part of
the work.")
(license license:gpl3+)))
(define-public r-doby
(package
(name "r-doby")
(version "4.6-2")
(version "4.6-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "doBy" version))
(sha256
(base32
"02vbv9nfgywg6lsiialkmfnax5z3rkyb9nr8j9l2cp8xi6ml95mb"))))
"1d0d6pwai1g4i5jls0jm9va29ci5hy92n5957608f3fzi1jwy635"))))
(properties `((upstream-name . "doBy")))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
`(("r-broom" ,r-broom)
("r-deriv" ,r-deriv)
("r-dplyr" ,r-dplyr)
("r-magrittr" ,r-magrittr)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-plyr" ,r-plyr)))
("r-plyr" ,r-plyr)
("r-pbkrtest" ,r-pbkrtest)
("r-tibble" ,r-tibble)))
(home-page "http://people.math.aau.dk/~sorenh/software/doBy/")
(synopsis "Groupwise statistics, LSmeans, linear contrasts, and utilities")
(description
@ -6717,13 +6743,13 @@ the analyzed items.")
(define-public r-slam
(package
(name "r-slam")
(version "0.1-45")
(version "0.1-46")
(source
(origin
(method url-fetch)
(uri (cran-uri "slam" version))
(sha256
(base32 "0xvj8va6xd7zkn3l4a5ad7v62s7xmkz8frq7gpcl3b6vqwckkaw4"))))
(base32 "1ihhbx76miwys35gsbhijriadvrw4f51lc3v45pnn6cvcfd9hr0b"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/slam/")
(synopsis "Sparse lightweight arrays and matrices")
@ -7964,14 +7990,14 @@ Hothorn, Westfall, 2010, CRC Press).")
(define-public r-emmeans
(package
(name "r-emmeans")
(version "1.4.1")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "emmeans" version))
(sha256
(base32
"1fpawaxnmj67md169a9mzrnnh2d0c973xydfg6hw865933jil9lq"))))
"1sxwbh6sym2shrj7gva8q96ca2csqz3081q4d84avpxz15dfz1z1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-estimability" ,r-estimability)
@ -8197,14 +8223,14 @@ differentiation.")
(define-public r-bayestestr
(package
(name "r-bayestestr")
(version "0.3.0")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayestestR" version))
(sha256
(base32
"0r453zb106hj9w53jjgckxqajjf7shlrgv10gjxsv8if6qybdz5b"))))
"1d3f50rzjzgzclwd6j887dssyhv7hdq7pik9nnlr3w775v3f69zc"))))
(properties `((upstream-name . "bayestestR")))
(build-system r-build-system)
(propagated-inputs
@ -8222,14 +8248,14 @@ ROPE percentage and pd).")
(define-public r-performance
(package
(name "r-performance")
(version "0.3.0")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "performance" version))
(sha256
(base32
"13j74ffhx950kacs86ixx84nviq9qlwzr7hjnhkmzw2hspjxq99w"))))
"0lxpmp9smn5r3xvfik36nr608wcpmmximjh0v2sckyvjf7hnb4s0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayestestr" ,r-bayestestr)
@ -8968,14 +8994,14 @@ other values.")
(define-public r-ncdf4
(package
(name "r-ncdf4")
(version "1.16.1")
(version "1.17")
(source
(origin
(method url-fetch)
(uri (cran-uri "ncdf4" version))
(sha256
(base32
"083sb24anyd4sw0il3x07pqn9rbx5y5ayqass6mz8x443rnjvphd"))))
"1xls44ln2zjrrlimxl8v4bk2ni3g45c9j0gxdnjx31rikmrc95fv"))))
(build-system r-build-system)
(inputs
`(("netcdf" ,netcdf)
@ -8995,14 +9021,14 @@ netCDF files.")
(define-public r-biocmanager
(package
(name "r-biocmanager")
(version "1.30.8")
(version "1.30.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "BiocManager" version))
(sha256
(base32
"0pqgb7j4aqpcp3bapl313rmyxxj3j96s9csip4f65444gjy5r2x2"))))
"1l9b2mr99nhpvk1wkd93397i0d6z4vvbq3zm8dk86gb1pfci26sx"))))
(properties `((upstream-name . "BiocManager")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/BiocManager/")
@ -10853,14 +10879,14 @@ This makes it a convenient and fast interface to C/C++ and Fortran code.")
(define-public r-spam
(package
(name "r-spam")
(version "2.3-0")
(version "2.3-0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "spam" version))
(sha256
(base32
"194n5mgvyms9ckjqixl3h33apii8h9kqspqg2si9k741k578qb3w"))))
"0mas2ra7d5f9ccwxwsvxls3dz53prpf59hi2a0rvc347wbm6540b"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dotcall64" ,r-dotcall64)))
@ -11709,18 +11735,17 @@ users of rARPACK are advised to switch to the RSpectra package.")
(define-public r-compositions
(package
(name "r-compositions")
(version "1.40-2")
(version "1.40-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "compositions" version))
(sha256
(base32
"12mp05yi7jkdqg9iwh6bc9sx6sdxagcnrirznxy9hq8502p7238i"))))
"103hbmibrf1n333pn4xpll1gqqsv4szms0n5gdq7zak31aar0bg4"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayesm" ,r-bayesm)
("r-energy" ,r-energy)
("r-robustbase" ,r-robustbase)
("r-tensora" ,r-tensora)))
(home-page "http://www.stat.boogaart.de/compositions")
@ -12529,21 +12554,43 @@ The bedr package's API enhances access to these tools as well as offers
additional utilities for genomic regions processing.")
(license license:gpl2)))
(define-public r-sets
(package
(name "r-sets")
(version "1.0-18")
(source
(origin
(method url-fetch)
(uri (cran-uri "sets" version))
(sha256
(base32
"16v7650p47khqrbbw0z98llmwmmhswqmhri0n7nrfhdqwmby1lbl"))))
(properties `((upstream-name . "sets")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/sets")
(synopsis "Sets, generalized sets, customizable sets and intervals")
(description
"This package provides data structures and basic operations for ordinary
sets, generalizations such as fuzzy sets, multisets, and fuzzy multisets,
customizable sets, and intervals.")
(license license:gpl2)))
(define-public r-partitions
(package
(name "r-partitions")
(version "1.9-19")
(version "1.9-22")
(source
(origin
(method url-fetch)
(uri (cran-uri "partitions" version))
(sha256
(base32
"1pklfnjdc094c8nzkqcdvqzdh8v3p5n8jbg4pf9678iw648saiyx"))))
"1qqy4df28wy4q0g572azrj171jlhvrnzbh7x0wr2g7v6gr20y0ns"))))
(build-system r-build-system)
(propagated-inputs
`(("r-gmp" ,r-gmp)
("r-polynom" ,r-polynom)))
("r-polynom" ,r-polynom)
("r-sets" ,r-sets)))
(home-page "https://cran.r-project.org/web/packages/partitions")
(synopsis "Additive partitions of integers")
(description
@ -14066,14 +14113,14 @@ discriminant analysis for the purpose of classifying high dimensional data.")
(define-public r-ggvis
(package
(name "r-ggvis")
(version "0.4.4")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggvis" version))
(sha256
(base32
"1bxggjr2313kfy895j0fvrv4bg7yh2z87907lk48i1kn5c9flchk"))))
"091i9f17912j8qcyxppjgwzjnyqj7769ixs9d2gjg6f2clskqdw2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
@ -14746,14 +14793,14 @@ engine (Salmon et al., 2011) as provided by the package @code{sitmo}.")
(define-public r-dalex
(package
(name "r-dalex")
(version "0.4.7")
(version "0.4.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "DALEX" version))
(sha256
(base32
"0iiwkf0pfdb90lf1xhv43qd32z3cjmkmf0ly9841n5lldkjazy3h"))))
"1zviaf7530v8w996lbma0vplabrapgwldi7h70pr0439sxaqd421"))))
(properties `((upstream-name . "DALEX")))
(build-system r-build-system)
(propagated-inputs `(("r-ggplot2" ,r-ggplot2)))

View File

@ -713,7 +713,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
(define-public libblockdev
(package
(name "libblockdev")
(version "2.21")
(version "2.23")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/storaged-project/"
@ -721,7 +721,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
version "-1/libblockdev-" version ".tar.gz"))
(sha256
(base32
"02p13l4194j0vyd2zs7bb9dmyclcpqq8l3qv9289vjfbsvq2awii"))))
"15c7g2gbkahmy8c6677pvbvblan5h8jxcqqmn6nlvqwqynq2mkjm"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -1511,7 +1511,7 @@ links.")
(define-public emacs-ag
(package
(name "emacs-ag")
(version "0.47")
(version "0.48")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1520,7 +1520,7 @@ links.")
(file-name (git-file-name name version))
(sha256
(base32
"15kp99vwyi7hb1jkq3lwvqzw3v62ycixsq6y4pd1x0nn2v5p5m5r"))))
"1p918y24vcn2pdliaymd210xp9fvhd4a1srqbv2lfiqrh59yjidx"))))
(build-system emacs-build-system)
(arguments
`(#:phases

View File

@ -1053,7 +1053,7 @@ emulation community. It provides highly accurate emulation.")
(define-public retroarch
(package
(name "retroarch")
(version "1.7.8.4")
(version "1.7.9.2")
(source
(origin
(method git-fetch)
@ -1062,7 +1062,7 @@ emulation community. It provides highly accurate emulation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1i3i23xwvmck8k2fpalr49np7xjzfg507243mybqrljawlnbxvph"))))
(base32 "14kay5g9rnm79mly7b4x5jwkidjaki8qqkpf21hnj1r2z1q7bp5b"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests

View File

@ -464,7 +464,7 @@ with localed. This package is extracted from the broader systemd package.")
(define-public packagekit
(package
(name "packagekit")
(version "1.1.11")
(version "1.1.12")
(source (origin
(method url-fetch)
(uri (string-append
@ -473,7 +473,7 @@ with localed. This package is extracted from the broader systemd package.")
"PackageKit-" version ".tar.xz"))
(sha256
(base32
"0fi6wn54y03zh5sn92nmmxkh4cd8yn44cyk0l8phw60ivfwmkh1q"))))
"00css16dv3asaxrklvyxy9dyjzhw82wmfrqxqpca9w2xryz58i8z"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View File

@ -5158,7 +5158,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(define-public tome4
(package
(name "tome4")
(version "1.5.10")
(version "1.6.0")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@ -5167,7 +5167,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
version ".tar.bz2"))
(sha256
(base32
"0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7"))
"1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -179,14 +179,14 @@ color, font attributes (weight, posture), or underlining.")
(define-public po4a
(package
(name "po4a")
(version "0.56")
(version "0.57")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
version "/po4a-" version ".tar.gz"))
(sha256
(base32
"0kyhww0yw4q0m4vj8vil2wsf6sn4hidh8mqz2gjrq7gpdf83cmnr"))))
"15yd27krlpdvjhcnwys6i5k1ww62ifq2yx8k1zxyxiwy84myqmdv"))))
(build-system perl-build-system)
(arguments
`(#:phases

View File

@ -3023,15 +3023,14 @@ keyboard shortcuts.")
(define-public colord
(package
(name "colord")
(version "1.4.3")
(version "1.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/colord/releases/"
name "-" version ".tar.xz"))
"colord-" version ".tar.xz"))
(sha256
(base32
"1xwxahg9mgmapc16xkb4kgmc40zpadrwav33xqmn6cgaw6g6d3ls"))))
(base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
(build-system meson-build-system)
(arguments
'(;; FIXME: One test fails:
@ -3046,13 +3045,12 @@ keyboard shortcuts.")
;; Wants to install to global completion dir;
;; punt.
"-Dbash_completion=false"
;; colord-gtk not packaged yet.
"-Dsession_example=false"
"-Ddaemon_user=colord"
"-Dsane=true"
;; Requires spotread
"-Dvapi=true"
;; Requires spotread.
"-Dargyllcms_sensor=false"
;; TODO: Requires docbook2x
;; TODO: Requires docbook2x.
"-Dman=false")
#:phases
(modify-phases %standard-phases
@ -3063,25 +3061,26 @@ keyboard shortcuts.")
(string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
`(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
("libtool" ,libtool)
("intltool" ,intltool)))
("pkg-config" ,pkg-config)
("vala" ,vala)))
(propagated-inputs
;; colord.pc refers to all these.
`(("glib" ,glib)
("udev" ,eudev)
("lcms" ,lcms)))
("lcms" ,lcms)
("udev" ,eudev)))
(inputs
`(("dbus-glib" ,dbus-glib)
("gusb" ,gusb)
("libgudev" ,libgudev)
("libusb" ,libusb)
("sqlite" ,sqlite)
("polkit" ,polkit)
("python" ,python-wrapper)
("sqlite" ,sqlite)
("sane-backends" ,sane-backends)))
(home-page "https://www.freedesktop.org/software/colord/")
(synopsis "Color management service")
@ -4325,54 +4324,41 @@ USB transfers with your high-level application or system daemon.")
(define-public simple-scan
(package
(name "simple-scan")
(version "3.24.1")
(source (origin
(method url-fetch)
(uri (string-append "https://launchpad.net/simple-scan/"
(version-major+minor version) "/"
version "/+download/simple-scan-"
version ".tar.xz"))
(sha256
(base32
"1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
(build-system glib-or-gtk-build-system)
(version "3.34.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/simple-scan/"
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
(base32 "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
'(#:glib-or-gtk? #t))
(inputs
`(("gtk" ,gtk+)
("zlib" ,zlib)
("cairo" ,cairo)
("colord" ,colord)
("gdk-pixbuf" ,gdk-pixbuf)
("gusb" ,gusb)
("libsane" ,sane-backends)))
(native-inputs
`(("gettext" ,gettext-minimal)
("itstool" ,itstool)
("colord" ,colord)
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("glib" ,glib "bin") ; glib-compile-schemas, etc.
("pkg-config" ,pkg-config)
("vala" ,vala)
("xmllint" ,libxml2)))
(arguments
'(#:configure-flags '("--disable-packagekit")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'clean
(lambda _
;; Remove a left-over reference to PackageKit.
;; https://bugs.launchpad.net/simple-scan/+bug/1462769
;; There are some generated C files erroneously
;; included in the source distribution, and this
;; one breaks the build by referring to a
;; non-existent header (packagekit.h)
(delete-file "src/ui.c"))))))
(home-page "https://gitlab.gnome.org/GNOME/simple-scan")
(synopsis "Document and image scanner")
(description "Simple Scan is an easy-to-use application, designed to let
users connect their scanner and quickly have the image/document in an
appropriate format. Simple Scan is basically a frontend for SANE - which is
the same backend as XSANE uses. This means that all existing scanners will
work and the interface is well tested.")
(description
"Document Scanner is an easy-to-use application that lets you connect your
scanner and quickly capture images and documents in an appropriate format. It
supports any scanner for which a suitable SANE driver is available, which is
almost all of them.")
(license license:gpl3+)))
(define-public eolie
@ -7823,8 +7809,10 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
(wrap-program (string-append out "/bin/lollypop")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t))
(add-after 'install 'wrap
(@@ (guix build python-build-system) wrap)))))
(add-after 'install 'wrap-python
(@@ (guix build python-build-system) wrap))
(add-after 'install 'wrap-glib-or-gtk
(@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
@ -7833,6 +7821,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
("pkg-config" ,pkg-config)))
(inputs
`(("gobject-introspection" ,gobject-introspection)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gst-plugins-base" ,gst-plugins-base)
("libnotify" ,libnotify)
("libsecret" ,libsecret)

View File

@ -34,6 +34,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
@ -64,10 +65,12 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages node)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl)
#:use-module (gnu packages assembly)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-cbindgen)
#:use-module (gnu packages llvm)
#:use-module (gnu packages nss)
#:use-module (gnu packages icu4c)
@ -404,6 +407,127 @@ in C/C++.")
("pkg-config" ,pkg-config)
("python" ,python-2)))))
(define mozilla-compare-locales
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.mozilla.org/l10n/compare-locales/")
(changeset "RELEASE_3_3_0")))
(file-name "mozilla-compare-locales")
(sha256 (base32 "0biazbq7vbi99b99rfn4szwyx032dkpi09c9z4zs6f1br0f86iy1"))))
(define (mozilla-locale locale changeset hash-string)
(origin
(method hg-fetch)
(uri (hg-reference
(url (string-append "https://hg.mozilla.org/l10n-central/"
locale))
(changeset changeset)))
(file-name (string-append "mozilla-locale-" locale))
(sha256 (base32 hash-string))))
(define-syntax-rule (mozilla-locales (hash-string changeset locale) ...)
(list (mozilla-locale locale changeset hash-string)
...))
(define all-mozilla-locales
(mozilla-locales
;; sha256 changeset locale
;;---------------------------------------------------------------------------
("0pybx6j2ycbrr1xmv0spv19sd8a1dyzcs8kf6pzn71w8y6kiagcf" "35959cf2343c" "ach")
("0dixmkha738w7fkx20nx95xkfyrqb9vczpy6m03qnqfvb76xaxj5" "e8dc1010f909" "af")
("124j09va25gwfxdzyfixrli0skxv53c7niagjyp7g3a3kcv2lbhc" "4c67f6b96a7b" "an")
("0flgqll3xx0ym0zj0w9j2jw3fmhs6h9m4l5da6m0bpnk5ff80r06" "34cbea5f44a5" "ar")
("0kdb1yqfbfz508f4p77z3p1v6fwy190vs5ipj58hgdixjgbxkqay" "b4790b27633c" "ast")
("1vm5xw6wg12pygswd3p0qpkaxyryah6nif5n15chb4sb42c1gqcm" "96d341bf49d4" "az")
("1j2qrrws51qij6haz5b77n5vzqhsxgs1ppqqw4mdrkacwvz4ciwh" "4adaede00646" "be")
("0ydr8f9lbd51prgcbjb5yacb461j8va0s5bqfs0rnglkvhmk6ard" "d1140972aefe" "bg")
("0wyw90zjp8kpd1gljng00in9wr2cf59ww6z002lgx5k4gibnqcfd" "2b3ce92c2310" "bn")
("0kkq621h1qdmimyrmms9g5p70m54z2ddw4cd962nqbkrnmabq9vn" "426896350893" "br")
("0vibhnb3cbpbgf10db04g6vm372kb9i27p0jkwif019f7qprswd8" "7463f339ce07" "bs")
("1l8cn2fqfvx7bswzfy9vavv8cd32ha9ygdxxdbxi64wcgw0f80bf" "dab3f05125e4" "ca")
("0fik17y8zyg9w82lq501ic73a53c0q9r8v4zgn9bnzgsygig8qpq" "ebb9d989275a" "cak")
("0sj29v6144h39wzb4rvxph3cwgvs4gzkgpr0463d3fcs6jdi0kjs" "522352780348" "cs")
("1nz8jlx62l69jcdi59hlk8jysm15sh3d1cxqginjmx7w351wsidm" "0791b954c333" "cy")
("1vc01q1vlq26xm1vm1x0119jawxxp975p9k8ashmiwncl1bvqb48" "121f5f876f4c" "da")
("1iqny61rg57banfbbskc2y3pr6d35fabnxmynv7vxm9jd86pndz3" "95fb3e99a2bc" "de")
("06v9j8acx5h8za7m65v6qm0wjbkx6vm46m8sigcp69phyg3fjc96" "90e681b74587" "dsb")
("0lbk90x2dxdbh63fycqxspx6jqq2zlzys6grg45balw8yyvzqrkz" "58ba4c13fd42" "el")
("0c2ypvy0z8g78s5158v6h9khckq1xps34r5wbiiciix289m43dgl" "8953d8c98a30" "en-CA")
("0z3riz3w2z6p710p90ridmwwam4snnz5mn90gd4jc1h2n7vc9mr0" "5a2b9bca3f52" "en-GB")
("102gn3h4ap8c3x1p7vfc88vapkfiz6264y6byhxy1axxjk3x3a77" "e87cb1c61d6e" "eo")
("148wj6wsx0aq7cpaxk8njj7cb1wfjr2m96dgxq6b3qcv781ldvjn" "5db15fdf95d5" "es-AR")
("0r11d8vzvbyz17n371byvkrnszcv1zhr7rg64i58xra3y6d7is7n" "ce2ee0e51a92" "es-CL")
("1xmqa8p7lpqvkgg879hfnmf6kxcpawjk8z31cdzfp1hrdlmxg8n7" "7346617620f3" "es-ES")
("0jxv3jh2018lnybr9mzqrffvwmr87yab9bh8lxqjj294fxw1hrxm" "687f05eb0c58" "es-MX")
("1rpgv7pajv4xldsn1xxsia5j72vn3x8zl5wmbzkyw56lvn9fckvf" "839a5029c496" "et")
("0hxp4fr3y05rkpamdb1hlmybn6d3bv3rcawjm3axbpqxbyfdpfzc" "54e8d87230c9" "eu")
("1y50knymnmcihw8bhvahicc386mjm6dx4hx0j6fv8sl23wzx2h9m" "c5ffca960f9c" "fa")
("0pj9zgi0c3yl3myhvb5afiijayp2lqzhlk630ahxn5hgjgkz0lx7" "75c000a8538d" "ff")
("199jg0zv7wp1cq0ik2hf84j99jx5vq2jwac0gaayvjzkh2z83jqr" "f11b2e689e7b" "fi")
("1vxkiwwni7470ywy99arxxa56ljkhjrhxslsp1l1l61g6gdbbspr" "49ec4f791806" "fr")
("0d8gwdcj0jpjv03nhjds8jrg86pg371xpylaibwri76wlyl7m54i" "faa761a5cfdc" "fy-NL")
("0nipbxx11a2sjadzhbi88vgknw5hzr4nqy2722q3kc1212jbi754" "5bd9466f9f9d" "ga-IE")
("0bay8mrm65cvmnvqpwqgzr0h3cb18ifzg5kbsbxcvdfm9xv0zi9g" "a4f6a47e82dd" "gd")
("00kn5w3nnpw1pxg6hhrn9asf9hgpjd6ia4038iwzcqs68w887qcy" "6c2aa01ada4e" "gl")
("0jj13i0ach85c975vaz2rr83mibs29ipssa7qsjkb0y2ch6xya1k" "c2d607e36cb5" "gn")
("1nhqbgzilcb0pr7941dxkhg079bf8v7ldikp1s5xli34wf9sabm2" "f34465d6ac1c" "gu-IN")
("11bh0541d996cfin1zy72l66753q94i4idgv2waf0h40h9g3z1bm" "c2ecb2762274" "he")
("1lslji7hh5lx5ig1xgfjh4cdindsgh3n2a7qlvzwz96gda43lvv4" "94d2bb10ee03" "hi-IN")
("1nx5yw00l25i3m3grdm29mi9mi7h0cy5qx02pypir754pk3hiwcc" "08df0d94edd5" "hr")
("19yc9dk2pwqycynmx58d1ik6x4mnyfxscgr6sg676dpl613xd7nq" "21b614e77025" "hsb")
("0l3z64jlx6b6ivk1b5hwqyx9hm1m5721ywnb2m4zmg3g9fw4vn7f" "f82cad7170af" "hu")
("1sn0dxbbf2zwcpybwcw77qb4p0hf6fxapnsnn4avaab5g55dlgz4" "d94c30920396" "hy-AM")
("0c92cqxrhv4317kirmhpjk7mrq44yn6fp3v6syxnhz7xwxnhshjm" "6a5f176b0626" "ia")
("03gyg9gqsd6pwb9nydglhm46fi2wk2p2qygmhmrf8hnav3ba7n0r" "94e4302e0f85" "id")
("0ky8aaps92mn56rvkwn0i13wg8av8hzi1fvr0ahqhjcpj5sfgdwq" "eca348a59888" "is")
("01py0sfg7nljcsgpivryrvai4p4wzbcvhgc2ymr19r579nv1vw7g" "d541a6197359" "it")
("0iv7vmj43njmi7g1gjzsv68ax4j502d2wnkvbfz1rx11lrqs7yw1" "a5ab3a1d95b7" "ja")
("1sr9ccshcw6agbj4hbnpblxixb1jz0m36glas6f9ahxmi7m605si" "63763ffa5a94" "ja-JP-mac")
("1as33pzcsdkynrj16dv7w642vl6plbhk650am4l5djwm64f2rgms" "aa83e8555ddc" "ka")
("1jwaqb5qps3i5y9iw8l2hrwa0n8lfnx1k9x0p54y3jkh6p3q3fzc" "0e0e25c26247" "kab")
("0cjfiwv0q5i8d7fpwb4m2w5ahq687dqjlwlicgpa443yi2zsxr4s" "33117723ceb1" "kk")
("0k5b56cv39aaxf9r0p9c27f3fp6yq2ffd4w6qmd0ibpl69sm629d" "aff7b2a7825e" "km")
("1a0zg96jgq4zn9cz0h2qwc0vv1fbkfzs5qrgabg62wqgz286jvvv" "ea91638cb1dd" "kn")
("0jhmv2n3yx55r6fg3myg7j1c1nhsv25g016m6lh2j023xbr723gp" "88821009b5b3" "ko")
("06bybgv4m4i7r9p0qld65j31vbrnljhsdj649dl93msv2r69ilif" "88685d5f07b3" "lij")
("1bzjf8smw6ngi88j5g3fawrg54m8fifbhshwjbgkpj7rnrpjgh4w" "e046c7ffa7d0" "lt")
("18dmzmpavijb7fwzffas0j5nb6byqp8h6ki7hhf6qb35diqgfq6n" "c520ef4f576c" "lv")
("055zf7xj5h1h8mzxj1cjzhngpcvg2p5vs2dmffsa5zfprj02d0dm" "9e43723f18ad" "mk")
("1496fbyyzcl075gzcd3xy50h9jyhnzgb544k1scji56yhyfajacb" "ce615fef92c1" "mr")
("1wc1q8ksry181pvnysqsq4dhhsg5adw5vgqafmmq5sf6i2bwn2z0" "4fefe88cfaee" "ms")
("0awf6mrdwdhy2yvxynssvp1zg1nc2fqbmg2d2bhjcib69zx944xw" "3987a06866fd" "my")
("1hycvz7i4jd40hfs5abx6sgfdkafg0jhdgqih9b7lb08aqcl35pj" "2b3b8997d9a1" "nb-NO")
("048z1ib46izwryyy8l1x71kq4775n7l2ilbskhsyrbxqryma13k8" "f25324281615" "ne-NP")
("1qkxqpyr4la9bn1bqsgc2h9869arglh9n2kwpkq6722jzdbynkz2" "04c7d32c57f6" "nl")
("08gnmdll55dbqj7qs63gq1kljbvg24nzns6q4m0av3sszsic0jv5" "5587520e5019" "nn-NO")
("1yh2p4ipj5p2b7gh0xxj0n7ndvwn5bw2773ibrh7vz932mkzhhjn" "499386b02695" "oc")
("0kjbnixjzv9hvyba4ll20gs76vx84pviy134fvpjp9lfjpnpib55" "31c01c325675" "pa-IN")
("0g61imvr4639bbydyi0kwc1il7l1gzlfij4ywx7hdcmq2x6vgb9v" "fb5f3b8dea09" "pl")
("13n68d7z94d7943m6fwl4kizbqm3wp82xz69vng4w9vyqlvv7d41" "9a541cbdc748" "pt-BR")
("1j8afvrl1afmj2zixrp91rrhag5w4xw90raca1ic6mxyih9kvdi4" "edc959a685c2" "pt-PT")
("0wf4a6q9nvcmam2g8ksbymjdnrz59pdr5nirfpjprfhifjmxx4nn" "d2699db715cd" "rm")
("1k9qalir5pbh490w1mxyq31yhy9hbxsyrrk11hwlwlgn6syp9nvp" "b5460a9017bc" "ro")
("1avy6wyfa5lbvy36wai6mwhhh6x1y8a0jyjk8hvjn52yfxj1gypk" "59ffa8ad047a" "ru")
("1cakhm4jxcw1ij0l1vhxw74hsp5wg68i3319dkdncyyc5a2s1qv9" "8b3c8a7ebdfa" "si")
("0s534r09bqdfvw3q17y9b1035kzzlafjv656v73mqhyz3fkffsx5" "cb39dc77980e" "sk")
("1s58vgmnb9aiaiaqwwcivq3iyzpzj527w2aqh2nrh6xmaw7f43sr" "17d7969b1d9a" "sl")
("147qm7x5z8rkf24jpqvkdlqg0fjz1l3zwnaxvkh9y2jpzv7m0x7z" "c55b0e9ff99d" "son")
("0nn4r1rxi8cy7x9nmn5ljd8gcsn2rjl2ma2j7waxkafkm4rs6n20" "2bb3808072da" "sq")
("0jsb01b94z7qbm59yaj56nb7yx7a6hpgw8v6nzwhbvmnmcsird4p" "c323c0d02d61" "sr")
("1n7vv9y4sk3gig56rgfd2jk8jr2160grxk31bd1wkm7fvbndd259" "4220ce487cbc" "sv-SE")
("06270mq7gajxfrsb8gqd25v2dac68ask5vvlh6kkkp3hrgy02vid" "6a1dbc2fe1d3" "ta")
("10az7pd3npa7n8wq0qywvsj2qrx9592i2wffs3rnc1fviv1i1q0y" "028505b5ecd1" "te")
("0yj0c3iyibb3jyypvyiyhbr9asxa48v0nq21kcf9gphi8fnyp5if" "e44d38b6a67b" "th")
("1qc4nvhw834lx7p304fxma0fjdr4xfj4lf69dhh6biqz795lx45p" "1e0771d95708" "tr")
("1g4y2yq5xp61ncy7c08j7fqqr1jc0m1hjxmbg5659wzif3b3dkg4" "e3c96943e98f" "uk")
("1zbi28z1c3p5il7ndixyjsv4nrimzq36zjvlmq10am38ycqr9df8" "f35da1b02691" "ur")
("1jrxjjj8k771y0wljqbadxdj4pasg0771jmg4l3hvpgs929i3j9g" "6fd2084b3efe" "uz")
("1f8sqgxzgqmw6vzjv3f49lg43q09i3j62f471864vr71815agl8n" "33b5dfd0cd63" "vi")
("0ssnsbxw3q5k88fa081gkn1mbqn4j7bm6vb7yvz6h44j214xkz9x" "2d87c0740715" "xh")
("0kd3mrvvgczhsmw4rvpxxxc71bb469ayr8r4azf7gc0y5nmlm950" "a2b6625688d3" "zh-CN")
("0qy1asyfplkyc89z3g3gfm7b32aka92350b3ayv9d9dcgwxmfdwz" "4d6e959a13d1" "zh-TW")))
(define (mozilla-patch file-name changeset hash)
"Return an origin for CHANGESET from the mozilla-esr60 repository."
(origin
@ -426,7 +550,7 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %icecat-version "60.9.0-guix1")
(define %icecat-version "68.2.0-guix0-preview1")
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -448,24 +572,11 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0gy5x2rnnbkqmjd9sq93s3q5na9nkba68xwpizild7k6qn63qicz"))))
"0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5"))))
(upstream-icecat-base-version "60.7.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1")
(upstream-icecat-version (string-append upstream-icecat-base-version
"-gnu"
upstream-icecat-gnu-version))
(upstream-icecat-source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnu/gnuzilla/" upstream-icecat-base-version
"/icecat-" upstream-icecat-version ".tar.bz2"))
(sha256
(base32
"09xqdfd8rwbn2n6m7n059qf1psbrj5v5kfzm7gg5xng22ddxawv8"))))
(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
(upstream-icecat-base-version "68.1.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
(gnuzilla-commit "395cc0798600cde44a30abaa3f5d08ce8b68f782")
(gnuzilla-source
(origin
(method git-fetch)
@ -475,7 +586,7 @@ from forcing GEXP-PROMISE."
(file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
(sha256
(base32
"1vqhb0py28hnwcynbaad304ziciz1kn5bv1qg2q4f7g13js3b1hf"))))
"1ll3j2kpsfp1f9dxy67fay1cidsng02l8a3a23wdjqkxgrg1cf4g"))))
(makeicecat-patch
(local-file (search-patch "icecat-makeicecat.patch"))))
@ -492,9 +603,7 @@ from forcing GEXP-PROMISE."
(let ((firefox-dir
(string-append "firefox-" #$base-version))
(icecat-dir
(string-append "icecat-" #$%icecat-version))
(old-icecat-dir
(string-append "icecat-" #$upstream-icecat-base-version)))
(string-append "icecat-" #$%icecat-version)))
(mkdir "/tmp/bin")
(set-path-environment-variable
@ -540,9 +649,6 @@ from forcing GEXP-PROMISE."
(string-append "FFMINOR=" #$minor-version "\n"))
(("^FFSUB=.*")
(string-append "FFSUB=" #$sub-version "\n"))
(("^GNUVERSION=.*")
(string-append "GNUVERSION="
#$upstream-icecat-gnu-version "\n"))
(("^DATA=.*")
"DATA=/tmp/gnuzilla/data\n")
(("^find extensions/gnu/ ")
@ -556,19 +662,39 @@ from forcing GEXP-PROMISE."
(rename-file firefox-dir icecat-dir)
(with-directory-excursion icecat-dir
(format #t "Populating l10n directory...~%")
(force-output)
(mkdir "l10n")
(with-directory-excursion "l10n"
(for-each
(lambda (locale-dir)
(let ((locale
(string-drop (basename locale-dir)
(+ 32 ; length of hash
(string-length "-mozilla-locale-")))))
(format #t " ~a~%" locale)
(force-output)
(copy-recursively locale-dir locale
#:log (%make-void-port "w"))
(for-each make-file-writable (find-files locale))
(with-directory-excursion locale
(when (file-exists? ".hgtags")
(delete-file ".hgtags"))
(mkdir-p "browser/chrome/browser/preferences")
(call-with-output-file
"browser/chrome/browser/preferences/advanced-scripts.dtd"
(lambda (port) #f)))))
'#+all-mozilla-locales)
(copy-recursively #+mozilla-compare-locales
"compare-locales"
#:log (%make-void-port "w"))
(delete-file "compare-locales/.gitignore")
(delete-file "compare-locales/.hgignore")
(delete-file "compare-locales/.hgtags"))
(format #t "Running makeicecat script...~%")
(force-output)
(invoke "bash" "/tmp/gnuzilla/makeicecat")
(delete-file-recursively "l10n"))
(format #t (string-append "Unpacking l10n/* from"
" upstream IceCat tarball...~%"))
(force-output)
(unless (string=? icecat-dir old-icecat-dir)
(symlink icecat-dir old-icecat-dir))
(invoke "tar" "xf" #+upstream-icecat-source
(string-append old-icecat-dir "/l10n"))
(invoke "bash" "/tmp/gnuzilla/makeicecat"))
(format #t "Packing new IceCat tarball...~%")
(force-output)
@ -605,7 +731,6 @@ from forcing GEXP-PROMISE."
("pango" ,pango)
("freetype" ,freetype)
("harfbuzz" ,harfbuzz)
("hunspell" ,hunspell)
("libcanberra" ,libcanberra)
("libgnome" ,libgnome)
("libjpeg-turbo" ,libjpeg-turbo)
@ -640,24 +765,32 @@ from forcing GEXP-PROMISE."
;; and therefore we prefer to leave them out of 'source', which should be
;; a tarball suitable for compilation on any system that IceCat supports.
;; (Bug fixes and security fixes, however, should go in 'source').
`(("icecat-avoid-bundled-libraries.patch"
,(search-patch "icecat-avoid-bundled-libraries.patch"))
("icecat-use-system-graphite2+harfbuzz.patch"
,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
("icecat-use-system-media-libs.patch"
,(search-patch "icecat-use-system-media-libs.patch"))
`(;; XXX TODO: Adapt these patches to IceCat 68.
;; ("icecat-avoid-bundled-libraries.patch"
;; ,(search-patch "icecat-avoid-bundled-libraries.patch"))
;; ("icecat-use-system-graphite2+harfbuzz.patch"
;; ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
;; ("icecat-use-system-media-libs.patch"
;; ,(search-patch "icecat-use-system-media-libs.patch"))
("icecat-default-search-ddg.patch"
,(search-patch "icecat-default-search-ddg.patch"))
("icecat-disable-sync.patch"
,(search-patch "icecat-disable-sync.patch"))
("patch" ,(canonical-package patch))
;; Icecat 60 checks for rust>=1.24
("rust" ,rust-1.24)
("cargo" ,rust-1.24 "cargo")
("llvm" ,llvm-3.9.1)
("clang" ,clang-3.9.1)
("rust" ,rust)
("cargo" ,rust "cargo")
("rust-cbindgen" ,rust-cbindgen)
("llvm" ,llvm)
("clang" ,clang)
("perl" ,perl)
("python" ,python-2) ; Python 3 not supported
("node" ,node)
("python" ,python)
("python-2" ,python-2)
("python2-pysqlite" ,python2-pysqlite)
("yasm" ,yasm)
("nasm" ,nasm) ; XXX FIXME: only needed on x86_64 and i686
("pkg-config" ,pkg-config)
("autoconf" ,autoconf-2.13)
("which" ,which)))
@ -681,7 +814,6 @@ from forcing GEXP-PROMISE."
"--disable-tests"
"--disable-updater"
"--disable-crashreporter"
"--disable-maintenance-service"
"--disable-eme"
"--disable-gconf"
@ -712,11 +844,11 @@ from forcing GEXP-PROMISE."
"--with-system-zlib"
"--with-system-bz2"
"--with-system-jpeg" ; must be libjpeg-turbo
"--with-system-libevent"
"--with-system-ogg"
"--with-system-vorbis"
;; "--with-system-theora" ; wants theora-1.2, not yet released
"--with-system-libvpx"
;; UNBUNDLE-ME! "--with-system-libevent"
;; UNBUNDLE-ME! "--with-system-ogg"
;; UNBUNDLE-ME! "--with-system-vorbis"
;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet released
;; UNBUNDLE-ME! "--with-system-libvpx"
"--with-system-icu"
;; See <https://bugs.gnu.org/32833>
@ -725,12 +857,11 @@ from forcing GEXP-PROMISE."
;; UNBUNDLE-ME! "--with-system-nspr"
;; UNBUNDLE-ME! "--with-system-nss"
"--with-system-harfbuzz"
"--with-system-graphite2"
;; UNBUNDLE-ME! "--with-system-harfbuzz"
;; UNBUNDLE-ME! "--with-system-graphite2"
"--enable-system-pixman"
"--enable-system-ffi"
"--enable-system-hunspell"
"--enable-system-sqlite"
;; UNBUNDLE-ME! "--enable-system-sqlite"
;; Fails with "--with-system-png won't work because
;; the system's libpng doesn't have APNG support".
@ -748,6 +879,8 @@ from forcing GEXP-PROMISE."
#:modules ((ice-9 ftw)
(ice-9 rdelim)
(ice-9 match)
(srfi srfi-34)
(srfi srfi-35)
,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
@ -802,18 +935,18 @@ from forcing GEXP-PROMISE."
;;
"modules/freetype2"
"modules/zlib"
"modules/libbz2"
"ipc/chromium/src/third_party/libevent"
"media/libjpeg"
"media/libvpx"
"media/libogg"
"media/libvorbis"
;; "media/libtheora" ; wants theora-1.2, not yet released
"media/libtremor"
"gfx/harfbuzz"
"gfx/graphite2"
;; "media/libjpeg" ; needed for now, because media/libjpeg/moz.build is referenced from config/external/moz.build
;; UNBUNDLE-ME! "ipc/chromium/src/third_party/libevent"
;; UNBUNDLE-ME! "media/libvpx"
;; UNBUNDLE-ME! "media/libogg"
;; UNBUNDLE-ME! "media/libvorbis"
;; UNBUNDLE-ME! "media/libtheora" ; wants theora-1.2, not yet released
;; UNBUNDLE-ME! "media/libtremor"
;; UNBUNDLE-ME! "gfx/harfbuzz"
;; UNBUNDLE-ME! "gfx/graphite2"
"js/src/ctypes/libffi"
"db/sqlite3"))
;; UNBUNDLE-ME! "db/sqlite3"
))
#t))
(add-after 'remove-bundled-libraries 'link-libxul-with-libraries
(lambda _
@ -840,7 +973,7 @@ from forcing GEXP-PROMISE."
(lambda _
(use-modules (guix build cargo-utils))
(let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
(substitute* '("Cargo.lock" "servo/Cargo.lock")
(substitute* '("Cargo.lock" "gfx/wr/Cargo.lock")
(("(\"checksum .* = )\".*\"" all name)
(string-append name "\"" null-hash "\"")))
(generate-all-checksums "third_party/rust"))
@ -882,6 +1015,22 @@ from forcing GEXP-PROMISE."
(apply invoke bash
(string-append srcdir "/configure")
flags))))
(replace 'build
;; The build system often spuriously fails. See
;; <https://bugs.gentoo.org/show_bug.cgi?id=680934>. To
;; work around this, we try the standard 'build' phase up
;; to 5 times.
(lambda args
(let ((build (assoc-ref %standard-phases 'build)))
(let retry ((remaining-attempts 5))
(if (= remaining-attempts 1)
(apply build args)
(guard (c ((invoke-error? c)
(format #t "~%Retrying build! (~a attempts remaining)~%~%"
(- remaining-attempts 1))
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
@ -917,16 +1066,24 @@ from forcing GEXP-PROMISE."
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(gtk (assoc-ref inputs "gtk+"))
(gtk-share (string-append gtk "/share")))
(gtk-share (string-append gtk "/share"))
(pulseaudio (assoc-ref inputs "pulseaudio"))
(pulseaudio-lib (string-append pulseaudio "/lib")))
(wrap-program (car (find-files lib "^icecat$"))
`("XDG_DATA_DIRS" ":" prefix (,gtk-share)))
`("XDG_DATA_DIRS" prefix (,gtk-share))
`("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))
`("MOZ_LEGACY_PROFILES" = ("1")))
#t))))))
(home-page "https://www.gnu.org/software/gnuzilla/")
(synopsis "Entirely free browser derived from Mozilla Firefox")
(description
"IceCat is the GNU version of the Firefox browser. It is entirely free
software, which does not recommend non-free plugins and addons. It also
features built-in privacy-protecting features.")
features built-in privacy-protecting features.
WARNING: IceCat 68 has not yet been released by the upstream IceCat project.
This is a preview release, and does not currently meet the privacy-respecting
standards of the IceCat project.")
(license license:mpl2.0) ;and others, see toolkit/content/license.html
(properties
`((ftp-directory . "/gnu/gnuzilla")

View File

@ -1994,11 +1994,11 @@ The picture values can directly be displayed in Geiser.")
(license license:lgpl3+))))
(define-public guile-studio
(let ((commit "4d63f3d684f61bf83566745e8572496cdf6daad0")
(revision "2"))
(let ((commit "98fbbbd08de396cd8a0e45f2a4badf1c733a5772")
(revision "3"))
(package
(name "guile-studio")
(version (git-version "0" revision commit))
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -2006,28 +2006,25 @@ The picture values can directly be displayed in Geiser.")
(commit commit)))
(sha256
(base32
"1d3hhw3c3mk5i87xvfqa643674f08j1jd1rc1pl534gydz529vd5"))))
"0rxl5gv2mavycwkl33lcwyb3z71j2f4zyzk60k7vl3hzszpr08iq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are none
#:make-flags
(list (string-append "ICONS_DIR="
(assoc-ref %build-inputs "adwaita-icon-theme")
"/share/icons/Adwaita/")
(string-append "PICT_DIR="
(assoc-ref %build-inputs "guile-picture-language"))
(string-append "EMACS_DIR="
(assoc-ref %build-inputs "emacs"))
(string-append "GUILE_DIR="
(assoc-ref %build-inputs "guile"))
(string-join (cons "INPUTS=" (map cdr %build-inputs)))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key source inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(share (string-append out "/share/")))
(mkdir-p share)
(mkdir-p bin)
(apply invoke "guile" "-s" "guile-studio-configure.scm"
out
(assoc-ref inputs "emacs")
(assoc-ref inputs "guile-picture-language")
(string-append (assoc-ref inputs "adwaita-icon-theme")
"/share/icons/Adwaita/")
(map cdr inputs))
#t)))
(delete 'install))))
(inputs
`(("guile" ,guile-2.2)
@ -2039,6 +2036,8 @@ The picture values can directly be displayed in Geiser.")
("emacs-smart-mode-line" ,emacs-smart-mode-line)
("emacs-paren-face" ,emacs-paren-face)
("adwaita-icon-theme" ,adwaita-icon-theme)))
(native-inputs
`(("texinfo" ,texinfo)))
(home-page "https://gnu.org/software/guile")
(synopsis "IDE for Guile")
(description

View File

@ -245,15 +245,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public git-annex
(package
(name "git-annex")
(version "7.20191009")
(version "7.20191024")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32
"10ycvjl9b3aa81zdz239ngjbbambfjrzds1a23wdlbjkn12nsg4g"))))
(base32 "11n0wvw7i1rgrsmm2wkv01rfa0azgaw1ib7jbmy4fyg9pw0s27y1"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org>
@ -1668,14 +1668,14 @@ Features:
(define-public r-jpeg
(package
(name "r-jpeg")
(version "0.1-8")
(version "0.1-8.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "jpeg" version))
(sha256
(base32
"05hawv5qcb82ljc1l2nchx1wah8mq2k2kfkhpzyww554ngzbwcnh"))))
"1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"))))
(build-system r-build-system)
(inputs `(("libjpeg" ,libjpeg)))
(home-page "http://www.rforge.net/jpeg/")

View File

@ -938,6 +938,52 @@ and should be used with caution, especially on untested models.")
between the CDemu userspace daemon and linux kernel.")
(license license:gpl2+)))
(define-public ddcci-driver-linux
(package
(name "ddcci-driver-linux")
(version "0.3.3")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f"))))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda args
(for-each
(lambda (module)
(with-directory-excursion module
(apply (assoc-ref %standard-phases 'build) args)))
'("ddcci" "ddcci-backlight"))
#t))
(replace 'install
(lambda args
(for-each
(lambda (module)
(with-directory-excursion module
(apply (assoc-ref %standard-phases 'install) args)))
'("ddcci" "ddcci-backlight"))
#t)))))
(home-page "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux")
(synopsis "Pair of Linux kernel drivers for DDC/CI monitors")
(description "This package provides two Linux kernel drivers, ddcci and
ddcci-backlight, that allows the control of DDC/CI monitors through the sysfs
interface. The ddcci module creates a character device for each DDC/CI
monitors in @file{/dev/bus/ddcci/[I²C busnumber]}. While the ddcci-backlight
module allows the control of the backlight level or luminance property when
supported under @file{/sys/class/backlight/}.")
(license license:gpl2+)))
;;;
;;; Pluggable authentication modules (PAM).
@ -1019,16 +1065,14 @@ at login. Local and dynamic reconfiguration are its key features.")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/psmisc/psmisc devel/psmisc-"
(uri (string-append "mirror://sourceforge/psmisc/psmisc/psmisc-"
version ".tar.xz"))
(sha256
(base32
"0s1kjhrik0wzqbm7hv4gkhywhjrwhp9ajw0ad05fwharikk6ah49"))))
(base32 "103qp3f8jvz07x8r8zgsqwyw84g5g92w6pdq97d78d1pr7yvyz2b"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "https://gitlab.com/psmisc/psmisc")
(synopsis
"Small utilities that use the proc file system")
(synopsis "Small utilities that use the proc file system")
(description
"This PSmisc package is a set of some small useful utilities that
use the proc file system. We're not about changing the world, but
@ -1042,8 +1086,8 @@ providing the system administrator with some help in common tasks.")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "/v" (version-major+minor version) "/"
name "-" version ".tar.xz"))
"util-linux/v" (version-major+minor version) "/"
"util-linux-" version ".tar.xz"))
(sha256
(base32
"1db2kydkwjmvgd1glkcba3adhidxw0f1x735dcjdpdjjf869sgvl"))
@ -3857,7 +3901,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "5.2.2")
(version "5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -3865,7 +3909,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"1imivxjppi8zl27gn472pwpk8bg5dijkbyi340by31vhy7dj24w2"))))
"13ivb1b627qkiiqxh2y7zawynarkmgxrnwwpqhx6cci621yyqqqp"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"

View File

@ -328,14 +328,14 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
(version "1.5.7")
(version "1.5.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
(sha256
(base32 "11cl839512898shxcgjmnn1178pwc8vcfaypmzxm1wzkwasjyx2l"))
(base32 "0k7zjrky8r2krkd8780cph214hiihg9nh5rxn4nrhg6i6f8jymw4"))
(modules '((guix build utils)))
(snippet
;; Add sbcl-bundle-systems to 'default-system-source-registry'.

View File

@ -390,103 +390,101 @@ operating systems.")
(license gpl2+)))
(define-public neomutt
(package
(name "neomutt")
(version "20180716")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/" name "/" name
"/archive/" name "-" version ".tar.gz"))
(sha256
(base32
"0072in2d6znwqq461shsaxlf40r4zr7w3j9848qvm4xlh1lq52dx"))))
(build-system gnu-build-system)
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
("gpgme" ,gpgme)
("ncurses" ,ncurses)
("gnutls" ,gnutls)
("openssl" ,openssl) ;For smime
("perl" ,perl)
("kyotocabinet" ,kyotocabinet)
("libxslt" ,libxslt)
("libidn" ,libidn)
("libxml2" ,libxml2)
("lmdb" ,lmdb)
("notmuch" ,notmuch)))
(native-inputs
`(("automake" ,automake)
("gettext-minimal" ,gettext-minimal)
("pkg-config" ,pkg-config)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml-4.2)
("w3m" ,w3m)
("tcl" ,tcl)))
(arguments
`(#:tests? #f
#:configure-flags
(list "--gpgme"
(let ((tag "2019-10-25"))
(package
(name "neomutt")
;; Upstream now uses YYYY-MM-DD instead of YYYYMMDD, but we're forever
;; wed to the latter through guix upgrade.
(version (apply string-append (string-split tag #\-)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/neomutt/neomutt.git")
(commit tag)))
(file-name (git-file-name name version))
(sha256
(base32 "0hy6rxgm3acjqxpf4ss7391kps4g06fbjhbpgv1jdrj1y9kv0rm1"))))
(build-system gnu-build-system)
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("gdbm" ,gdbm)
("gpgme" ,gpgme)
("ncurses" ,ncurses)
("gnutls" ,gnutls)
("openssl" ,openssl) ; for S/MIME
("perl" ,perl)
("kyotocabinet" ,kyotocabinet)
("libxslt" ,libxslt)
("libidn2" ,libidn2)
("libxml2" ,libxml2)
("lmdb" ,lmdb)
("notmuch" ,notmuch)))
(native-inputs
`(("automake" ,automake)
("gettext-minimal" ,gettext-minimal)
("pkg-config" ,pkg-config)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml-4.2)
("w3m" ,w3m)
("tcl" ,tcl)))
(arguments
`(#:test-target "test"
#:configure-flags
(list "--gpgme"
;; database, implies header caching
"--disable-tokyocabinet"
"--disable-qdbm"
"--disable-bdb"
"--lmdb"
"--kyotocabinet"
;; Database, implies header caching.
"--disable-tokyocabinet"
"--disable-qdbm"
"--disable-bdb"
"--lmdb"
"--kyotocabinet"
"--gdbm"
"--gdbm"
"--gnutls"
"--disable-ssl"
"--sasl"
(string-append "--with-sasl="
(assoc-ref %build-inputs "cyrus-sasl"))
"--gnutls"
"--disable-ssl"
"--sasl"
(string-append "--with-sasl="
(assoc-ref %build-inputs "cyrus-sasl"))
"--smime"
"--notmuch"
"--idn"
"--smime"
"--notmuch"
"--disable-idn"
"--idn2"
;; If we do not set this, neomutt wants to check
;; whether the path exists, which it does not
;; in the chroot. The workaround is this.
"--with-mailpath=/var/mail"
;; If we do not set this, neomutt wants to check
;; whether the path exists, which it does not
;; in the chroot.
"--with-mailpath=/var/mail"
"--with-ui=ncurses"
(string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses"))
(string-append "--prefix="
(assoc-ref %outputs "out"))
"--debug")
#:phases
(modify-phases %standard-phases
;; TODO: autosetup is meant to be included in the source,
;; but we should package autosetup and use our own version of it.
(add-before 'configure 'fix-sasl-test
(lambda _
;; Upstream suggestion to fix the failing sasl autosetup test.
(substitute* "auto.def"
(("cc-with \\[list -cflags -I\\$prefix/include -libs")
"cc-with [list -includes stddef.h -cflags -I$prefix/include -libs"))
#t))
(replace 'configure
(lambda* (#:key outputs inputs configure-flags #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(flags `(,@configure-flags))
(bash (which "bash")))
(setenv "SHELL" bash)
(setenv "CONFIG_SHELL" bash)
(apply invoke bash
(string-append (getcwd) "/configure")
flags)))))))
(home-page "https://www.neomutt.org/")
(synopsis "Command-line mail reader based on Mutt")
(description
"NeoMutt is a command-line mail reader which is based on mutt.
"--with-ui=ncurses"
(string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses"))
(string-append "--prefix="
(assoc-ref %outputs "out"))
"--debug")
#:phases
(modify-phases %standard-phases
;; TODO: autosetup is meant to be included in the source,
;; but we should package autosetup and use our own version of it.
(replace 'configure
(lambda* (#:key outputs inputs configure-flags #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(flags `(,@configure-flags))
(bash (which "bash")))
(setenv "SHELL" bash)
(setenv "CONFIG_SHELL" bash)
(apply invoke bash
(string-append (getcwd) "/configure")
flags)))))))
(home-page "https://www.neomutt.org/")
(synopsis "Command-line mail reader based on Mutt")
(description
"NeoMutt is a command-line mail reader which is based on mutt.
It adds a large amount of new and improved features to mutt.")
(license gpl2+)))
(license gpl2+))))
(define-public gmime
(package
@ -2271,20 +2269,22 @@ e-mails with other systems speaking the SMTP protocol.")
(define-public opensmtpd-next
(package
(name "opensmtpd-next")
(version "6.4.2p1")
(version "6.6.0p1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.opensmtpd.org/archives/"
"opensmtpd-" version ".tar.gz"))
(sha256
(base32 "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd"))))
(base32 "1sgwbvc28h9nyyj4lv8d9b4ilzz03p2j1j763yr759k336a2193m"))))
(build-system gnu-build-system)
(inputs
`(("bdb" ,bdb)
("libasr" ,libasr)
("libevent" ,libevent)
("libressl" ,libressl)
;; XXX Upstream recommends LibreSSL, which doesn't support TLS 1.3 yet,
;; and requires a development release (3.0.2). Use OpenSSL instead.
("openssl" ,openssl)
("linux-pam" ,linux-pam)
("zlib" ,zlib)))
(native-inputs

View File

@ -60,14 +60,14 @@ a flexible and convenient way.")
(define-public man-db
(package
(name "man-db")
(version "2.8.5")
(version "2.9.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/man-db/man-db-"
version ".tar.xz"))
(sha256
(base32
"1hgnfcgbllmws8cs6zaxklq8b69i05zynxi87f3zxw9lfms54kdn"))))
"0qg2sdn8mayya0ril484iz1r7hi46l68d2d80cr6lvc7x3csqjjx"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -15,6 +15,7 @@
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1615,39 +1616,39 @@ are both supported).")
(license (list license:gpl3+ license:x11))))
(define-public profanity
(package
(name "profanity")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.profanity.im/profanity-"
version ".tar.gz"))
(sha256
(base32
"1f7ylw3mhhnii52mmk40hyc4kqhpvjdr3hmsplzkdhsfww9kflg3"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("expat" ,expat)
("glib" ,glib)
("gpgme" ,gpgme)
("libmesode" ,libmesode)
("libotr" ,libotr)
("ncurses" ,ncurses)
("openssl" ,openssl)
("readline" ,readline)))
(native-inputs
`(("autoconf" ,autoconf)
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("cmocka" ,cmocka)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(synopsis "Console-based XMPP client")
(description "Profanity is a console based XMPP client written in C
(package
(name "profanity")
(version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://profanity-im.github.io/profanity-"
version ".tar.gz"))
(sha256
(base32
"0nxh81j8ky0fzv47pip1jb7rs5rrin3jx0f3h632bvpjiya45r1z"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("expat" ,expat)
("glib" ,glib)
("gpgme" ,gpgme)
("libmesode" ,libmesode)
("libotr" ,libotr)
("ncurses" ,ncurses)
("openssl" ,openssl)
("readline" ,readline)))
(native-inputs
`(("autoconf" ,autoconf)
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("cmocka" ,cmocka)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(synopsis "Console-based XMPP client")
(description "Profanity is a console based XMPP client written in C
using ncurses and libmesode, inspired by Irssi.")
(home-page "http://www.profanity.im")
(license license:gpl3+)))
(home-page "http://www.profanity.im")
(license license:gpl3+)))
(define-public libircclient
(package

View File

@ -75,6 +75,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages security-token)
#:use-module (gnu packages suckless)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
@ -109,7 +111,7 @@ human.")
(define-public keepassxc
(package
(name "keepassxc")
(version "2.4.3")
(version "2.5.0")
(source
(origin
(method url-fetch)
@ -118,24 +120,25 @@ human.")
version "-src.tar.xz"))
(sha256
(base32
"0d17izx6qvcsxsxlsmaa17rgn38fvxsp5yzqqf4pc11i44cm5jfp"))))
"10bq2934xqpjpr99wbjg2vwmi73fcq0419cb3v78n2kj5fbwwnb3"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DWITH_XC_NETWORKING=YES"
"-DWITH_XC_BROWSER=YES"
"-DWITH_XC_SSHAGENT=YES"
'(#:configure-flags '("-DWITH_XC_ALL=YES"
"-DWITH_XC_UPDATECHECK=NO")))
(inputs
`(("argon2" ,argon2)
("curl" ,curl) ; XC_NETWORKING
("libgcrypt" ,libgcrypt)
("libsodium" ,libsodium) ; XC_BROWSER
("libyubikey" ,libyubikey) ; XC_YUBIKEY
("libxi" ,libxi)
("libxtst" ,libxtst)
("qrencode" ,qrencode)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
("quazip" ,quazip) ; XC_KEESHARE
("readline" ,readline)
("yubikey-personalization" ,yubikey-personalization) ; XC_YUBIKEY
("zlib" ,zlib)))
(native-inputs
`(("qttools" ,qttools)))
@ -146,7 +149,8 @@ manage your passwords in a secure way. You can put all your passwords in one
database, which is locked with one master key or a key-file which can be stored
on an external storage device. The databases are encrypted using the
algorithms AES or Twofish.")
;; Non-functional parts use various licences.
;; While various parts of the software are licensed under different licenses,
;; the combined work falls under the GPLv3.
(license license:gpl3)))
(define-public keepassx

View File

@ -1,25 +0,0 @@
Ensure local debug symbols are aligned on AArch64.
Taken from upstream:
https://code.videolan.org/videolan/dav1d/commit/a6228f47f0eebcdfebb1753a786e3e1654b51ea4
diff --git a/src/arm/64/ipred.S b/src/arm/64/ipred.S
index 41b3c1c..9513212 100644
--- a/src/arm/64/ipred.S
+++ b/src/arm/64/ipred.S
@@ -2244,6 +2244,7 @@ L(ipred_cfl_ac_420_tbl):
.hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w16)
.hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w8)
.hword L(ipred_cfl_ac_420_tbl) - L(ipred_cfl_ac_420_w4)
+ .hword 0
L(ipred_cfl_ac_420_w16_tbl):
.hword L(ipred_cfl_ac_420_w16_tbl) - L(ipred_cfl_ac_420_w16_wpad0)
@@ -2432,6 +2433,7 @@ L(ipred_cfl_ac_422_tbl):
.hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w16)
.hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w8)
.hword L(ipred_cfl_ac_422_tbl) - L(ipred_cfl_ac_422_w4)
+ .hword 0
L(ipred_cfl_ac_422_w16_tbl):
.hword L(ipred_cfl_ac_422_w16_tbl) - L(ipred_cfl_ac_422_w16_wpad0)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
--- a/browser/app/profile/icecat.js.orig 1980-01-01 18:59:51.000000000 -0500
+++ b/browser/app/profile/icecat.js 2019-10-25 06:24:03.065989309 -0400
@@ -2275,3 +2275,6 @@
pref("general.buildID.override", "Gecko/20100101");
pref("general.oscpu.override", "Windows NT 6.1");
pref("general.platform.override", "Win32");
+
+// Disable Firefox Accounts and Sign in to Sync.
+pref("identity.fxaccounts.enabled", false);

View File

@ -3,16 +3,16 @@ in a snippet without network access. After this patch is applied, some
additional changes will be made using 'substitute*'.
diff --git a/makeicecat b/makeicecat
index 5a4390b..fcfa143 100644
index b04c731..06d1f3f 100644
--- a/makeicecat
+++ b/makeicecat
@@ -29,55 +29,55 @@ SOURCEDIR=icecat-$FFVERSION
@@ -30,55 +30,55 @@ SOURCEDIR=icecat-$FFVERSION
DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data
-mkdir output
-mkdir -p output
-cd output
+# mkdir output
+# mkdir -p output
+# cd output
###############################################################################
@ -23,9 +23,9 @@ index 5a4390b..fcfa143 100644
-
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
-gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355
-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-
-echo Extracting Firefox tarball
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
@ -35,9 +35,9 @@ index 5a4390b..fcfa143 100644
+#
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
+# echo -n 0a5f0c1d8d1e9443d85083d37fec32e5cc15c1001ea992d49745490065b4a023 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+# echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+#
+# echo Extracting Firefox tarball
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
@ -98,7 +98,22 @@ index 5a4390b..fcfa143 100644
#for patch in $DATA/patches/*; do
# echo Patching with file: $patch
@@ -590,6 +590,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
@@ -226,10 +226,10 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in
find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i
-for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
-do
- find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
-done
+# for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded
+# do
+# find -name aboutRights.dtd | xargs sed -i "s/ENTITY $STRING.*/ENTITY $STRING \"\">/"
+# done
for STRING in rights-intro-point-2 rights-intro-point-3 rights-intro-point-4 rights-intro-point-5 rights-intro-point-6 rights-webservices rights-safebrowsing
do
@@ -595,6 +595,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
# Fix CVE-2012-3386
/bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true

View File

@ -805,14 +805,14 @@ memory_cycle_ok( $object );
(define-public perl-test-mockmodule
(package
(name "perl-test-mockmodule")
(version "0.170.0")
(version "0.171.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
"Test-MockModule-v" version ".tar.gz"))
(sha256
(base32 "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz"))))
(base32 "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)

View File

@ -6549,7 +6549,7 @@ name, but they won't show up as methods on your class or instances.")
(define-public perl-net-dns-native
(package
(name "perl-net-dns-native")
(version "0.20")
(version "0.21")
(source
(origin
(method url-fetch)
@ -6557,7 +6557,7 @@ name, but they won't show up as methods on your class or instances.")
"mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-"
version ".tar.gz"))
(sha256
(base32 "0whm9l30frgzcfmlzqrsx3q5rdi8y6dhz33r4msgxrch8h97i8cb"))))
(base32 "0jjcgzmgas7k5rwalirrmbnlj4ihdxyydajc18qviwg863qjannl"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Net-DNS-Native")
(synopsis "Non-blocking system DNS resolver")

View File

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

View File

@ -5438,13 +5438,13 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(define-public python-ipykernel
(package
(name "python-ipykernel")
(version "5.1.1")
(version "5.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipykernel" version))
(sha256
(base32 "173nm29g85w8cac3fg40b27qaq26g41wgg6qn79ql1hq4w2n5sgh"))))
(base32 "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -5469,8 +5469,9 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
;; imported at runtime during connect
("python-jupyter-client" ,python-jupyter-client)))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-nose" ,python-nose)))
`(("python-flaky" ,python-flaky)
("python-nose" ,python-nose)
("python-pytest" ,python-pytest)))
(home-page "https://ipython.org")
(synopsis "IPython Kernel for Jupyter")
(description

View File

@ -18,6 +18,7 @@
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -8966,3 +8967,29 @@ programming: intellisense, diagnostics, inline documentation, and type
checking.")
(home-page "https://solargraph.org/")
(license license:expat)))
(define-public ruby-wayback-machine-downloader
(package
(name "ruby-wayback-machine-downloader")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri
"wayback_machine_downloader"
version))
(sha256
(base32
"12kb1qmvmmsaihqab1prn6cmynkn6cgb4vf41mgv22wkcgv5wgk2"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no tests
(synopsis "Download archived websites from the Wayback Machine")
(description
"Wayback Machine Downloader is a command line tool for downloading
websites from the Internet Archive's Wayback Machine (archive.org).
It allows fine grained control over what to download by specifying
which snapshots to consider and what files to include.")
(home-page
"https://github.com/hartator/wayback-machine-downloader")
(license license:expat)))

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;;
@ -35,6 +35,7 @@
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages check)
#:use-module (gnu packages docbook)
@ -455,6 +456,49 @@ operations.")
;; Most files are LGPLv2.1+, but some files are GPLv3+.
(license (list license:lgpl2.1+ license:gpl3+))))
(define-public libu2f-server
(package
(name "libu2f-server")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/Yubico/libu2f-server.git")
(commit (string-append "libu2f-server-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1nmsfq372zza5y6j13ydincjf324bwfcjg950vykh166xkp6wiic"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--enable-gtk-doc"
"--enable-tests")))
(inputs
`(("json-c" ,json-c)
("libressl" ,libressl)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("check" ,check)
("gengetopt" ,gengetopt)
("help2man" ,help2man)
("pkg-config" ,pkg-config)
("gtk-doc" ,gtk-doc)
("which" ,which)))
(home-page "https://developers.yubico.com/libu2f-server/")
;; TRANSLATORS: The U2F protocol has a "server side" and a "host side".
(synopsis "U2F server-side C library")
(description
"This is a C library that implements the server-side of the
@dfn{Universal 2nd Factor} (U2F) protocol. More precisely, it provides an API
for generating the JSON blobs required by U2F devices to perform the U2F
Registration and U2F Authentication operations, and functionality for
verifying the cryptographic operations.")
(license license:bsd-2)))
(define-public python-fido2
(package
(name "python-fido2")

View File

@ -70,7 +70,7 @@
(define-public libssh
(package
(name "libssh")
(version "0.9.0")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -78,7 +78,7 @@
(commit (string-append "libssh-" version))))
(sha256
(base32
"0hxws8vl56cbjwchmj0x78ywv2b8spv6h90sgma1vj1y9dybgs7s"))
"1gn8ssb1j8p41w6zy6iagbafgvcgn36ci9yyhhq83sragfjsvxaz"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(outputs '("out" "debug"))

View File

@ -612,14 +612,14 @@ nonlinear mixed-effects models.")
(define-public r-mgcv
(package
(name "r-mgcv")
(version "1.8-29")
(version "1.8-30")
(source
(origin
(method url-fetch)
(uri (cran-uri "mgcv" version))
(sha256
(base32
"1236gz25nap1aprbvcrqvmmnl6f8cvbjy8dcl4j968cpalqax5ww"))))
"0x9jr0a4r8v6jb0r4m3m1sk606s2x3lmg5ndz5bz0xxvqpzf593q"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)
@ -805,13 +805,13 @@ effects of different types of color-blindness.")
(define-public r-digest
(package
(name "r-digest")
(version "0.6.21")
(version "0.6.22")
(source
(origin
(method url-fetch)
(uri (cran-uri "digest" version))
(sha256
(base32 "0qycqchmv59fb6jp369d82mcx9xgbv70m18qzam0vrs8zkmajb17"))))
(base32 "1qav52y1qmkg9j2g48mrl6bbjwhs0fs9dl55xb62lfkrihkappqh"))))
(build-system r-build-system)
;; Vignettes require r-knitr, which requires r-digest, so we have to
;; disable them and the tests.
@ -1656,13 +1656,13 @@ defined in different packages.")
(define-public r-rlang
(package
(name "r-rlang")
(version "0.4.0")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (cran-uri "rlang" version))
(sha256
(base32
"038mmbmklw17ncgz53vrdx2506c1jj6di3y165bbx2sl2yia8j4p"))))
"122hhc7pdri8wkjmk37y71m4h1gmdzaqcfdizfdjg1bhy935i10k"))))
(build-system r-build-system)
(home-page "http://rlang.tidyverse.org")
(synopsis "Functions for base types, core R and Tidyverse features")
@ -5288,14 +5288,14 @@ Companion to Applied Regression, Third Edition, Sage.")
(define-public r-car
(package
(name "r-car")
(version "3.0-3")
(version "3.0-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "car" version))
(sha256
(base32
"0vy3g3bjljd2al8xb9qr45f98is7yppc9jilqn7b6zvf5yqpr07s"))))
"1mhfxrb62yanaz36f4n38p9hhnqbs5b19k0864w4ja1ccgh3nl3f"))))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)

View File

@ -482,7 +482,7 @@ required structures.")
(source (origin
(method url-fetch)
(uri (string-append "mirror://openbsd/LibreSSL/"
name "-" version ".tar.gz"))
"libressl-" version ".tar.gz"))
(sha256
(base32
"19kxa5i97q7p6rrps9qm0nd8zqhdjvzx02j72400c73cl2nryfhy"))))

View File

@ -1494,7 +1494,7 @@ projects while introducing many more.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2019.09.28")
(version "2019.10.22")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@ -1502,7 +1502,7 @@ projects while introducing many more.")
version ".tar.gz"))
(sha256
(base32
"0nrk0bk6lksnmng8lwhcpkc57iibzjjamlqz8rxjpsw6dnzxz82h"))))
"06wg6wpyq0fawjxjrhd7zasfjr9b6w9wsk2amiqdl712zqlq2rwb"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@ -3545,16 +3545,15 @@ transitions, and effects and then export your film to many common formats.")
(define-public dav1d
(package
(name "dav1d")
(version "0.5.0")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.videolan.org/pub/videolan"
"/dav1d/" version "/dav1d-" version ".tar.xz"))
(patches (search-patches "dav1d-aarch64-symbol-alignment.patch"))
(sha256
(base32
"1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn"))))
"03cf6f9if45prq97qp7llzi1p71dyw9ymc87hc225iy89kmzjsdd"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")

View File

@ -452,14 +452,14 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(define-public wireguard
(package
(name "wireguard")
(version "0.0.20190913")
(version "0.0.20191012")
(source (origin
(method url-fetch)
(uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
"WireGuard-" version ".tar.xz"))
(sha256
(base32
"06452jfibwar4sh7wf2k2k1a5qk5q703gxqqq5ymj6rdblc2fwwr"))))
"13psxk61d60sas0ksfk0gakrv8wc8anjj5zb67g2zhn1r69k2mwk"))))
(build-system gnu-build-system)
(outputs '("out" ; The WireGuard userspace tools
"kernel-patch")) ; A patch to build Linux with WireGuard support

View File

@ -265,6 +265,8 @@ nntp, finger, or cso/ph/qi servers. Lynx can be used to access information on
the WWW, or to build information systems intended primarily for local
access.")
(home-page "https://lynx.invisible-island.net/")
;; This was fixed in 2.8.9dev.10.
(properties `((lint-hidden-cve . ("CVE-2016-9179"))))
(license license:gpl2)))
(define-public qutebrowser

View File

@ -212,14 +212,14 @@ Interface} specification.")
;; stable and recommends that “in general you deploy the NGINX mainline
;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
;; Consider updating the nginx-documentation package together with this one.
(version "1.17.4")
(version "1.17.5")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
"0mg521bxh8pysmy20x599m252ici9w97kk7qy7s0wrv6bqv4p1b2"))))
"1hqhziic4csci8xs4q8vbzpmj2qjkhmmx68zza7h5bvmbbhkbvk3"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@ -5076,13 +5076,13 @@ deployments.")
(package
(name "varnish")
(home-page "https://varnish-cache.org/")
(version "6.3.0")
(version "6.3.1")
(source (origin
(method url-fetch)
(uri (string-append home-page "_downloads/varnish-" version ".tgz"))
(sha256
(base32
"0zwlffdd1m0ih33nq40xf2wwdyvr4czmns2fs90qpfnwy72xxk4m"))))
"0xa14pd68zpi5hxcax3arl14rcmh5d1cdwa8gv4l5f23mmynr8ni"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
@ -5568,7 +5568,7 @@ snippets on @url{https://commandlinefu.com}.")
(define-public rss-bridge
(package
(name "rss-bridge")
(version "2019-07-06")
(version "2019-09-12")
(source
(origin
(method git-fetch)
@ -5577,8 +5577,7 @@ snippets on @url{https://commandlinefu.com}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0zd0c9xzvpx55mvj8xrafakfkvafnwkkvhw9b1j0bf897xdkfsyb"))))
(base32 "1mx7f3l45nqhcrng531l4cq8kpzm164hhbwn26g5akb2pamdlnra"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
@ -5597,7 +5596,7 @@ snippets on @url{https://commandlinefu.com}.")
websites lacking feeds. Supported websites include Facebook, Twitter,
Instagram and YouTube.")
(license (list license:public-domain
license:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php
license:expat)))) ; vendor/simplehtmldom/simple_html_dom.php
(define-public linkchecker
(package

View File

@ -164,6 +164,7 @@
(let ((cache (cuirass-configuration-cache-directory config))
(db (dirname (cuirass-configuration-database config)))
(user (cuirass-configuration-user config))
(log "/var/log/cuirass")
(group (cuirass-configuration-group config)))
(with-imported-modules '((guix build utils))
#~(begin
@ -171,11 +172,13 @@
(mkdir-p #$cache)
(mkdir-p #$db)
(mkdir-p #$log)
(let ((uid (passwd:uid (getpw #$user)))
(gid (group:gid (getgr #$group))))
(chown #$cache uid gid)
(chown #$db uid gid))))))
(chown #$db uid gid)
(chown #$log uid gid))))))
(define (cuirass-log-rotations config)
"Return the list of log rotations that corresponds to CONFIG."

View File

@ -835,6 +835,7 @@ the GNOME desktop environment.")
(allow-empty-passwords? gdm-configuration-allow-empty-passwords? (default #t))
(auto-login? gdm-configuration-auto-login? (default #f))
(dbus-daemon gdm-configuration-dbus-daemon (default dbus-daemon-wrapper))
(debug? gdm-configuration-debug? (default #f))
(default-user gdm-configuration-default-user (default #f))
(gnome-shell-assets gdm-configuration-gnome-shell-assets
(default (list adwaita-icon-theme font-cantarell)))
@ -866,7 +867,9 @@ the GNOME desktop environment.")
"WaylandEnable=false\n"
"\n"
"[debug]\n"
"#Enable=true\n"
"Enable=" (if (gdm-configuration-debug? config)
"true"
"false") "\n"
"\n"
"[security]\n"
"#DisallowTCP=true\n"

View File

@ -522,7 +522,20 @@ options handled by 'set-build-options-from-command-line', and listed in
(define (set-build-options-from-command-line store opts)
"Given OPTS, an alist as returned by 'args-fold' given
'%standard-build-options', set the corresponding build options on STORE."
;; TODO: Add more options.
;; '--keep-failed' has no effect when talking to a remote daemon. Catch the
;; case where GUIX_DAEMON_SOCKET=guix://….
(when (and (assoc-ref opts 'keep-failed?)
(let* ((socket (store-connection-socket store))
(peer (catch 'system-error
(lambda ()
(and (file-port? socket)
(getpeername socket)))
(const #f))))
(and peer (not (= AF_UNIX (sockaddr:fam peer))))))
(warning (G_ "'--keep-failed' ignored since you are \
talking to a remote daemon\n")))
(set-build-options store
#:keep-failed? (assoc-ref opts 'keep-failed?)
#:keep-going? (assoc-ref opts 'keep-going?)