Merge branch 'master' into staging
commit
a557810ac7
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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'.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
@ -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);
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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?)
|
||||
|
|
Reference in New Issue