Archived
1
0
Fork 0

Merge remote-tracking branch 'origin/master' into wip-ungrafting

This commit is contained in:
Ludovic Courtès 2021-04-29 15:41:48 +02:00
commit 2c11e7be74
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
225 changed files with 679758 additions and 143469 deletions

2
.gitignore vendored
View file

@ -146,7 +146,7 @@ tmp
/doc/os-config-lightweight-desktop.texi /doc/os-config-lightweight-desktop.texi
/nix/scripts/download /nix/scripts/download
/.version /.version
/doc/stamp-[0-9] /doc/stamp-[0-9]*
/gnu/packages/bootstrap /gnu/packages/bootstrap
/gnu/packages/aux-files/guile-guile-launcher.o /gnu/packages/aux-files/guile-guile-launcher.o
/guile /guile

View file

@ -86,8 +86,6 @@
(;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0" (;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0"
"B051 5948 F1E7 D3C1 B980 38A0 2646 FA30 BACA 7F08" "B051 5948 F1E7 D3C1 B980 38A0 2646 FA30 BACA 7F08"
(name "lfam")) (name "lfam"))
("148B CB8B D80B FB16 B1DE 0E91 45A8 B1E8 6BCD 10A6"
(name "lle_bout"))
("8887 84C4 1459 ACCB 83E7 E84C 634C 6E89 79FA BEC2" ("8887 84C4 1459 ACCB 83E7 E84C 634C 6E89 79FA BEC2"
(name "m1gu3l")) (name "m1gu3l"))
("CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D" ("CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D"

View file

@ -38,7 +38,7 @@ Joshua Grant <tadni@riseup.net> <gzg@riseup.net>
Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io> Joshua Grant <tadni@riseup.net> <jgrant@parenthetical.io>
Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com> Joshua Grant <tadni@riseup.net> <tadnimi@gmail.com>
Joshua Grant <tadni@riseup.net> <youlysses@riseup.net> Joshua Grant <tadni@riseup.net> <youlysses@riseup.net>
Kei Kebreau <kei@openmailbox.org> <kkebreau@posteo.net> Kei Kebreau <kkebreau@posteo.net>
Leo Famulari <leo@famulari.name> <lfamular@gmail.com> Leo Famulari <leo@famulari.name> <lfamular@gmail.com>
Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr> Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr>
Marek Benc <dusxmt@gmx.com> <merkur32@gmail.com> Marek Benc <dusxmt@gmx.com> <merkur32@gmail.com>

View file

@ -261,7 +261,6 @@ MODULES = \
guix/import/opam.scm \ guix/import/opam.scm \
guix/import/print.scm \ guix/import/print.scm \
guix/import/pypi.scm \ guix/import/pypi.scm \
guix/import/snix.scm \
guix/import/stackage.scm \ guix/import/stackage.scm \
guix/import/texlive.scm \ guix/import/texlive.scm \
guix/import/utils.scm \ guix/import/utils.scm \
@ -300,7 +299,6 @@ MODULES = \
guix/scripts/import/go.scm \ guix/scripts/import/go.scm \
guix/scripts/import/hackage.scm \ guix/scripts/import/hackage.scm \
guix/scripts/import/json.scm \ guix/scripts/import/json.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/opam.scm \ guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \ guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \ guix/scripts/import/stackage.scm \
@ -489,7 +487,6 @@ SCM_TESTS = \
tests/services/linux.scm \ tests/services/linux.scm \
tests/sets.scm \ tests/sets.scm \
tests/size.scm \ tests/size.scm \
tests/snix.scm \
tests/status.scm \ tests/status.scm \
tests/store-database.scm \ tests/store-database.scm \
tests/store-deduplication.scm \ tests/store-deduplication.scm \

View file

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -91,14 +91,11 @@ then
# Place for the substituter's cache. # Place for the substituter's cache.
XDG_CACHE_HOME="$GUIX_STATE_DIRECTORY/cache-$$" XDG_CACHE_HOME="$GUIX_STATE_DIRECTORY/cache-$$"
# For the (guix import snix) tests.
NIXPKGS="@NIXPKGS@"
export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \
GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \ GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \
GUIX_BINARY_SUBSTITUTE_URL \ GUIX_BINARY_SUBSTITUTE_URL \
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \ GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \
GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME
# Launch the daemon without chroot support because is may be # Launch the daemon without chroot support because is may be
# unavailable, for instance if we're not running as root. # unavailable, for instance if we're not running as root.

View file

@ -195,23 +195,6 @@ AC_SUBST([GZIP])
AC_SUBST([BZIP2]) AC_SUBST([BZIP2])
AC_SUBST([XZ]) AC_SUBST([XZ])
AC_ARG_WITH([nixpkgs],
[AS_HELP_STRING([--with-nixpkgs=DIR],
[search for Nixpkgs in DIR (for testing purposes only)])],
[case "$withval" in
yes|no) AC_MSG_ERROR([Please use `--with-nixpkgs=DIR'.]);;
*) NIXPKGS="$withval";;
esac],
[])
AC_MSG_CHECKING([for Nixpkgs source tree])
if test -f "$NIXPKGS/default.nix"; then
AC_MSG_RESULT([$NIXPKGS])
AC_SUBST([NIXPKGS])
else
AC_MSG_RESULT([not found])
fi
LIBGCRYPT_LIBDIR="no" LIBGCRYPT_LIBDIR="no"
LIBGCRYPT_PREFIX="no" LIBGCRYPT_PREFIX="no"

View file

@ -63,9 +63,9 @@
"guix")) "guix"))
(define %languages (define %languages
;; The cookbook is currently only translated into German. ;; The cookbook is not translated in the same languages as the manual
(if (string=? %manual "guix-cookbook") (if (string=? %manual "guix-cookbook")
'("de" "en") '("de" "en" "fr")
'("de" "en" "es" "fr" "ru" "zh_CN"))) '("de" "en" "es" "fr" "ru" "zh_CN")))
(define (texinfo-manual-images source) (define (texinfo-manual-images source)
@ -948,7 +948,7 @@ from SOURCE."
(div (div
(ul (ul
(li (a (@ (href "html_node")) (li (a (@ (href "html_node"))
"HTML, with one page per node")) "HTML, with a separate page per node"))
(li (a (@ (href (li (a (@ (href
,(string-append ,(string-append
#$manual #$manual

View file

@ -29,6 +29,7 @@ choice.
* Tracking Bugs and Patches:: Using Debbugs. * Tracking Bugs and Patches:: Using Debbugs.
* Commit Access:: Pushing to the official repository. * Commit Access:: Pushing to the official repository.
* Updating the Guix Package:: Updating the Guix package definition. * Updating the Guix Package:: Updating the Guix package definition.
* Translating Guix:: Make Guix speak your native language.
@end menu @end menu
@node Building from Git @node Building from Git
@ -1079,12 +1080,14 @@ rebuilding induced, commits go to different branches, along these lines:
@code{staging} branch (non-disruptive changes). This branch is intended @code{staging} branch (non-disruptive changes). This branch is intended
to be merged in @code{master} every 6 weeks or so. Topical changes to be merged in @code{master} every 6 weeks or so. Topical changes
(e.g., an update of the GNOME stack) can instead go to a specific branch (e.g., an update of the GNOME stack) can instead go to a specific branch
(say, @code{gnome-updates}). (say, @code{gnome-updates}). This branch is not expected to be
buildable or usable until late in its development process.
@item more than 1,800 dependent packages @item more than 1,800 dependent packages
@code{core-updates} branch (may include major and potentially disruptive @code{core-updates} branch (may include major and potentially disruptive
changes). This branch is intended to be merged in @code{master} every changes). This branch is intended to be merged in @code{master} every
6 months or so. 6 months or so. This branch is not expected to be buildable or usable
until late in its development process.
@end table @end table
All these branches are @uref{@value{SUBSTITUTE-URL}, All these branches are @uref{@value{SUBSTITUTE-URL},
@ -1429,3 +1432,266 @@ This check can be disabled, @emph{at your own peril}, by setting the
@code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When
this variable is set, the updated package source is also added to the this variable is set, the updated package source is also added to the
store. This is used as part of the release process of Guix. store. This is used as part of the release process of Guix.
@cindex translation
@cindex l10n
@cindex i18n
@cindex native language support
@node Translating Guix
@section Translating Guix
Writing code and packages is not the only way to provide a meaningful
contribution to Guix. Translating to a language you speak is another
example of a valuable contribution you can make. This section is designed
to describe the translation process. It gives you advice on how you can
get involved, what can be translated, what mistakes you should avoid and
what we can do to help you!
Guix is a big project that has multiple components that can be translated.
We coordinate the translation effort on a
@uref{https://translate.fedoraproject.org/projects/guix/,Weblate instance}
hosted by our friends at Fedora. You will need an account to submit
translations.
Some of the software packaged in Guix also contain translations. We do not
host a translation platform for them. If you want to translate a package
provided by Guix, you should contact their developpers or find the information
on their website. As an example, you can find the homepage of the
@code{hello} package by typing @code{guix show hello}. On the ``homepage''
line, you will see @url{https://www.gnu.org/software/hello/} as the homepage.
Many GNU and non-GNU packages can be translated on the
@uref{https://translationproject.org,Translation Project}. Some projects
with multiple components have their own platform. For instance, GNOME has
its own platform, @uref{https://l10n.gnome.org/,Damned Lies}.
Guix has five components hosted on Weblate.
@itemize
@item @code{guix} contains all the strings from the Guix software (the
guided system installer, the package manager, etc), excluding packages.
@item @code{packages} contains the synopsis (single-sentence description
of a package) and description (longer description) of packages in Guix.
@item @code{website} contains the official Guix website, except for
blog posts and multimedia content.
@item @code{documentation-manual} corresponds to this manual.
@item @code{documentation-cookbook} is the component for the cookbook.
@end itemize
@subsubheading General Directions
Once you get an account, you should be able to select a component from
@uref{https://translate.fedoraproject.org/projects/guix/,the guix project},
and select a language. If your language does not appear in the list, go
to the bottom and click on the ``Start new translation'' button. Select
the language you want to translate to from the list, to start your new
translation.
Like lots of other free software packages, Guix uses
@uref{https://www.gnu.org/software/gettext,GNU Gettext} for its translations,
with which translatable strings are extracted from the source code to so-called
PO files.
Even though PO files are text files, changes should not be made with a text
editor but with PO editing software. Weblate integrates PO editing
functionality. Alternatively, translators can use any of various
free-software tools for filling in translations, of which
@uref{https://poedit.net/,Poedit} is one example, and (after logging in)
@uref{https://docs.weblate.org/en/latest/user/files.html,upload} the changed
file. There is also a special
@uref{https://www.emacswiki.org/emacs/PoMode,PO editing mode} for users of GNU
Emacs. Over time translators find out what software they are happy with and
what features they need.
On Weblate, you will find various links to the editor, that will show various
subsets (or all) of the strings. Have a look around and at the
@uref{https://docs.weblate.org/en/latest/,documentation} to familiarize
yourself with the platform.
@subsubheading Translation Components
In this section, we provide more detailed guidance on the translation
process, as well as details on what you should or should not do. When in
doubt, please contact us, we will be happy to help!
@table @asis
@item guix
Guix is written in the Guile programming language, and some strings contain
special formating that is interpreted by Guile. These special formating
should be highlighted by Weblate. They start with @code{~} followed by one
or more characters.
When printing the string, Guile replaces the special formating symbols with
actual values. For instance, the string @samp{ambiguous package specification
`~a'} would be substituted to contain said package specification instead of
@code{~a}. To properly translate this string, you must keep the formating
code in your translation, although you can place it where it makes sense in
your language. For instance, the French translation says @samp{spécification
du paquet « ~a » ambiguë} because the adjective needs to be placed in the
end of the sentence.
If there are multiple formating symbols, make sure to respect the order.
Guile does not know in which order you intended the string to be read, so it
will substitute the symbols in the same order as the English sentence.
As an example, you cannot translate @samp{package '~a' has been superseded by
'~a'} by @samp{'~a' superseeds package '~a'}, because the meaning would be
reversed. If foo is superseeded by bar, the translation would read
@samp{'foo' superseeds package 'bar'}. To work around this problem, it
is possible to use more advanced formating to select a given piece of data,
instead of following the default English order. @xref{Formatted Output,,,
guile, GNU Guile Reference Manual}, for more information on formating in Guile.
@item packages
Package descriptions occasionally contain Texinfo markup (@pxref{Synopses
and Descriptions}). Texinfo markup looks like @samp{@@code@{rm -rf@}},
@samp{@@emph@{important@}}, etc. When translating, please leave markup as is.
The characters after ``@@'' form the name of the markup, and the text between
``@{'' and ``@}'' is its content. In general, you should not translate the
content of markup like @code{@@code}, as it contains literal code that do not
change with language. You can translate the content of formating markup such
as @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}. However, do
not translate the name of the markup, or it will not be recognized. Do
not translate the word after @code{@@end}, it is the name of the markup that
is closed at this position (e.g.@: @code{@@itemize ... @@end itemize}).
@item documentation-manual and documentation-cookbook
The first step to ensure a successful translation of the manual is to find
and translate the following strings @emph{first}:
@itemize
@item @code{version.texi}: Translate this string as @code{version-xx.texi},
where @code{xx} is your language code (the one shown in the URL on
weblate).
@item @code{contributing.texi}: Translate this string as
@code{contributing.xx.texi}, where @code{xx} is the same language code.
@item @code{Top}: Do not translate this string, it is important for Texinfo.
If you translate it, the document will be empty (missing a Top node).
Please look for it, and register @code{Top} as its translation.
@end itemize
Translating these strings first ensure we can include your translation in
the guix repository without breaking the make process or the
@command{guix pull} machinery.
The manual and the cookbook both use Texinfo. As for @code{packages}, please
keep Texinfo markup as is. There are more possible markup types in the manual
than in the package descriptions. In general, do not translate the content
of @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value}, etc. You
should translate the content of formating markup such as @code{@@emph},
@code{@@i}, etc.
The manual contains sections that can be refered to by name by @code{@@ref},
@code{@@xref} and @code{@@pxref}. We have a mechanism in place so you do
not have to translate their content. If you keep the English title, we will
automatically replace it with your translation of that title. This ensures
that Texinfo will always be able to find the node. If you decide to change
the translation of the title, the references will automatically be updated
and you will not have to update them all yourself.
When translating references from the cookbook to the manual, you need to
replace the name of the manual and the name of the section. For instance,
to translate @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference
Manual@}}, you would replace @code{Defining Packages} with the title of that
section in the translated manual @emph{only} if that title is translated.
If the title is not translated in your language yet, do not translate it here,
or the link will be broken. Replace @code{guix} with @code{guix.xx} where
@code{xx} is your language code. @code{GNU Guix Reference Manual} is the
text of the link. You can translate it however you wish.
@item website
The website pages are written using SXML, an s-expression version of HTML,
the basic language of the web. We have a process to extract translatable
strings from the source, and replace complex s-expressions with a more familiar
XML markup, where each markup is numbered. Translators can arbitrarily change
the ordering, as in the following example.
@example
#. TRANSLATORS: Defining Packages is a section name
#. in the English (en) manual.
#: apps/base/templates/about.scm:64
msgid "Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules."
msgstr "Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>."
@end example
Note that you need to include the same markups. You cannot skip any.
@end table
In case you make a mistake, the component might fail to build properly with your
language, or even make guix pull fail. To prevent that, we have a process
in place to check the content of the files before pushing to our repository.
We will not be able to update the translation for your language in Guix, so
we will notify you (through weblate and/or by email) so you get a chance to
fix the issue.
@subsubheading Outside of Weblate
Currently, some parts of Guix cannot be translated on Weblate, help wanted!
@itemize
@item @command{guix pull} news can be translated in @file{news.scm}, but is not
available from Weblate. If you want to provide a translation, you
can prepare a patch as described above, or simply send us your
translation with the name of the news entry you translated and your
language. @xref{Writing Channel News}, for more information about
channel news.
@item Guix blog posts cannot currently be translated.
@item The installer script (for foreign distributions) is entirely in English.
@item Some of the libraries Guix uses cannot be translated or are translated
outside of the Guix project. Guile itself is not internationalized.
@item Other manuals linked from this manual or the cookbook might not be
translated.
@end itemize
@subsubheading Translation Infrastructure
Weblate is backed by a git repository from which it discovers new strings to
translate and pushes new and updated translations. Normally, it would be
enough to give it commit access to our repositories. However, we decided
to use a separate repository for two reasons. First, we would have to give
Weblate commit access and authorize its signing key, but we do not trust it
in the same way we trust guix developpers, especially since we do not manage
the instance ourselves. Second, if translators mess something up, it can
break the generation of the website and/or guix pull for all our users,
independently of their language.
For these reasons, we use a dedicated repository to host translations, and we
synchronize it with our guix and artworks repositories after checking no issue
was introduced in the translation.
Developpers can download the latest PO files from weblate in the Guix
repository by runnig the @command{make download-po} target. It will
automatically download the latest files from weblate, reformat them to a
canonical form, and check they do not contain issues. The manual needs to be
built again to check for additional issues that might crash Texinfo.
Before pushing new translation files, developpers should add them to the
make machinery so the translations are actually available. The process
differs for the various components.
@itemize
@item New po files for the @code{guix} and @code{packages} components must
be registered by adding the new language to @file{po/guix/LINGUAS} or
@file{po/packages/LINGUAS}.
@item New po files for the @code{documentation-manual} component must be
registered by adding the file name to @code{DOC_PO_FILES} in
@file{po/doc/local.mk}, the generated @file{%D%/guix.xx.texi} manual to
@code{info_TEXINFOS} in @file{doc/local.mk} and the generated
@file{%D%/guix.xx.texi} and @file{%D%/contributing.xx.texi} to
@code{TRANSLATED_INFO} also in @file{doc/local.mk}.
@item New po files for the @code{documentation-cookbook} component must be
registered by adding the file name to @code{DOC_COOKBOOK_PO_FILES} in
@file{po/doc/local.mk}, the generated @file{%D%/guix-cookbook.xx.texi}
manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated
@file{%D%/guix-cookbook.xx.texi} to @code{TRANSLATED_INFO} also
in @file{doc/local.mk}.
@item New po files for the @code{website} component must be added to the
@code{guix-artwork} repository, in @file{website/po/}.
@file{website/po/LINGUAS} and @file{website/po/ietf-tags.scm} must
be updated accordingly (see @file{website/i18n-howto.txt} for more
information on the process).
@end itemize

View file

@ -36,7 +36,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien Lepiller@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@*
@ -68,7 +68,7 @@ Copyright @copyright{} 2019 Ivan Petkov@*
Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Jakob L. Kreuze@*
Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Kyle Andrews@*
Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019 Alex Griffin@*
Copyright @copyright{} 2019, 2020 Guillaume Le Vaillant@* Copyright @copyright{} 2019, 2020, 2021 Guillaume Le Vaillant@*
Copyright @copyright{} 2020 Leo Prikler@* Copyright @copyright{} 2020 Leo Prikler@*
Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2019, 2020 Simon Tournier@*
Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Wiktor Żelazny@*
@ -88,6 +88,7 @@ Copyright @copyright{} 2020 John Soo@*
Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Jonathan Brielmaier@*
Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2020 Edgar Vincent@*
Copyright @copyright{} 2021 Maxime Devos@* Copyright @copyright{} 2021 Maxime Devos@*
Copyright @copyright{} 2021 B. Wilson@*
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -146,7 +147,7 @@ Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), and
Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}). If you Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}). If you
would like to translate it in your native language, consider joining would like to translate it in your native language, consider joining
@uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual,
Weblate}. Weblate} (@pxref{Translating Guix}).
@menu @menu
* Introduction:: What is Guix about? * Introduction:: What is Guix about?
@ -11417,36 +11418,6 @@ and outputs a package expression:
guix import json hello.json guix import json hello.json
@end example @end example
@item nix
Import metadata from a local copy of the source of the
@uref{https://nixos.org/nixpkgs/, Nixpkgs distribution}@footnote{This
relies on the @command{nix-instantiate} command of
@uref{https://nixos.org/nix/, Nix}.}. Package definitions in Nixpkgs are
typically written in a mixture of Nix-language and Bash code. This
command only imports the high-level package structure that is written in
the Nix language. It normally includes all the basic fields of a
package definition.
When importing a GNU package, the synopsis and descriptions are replaced
by their canonical upstream variant.
Usually, you will first need to do:
@example
export NIX_REMOTE=daemon
@end example
@noindent
so that @command{nix-instantiate} does not try to open the Nix database.
As an example, the command below imports the package definition of
LibreOffice (more precisely, it imports the definition of the package
bound to the @code{libreoffice} top-level attribute):
@example
guix import nix ~/path/to/nixpkgs libreoffice
@end example
@item hackage @item hackage
@cindex hackage @cindex hackage
Import metadata from the Haskell community's central package archive Import metadata from the Haskell community's central package archive
@ -19948,6 +19919,9 @@ Socket file to use for local (non-network) connections.
@item @code{extra-content} (default: @code{""}) @item @code{extra-content} (default: @code{""})
Additional settings for the @file{my.cnf} configuration file. Additional settings for the @file{my.cnf} configuration file.
@item @code{extra-environment} (default: @code{#~'()})
List of environment variables passed to the @command{mysqld} process.
@item @code{auto-upgrade?} (default: @code{#t}) @item @code{auto-upgrade?} (default: @code{#t})
Whether to automatically run @command{mysql_upgrade} after starting the Whether to automatically run @command{mysql_upgrade} after starting the
service. This is necessary to upgrade the @dfn{system schema} after service. This is necessary to upgrade the @dfn{system schema} after
@ -27029,6 +27003,12 @@ The peer public-key represented as a base64 string.
A list of IP addresses from which incoming traffic for this peer is A list of IP addresses from which incoming traffic for this peer is
allowed and to which incoming traffic for this peer is directed. allowed and to which incoming traffic for this peer is directed.
@item @code{keep-alive} (default: @code{#f})
An optional time interval in seconds. A packet will be sent to the
server endpoint once per time interval. This helps receiving
incoming connections from this peer when you are behind a NAT or
a firewall.
@end table @end table
@end deftp @end deftp
@ -29051,10 +29031,11 @@ By default, it produces
@lisp @lisp
'("--device" "rtl8139,netdev=net0" '("--device" "rtl8139,netdev=net0"
"--netdev" "user,id=net0\ "--netdev" (string-append
,hostfwd=tcp:127.0.0.1:@var{secrets-port}-:1004\ "user,id=net0,"
,hostfwd=tcp:127.0.0.1:@var{ssh-port}-:2222\ "hostfwd=tcp:127.0.0.1:@var{secrets-port}-:1004,"
,hostfwd=tcp:127.0.0.1:@var{vnc-port}-:5900") "hostfwd=tcp:127.0.0.1:@var{ssh-port}-:2222,"
"hostfwd=tcp:127.0.0.1:@var{vnc-port}-:5900"))
@end lisp @end lisp
with forwarded ports: with forwarded ports:
@ -31179,6 +31160,15 @@ will use the current system it's running on as the default.
@item @code{max-parallel-builds} (default: @code{1}) @item @code{max-parallel-builds} (default: @code{1})
The number of builds to perform in parallel. The number of builds to perform in parallel.
@item @code{max-1min-load-average} (default: @code{#f})
Load average value to look at when considering starting new builds, if
the 1 minute load average exceeds this value, the agent will wait before
starting new builds.
This will be unspecified if the value is @code{#f}, and the agent will
use the number of cores reported by the system as the max 1 minute load
average.
@item @code{derivation-substitute-urls} (default: @code{#f}) @item @code{derivation-substitute-urls} (default: @code{#f})
URLs from which to attempt to fetch substitutes for derivations, if the URLs from which to attempt to fetch substitutes for derivations, if the
derivations aren't already available. derivations aren't already available.
@ -31282,7 +31272,7 @@ The Guix Build Coordinator package to use.
@item @code{user} (default: @code{"guix-build-coordinator-queue-builds"}) @item @code{user} (default: @code{"guix-build-coordinator-queue-builds"})
The system user to run the service as. The system user to run the service as.
@item @code{coordinator} (default: @code{"http://localhost:8745"}) @item @code{coordinator} (default: @code{"http://localhost:8746"})
The URI to use when connecting to the coordinator. The URI to use when connecting to the coordinator.
@item @code{systems} (default: @code{#f}) @item @code{systems} (default: @code{#f})
@ -31457,6 +31447,86 @@ parameters, can be done as follow:
@end lisp @end lisp
@end deffn @end deffn
@cindex rasdaemon
@cindex Platform Reliability, Availability and Serviceability daemon
@subsubheading Rasdaemon Service
The Rasdaemon service provides a daemon which monitors the platform Reliablity,
Availability and Serviceability (RAS) reports from the Linux kernel trace
events, logging them to syslogd.
Reliability, Availability and Serviceability is a concept used on servers meant
to measure their robustness.
@strong{Relability} is the probability that a system will produce correct
outputs:
@itemize @bullet
@item Generally measured as Mean Time Between Failures (MTBF), and
@item Enhanced by features that help to avoid, detect and repair hardware
faults
@end itemize
@strong{Availability} is the probability that a system is operational at a
given time:
@itemize @bullet
@item Generally measured as a percentage of downtime per a period of time, and
@item Often uses mechanisms to detect and correct hardware faults in runtime.
@end itemize
@strong{Serviceability} is the simplicity and speed with which a system can be
repaired or maintained:
@itemize @bullet
@item Generally measured on Mean Time Between Repair (MTBR).
@end itemize
Among the monitoring measures, the most usual ones include:
@itemize @bullet
@item CPU detect errors at instruction execution and at L1/L2/L3 caches;
@item Memory add error correction logic (ECC) to detect and correct errors;
@item I/O add CRC checksums for transferred data;
@item Storage RAID, journal file systems, checksums, Self-Monitoring,
Analysis and Reporting Technology (SMART).
@end itemize
By monitoring the number of occurrences of error detections, it is possible to
identify if the probability of hardware errors is increasing, and, on such
case, do a preventive maintenance to replace a degraded component while those
errors are correctable.
For detailed information about the types of error events gathered and how to
make sense of them, see the kernel administrator's guide at
@url{https://www.kernel.org/doc/html/latest/admin-guide/ras.html}.
@defvr {Scheme Variable} rasdaemon-service-type
Service type for the @command{rasdaemon} service. It accepts a
@code{rasdaemon-configuration} object. Instantiating like
@lisp
(service rasdaemon-service-type)
@end lisp
will load with a default configuration, which monitors all events and logs to
syslogd.
@end defvr
@deftp {Data Type} rasdaemon-configuration
The data type representing the configuration of @command{rasdaemon}.
@table @asis
@item @code{record?} (default: @code{#f})
A boolean indicating whether to record the events in an SQLite database. This
provides a more structured access to the information contained in the log file.
The database location is hard-coded to @file{/var/lib/rasdaemon/ras-mc_event.db}.
@end table
@end deftp
@cindex zram @cindex zram
@cindex compressed swap @cindex compressed swap
@cindex Compressed RAM-based block devices @cindex Compressed RAM-based block devices

View file

@ -397,15 +397,15 @@ guile-gtk node ${GS}/guile-gtk/docs/guile-gtk/
guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html guile-rpc mono ${GS}/guile-rpc/manual/guile-rpc.html
guile-rpc node ${GS}/guile-rpc/manual/html_node/ guile-rpc node ${GS}/guile-rpc/manual/html_node/
guix.de mono ${GS}/guix/manual/de/guix.html guix.de mono ${GS}/guix/manual/de/guix.de.html
guix.de node ${GS}/guix/manual/de/html_node/ guix.de node ${GS}/guix/manual/de/html_node/
guix.es mono ${GS}/guix/manual/es/guix.html guix.es mono ${GS}/guix/manual/es/guix.es.html
guix.es node ${GS}/guix/manual/es/html_node/ guix.es node ${GS}/guix/manual/es/html_node/
guix.fr mono ${GS}/guix/manual/fr/guix.html guix.fr mono ${GS}/guix/manual/fr/guix.fr.html
guix.fr node ${GS}/guix/manual/fr/html_node/ guix.fr node ${GS}/guix/manual/fr/html_node/
guix.ru mono ${GS}/guix/manual/ru/guix.html guix.ru mono ${GS}/guix/manual/ru/guix.ru.html
guix.ru node ${GS}/guix/manual/ru/html_node/ guix.ru node ${GS}/guix/manual/ru/html_node/
guix.zh_CN mono ${GS}/guix/manual/zh-cn/guix.html guix.zh_CN mono ${GS}/guix/manual/zh-cn/guix.zh_CN.html
guix.zh_CN node ${GS}/guix/manual/zh-cn/html_node/ guix.zh_CN node ${GS}/guix/manual/zh-cn/html_node/
guix mono ${GS}/guix/manual/en/guix.html guix mono ${GS}/guix/manual/en/guix.html
guix node ${GS}/guix/manual/en/html_node/ guix node ${GS}/guix/manual/en/html_node/

View file

@ -24,11 +24,20 @@
info_TEXINFOS = %D%/guix.texi \ info_TEXINFOS = %D%/guix.texi \
%D%/guix.de.texi \ %D%/guix.de.texi \
%D%/guix.es.texi \ %D%/guix.es.texi \
%D%/guix.fa.texi \
%D%/guix.fr.texi \ %D%/guix.fr.texi \
%D%/guix.it.texi \
%D%/guix.ko.texi \
%D%/guix.pt_BR.texi \
%D%/guix.ru.texi \ %D%/guix.ru.texi \
%D%/guix.sk.texi \
%D%/guix.zh_CN.texi \ %D%/guix.zh_CN.texi \
%D%/guix-cookbook.texi \ %D%/guix-cookbook.texi \
%D%/guix-cookbook.de.texi %D%/guix-cookbook.de.texi \
%D%/guix-cookbook.fa.texi \
%D%/guix-cookbook.fr.texi \
%D%/guix-cookbook.ko.texi \
%D%/guix-cookbook.zh_Hans.texi
%C%_guix_TEXINFOS = \ %C%_guix_TEXINFOS = \
%D%/contributing.texi \ %D%/contributing.texi \
@ -61,18 +70,33 @@ OS_CONFIG_EXAMPLES_TEXI = \
%D%/os-config-desktop.texi \ %D%/os-config-desktop.texi \
%D%/os-config-lightweight-desktop.texi %D%/os-config-lightweight-desktop.texi
# Do not forget to update these, when updating info_TEXINFOS
TRANSLATED_INFO = \ TRANSLATED_INFO = \
%D%/guix.de.texi \ %D%/guix.de.texi \
%D%/guix.es.texi \ %D%/guix.es.texi \
%D%/guix.fa.texi \
%D%/guix.fr.texi \ %D%/guix.fr.texi \
%D%/guix.it.texi \
%D%/guix.ko.texi \
%D%/guix.pt_BR.texi \
%D%/guix.ru.texi \ %D%/guix.ru.texi \
%D%/guix.sk.texi \
%D%/guix.zh_CN.texi \ %D%/guix.zh_CN.texi \
%D%/contributing.de.texi \ %D%/contributing.de.texi \
%D%/contributing.es.texi \ %D%/contributing.es.texi \
%D%/contributing.fa.texi \
%D%/contributing.fr.texi \ %D%/contributing.fr.texi \
%D%/contributing.it.texi \
%D%/contributing.ko.texi \
%D%/contributing.pt_BR.texi \
%D%/contributing.ru.texi \ %D%/contributing.ru.texi \
%D%/contributing.sk.texi \
%D%/contributing.zh_CN.texi \ %D%/contributing.zh_CN.texi \
%D%/guix-cookbook.de.texi %D%/guix-cookbook.de.texi \
%D%/guix-cookbook.fa.texi \
%D%/guix-cookbook.fr.texi \
%D%/guix-cookbook.ko.texi \
%D%/guix-cookbook.zh_Hans.texi
# Bundle this file so that makeinfo finds it in out-of-source-tree builds. # Bundle this file so that makeinfo finds it in out-of-source-tree builds.
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO) BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
@ -100,7 +124,7 @@ cat "$@.tmp" | egrep '@p?x?ref' -A1 | sed 'N;s|--\n||g;P;D' | sed 's|^| |g' | \
line=$$(grep -n "^msgid \"$$e\"" "$<" | cut -f1 --delimiter=":") ;\ line=$$(grep -n "^msgid \"$$e\"" "$<" | cut -f1 --delimiter=":") ;\
((line++)) ;\ ((line++)) ;\
if [ "$$line" != "1" ]; then \ if [ "$$line" != "1" ]; then \
translation=$$(head -n "$$line" "$<" | tail -1 | grep msgstr | sed 's|msgstr "\(.*\)"|\1|') ;\ translation=$$(head -n "$$line" "$<" | tail -1 | grep msgstr | sed 's|msgstr "\([^"]*\)"|\1|') ;\
if [ "$$translation" != "" ]; then \ if [ "$$translation" != "" ]; then \
sed "N;s@\(p\?x\?ref\){$$(echo $$e | sed 's| |[\\n ]|g')\(,\|}\)@\1{$$translation\2@g;P;D" -i "$@.tmp" ;\ sed "N;s@\(p\?x\?ref\){$$(echo $$e | sed 's| |[\\n ]|g')\(,\|}\)@\1{$$translation\2@g;P;D" -i "$@.tmp" ;\
fi ;\ fi ;\

View file

@ -322,8 +322,6 @@ complete -f -c guix -n '__fish_guix_needs_command' -a import -d 'Run IMPORTER wi
##### import gnu ##### import gnu
complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a gnu -d 'Return a package declaration template for PACKAGE, a GNU package.' complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a gnu -d 'Return a package declaration template for PACKAGE, a GNU package.'
complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from gnu' -a "--key-download=" -d 'handle missing OpenPGP keys according to POLICY: "always", "never", and "interactive", which is also used when "key-download" is not specified.' complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from gnu' -a "--key-download=" -d 'handle missing OpenPGP keys according to POLICY: "always", "never", and "interactive", which is also used when "key-download" is not specified.'
##### import nix
complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a nix -d 'Import and convert the Nix expression ATTRIBUTE of NIXPKGS.'
##### import pypi ##### import pypi
complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a pypi -d 'Import and convert the PyPI package for PACKAGE-NAME.' complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a pypi -d 'Import and convert the PyPI package for PACKAGE-NAME.'
##### import cpan ##### import cpan

View file

@ -644,16 +644,13 @@ if DEVICE does not contain a NTFS file system."
(loop parts)))))))))) (loop parts))))))))))
(define (ENOENT-safe proc) (define (ENOENT-safe proc)
"Wrap the one-argument PROC such that ENOENT errors are caught and lead to a "Wrap the one-argument PROC such that ENOENT, EIO, and ENOMEDIUM errors are
warning and #f as the result." caught and lead to a warning and #f as the result."
(lambda (device) (lambda (device)
(catch 'system-error (catch 'system-error
(lambda () (lambda ()
(proc device)) (proc device))
(lambda args (lambda args
;; When running on the hand-made /dev,
;; 'disk-partitions' could return partitions for which
;; we have no /dev node. Handle that gracefully.
(let ((errno (system-error-errno args))) (let ((errno (system-error-errno args)))
(cond ((= ENOENT errno) (cond ((= ENOENT errno)
(format (current-error-port) (format (current-error-port)
@ -671,11 +668,10 @@ warning and #f as the result."
(define (partition-field-reader read field) (define (partition-field-reader read field)
"Return a procedure that takes a device and returns the value of a FIELD in "Return a procedure that takes a device and returns the value of a FIELD in
the partition superblock or #f." the partition superblock or #f."
(let ((read (ENOENT-safe read)))
(lambda (device) (lambda (device)
(let ((sblock (read device))) (let ((sblock (read device)))
(and sblock (and sblock
(field sblock)))))) (field sblock)))))
(define (read-partition-field device partition-field-readers) (define (read-partition-field device partition-field-readers)
"Returns the value of a FIELD in the partition superblock of DEVICE or #f. It "Returns the value of a FIELD in the partition superblock of DEVICE or #f. It
@ -742,11 +738,14 @@ partition field reader that returned a value."
(define (partition-predicate reader =) (define (partition-predicate reader =)
"Return a predicate that returns true if the FIELD of partition header that "Return a predicate that returns true if the FIELD of partition header that
was READ is = to the given value." was READ is = to the given value."
;; When running on the hand-made /dev, 'disk-partitions' could return
;; partitions for which we have no /dev node. Handle that gracefully.
(let ((reader (ENOENT-safe reader)))
(lambda (expected) (lambda (expected)
(lambda (device) (lambda (device)
(let ((actual (reader device))) (let ((actual (reader device)))
(and actual (and actual
(= actual expected)))))) (= actual expected)))))))
(define partition-label-predicate (define partition-label-predicate
(partition-predicate read-partition-label string=?)) (partition-predicate read-partition-label string=?))

View file

@ -61,7 +61,7 @@
(inexact->exact (ceiling (/ size 1024))))) (inexact->exact (ceiling (/ size 1024)))))
(define (estimate-partition-size root) (define (estimate-partition-size root)
"Given the ROOT directory, evalute and return its size. As this doesn't "Given the ROOT directory, evaluate and return its size. As this doesn't
take the partition metadata size into account, take a 25% margin." take the partition metadata size into account, take a 25% margin."
(* 1.25 (file-size root))) (* 1.25 (file-size root)))

View file

@ -66,9 +66,14 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (%core-packages #:export (derivation->job
image->job
%core-packages
%cross-targets %cross-targets
channel-source->package channel-source->package
arguments->systems
cuirass-jobs)) cuirass-jobs))
;;; Commentary: ;;; Commentary:
@ -232,30 +237,34 @@ SYSTEM."
(define (hours hours) (define (hours hours)
(* 3600 hours)) (* 3600 hours))
(define (image-jobs store system) (define* (image->job store image
"Return a list of jobs that build images for SYSTEM." #:key name system)
(define (->job name drv) "Return the job for IMAGE on SYSTEM. If NAME is passed, use it as job name,
(let ((name (string-append name "." system))) otherwise use the IMAGE name."
(let* ((image-name (or name
(symbol->string (image-name image))))
(name (string-append image-name "." system))
(drv (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image))))))
(parameterize ((%graft? #f)) (parameterize ((%graft? #f))
(derivation->job name drv)))) (derivation->job name drv))))
(define (build-image image) (define (image-jobs store system)
(run-with-store store "Return a list of jobs that build images for SYSTEM."
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image)))))
(define MiB (define MiB
(expt 2 20)) (expt 2 20))
(if (member system %guix-system-supported-systems) (if (member system %guix-system-supported-systems)
`(,(->job "usb-image" `(,(image->job store
(build-image
(image (image
(inherit efi-disk-image) (inherit efi-disk-image)
(operating-system installation-os)))) (operating-system installation-os))
,(->job "iso9660-image" #:name "usb-image"
(build-image #:system system)
,(image->job
store
(image (image
(inherit (image-with-label (inherit (image-with-label
iso9660-image iso9660-image
@ -263,12 +272,13 @@ SYSTEM."
(if (> (string-length %guix-version) 7) (if (> (string-length %guix-version) 7)
(substring %guix-version 0 7) (substring %guix-version 0 7)
%guix-version)))) %guix-version))))
(operating-system installation-os)))) (operating-system installation-os))
#:name "iso9660-image"
#:system system)
;; Only cross-compile Guix System images from x86_64-linux for now. ;; Only cross-compile Guix System images from x86_64-linux for now.
,@(if (string=? system "x86_64-linux") ,@(if (string=? system "x86_64-linux")
(map (lambda (image) (map (cut image->job store <>
(->job (symbol->string (image-name image)) #:system system)
(build-image image)))
%guix-system-images) %guix-system-images)
'())) '()))
'())) '()))
@ -354,6 +364,7 @@ SYSTEM."
(>>= (profile-derivation (packages->manifest (list guix))) (>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile) (lambda (profile)
(self-contained-tarball "guix-binary" profile (self-contained-tarball "guix-binary" profile
#:profile-name "current-guix"
#:localstatedir? #t #:localstatedir? #t
#:compressor #:compressor
(lookup-compressor "xz"))))) (lookup-compressor "xz")))))
@ -434,6 +445,13 @@ valid."
load-manifest) load-manifest)
manifests)))) manifests))))
(define (arguments->systems arguments)
"Return the systems list from ARGUMENTS."
(match (assoc-ref arguments 'systems)
(#f %cuirass-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
;;; ;;;
;;; Cuirass entry point. ;;; Cuirass entry point.
@ -445,10 +463,7 @@ valid."
(assoc-ref arguments 'subset)) (assoc-ref arguments 'subset))
(define systems (define systems
(match (assoc-ref arguments 'systems) (arguments->systems arguments))
(#f %cuirass-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
(define channels (define channels
(let ((channels (assq-ref arguments 'channels))) (let ((channels (assq-ref arguments 'channels)))
@ -513,6 +528,15 @@ valid."
('tarball ('tarball
;; Build Guix tarball only. ;; Build Guix tarball only.
(tarball-jobs store system)) (tarball-jobs store system))
(('custom . modules)
;; Build custom modules jobs only.
(append-map
(lambda (module)
(let ((proc (module-ref
(resolve-interface module)
'cuirass-jobs)))
(proc store arguments)))
modules))
(('channels . channels) (('channels . channels)
;; Build only the packages from CHANNELS. ;; Build only the packages from CHANNELS.
(let ((all (all-packages))) (let ((all (all-packages)))

View file

@ -95,6 +95,9 @@ DEVICES list."
(define (run-label-page button-text button-callback) (define (run-label-page button-text button-callback)
"Run a page asking the user to select a partition table label." "Run a page asking the user to select a partition table label."
;; Force the GPT label if UEFI is supported.
(if (efi-installation?)
"gpt"
(run-listbox-selection-page (run-listbox-selection-page
#:info-text (G_ "Select a new partition table type. \ #:info-text (G_ "Select a new partition table type. \
Be careful, all data on the disk will be lost.") Be careful, all data on the disk will be lost.")
@ -102,7 +105,7 @@ Be careful, all data on the disk will be lost.")
#:listbox-items '("msdos" "gpt") #:listbox-items '("msdos" "gpt")
#:listbox-item->text identity #:listbox-item->text identity
#:button-text button-text #:button-text button-text
#:button-callback-procedure button-callback)) #:button-callback-procedure button-callback)))
(define (run-type-page partition) (define (run-type-page partition)
"Run a page asking the user to select a partition type." "Run a page asking the user to select a partition type."

View file

@ -70,6 +70,7 @@
small-freespace-partition? small-freespace-partition?
esp-partition? esp-partition?
boot-partition? boot-partition?
efi-installation?
default-esp-mount-point default-esp-mount-point
with-delay-device-in-use? with-delay-device-in-use?
@ -193,12 +194,8 @@ inferior to MAX-SIZE, #f otherwise."
(define (esp-partition? partition) (define (esp-partition? partition)
"Return #t if partition has the ESP flag, return #f otherwise." "Return #t if partition has the ESP flag, return #f otherwise."
(let* ((disk (partition-disk partition)) (let* ((disk (partition-disk partition))
(disk-type (disk-disk-type disk)) (disk-type (disk-disk-type disk)))
(has-extended? (disk-type-check-feature
disk-type
DISK-TYPE-FEATURE-EXTENDED)))
(and (data-partition? partition) (and (data-partition? partition)
(not has-extended?)
(partition-is-flag-available? partition PARTITION-FLAG-ESP) (partition-is-flag-available? partition PARTITION-FLAG-ESP)
(partition-get-flag partition PARTITION-FLAG-ESP)))) (partition-get-flag partition PARTITION-FLAG-ESP))))
@ -918,18 +915,14 @@ exists."
;; disk space. Otherwise, set the swap size to 5% of the disk space. ;; disk space. Otherwise, set the swap size to 5% of the disk space.
(swap-size (min default-swap-size five-percent-disk))) (swap-size (min default-swap-size five-percent-disk)))
(if has-extended? ;; Remove everything but esp if it exists.
;; msdos - remove everything.
(disk-remove-all-partitions disk)
;; gpt - remove everything but esp if it exists.
(for-each (for-each
(lambda (partition) (lambda (partition)
(and (data-partition? partition) (and (data-partition? partition)
(disk-remove-partition* disk partition))) (disk-remove-partition* disk partition)))
non-boot-partitions)) non-boot-partitions)
(let* ((start-partition (let* ((start-partition
(and (not has-extended?)
(if (efi-installation?) (if (efi-installation?)
(and (not esp-partition) (and (not esp-partition)
(user-partition (user-partition
@ -941,7 +934,7 @@ exists."
(fs-type 'ext4) (fs-type 'ext4)
(bootable? #t) (bootable? #t)
(bios-grub? #t) (bios-grub? #t)
(size bios-grub-size))))) (size bios-grub-size))))
(new-partitions (new-partitions
(cond (cond
((or (eq? scheme 'entire-root) ((or (eq? scheme 'entire-root)

View file

@ -37,7 +37,8 @@
enter-host-name+passwords enter-host-name+passwords
choose-services choose-services
choose-partitioning choose-partitioning
conclude-installation start-installation
complete-installation
edit-configuration-file)) edit-configuration-file))
@ -281,11 +282,16 @@ instrumented for further testing."
(define* (choose-partitioning port (define* (choose-partitioning port
#:key #:key
(encrypted? #t) (encrypted? #t)
(uefi-support? #f)
(passphrase "thepassphrase") (passphrase "thepassphrase")
(edit-configuration-file (edit-configuration-file
edit-configuration-file)) edit-configuration-file))
"Converse over PORT to choose the partitioning method. When ENCRYPTED? is "Converse over PORT to choose the partitioning method. When ENCRYPTED? is
true, choose full-disk encryption with PASSPHRASE as the LUKS passphrase. true, choose full-disk encryption with PASSPHRASE as the LUKS passphrase.
When UEFI-SUPPORT? is true, assume that we are running the installation tests
on an UEFI capable machine.
This conversation stops when the user partitions have been formatted, right This conversation stops when the user partitions have been formatted, right
before the installer generates the configuration file and shows it in a dialog before the installer generates the configuration file and shows it in a dialog
box. " box. "
@ -306,11 +312,15 @@ box."
disks)) disks))
;; The "Partition table" dialog pops up only if there's not already a ;; The "Partition table" dialog pops up only if there's not already a
;; partition table. ;; partition table and if the system does not support UEFI.
((list-selection (title "Partition table") ((list-selection (title "Partition table")
(multiple-choices? #f) (multiple-choices? #f)
(items _)) (items _))
;; When UEFI is supported, the partition is forced to GPT by the
;; installer.
(not uefi-support?)
"gpt") "gpt")
((list-selection (title "Partition scheme") ((list-selection (title "Partition scheme")
(multiple-choices? #f) (multiple-choices? #f)
(items (,one-partition _ ...))) (items (,one-partition _ ...)))
@ -338,10 +348,10 @@ box."
;; UUIDs before it generates the configuration file. ;; UUIDs before it generates the configuration file.
(values)))) (values))))
(define (conclude-installation port) (define (start-installation port)
"Conclude the installation by checking over PORT that we get the generated "Start the installation by checking over PORT that we get the generated
configuration file, accepting it and starting the installation, and then configuration file, accepting it and starting the installation, and then
receiving the final messages once the 'guix system init' process has receiving the pause message once the 'guix system init' process has
completed." completed."
;; Assume the previous message received was 'starting-final-step'; here we ;; Assume the previous message received was 'starting-final-step'; here we
;; send the reply to that message, which lets the installer continue. ;; send the reply to that message, which lets the installer continue.
@ -355,8 +365,19 @@ completed."
(file ,configuration-file)) (file ,configuration-file))
(edit-configuration-file configuration-file)) (edit-configuration-file configuration-file))
((pause) ;"Press Enter to continue." ((pause) ;"Press Enter to continue."
#t) (values))))
((installation-complete) ;congratulations!
(define (complete-installation port)
"Complete the installation by replying to the installer pause message and
waiting for the installation-complete message."
;; Assume the previous message received was 'pause'; here we send the reply
;; to that message, which lets the installer continue.
(write #t port)
(newline port)
(force-output port)
(converse port
((installation-complete)
(values)))) (values))))
;;; Local Variables: ;;; Local Variables:

View file

@ -420,6 +420,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/openldap.scm \ %D%/packages/openldap.scm \
%D%/packages/openpgp.scm \ %D%/packages/openpgp.scm \
%D%/packages/openstack.scm \ %D%/packages/openstack.scm \
%D%/packages/orange.scm \
%D%/packages/orpheus.scm \ %D%/packages/orpheus.scm \
%D%/packages/ots.scm \ %D%/packages/ots.scm \
%D%/packages/package-management.scm \ %D%/packages/package-management.scm \
@ -901,6 +902,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-9.0-libc-search-path.patch \ %D%/packages/patches/clang-9.0-libc-search-path.patch \
%D%/packages/patches/clang-10.0-libc-search-path.patch \ %D%/packages/patches/clang-10.0-libc-search-path.patch \
%D%/packages/patches/clang-11.0-libc-search-path.patch \ %D%/packages/patches/clang-11.0-libc-search-path.patch \
%D%/packages/patches/clang-12-tools-extra-directory.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \ %D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \
@ -1084,7 +1086,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/gimp-make-gegl-introspect-optional.patch \
%D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glib-CVE-2021-27218.patch \ %D%/packages/patches/glib-CVE-2021-27218.patch \
@ -1169,7 +1170,13 @@ dist_patch_DATA = \
%D%/packages/patches/grub-setup-root.patch \ %D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \ %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
%D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/gst-libav-64channels-stack-corruption.patch \
%D%/packages/patches/gst-plugins-bad-fix-overflow.patch \
%D%/packages/patches/gst-plugins-base-fix-id3v2-invalid-read.patch \
%D%/packages/patches/gst-plugins-good-fix-test.patch \ %D%/packages/patches/gst-plugins-good-fix-test.patch \
%D%/packages/patches/gst-plugins-good-CVE-2021-3497.patch \
%D%/packages/patches/gst-plugins-good-CVE-2021-3498.patch \
%D%/packages/patches/gst-plugins-ugly-fix-out-of-bound-reads.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \ %D%/packages/patches/guile-2.2-skip-oom-test.patch \
%D%/packages/patches/guile-2.2-skip-so-test.patch \ %D%/packages/patches/guile-2.2-skip-so-test.patch \
@ -1368,6 +1375,7 @@ dist_patch_DATA = \
%D%/packages/patches/linkchecker-tests-require-network.patch \ %D%/packages/patches/linkchecker-tests-require-network.patch \
%D%/packages/patches/linphone-desktop-without-sdk.patch \ %D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
%D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \ %D%/packages/patches/lirc-reproducible-build.patch \
@ -1735,8 +1743,6 @@ dist_patch_DATA = \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
%D%/packages/patches/ungoogled-chromium-system-opus.patch \
%D%/packages/patches/unison-fix-ocaml-4.08.patch \ %D%/packages/patches/unison-fix-ocaml-4.08.patch \
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \ %D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \

View file

@ -40,6 +40,7 @@
;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org> ;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -469,6 +470,34 @@ services.")
(license license:public-domain) (license license:public-domain)
(home-page "https://cr.yp.to/daemontools.html"))) (home-page "https://cr.yp.to/daemontools.html")))
(define-public daemonize
(package
(name "daemonize")
(version "1.7.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bmc/daemonize")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0w4g0iyssyw7dd0061881z8s5czcl01mz6v00znax57zfxjqpvnm"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; No tests available.
(home-page "http://software.clapper.org/daemonize/")
(synopsis "Command line utility to run a program as a daemon")
(description
"daemonize runs a command as a Unix daemon. It will close all open file
descriptors, change working directory of the process to the root filesystem,
reset its umask, run in the background, ignore I/O signals, handle
@code{SIGCLD}, etc. Most programs that are designed to be run as daemons do
that work for themselves. However, youll occasionally run across one that
does not. When you must run a daemon program that does not properly make
itself into a true Unix daemon, you can use daemonize to force it to run as a
true daemon.")
(license license:bsd-3)))
(define-public dfc (define-public dfc
(package (package
(name "dfc") (name "dfc")
@ -652,14 +681,13 @@ memory, disks, network and processes.")
(define-public bpytop (define-public bpytop
(package (package
(name "bpytop") (name "bpytop")
(version "1.0.63") (version "1.0.64")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "bpytop" version)) (uri (pypi-uri "bpytop" version))
(sha256 (sha256
(base32 (base32 "02m25i79fp5cpz0i1b2r5is7z2w7pz2x2yqvlnmvsyqlssaai3vm"))))
"0ql72s842g56rnzdqja6m53lw5y68c4gb540ihp1bjg7x9ycim11"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("python-psutil" ,python-psutil))) `(("python-psutil" ,python-psutil)))
@ -679,7 +707,7 @@ memory, disks, network and processes.")
"https://github.com/aristocratos/bpytop") "https://github.com/aristocratos/bpytop")
(synopsis "Resource monitor") (synopsis "Resource monitor")
(description "Resource monitor that shows usage and stats for processor, (description "Resource monitor that shows usage and stats for processor,
memory, disks, network and processes. It's a Python port of memory, disks, network and processes. It's a Python port and continuation of
@command{bashtop}.") @command{bashtop}.")
(license license:asl2.0))) (license license:asl2.0)))
@ -1107,7 +1135,7 @@ connection alive.")
(define-public isc-dhcp (define-public isc-dhcp
(let* ((bind-major-version "9") (let* ((bind-major-version "9")
(bind-minor-version "11") (bind-minor-version "11")
(bind-patch-version "29") (bind-patch-version "31")
(bind-release-type "") ; for patch release, use "-P" (bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6" (bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version (bind-version (string-append bind-major-version
@ -1244,7 +1272,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz")) "/bind-" bind-version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01vvkvlhsxz4ffz2fw86z0fsf170b93jjnn5710ai6vfri8wgfy7")))) "0sm3vy5g21isdywxr650442x9r00fpj9cxc81n3qcbibyibl9wpm"))))
("coreutils*" ,coreutils) ("coreutils*" ,coreutils)
("sed*" ,sed))) ("sed*" ,sed)))
@ -3566,14 +3594,14 @@ information tool.")
(define-public nnn (define-public nnn
(package (package
(name "nnn") (name "nnn")
(version "3.6") (version "4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v" (uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz")) version "/nnn-v" version ".tar.gz"))
(sha256 (sha256
(base32 "1dbq16cdipij5ws59ab3alfmxli7n4wx28ip7gsyq8ncxg598l47")))) (base32 "0m07nh1cdfikn4bkpni29j61hr9jdwbl0n5fmlm53l1xmn7yq6d2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("ncurses" ,ncurses) `(("ncurses" ,ncurses)
@ -3589,10 +3617,7 @@ information tool.")
(lambda _ (lambda _
(substitute* "Makefile" (substitute* "Makefile"
(("pkg-config") (("pkg-config")
(or (which "pkg-config") ,(pkg-config-for-target))))))
(string-append ,(%current-target-system)
"-pkg-config"))))
#t)))
#:make-flags #:make-flags
(list (list
(string-append "PREFIX=" (string-append "PREFIX="
@ -3610,7 +3635,7 @@ make it a perfect utility on modern distros.")
(define-public thermald (define-public thermald
(package (package
(name "thermald") (name "thermald")
(version "2.4.3") (version "2.4.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3619,7 +3644,7 @@ make it a perfect utility on modern distros.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ibihgpmx038xci0k2h471scs5ssn7z5kcvjrfz63qf2ppdf9yh8")))) (base32 "1k0r2c13fihjndwfh0byw0i8ni4lzsjgwz874pvpj1l1nvjj0ajx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -3808,7 +3833,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi")) (let ((real-name "inxi"))
(package (package
(name "inxi-minimal") (name "inxi-minimal")
(version "3.3.03-1") (version "3.3.04-1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3817,7 +3842,7 @@ Python loading in HPC environments.")
(commit version))) (commit version)))
(file-name (git-file-name real-name version)) (file-name (git-file-name real-name version))
(sha256 (sha256
(base32 "1pahns10i5farw47v9v8cykrk5arq8218vpsa8c0bmaia0rf2n1q")))) (base32 "1rrhycp8i43yf9wi80n4pq2hkfhvb2rg1srz8if28bh6fhhasjzw"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(inputs (inputs
`(("bash" ,bash-minimal) `(("bash" ,bash-minimal)
@ -4018,7 +4043,7 @@ cache of unix and unix-like systems.")
(define-public solaar (define-public solaar
(package (package
(name "solaar") (name "solaar")
(version "1.0.5") (version "1.0.6")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4027,7 +4052,7 @@ cache of unix and unix-like systems.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17gkr2lf1kzp1198gcdr30j3c8xd81kg7ly12aar1jrgi6lc7klk")))) "04zclzfc31l2fj5shcsngnmcvcmmhnc567l3wb9yfhs8k39k9kb2"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -341,7 +341,7 @@ precision.")
(define-public giac (define-public giac
(package (package
(name "giac") (name "giac")
(version "1.7.0-1") (version "1.7.0-3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -353,7 +353,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/" "~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz")) "giac_" version ".tar.gz"))
(sha256 (sha256
(base32 "0s926aza2larfz02hrhdlpxn77yjlrhjg844b3fhwz11yj942p9q")))) (base32 "1w3ij4pkkrq7lbsklkqa673fb7xjmap59hnmd2sinmr2nsfyq7qq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((ice-9 ftw) `(#:modules ((ice-9 ftw)

View file

@ -887,13 +887,13 @@ JPL ephemerides use to predict raw (x,y,z) planetary positions.")
(define-public python-pyerfa (define-public python-pyerfa
(package (package
(name "python-pyerfa") (name "python-pyerfa")
(version "1.7.2") (version "1.7.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyerfa" version)) (uri (pypi-uri "pyerfa" version))
(sha256 (sha256
(base32 "1s78mdyrxha2jcckfs0wg5ynkf0pwh1bw9mmh99vprinxh9n4xri")) (base32 "1jqqrxvrgly4r0br5f6dsy8nab2xmhz915vp6md5f31ysr2sdwvc"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1011,23 +1011,23 @@ astronomical images, especially when there is no WCS information available.")
(define-public python-skyfield (define-public python-skyfield
(package (package
(name "python-skyfield") (name "python-skyfield")
(version "1.38") (version "1.39")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "skyfield" version)) (uri (pypi-uri "skyfield" version))
(sha256 (sha256
(base32 "1qi1l8qn6irdv6w41qq30s2yjwak7h6ayywr1pry9gwcm2c25bv5")))) (base32 "1qh3k7g9dm6idppk87hnwxpx9a22xx98vav0zk31p6291drak3as"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test ;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test
;; framework https://github.com/brandon-rhodes/assay ;; framework https://github.com/brandon-rhodes/assay
`(#:tests? #f)) `(#:tests? #f))
(inputs (inputs
`(("certifi" ,python-certifi) `(("python-certifi" ,python-certifi)
("jplephem" ,python-jplephem) ("python-jplephem" ,python-jplephem)
("numpy" ,python-numpy) ("python-numpy" ,python-numpy)
("sgp4" ,python-sgp4))) ("python-sgp4" ,python-sgp4)))
(home-page "https://rhodesmill.org/skyfield/") (home-page "https://rhodesmill.org/skyfield/")
(synopsis "Astronomy for Python") (synopsis "Astronomy for Python")
(description (description

View file

@ -302,7 +302,7 @@ Linux kernel.")
(define-public libopenmpt (define-public libopenmpt
(package (package
(name "libopenmpt") (name "libopenmpt")
(version "0.5.4") (version "0.5.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -310,7 +310,7 @@ Linux kernel.")
(string-append "https://download.openmpt.org/archive/libopenmpt/src/" (string-append "https://download.openmpt.org/archive/libopenmpt/src/"
"libopenmpt-" version "+release.autotools.tar.gz")) "libopenmpt-" version "+release.autotools.tar.gz"))
(sha256 (sha256
(base32 "0h7gpjx1221jwsq3k91p8zhf1h77qaxyasakc88s3g57vawhckgk")))) (base32 "1kca5nc870mfv7i4ww2g1q9jn61gsq46irsypbr6fgxpfh8w5qi9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -407,7 +407,7 @@ by MusicIP.")
(define-public libtimidity (define-public libtimidity
(package (package
(name "libtimidity") (name "libtimidity")
(version "0.2.6") (version "0.2.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -415,7 +415,7 @@ by MusicIP.")
(string-append "https://sourceforge.net/projects/" name "/files/" (string-append "https://sourceforge.net/projects/" name "/files/"
name "/" version "/" name "-" version ".tar.gz")) name "/" version "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "0p2px0m907gi1zpdr0l9adq25jl89j85c11ag9s2g4yc6n1nhgfm")))) (base32 "0sif6lxa058b1mg19zwjm8rl2sg8cg0443k4dgi65clz0jy7qi16"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f)) ; XXX: LibTiMidity could not be initialised `(#:tests? #f)) ; XXX: LibTiMidity could not be initialised

View file

@ -2,7 +2,7 @@
;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
@ -719,14 +719,14 @@ to not fully trusted targets. Borg is a fork of Attic.")
(define-public wimlib (define-public wimlib
(package (package
(name "wimlib") (name "wimlib")
(version "1.13.3") (version "1.13.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://wimlib.net/downloads/" (uri (string-append "https://wimlib.net/downloads/"
"wimlib-" version ".tar.gz")) "wimlib-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0zpsbl9iicc6y81xfl6kf8farwfsyrl63shc0idp654kgp8421wa")))) "04ny5s5z05gk6davbwkjkraan781k2xzw6kjwp75h6ncv45dv1sb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -736,7 +736,9 @@ to not fully trusted targets. Borg is a fork of Attic.")
("ntfs-3g" ,ntfs-3g) ("ntfs-3g" ,ntfs-3g)
("openssl" ,openssl))) ("openssl" ,openssl)))
(arguments (arguments
`(#:configure-flags (list "--enable-test-support"))) `(#:configure-flags
(list "--disable-static"
"--enable-test-support")))
(home-page "https://wimlib.net/") (home-page "https://wimlib.net/")
(synopsis "WIM file manipulation library and utilities") (synopsis "WIM file manipulation library and utilities")
(description "wimlib is a C library and set of command-line utilities for (description "wimlib is a C library and set of command-line utilities for

View file

@ -7767,7 +7767,7 @@ accessibility data.")
(description (description
"@code{r-circrnaprofiler} is a computational framework for a comprehensive "@code{r-circrnaprofiler} is a computational framework for a comprehensive
in silico analysis of @dfn{circular RNA} (circRNAs). This computational in silico analysis of @dfn{circular RNA} (circRNAs). This computational
framework allows to combine and analyze circRNAs previously detected by framework allows combining and analyzing circRNAs previously detected by
multiple publicly available annotation-based circRNA detection tools. It multiple publicly available annotation-based circRNA detection tools. It
covers different aspects of circRNAs analysis from differential expression covers different aspects of circRNAs analysis from differential expression
analysis, evolutionary conservation, biogenesis to functional analysis.") analysis, evolutionary conservation, biogenesis to functional analysis.")
@ -10550,7 +10550,7 @@ experiments, and visualize de influence of the involved factors.")
"https://bioconductor.org/packages/msmsTests") "https://bioconductor.org/packages/msmsTests")
(synopsis "Differential LC-MS/MS expression tests") (synopsis "Differential LC-MS/MS expression tests")
(description (description
"This packages provides statistical tests for label-free LC-MS/MS data "This package provides statistical tests for label-free LC-MS/MS data
by spectral counts, to discover differentially expressed proteins between two by spectral counts, to discover differentially expressed proteins between two
biological conditions. Three tests are available: Poisson GLM regression, biological conditions. Three tests are available: Poisson GLM regression,
quasi-likelihood GLM regression, and the negative binomial of the edgeR quasi-likelihood GLM regression, and the negative binomial of the edgeR

View file

@ -130,6 +130,7 @@
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages rdf) #:use-module (gnu packages rdf)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages shells) #:use-module (gnu packages shells)
@ -144,6 +145,7 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages vim) #:use-module (gnu packages vim)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages wget)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -327,7 +329,7 @@ BAM files.")
(define-public bcftools (define-public bcftools
(package (package
(name "bcftools") (name "bcftools")
(version "1.11") (version "1.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/samtools/bcftools/" (uri (string-append "https://github.com/samtools/bcftools/"
@ -335,11 +337,11 @@ BAM files.")
version "/bcftools-" version ".tar.bz2")) version "/bcftools-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0r508mp15pqzf8r1269kb4v5naw9zsvbwd3cz8s1yj7carsf9viw")) "1x94l1hy2pi3lbz0sxlbw0g6q5z5apcrhrlcwda94ns9n4r6a3ks"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
;; Delete bundled htslib. ;; Delete bundled htslib.
(delete-file-recursively "htslib-1.11") (delete-file-recursively "htslib-1.12")
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -453,7 +455,7 @@ computational cluster.")
(define-public bedtools (define-public bedtools
(package (package
(name "bedtools") (name "bedtools")
(version "2.29.2") (version "2.30.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/arq5x/bedtools2/releases/" (uri (string-append "https://github.com/arq5x/bedtools2/releases/"
@ -461,7 +463,7 @@ computational cluster.")
"bedtools-" version ".tar.gz")) "bedtools-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0m3hk6548846w83a9s5drsczvy67n2azx41kj71n03klb2gbzwg3")))) "1f2hh79l7dn147c2xyfgf5wfjvlqfw32kjfnnh2n1qy6rpzx2fik"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:test-target "test" '(#:test-target "test"
@ -473,7 +475,7 @@ computational cluster.")
(native-inputs (native-inputs
`(("python" ,python-wrapper))) `(("python" ,python-wrapper)))
(inputs (inputs
`(("samtools" ,samtools-1.9) `(("samtools" ,samtools)
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "https://github.com/arq5x/bedtools2") (home-page "https://github.com/arq5x/bedtools2")
(synopsis "Tools for genome analysis and arithmetic") (synopsis "Tools for genome analysis and arithmetic")
@ -4476,7 +4478,7 @@ performance.")
(define-public htslib (define-public htslib
(package (package
(name "htslib") (name "htslib")
(version "1.11") (version "1.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -4484,7 +4486,7 @@ performance.")
version "/htslib-" version ".tar.bz2")) version "/htslib-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1mrq4mihzx37yqhj3sfz6da6mw49niia808bzsw2gkkgmadxvyng")))) "1jplnvizgr0fyyvvmkfmnsywrrpqhid3760vw15bllz98qdi9012"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; Let htslib translate "gs://" and "s3://" to regular https links with ;; Let htslib translate "gs://" and "s3://" to regular https links with
;; "--enable-gcs" and "--enable-s3". For these options to work, we also ;; "--enable-gcs" and "--enable-s3". For these options to work, we also
@ -5901,7 +5903,7 @@ to the user's query of interest.")
(define-public samtools (define-public samtools
(package (package
(name "samtools") (name "samtools")
(version "1.11") (version "1.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5910,11 +5912,11 @@ to the user's query of interest.")
version "/samtools-" version ".tar.bz2")) version "/samtools-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1dp5wknak4arnw5ghhif9mmljlfnw5bgm91wib7z0j8wdjywx0z2")) "1jrdj2idpma5ja9cg0rr73b565vdbr9wyy6zig54bidicc2pg8vd"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(begin (snippet '(begin
;; Delete bundled htslib. ;; Delete bundled htslib.
(delete-file-recursively "htslib-1.11") (delete-file-recursively "htslib-1.12")
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -7249,6 +7251,43 @@ clustering analysis, differential analysis, motif inference and exploration of
single cell ATAC-seq sequencing data.") single cell ATAC-seq sequencing data.")
(license license:gpl3))) (license license:gpl3)))
(define-public r-shinycell
(let ((commit
"aecbd56e66802f28e397f5ae1f19403aadd12163")
(revision "1"))
(package
(name "r-shinycell")
(version (git-version "2.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SGDDNB/ShinyCell")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"13jn2ikmvljnzayk485g1mmq5abcp9m1b8n1djdb1agmn83zaki5"))))
(properties `((upstream-name . "ShinyCell")))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-ggplot2" ,r-ggplot2)
("r-glue" ,r-glue)
("r-gridextra" ,r-gridextra)
("r-hdf5r" ,r-hdf5r)
("r-matrix" ,r-matrix)
("r-r-utils" ,r-r-utils)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-readr" ,r-readr)
("r-reticulate" ,r-reticulate)))
(home-page "https://github.com/SGDDNB/ShinyCell")
(synopsis "Shiny interactive web apps for single-cell data")
(description
"This package provides Shiny apps for interactive exploration of
single-cell data.")
(license license:gpl3))))
(define-public r-archr (define-public r-archr
(let ((commit "46b519ffb6f73edf132497ac31650d19ef055dc1") (let ((commit "46b519ffb6f73edf132497ac31650d19ef055dc1")
(revision "1")) (revision "1"))
@ -7563,6 +7602,64 @@ Perl and can be helpful if you want to filter, reformat, or trim your sequence
data. It also generates basic statistics for your sequences.") data. It also generates basic statistics for your sequences.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public shorah
(package
(name "shorah")
(version "1.99.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/cbg-ethz/shorah"
"/releases/download/v" version
"/shorah-" version ".tar.xz"))
(sha256
(base32
"158dir9qcqspknlnyfr9zwk41x48nrh5wcg10k2grh9cidp9daiq"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-test-wrapper
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(substitute* "examples/run_end2end_test"
(("\\$\\{interpreter\\} ../\\$\\{testscript\\}")
(string-append bin "/${testscript}"))))))
(delete 'check)
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(site (string-append
out "/lib/python"
,(version-major+minor
(package-version python))
"/site-packages"))
(pythonpath (getenv "PYTHONPATH"))
(script (string-append out "/bin/shorah")))
(chmod script #o555)
(wrap-program script `("PYTHONPATH" ":" prefix (,site ,pythonpath))))))
(add-after 'wrap-programs 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make" "check")))))))
(inputs
`(("boost" ,boost)
("htslib" ,htslib)
("python" ,python)
("python-biopython" ,python-biopython)
("python-numpy" ,python-numpy)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "")
(synopsis "Short reads assembly into haplotypes")
(description
"ShoRAH is a project for the analysis of next generation sequencing data.
It is designed to analyse genetically heterogeneous samples. Its tools
provide error correction, haplotype reconstruction and estimation of the
frequency of the different genetic variants present in a mixed sample.")
(license license:gpl3+)))
(define-public ruby-bio-kseq (define-public ruby-bio-kseq
(package (package
(name "ruby-bio-kseq") (name "ruby-bio-kseq")
@ -11853,7 +11950,7 @@ in an easily configurable manner.")
(define-public pigx-bsseq (define-public pigx-bsseq
(package (package
(name "pigx-bsseq") (name "pigx-bsseq")
(version "0.1.2") (version "0.1.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/" (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@ -11861,7 +11958,7 @@ in an easily configurable manner.")
"/pigx_bsseq-" version ".tar.gz")) "/pigx_bsseq-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0mpzlay2d5cjpmrcp7knff6rg1c2mqszd638n7lw0mc0cycbp9f8")))) "0blm0bl5z3ng01n7hh2ffk4rkzvf7vb3nm0crgdzrxr5cahxdxql"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; TODO: tests currently require 12+GB of RAM. See `(;; TODO: tests currently require 12+GB of RAM. See
@ -11887,8 +11984,11 @@ in an easily configurable manner.")
("r-annotationhub" ,r-annotationhub) ("r-annotationhub" ,r-annotationhub)
("r-dt" ,r-dt) ("r-dt" ,r-dt)
("r-genomation" ,r-genomation) ("r-genomation" ,r-genomation)
("r-ggbio" ,r-ggbio)
("r-ggrepel" ,r-ggrepel) ("r-ggrepel" ,r-ggrepel)
("r-matrixstats" ,r-matrixstats)
("r-methylkit" ,r-methylkit) ("r-methylkit" ,r-methylkit)
("r-reshape2" ,r-reshape2)
("r-rtracklayer" ,r-rtracklayer) ("r-rtracklayer" ,r-rtracklayer)
("r-rmarkdown" ,r-rmarkdown) ("r-rmarkdown" ,r-rmarkdown)
("r-bookdown" ,r-bookdown) ("r-bookdown" ,r-bookdown)
@ -12490,7 +12590,7 @@ in RNA-seq data.")
("python-igraph" ,python-igraph) ("python-igraph" ,python-igraph)
("python-joblib" ,python-joblib) ("python-joblib" ,python-joblib)
("python-legacy-api-wrap" ,python-legacy-api-wrap) ("python-legacy-api-wrap" ,python-legacy-api-wrap)
("python-louvain" ,python-louvain) ("python-louvain" ,python-louvain-0.6)
("python-matplotlib" ,python-matplotlib) ("python-matplotlib" ,python-matplotlib)
("python-natsort" ,python-natsort) ("python-natsort" ,python-natsort)
("python-networkx" ,python-networkx) ("python-networkx" ,python-networkx)
@ -15061,6 +15161,154 @@ signaling, and more. It continues to be evolved and expanded by an
international community.") international community.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public kraken2
(package
(name "kraken2")
(version "2.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DerrickWood/kraken2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0h7a7vygd7y5isbrnc6srwq6xj1rmyd33pm8mmcgfkmlxlg5vkg3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #false ; there are none
#:make-flags (list "-C" "src"
(string-append "KRAKEN2_DIR="
(assoc-ref %outputs "out") "/bin"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'install 'install-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
(replacements `(("KRAKEN2_DIR" . ,bin)
("VERSION" . ,,version))))
(mkdir-p bin)
(with-directory-excursion "scripts"
(let ((scripts (find-files "." ".*")))
(substitute* scripts
(("#####=([^=]+)=#####" _ key)
(or (assoc-ref replacements key)
(error (format #false "unknown key: ~a~%" key)))))
(substitute* "kraken2"
(("compression_program = \"bzip2\"")
(string-append "compression_program = \""
(which "bzip2")
"\""))
(("compression_program = \"gzip\"")
(string-append "compression_program = \""
(which "gzip")
"\"")))
(substitute* '("download_genomic_library.sh"
"download_taxonomy.sh"
"16S_gg_installation.sh"
"16S_silva_installation.sh"
"16S_rdp_installation.sh")
(("wget") (which "wget")))
(substitute* '("download_taxonomy.sh"
"download_genomic_library.sh"
"rsync_from_ncbi.pl")
(("rsync -")
(string-append (which "rsync") " -")))
(substitute* "mask_low_complexity.sh"
(("which") (which "which")))
(substitute* '("mask_low_complexity.sh"
"download_genomic_library.sh"
"16S_silva_installation.sh")
(("sed -e ")
(string-append (which "sed") " -e ")))
(substitute* '("rsync_from_ncbi.pl"
"16S_rdp_installation.sh"
"16S_silva_installation.sh"
"16S_gg_installation.sh"
"download_taxonomy.sh"
"download_genomic_library.sh")
(("gunzip") (which "gunzip")))
(for-each (lambda (script)
(chmod script #o555)
(install-file script bin))
scripts)))))))))
(inputs
`(("gzip" ,gzip)
("perl" ,perl)
("rsync" ,rsync)
("sed" ,sed)
("wget" ,wget)
("which" ,which)))
(home-page "https://github.com/DerrickWood/kraken2")
(synopsis "Taxonomic sequence classification system")
(description "Kraken is a taxonomic sequence classifier that assigns
taxonomic labels to DNA sequences. Kraken examines the k-mers within a query
sequence and uses the information within those k-mers to query a
database. That database maps k-mers to the lowest common ancestor (LCA) of all
genomes known to contain a given k-mer.")
(license license:expat)))
(define-public lofreq
(package
(name "lofreq")
(version "2.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CSB5/lofreq")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qssrn3mgjak7df6iqc1rljqd3g3a5syvg0lsv4vds43s3fq23bl"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "bug-tests"
#:tests? #false)) ; test data are not included
(inputs
`(("htslib" ,htslib)
("python" ,python-wrapper)
("zlib" ,zlib)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("which" ,which)))
(home-page "https://csb5.github.io/lofreq/")
(synopsis "Sensitive variant calling from sequencing data ")
(description "LoFreq is a fast and sensitive variant-caller for inferring
SNVs and indels from next-generation sequencing data. It makes full use of
base-call qualities and other sources of errors inherent in
sequencing (e.g. mapping or base/indel alignment uncertainty), which are
usually ignored by other methods or only used for filtering.")
(license license:expat)))
(define-public python-pyliftover
(package
(name "python-pyliftover")
(version "0.4")
;; The version of pypi does not include test data.
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/konstantint/pyliftover")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1j8jp9iynv2l3jv5pr0pn0p3azlama1bqg233piglzm6bqh3m2m3"))))
(build-system python-build-system)
(arguments `(#:tests? #false)) ; the tests access the web
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/konstantint/pyliftover")
(synopsis "Python implementation of UCSC liftOver genome coordinate conversion")
(description
"PyLiftover is a library for quick and easy conversion of genomic (point)
coordinates between different assemblies.")
(license license:expat)))
(define-public r-signac (define-public r-signac
(let ((commit "e0512d348adeda4a3f23a2e8f56d1fe09840e03c") (let ((commit "e0512d348adeda4a3f23a2e8f56d1fe09840e03c")
(revision "1")) (revision "1"))

View file

@ -1207,8 +1207,8 @@ order to add a suitable bootloader menu entry.")
(description "iPXE is a network boot firmware. It provides a full PXE (description "iPXE is a network boot firmware. It provides a full PXE
implementation enhanced with additional features such as booting from: a web implementation enhanced with additional features such as booting from: a web
server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a server via HTTP, an iSCSI SAN, a Fibre Channel SAN via FCoE, an AoE SAN, a
wireless network, a wide-area network, an Infiniband network. It allows to wireless network, a wide-area network, an Infiniband network. It
control the boot process with a script. You can use iPXE to replace the controls the boot process with a script. You can use iPXE to replace the
existing PXE ROM on your network card, or you can chainload into iPXE to obtain existing PXE ROM on your network card, or you can chainload into iPXE to obtain
the features of iPXE without the hassle of reflashing.") the features of iPXE without the hassle of reflashing.")
(license license:gpl2+)))) (license license:gpl2+))))

View file

@ -49,7 +49,7 @@ supported content to the Kodi media center.")
(make-chromium-extension play-to-kodi)) (make-chromium-extension play-to-kodi))
(define uassets (define uassets
(let ((commit "61b43044fbe7be0cf4e9c636fe96236dc52e44cf")) (let ((commit "edfb13aaeaa9c8f943834f0465e7afac4b56aa98"))
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -58,12 +58,12 @@ supported content to the Kodi media center.")
(file-name (git-file-name "uAssets" (string-take commit 9))) (file-name (git-file-name "uAssets" (string-take commit 9)))
(sha256 (sha256
(base32 (base32
"03ikia0prmzsc34qa3418dc49ss8ari9hj6g3s6nvxrgyd127idi"))))) "0ivddccfblka5bzc9hxjl7ygv7g1pgy28w1cb43kipach8vh1alf")))))
(define ublock-origin (define ublock-origin
(package (package
(name "ublock-origin") (name "ublock-origin")
(version "1.33.2") (version "1.35.0")
(home-page "https://github.com/gorhill/uBlock") (home-page "https://github.com/gorhill/uBlock")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -71,7 +71,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1pdf3fzc7ld65gr87s1cdy2sb84jbqnyq9lvwg1mgzi9dg8x7639")))) "07nlkrgwn1bcn5n2w7ik16ps12dckmjhn76qay6dz64f5754cgn3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium")) (outputs '("xpi" "firefox" "chromium"))
(arguments (arguments

View file

@ -8,7 +8,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -953,15 +953,15 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
(define-public libmirage (define-public libmirage
(package (package
(name "libmirage") (name "libmirage")
(version "3.2.4") (version "3.2.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://sourceforge/cdemu/libmirage/libmirage-" "mirror://sourceforge/cdemu/libmirage/libmirage-"
version ".tar.bz2")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0md3f71x2dbgyw5s254vx1s80slh3f25r9pvjihkrmj0rn53nnzw")))) "0f8i2ha44rykkk3ac2q8zsw3y1zckw6qnf6zvkyrj3qqbzhrf3fm"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -982,15 +982,15 @@ the data stored in various image formats.")
(define-public cdemu-daemon (define-public cdemu-daemon
(package (package
(name "cdemu-daemon") (name "cdemu-daemon")
(version "3.2.4") (version "3.2.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://sourceforge/cdemu/cdemu-daemon/" "mirror://sourceforge/cdemu/cdemu-daemon/"
"cdemu-daemon-" version ".tar.bz2")) "cdemu-daemon-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"02yyj8sr7d5briamhzrqh8zdsiiggxmx5y05kx25y7k3g15jvcx6")))) "16g6fv1lxkdmbsy6zh5sj54dvgwvm900fd18aq609yg8jnqm644d"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -1011,15 +1011,15 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
(define-public cdemu-client (define-public cdemu-client
(package (package
(name "cdemu-client") (name "cdemu-client")
(version "3.2.4") (version "3.2.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://sourceforge/cdemu/cdemu-client/cdemu-client-" "mirror://sourceforge/cdemu/cdemu-client/cdemu-client-"
version ".tar.bz2")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1swylaja1p1jfjf3s58c9hsk1cyy20i7mrq32kcg6kzp88grs8my")))) "1prrdhv0ia0axc6b73crszqzh802wlkihz6d100yvg7wbgmqabd7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)

View file

@ -2915,3 +2915,26 @@ system. The code under test requires no modification to work with pyfakefs.")
(description "Aiounittest is a library that helps write tests using (description "Aiounittest is a library that helps write tests using
asynchronous code in Python (asyncio).") asynchronous code in Python (asyncio).")
(license license:expat))) (license license:expat)))
(define-public python-pytest-dependency
(package
(name "python-pytest-dependency")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-dependency" version))
(sha256
(base32
"0swl3mxca7nnjbb5grfzrm3fa2750h9vjsha0f2kyrljc6895a62"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pytest" ,python-pytest)))
(home-page
"https://github.com/RKrahl/pytest-dependency")
(synopsis "Manage dependencies of tests")
(description "This pytest plugin manages dependencies of tests. It allows
to mark some tests as dependent from other tests. These tests will then be
skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0)))

View file

@ -150,9 +150,14 @@
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
"third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0 "third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0
"third_party/dom_distiller_js" ;BSD-3 "third_party/dom_distiller_js" ;BSD-3
"third_party/eigen3" ;MPL2.0
"third_party/emoji-segmenter" ;ASL2.0 "third_party/emoji-segmenter" ;ASL2.0
"third_party/farmhash" ;Expat
"third_party/fdlibm" ;non-copyleft
"third_party/fft2d" ;non-copyleft
"third_party/flatbuffers" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0
"third_party/fusejs" ;ASL2.0 "third_party/fusejs" ;ASL2.0
"third_party/gemmlowp" ;ASL2.0
"third_party/google_input_tools" ;ASL2.0 "third_party/google_input_tools" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0 "third_party/google_input_tools/third_party/closure_library" ;ASL2.0
"third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat "third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat
@ -171,8 +176,10 @@
"third_party/libXNVCtrl" ;Expat "third_party/libXNVCtrl" ;Expat
"third_party/libaddressinput" ;ASL2.0 "third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0" "third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat "third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC "third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libgav1" ;ASL2.0
"third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2 "third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2
"third_party/libjingle_xmpp" ;BSD-3 "third_party/libjingle_xmpp" ;BSD-3
"third_party/libphonenumber" ;ASL2.0 "third_party/libphonenumber" ;ASL2.0
@ -190,6 +197,7 @@
"third_party/libwebm" ;BSD-3 "third_party/libwebm" ;BSD-3
"third_party/libxml/chromium" ;BSD-3 "third_party/libxml/chromium" ;BSD-3
"third_party/libyuv" ;BSD-3 "third_party/libyuv" ;BSD-3
"third_party/libzip" ;BSD-3
"third_party/lottie" ;Expat "third_party/lottie" ;Expat
"third_party/lss" ;BSD-3 "third_party/lss" ;BSD-3
"third_party/mako" ;Expat "third_party/mako" ;Expat
@ -211,6 +219,7 @@
"third_party/pdfium/third_party/agg23" ;Expat "third_party/pdfium/third_party/agg23" ;Expat
"third_party/pdfium/third_party/base" ;BSD-3 "third_party/pdfium/third_party/base" ;BSD-3
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3 "third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
"third_party/pdfium/third_party/libtiff" ;non-copyleft
"third_party/pdfium/third_party/skia_shared" ;BSD-3 "third_party/pdfium/third_party/skia_shared" ;BSD-3
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
"third_party/perfetto" ;ASL2.0 "third_party/perfetto" ;ASL2.0
@ -228,6 +237,7 @@
;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn. ;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn.
"third_party/re2" ;BSD-3 "third_party/re2" ;BSD-3
"third_party/rnnoise" ;BSD-3 "third_party/rnnoise" ;BSD-3
"third_party/ruy" ;ASL2.0
"third_party/s2cellid" ;ASL2.0 "third_party/s2cellid" ;ASL2.0
"third_party/schema_org" ;CC-BY-SA3.0 "third_party/schema_org" ;CC-BY-SA3.0
"third_party/securemessage" ;ASL2.0 "third_party/securemessage" ;ASL2.0
@ -247,9 +257,15 @@
"third_party/swiftshader/third_party/subzero" ;NCSA "third_party/swiftshader/third_party/subzero" ;NCSA
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style "third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
"third_party/tcmalloc/chromium" ;BSD-3 "third_party/tcmalloc/chromium" ;BSD-3
"third_party/tensorflow-text" ;ASL2.0
"third_party/tflite" ;ASL2.0
"third_party/tflite/src/third_party/eigen3" ;MPL2.0
"third_party/tflite/src/third_party/fft2d" ;ASL2.0
"third_party/tflite-support" ;ASL2.0
"third_party/ukey2" ;ASL2.0 "third_party/ukey2" ;ASL2.0
"third_party/usb_ids" ;BSD-3 "third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2 "third_party/usrsctp" ;BSD-2
"third_party/utf" ;Expat
"third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat "third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat
"third_party/vulkan_memory_allocator" ;Expat "third_party/vulkan_memory_allocator" ;Expat
"third_party/wayland/protocol" ;Expat "third_party/wayland/protocol" ;Expat
@ -269,6 +285,7 @@
"third_party/widevine/cdm/widevine_cdm_version.h" ;BSD-3 "third_party/widevine/cdm/widevine_cdm_version.h" ;BSD-3
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3 "third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
"third_party/woff2" ;ASL2.0 "third_party/woff2" ;ASL2.0
"third_party/wuffs" ;ASL2.0
"third_party/xcbproto" ;X11 "third_party/xcbproto" ;X11
"third_party/xdg-utils" ;Expat "third_party/xdg-utils" ;Expat
@ -293,7 +310,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB. ;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests")) '("third_party/blink/perf_tests"))
(define (debian-patch name revision hash) (define* (debian-patch name hash #:optional (revision %debian-revision))
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://salsa.debian.org/chromium-team/chromium/-/raw/" (uri (string-append "https://salsa.debian.org/chromium-team/chromium/-/raw/"
@ -303,36 +320,34 @@
(string-append "ungoogled-chromium-" category "-" name)))) (string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash)))) (sha256 (base32 hash))))
(define %ungoogled-revision "89.0.4389.114-1") (define %chromium-version "90.0.4430.93")
(define %debian-revision "debian/84.0.4147.105-1") (define %debian-revision "debian/90.0.4430.85-1")
(define %ungoogled-revision "90.0.4430.85-1-11-g3184907")
(define %debian-patches (define %debian-patches
(list (debian-patch "system/zlib.patch" %debian-revision (list (debian-patch "fixes/missing-includes.patch"
"09vqgs37w9ycc7par14wa7rnvmg9bm0z9pqg6fyl3iqvpghyjyr4") "1f0drxp1cy76g71rkkzxxbwixn03yn9b0q22vb0mb6h2qk6cw92q")
(debian-patch "system/openjpeg.patch" %debian-revision (debian-patch "fixes/nomerge.patch"
"0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j"))) "0lybs2b5gk08j8cr6vjrs9d3drd7qfw013z2r0y00by8dnpm74i3")
(debian-patch "system/nspr.patch"
"1gdirn1k1i841l8zp8xgr95kl16b5nx827am9rcxj8sfkm8hgkn3")
(debian-patch "system/zlib.patch"
"0j313bd3q8qc065j60x97dckrfgbwl4qxc8jhz33iihvv4lwziwv")
(debian-patch "system/openjpeg.patch"
"048405xh84pys0kky81vlqhaxjyxvcql4py217z01qxiv991zxaj")))
(define %ungoogled-origin (define %ungoogled-origin
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium") (uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
(commit %ungoogled-revision))) (commit %ungoogled-revision)))
(file-name (git-file-name "ungoogled-chromium" (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(if (= 40 (string-length %ungoogled-revision))
(string-take %ungoogled-revision 7)
%ungoogled-revision)))
(sha256 (sha256
(base32 (base32
"0cr2i51gxhgl55c8f9w0ra3m5q2dk03sf7p2qn4bqq1l1l72hw6s")))) "18xfwgkw3xarxcgnzvyv70h4icyqh3k8lfx6fvhp7fsr6x20sai0"))))
(define %guix-patches (define %guix-patches
(list (local-file (list (local-file
(assume-valid-file-name
(search-patch "ungoogled-chromium-system-nspr.patch")))
(local-file
(assume-valid-file-name
(search-patch "ungoogled-chromium-system-opus.patch")))
(local-file
(assume-valid-file-name (assume-valid-file-name
(search-patch "ungoogled-chromium-extension-search-path.patch"))))) (search-patch "ungoogled-chromium-extension-search-path.patch")))))
@ -415,7 +430,7 @@
(define libvpx/chromium (define libvpx/chromium
(package (package
(inherit libvpx) (inherit libvpx)
(version "1.9.0-104-gb5d77a48d") (version "1.9.0-147-g61edec1ef")
(source (origin (source (origin
(inherit (package-source libvpx)) (inherit (package-source libvpx))
(uri (git-reference (uri (git-reference
@ -424,7 +439,7 @@
(file-name (git-file-name "libvpx" version)) (file-name (git-file-name "libvpx" version))
(sha256 (sha256
(base32 (base32
"07nkpx8myw5nd4bkaj6l4wr5ipk2c6lg9cwirz0i5qbr659051rk")))))) "0mw13y7j2lg8jj3alm9367c3b40b6s218fdz3nn1m2k85c78wzr7"))))))
;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need ;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need
;; this trick to make it wrap 'lld'. ;; this trick to make it wrap 'lld'.
@ -454,17 +469,19 @@
(define-public ungoogled-chromium (define-public ungoogled-chromium
(package (package
(name "ungoogled-chromium") (name "ungoogled-chromium")
(version %ungoogled-revision) (version (string-append %chromium-version "-0."
(match (string-split %ungoogled-revision #\-)
((version revision commits g+short)
(string-drop g+short 1)))))
(synopsis "Graphical web browser") (synopsis "Graphical web browser")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://commondatastorage.googleapis.com" (uri (string-append "https://commondatastorage.googleapis.com"
"/chromium-browser-official/chromium-" "/chromium-browser-official/chromium-"
(string-drop-right %ungoogled-revision 2) %chromium-version ".tar.xz"))
".tar.xz"))
(sha256 (sha256
(base32 (base32
"007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j")) "0zimr975vp0v12zz1nqjwag3f0q147wrmdhpzgi4yf089rgwfbjk"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet)))) (snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -506,6 +523,9 @@
"enable_widevine=false" "enable_widevine=false"
;; Disable type-checking for the Web UI to avoid a Java dependency. ;; Disable type-checking for the Web UI to avoid a Java dependency.
"enable_js_type_check=false" "enable_js_type_check=false"
;; Disable code using TensorFlow until it has been scrutinized
;; by the ungoogled project.
"build_with_tflite_lib=false"
;; Define a custom toolchain that simply looks up CC, AR and ;; Define a custom toolchain that simply looks up CC, AR and
;; friends from the environment. ;; friends from the environment.
@ -565,7 +585,13 @@
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-stuff (add-after 'unpack 'patch-stuff
(lambda _ (lambda* (#:key inputs #:allow-other-keys)
(let ((openjpeg (assoc-ref inputs "openjpeg")))
(substitute* "third_party/pdfium/BUILD.gn"
;; This include path is added by Debians openjpeg patch.
(("/usr/include/openjpeg")
(string-append openjpeg "/include/openjpeg"))))
(substitute* (substitute*
'("base/process/launch_posix.cc" '("base/process/launch_posix.cc"
"base/third_party/dynamic_annotations/dynamic_annotations.c" "base/third_party/dynamic_annotations/dynamic_annotations.c"
@ -735,6 +761,7 @@
"chrome_200_percent.pak" "chrome_200_percent.pak"
"resources.pak" "resources.pak"
"v8_context_snapshot.bin" "v8_context_snapshot.bin"
;; Chromium ships its own libGL ;; Chromium ships its own libGL
;; implementation called ANGLE. ;; implementation called ANGLE.
"libEGL.so" "libGLESv2.so")) "libEGL.so" "libGLESv2.so"))

View file

@ -55,8 +55,8 @@
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu))
(define-public cuirass (define-public cuirass
(let ((commit "922cc66089035d4dbc277df06366e41a0806bffb") (let ((commit "40b32387cf290a84660d34c42da0637bc93c2b00")
(revision "11")) (revision "16"))
(package (package
(name "cuirass") (name "cuirass")
(version (git-version "1.0.0" revision commit)) (version (git-version "1.0.0" revision commit))
@ -69,7 +69,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1kanag19dvaqpij7j6gznsfzajc5iir9qj6vq016bc4al5x6ggj4")))) "0sxcms1lz3mn02a48gqrlapyg2p2jjrsc9pjvri2lkq0lyy02w7b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,7 +25,9 @@
#:use-module (gnu packages dbm) #:use-module (gnu packages dbm)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)) #:use-module (gnu packages perl)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public gnucobol (define-public gnucobol
(package (package
@ -43,7 +45,10 @@
(arguments (arguments
'(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/lib")) "/lib")
(string-append "JSON_C_CFLAGS=-I"
(assoc-ref %build-inputs "json-c")
"/include/json-c"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'place-cobol85-test-suite (add-after 'unpack 'place-cobol85-test-suite
@ -55,19 +60,21 @@
(lambda _ (setenv "TERM" "xterm-256color")))) (lambda _ (setenv "TERM" "xterm-256color"))))
#:test-target "checkall")) #:test-target "checkall"))
(native-inputs (native-inputs
`(("perl" ,perl))) `(("perl" ,perl)
(inputs
`(("bdb" ,bdb)
("gmp" ,gmp)
("ncurses" ,ncurses)
("newcob" ,(origin ("newcob" ,(origin
(method url-fetch) (method url-fetch)
(uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z")
(sha256 (sha256
(base32 (base32
"1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy")))))) "1yb1plmv4firfnbb119r2vh1hay221w1ya34nyz0qwsxppfr56hy"))))))
(inputs
`(("bdb" ,bdb)
("gmp" ,gmp)
("json-c" ,json-c)
("libxml2" ,libxml2)
("ncurses" ,ncurses)))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://savannah.gnu.org/projects/gnucobol/") (home-page "https://www.gnu.org/software/gnucobol/")
(synopsis "A modern COBOL compiler") (synopsis "A modern COBOL compiler")
(description "GnuCOBOL is a free, modern COBOL compiler. GnuCOBOL (description "GnuCOBOL is a free, modern COBOL compiler. GnuCOBOL
implements a substantial part of the COBOL 85, COBOL 2002 and COBOL 2014 implements a substantial part of the COBOL 85, COBOL 2002 and COBOL 2014

View file

@ -15,6 +15,7 @@
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 lu hui <luhuins@163.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -135,7 +136,8 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(base32 (base32
"10vvsgx8v54whb4j9mk5qqyb5h3rdd9da0il3wir8pcpksyk0dww")))) "10vvsgx8v54whb4j9mk5qqyb5h3rdd9da0il3wir8pcpksyk0dww"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses) (inputs `(("coreutils" ,coreutils)
("ncurses" ,ncurses)
("libltdl" ,libltdl) ("libltdl" ,libltdl)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("python-wrapper" ,python-wrapper))) ("python-wrapper" ,python-wrapper)))
@ -149,6 +151,12 @@ highlighting your own code that seemed comprehensible when you wrote it.")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-globash
(lambda* (#:key inputs #:allow-other-keys)
(let* ((echo (string-append
(assoc-ref inputs "coreutils") "/bin/echo")))
(substitute* "globash/globash.in"
(("/bin/echo") echo)))))
(add-after 'install 'post-install (add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Install the plugin files in the right place. ;; Install the plugin files in the right place.

View file

@ -3936,6 +3936,9 @@ is the GNU Compiler Collection.")
(define-public gcc-toolchain-10 (define-public gcc-toolchain-10
(make-gcc-toolchain gcc-10)) (make-gcc-toolchain gcc-10))
(define-public gcc-toolchain-11
(make-gcc-toolchain gcc-11))
(define-public gcc-toolchain-aka-gcc (define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package ;; It's natural for users to try "guix install gcc". This package
;; automatically "redirects" them to 'gcc-toolchain'. ;; automatically "redirects" them to 'gcc-toolchain'.

View file

@ -273,7 +273,7 @@ combination of these streams.")
(define-public xsimd (define-public xsimd
(package (package
(name "xsimd") (name "xsimd")
(version "7.4.10") (version "7.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -281,7 +281,7 @@ combination of these streams.")
(url "https://github.com/QuantStack/xsimd") (url "https://github.com/QuantStack/xsimd")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "097yvxrxdldi5s5m4nsxv8f4gwv9xj42mqig98a1z3hkjj1j2gn5")) (base32 "0c9pq5vz43j99z83w3b9qylfi66mn749k1afpv5cwfxggbxvy63f"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -775,7 +775,7 @@ standard GNU style syntax for options.")
(define-public folly (define-public folly
(package (package
(name "folly") (name "folly")
(version "2021.01.25.00") (version "2021.04.26.00")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -784,7 +784,7 @@ standard GNU style syntax for options.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"14dl1g6vf7mc90mcync5h2lp14fwcx8n9h91pmiq6rfgv1fjjrwz")))) "0s3jb02qjl9f4gfj01pa01cilkfpc4p0gbpn6bg5vcicyj76garg"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(;; Tests must be explicitly enabled '(;; Tests must be explicitly enabled

View file

@ -28260,6 +28260,80 @@ Xiaohui Yan, Jiafeng Guo, Yanyan Lan, Xueqi Cheng (2013)
BTM-WWW13.pdf}.") BTM-WWW13.pdf}.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public r-rjsonio
(package
(name "r-rjsonio")
(version "1.3-1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "RJSONIO" version))
(sha256
(base32
"141ijm9570mg1180isvi0jb9vd3b08s5gb9dl1wa5v0m3s9jq52l"))))
(properties `((upstream-name . "RJSONIO")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/package=RJSONIO")
(synopsis "Serialize R objects to JSON")
(description
"This is a package that allows conversion to and from data in JavaScript
Object Notation (JSON) format. This allows R objects to be inserted into
Javascript/ECMAScript/ActionScript code and allows R programmers to read and
convert JSON content to R objects. This is an alternative to the @code{rjson}
package.")
(license license:bsd-3)))
(define-public r-revgeo
(package
(name "r-revgeo")
(version "0.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "revgeo" version))
(sha256
(base32
"1ns7d1817475lriss6wwgvdm6lj760p40yxqaifla13c2xb73a55"))))
(properties `((upstream-name . "revgeo")))
(build-system r-build-system)
(propagated-inputs
`(("r-rcurl" ,r-rcurl)
("r-rjsonio" ,r-rjsonio)))
(home-page "https://cran.r-project.org/package=revgeo")
(synopsis "Reverse geocoding")
(description
"The @code{revgeo} procedure allows you to use the Photon geocoder for
OpenStreetMap, Google Maps, and Bing to reverse geocode coordinate pairs with
minimal hassle.")
(license license:gpl3+)))
(define-public r-qpcr
(package
(name "r-qpcr")
(version "1.4-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "qpcR" version))
(sha256
(base32
"1r01q7jv3w59yx1gc0qw91rq7rvdhqsi8y57sqqkmwyqfw2x2vsv"))))
(properties `((upstream-name . "qpcR")))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-minpack-lm" ,r-minpack-lm)
("r-rgl" ,r-rgl)
("r-robustbase" ,r-robustbase)))
(home-page "https://cran.r-project.org/package=qpcR")
(synopsis "Modelling and analysis of real-time PCR data")
(description
"This is a package for model fitting, optimal model selection and
calculation of various features that are essential in the analysis of
quantitative real-time polymerase chain reaction (qPCR).")
(license license:gpl2+)))
(define-public r-textplot (define-public r-textplot
(package (package
(name "r-textplot") (name "r-textplot")

View file

@ -2532,7 +2532,7 @@ properly display animated cursors.")
(synopsis "Bindings to libwayland-egl") (synopsis "Bindings to libwayland-egl")
(description (description
"This crate provides bindings for OpenGL/Vulkan support for "This crate provides bindings for OpenGL/Vulkan support for
Wayland client apps. It allows to create an EGLSurface from any Wayland client apps. It creates an EGLSurface from any
WlSurface, which can then play the role of the base surface for WlSurface, which can then play the role of the base surface for
initializing an OpenGL or Vulkan context.") initializing an OpenGL or Vulkan context.")
(license license:expat))) (license license:expat)))

View file

@ -15831,7 +15831,7 @@ derived from an internal hasher used in FireFox and Rustc.")
(home-page "https://github.com/Stebalien/gag-rs") (home-page "https://github.com/Stebalien/gag-rs")
(synopsis "Gag, redirect, or hold stdout/stderr output") (synopsis "Gag, redirect, or hold stdout/stderr output")
(description (description
"This packages gags, redirects, or holds stdout/stderr output.") "This package gags, redirects, or holds stdout/stderr output.")
(license license:expat))) (license license:expat)))
(define-public rust-galil-seiferas-0.1 (define-public rust-galil-seiferas-0.1
@ -20378,8 +20378,8 @@ byte slices for sets of ASCII characters or bytes.")
(home-page "https://github.com/jni-rs/jni-rs") (home-page "https://github.com/jni-rs/jni-rs")
(synopsis "Rust bindings to the JNI") (synopsis "Rust bindings to the JNI")
(description (description
"This package provides Rust bindings to the JNI. It permits to "This package provides Rust bindings to the JNI. It
implement native Java methods for JVM and Android in Rust, call Java implements native Java methods for JVM and Android in Rust, call Java
code from Rust, embed JVM in Rust applications and use any Java code from Rust, embed JVM in Rust applications and use any Java
libraries.") libraries.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
@ -27399,7 +27399,7 @@ deserialization, and interpreter in Rust.")
(("rust-easy-parallel" ,rust-easy-parallel-3)))) (("rust-easy-parallel" ,rust-easy-parallel-3))))
(home-page "https://github.com/stjepang/parking") (home-page "https://github.com/stjepang/parking")
(synopsis "Thread parking and unparking") (synopsis "Thread parking and unparking")
(description "This packages provides methods for thread parking and (description "This package provides methods for thread parking and
unparking.") unparking.")
(license (list license:asl2.0 license:expat)))) (license (list license:asl2.0 license:expat))))
@ -27707,7 +27707,7 @@ synchronization primitives.")
(home-page "") (home-page "")
(synopsis "Parse zoneinfo files from the IANA database") (synopsis "Parse zoneinfo files from the IANA database")
(description (description
"This packages parses zoneinfo files from the IANA database.") "This package parses zoneinfo files from the IANA database.")
(license license:expat))) (license license:expat)))
(define-public rust-partial-io-0.3 (define-public rust-partial-io-0.3
@ -32078,7 +32078,7 @@ Rust.")
(home-page "https://github.com/jonathandturner/rawkey") (home-page "https://github.com/jonathandturner/rawkey")
(synopsis "Raw terminal key input") (synopsis "Raw terminal key input")
(description (description
"This packages provides support for raw key input in terminals.") "This package provides support for raw key input in terminals.")
(license license:expat))) (license license:expat)))
(define-public rust-rayon-core-1 (define-public rust-rayon-core-1
@ -42640,7 +42640,7 @@ closures after a delay or at a given timestamp.")
(("rust-lazy-static" ,rust-lazy-static-0.2)))) (("rust-lazy-static" ,rust-lazy-static-0.2))))
(home-page "https://github.com/savage13/tint") (home-page "https://github.com/savage13/tint")
(synopsis "Color creation and manipulation") (synopsis "Color creation and manipulation")
(description "This packages provides tools for color creation and (description "This package provides tools for color creation and
manipulation in Rust.") manipulation in Rust.")
(license license:expat))) (license license:expat)))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2018, 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
@ -782,6 +782,7 @@ data on your platform, so the seed itself will be as random as possible.
(commit (commit
(string-append "CRYPTOPP_" (string-append "CRYPTOPP_"
(string-replace-substring version "." "_"))))) (string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3")))) "0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))

View file

@ -28,7 +28,7 @@
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com> ;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
@ -49,6 +49,7 @@
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -2073,6 +2074,36 @@ Driver.")
;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL" ;; COPYING contains copy of lgpl2.1 - but copyright notices just say "LGPL"
(home-page "http://www.unixodbc.org"))) (home-page "http://www.unixodbc.org")))
(define-public nanodbc
(package
(name "nanodbc")
(version "2.13.0")
(source (origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/nanodbc/nanodbc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1q80p7yv9mcl4hyvnvcjdr70y8nc940ypf368lp97vpqn5yckkgm"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
;; The tests require ODBC backends to be installed.
(list "-DNANODBC_DISABLE_TESTS=ON"
"-DBUILD_SHARED_LIBS=ON")
#:tests? #false))
(inputs
`(("unixodbc" ,unixodbc)))
(home-page "https://nanodbc.io/")
(synopsis "C++ wrapper for the native C ODBC API")
(description "The goal for nanodbc is to make developers happy by providing
a simpler and less verbose API for working with ODBC. Common tasks should be
easy, requiring concise and simple code.")
(license license:expat)))
(define-public unqlite (define-public unqlite
(package (package
(name "unqlite") (name "unqlite")
@ -2151,6 +2182,27 @@ sets, bitmaps and hyperloglogs.")
(home-page "https://redis.io/") (home-page "https://redis.io/")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ruby-redis
(package
(name "ruby-redis")
(version "4.2.5")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "redis" version))
(sha256
(base32
"15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48"))))
(build-system ruby-build-system)
(arguments
`(#:tests? #f)) ; Tests require a running redis server.
(synopsis "Ruby client for Redis' API")
(description
"This package provides a Ruby client that tries to match Redis' API
one-to-one, while still providing an idiomatic interface.")
(home-page "https://github.com/redis/redis-rb")
(license license:expat)))
(define-public kyotocabinet (define-public kyotocabinet
(package (package
(name "kyotocabinet") (name "kyotocabinet")
@ -3836,14 +3888,14 @@ PostreSQL, SQLite, ODBC and MySQL.")
(define-public freetds (define-public freetds
(package (package
(name "freetds") (name "freetds")
(version "1.2.19") (version "1.2.20")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.freetds.org/files/stable/" (uri (string-append "https://www.freetds.org/files/stable/"
"freetds-" version ".tar.gz")) "freetds-" version ".tar.gz"))
(sha256 (sha256
(base32 "11xf2w8gh2p9cq4i38jfvdiwgig8wqbg098xjc08kx4iii8lxy3m")))) (base32 "11fzwcahc1bc8npxbif0448v9cwyf7k04167i7fcspmfw7a0hj0d"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection, ;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection,

View file

@ -126,7 +126,7 @@ contains the archive keys used for that.")
(define-public debootstrap (define-public debootstrap
(package (package
(name "debootstrap") (name "debootstrap")
(version "1.0.123") (version "1.0.124")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -135,7 +135,7 @@ contains the archive keys used for that.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0fr5ir8arzisx71jybbk4xz85waz50lf2y052nfimzh6vv9dx54c")))) (base32 "0pbvrp7gb87pwmjika5hy97342mdfvm0gmy23ag8xz1nnpmn160j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018, 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -113,14 +113,14 @@ acronyms distributed as an info document.")
(define-public gcide (define-public gcide
(package (package
(name "gcide") (name "gcide")
(version "0.52") (version "0.53")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://gnu/gcide/gcide-" version ".tar.xz")) "mirror://gnu/gcide/gcide-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1n3bp91sik66z3ca7mjqbr9nck3hg5ck0c8g84xc0qnfpx5vznh2")))) "17rigzfmih5i1z5s5v1hdr1jw8rngf40768kblnh5kp19ncbvb6k"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
'(#:install-plan '(#:install-plan

View file

@ -13,7 +13,7 @@
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
@ -494,14 +494,14 @@ and a @command{fsck.vfat} compatibility symlink for use in an initrd.")
(define-public sdparm (define-public sdparm
(package (package
(name "sdparm") (name "sdparm")
(version "1.11") (version "1.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://sg.danny.cz/sg/p/" (uri (string-append "http://sg.danny.cz/sg/p/"
"sdparm-" version ".tar.xz")) "sdparm-" version ".tar.xz"))
(sha256 (sha256
(base32 "1nqjc4w2w47zavcbf5xmm53x1zbwgljaw1lpajcdi537cgy32fa8")))) (base32 "1gmdxr36allrgap2j4dv238d8awkj327ww0jjwpjwrpbvfpyzjf4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://sg.danny.cz/sg/sdparm.html") (home-page "http://sg.danny.cz/sg/sdparm.html")
(synopsis "Provide access to SCSI device parameters") (synopsis "Provide access to SCSI device parameters")
@ -1216,3 +1216,40 @@ that support this feature).")
built on top of jemalloc which enables control of memory characteristics built on top of jemalloc which enables control of memory characteristics
and a partitioning of the heap between kinds of memory (for NUMA).") and a partitioning of the heap between kinds of memory (for NUMA).")
(license license:bsd-3))) (license license:bsd-3)))
(define-public mmc-utils
(let ((commit "e9654ebc4a6a48642848822c4a1355a9de4958d1")
(revision "0"))
(package
(name "mmc-utils")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1dbsppsmky0r4z6kxwczrw8pih8bhc2pb61gsvs986r4xy6jr17a"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No test suite
#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))
(string-append "CC=" ,(cc-for-target)))
#:phases
(modify-phases %standard-phases
;; No ./configure script
(delete 'configure)
;; The Makefile's "install-man" target is a no-op.
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man1 (string-append out "/share/man/man1")))
(install-file "man/mmc.1" man1)))))))
(home-page "https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git/")
(synopsis "Configure MMC storage devices from userspace")
(description "mmc-utils is a command-line tool for configuring and
inspecting MMC storage devices from userspace.")
(license license:gpl2))))

View file

@ -320,7 +320,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; When updating, check whether isc-dhcp's bundled copy should be as well.
;; The BIND release notes are available here: ;; The BIND release notes are available here:
;; https://www.isc.org/bind/ ;; https://www.isc.org/bind/
(version "9.16.13") (version "9.16.15")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -328,7 +328,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.xz")) "/bind-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"026cliyj570wxvvij96mrzsxyf421xv9a80gc5gv6savza9wfk55")))) "0fbqisrh84f8wszm94cqp7v8q9r7pql3qyzbay7vz9vqv0rg9dlq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (inputs

View file

@ -614,14 +614,14 @@ Portuguese, Spanish and Italian.")
(define-public fet (define-public fet
(package (package
(name "fet") (name "fet")
(version "5.49.1") (version "6.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/" (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
"fet-" version ".tar.bz2")) "fet-" version ".tar.bz2"))
(sha256 (sha256
(base32 "1aa8xnhwvbhvp7yigcdk7qdwqh59yyfknqbpn3ybgjljc22m8w5n")))) (base32 "08q265i43bnj9syh3xlp11fr47xmzb0nma3nnwm76xq314102f0f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -653,14 +653,14 @@ hours.")
(define-public klavaro (define-public klavaro
(package (package
(name "klavaro") (name "klavaro")
(version "3.11") (version "3.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/klavaro/klavaro-" (uri (string-append "mirror://sourceforge/klavaro/klavaro-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w")))) (base32 "0ymrmgllyjk9wp1f1ayw51xc3myar8ld9a5531wdbrym0xzy4l64"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
@ -669,6 +669,7 @@ hours.")
`(("cairo" ,cairo) `(("cairo" ,cairo)
("curl" ,curl) ("curl" ,curl)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("gtkdatabox" ,gtkdatabox)
("pango" ,pango))) ("pango" ,pango)))
(home-page "https://klavaro.sourceforge.io/en/index.html") (home-page "https://klavaro.sourceforge.io/en/index.html")
(synopsis "Touch typing tutor") (synopsis "Touch typing tutor")

View file

@ -43,6 +43,7 @@
#:use-module (gnu packages libftdi) #:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages qt)) #:use-module (gnu packages qt))
@ -308,22 +309,23 @@ individual low-level driver modules.")
(define-public xoscope (define-public xoscope
(package (package
(name "xoscope") (name "xoscope")
(version "2.2") (version "2.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/xoscope/xoscope/" (uri (string-append "mirror://sourceforge/xoscope/xoscope/"
version "/xoscope-" version ".tar.gz")) version "/xoscope-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1b9wxnrwz8qy6qyx5icrklb4720rlxnr1c4h3dr6g0dzj6nkc5av")))) "0a5ycfc1qdmibvagc82r2mhv2i99m6pndy5i6ixas3j2297g6pgq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("m4" ,m4)
("pkg-config" ,pkg-config)))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("comedilib" ,comedilib) ("comedilib" ,comedilib)
("fftw" ,fftw) ("fftw" ,fftw)
("gtk+-2" ,gtk+-2) ("gtk+" ,gtk+)
("gtkdatabox" ,gtkdatabox))) ("gtkdatabox" ,gtkdatabox)))
(synopsis "Digital oscilloscope") (synopsis "Digital oscilloscope")
(description "Xoscope is a digital oscilloscope that can acquire signals (description "Xoscope is a digital oscilloscope that can acquire signals

View file

@ -318,6 +318,29 @@ using geiser.")
a generic Scheme interaction mode for the GNU Emacs editor.") a generic Scheme interaction mode for the GNU Emacs editor.")
(license license:expat))) (license license:expat)))
(define-public emacs-vc-hgcmd
(package
(name "emacs-vc-hgcmd")
(version "1.13")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/muffinmad/emacs-vc-hgcmd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"14c2brvw6vnf1h3lbpap4jh5d7mjnzxrbny4jk77832v09mj2ria"))))
(build-system emacs-build-system)
(home-page "https://github.com/muffinmad/emacs-vc-hgcmd")
(synopsis "Version control (VC) backend for the Mercurial command server")
(description
"This package provides an Emacs VC backend to work with Mercurial
repositories through the
@uref{https://www.mercurial-scm.org/wiki/CommandServer,Mercurial command
server}. The main advantage compared to @code{vc-hg} is speed.")
(license license:gpl3+)))
(define-public emacs-hyperbole (define-public emacs-hyperbole
(package (package
(name "emacs-hyperbole") (name "emacs-hyperbole")
@ -336,6 +359,7 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
`(#:include '("DEMO" `(#:include '("DEMO"
"DEMO-ROLO.otl" "DEMO-ROLO.otl"
"HY-ABOUT" "HY-ABOUT"
"man/hkey-help.txt"
"\\.el$" "\\.el$"
"\\.info$" "\\.info$"
"\\.kotl$") "\\.kotl$")
@ -350,8 +374,15 @@ a generic Scheme interaction mode for the GNU Emacs editor.")
(string-append (assoc-ref inputs "inetutils") (string-append (assoc-ref inputs "inetutils")
"/bin/dnsdomainname"))) "/bin/dnsdomainname")))
(substitute* "hyperbole.el" (substitute* "hyperbole.el"
(("\\(hyperb:check-dir-user\\)") "")) (("\\(hyperb:check-dir-user\\)") ""))))
#t))))) (add-after 'install 'install-images
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (file)
(install-file
file
(string-append out "/share/info/im")))
(find-files "man/im" "\\.png$"))))))))
(inputs (inputs
`(("inetutils" ,inetutils))) `(("inetutils" ,inetutils)))
(home-page "https://www.gnu.org/software/hyperbole/") (home-page "https://www.gnu.org/software/hyperbole/")
@ -2276,14 +2307,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex (define-public emacs-auctex
(package (package
(name "emacs-auctex") (name "emacs-auctex")
(version "13.0.6") (version "13.0.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/" (uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar")) "auctex-" version ".tar"))
(sha256 (sha256
(base32 "00wp388rh2nnk8fam53kilykg90jylps31qxv9ijy1lsp1hqdjys")))) (base32 "150b0xh71xwva7599arjapspdxyy70yyk6a5nabaq22w3dcpasb5"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time ;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus). ;; ('emacs-minimal' does not provide dbus).
@ -2511,6 +2542,28 @@ Its features are:
;; Software is dual-licensed. ;; Software is dual-licensed.
(license (list license:unlicense license:wtfpl2)))) (license (list license:unlicense license:wtfpl2))))
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "0.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minad/corfu")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1yw90clfbqny2pchjc1cxqgr0gjag7bz6hys6jgidsxifzr662ps"))))
(build-system emacs-build-system)
(home-page "https://github.com/minad/corfu")
(synopsis "Completion overlay region function")
(description "Corfu enhances the default completion in region function
with a completion overlay. The current candidates are shown in a popup
overlay below or above the point. Corfu can be considered the minimalistic
@code{completion-in-region} counterpart of the Vertico minibuffer UI.")
(license license:gpl3+)))
(define-public emacs-direnv (define-public emacs-direnv
(package (package
(name "emacs-direnv") (name "emacs-direnv")
@ -4875,6 +4928,27 @@ file).")
"This package provides a macro that writes your namespaces for you.") "This package provides a macro that writes your namespaces for you.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-nameless
(package
(name "emacs-nameless")
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Malabarba/Nameless")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"))))
(build-system emacs-build-system)
(home-page "https://github.com/Malabarba/nameless")
(synopsis "Hide package namespace in your Emacs-lisp code")
(description
"This package provides a @code{nameless-mode} minor mode in which the
package namespace prefix is hidden by a colon.")
(license license:gpl2+)))
(define-public emacs-evil-leader (define-public emacs-evil-leader
(package (package
(name "emacs-evil-leader") (name "emacs-evil-leader")
@ -5291,14 +5365,14 @@ source code using IPython.")
(define-public emacs-debbugs (define-public emacs-debbugs
(package (package
(name "emacs-debbugs") (name "emacs-debbugs")
(version "0.27") (version "0.28")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-" (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 "1zn9p9vmfv5ihrp8d06b6abs48q225v42cgwa01s39hld6zg6wbv")))) (base32 "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs (propagated-inputs
@ -7444,7 +7518,7 @@ style, or as multiple word prefixes.")
(home-page "https://github.com/minad/consult") (home-page "https://github.com/minad/consult")
(synopsis "Consulting completing-read") (synopsis "Consulting completing-read")
(description "This package provides various handy commands based on the (description "This package provides various handy commands based on the
Emacs completion function completing-read, which allows to quickly select from a Emacs completion function completing-read, which allows quickly selecting from a
list of candidates.") list of candidates.")
(license license:gpl3+))) (license license:gpl3+)))
@ -7764,7 +7838,7 @@ after buffer changes.")
(description (description
"RealGUD is a modular, extensible GNU Emacs front-end for interacting "RealGUD is a modular, extensible GNU Emacs front-end for interacting
with external debuggers. It integrates various debuggers such as gdb, pdb, with external debuggers. It integrates various debuggers such as gdb, pdb,
ipdb, jdb, lldb, bashdb, zshdb, etc. and allows to visually step code in the ipdb, jdb, lldb, bashdb, zshdb, etc. and allows visually steping through code in the
sources. Unlike GUD, it also supports running multiple debug sessions in sources. Unlike GUD, it also supports running multiple debug sessions in
parallel.") parallel.")
(license license:gpl3+))) (license license:gpl3+)))
@ -8542,18 +8616,21 @@ asynchronously, with Counsel and Ivy. Simply call
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-counsel-projectile (define-public emacs-counsel-projectile
;; Use a recent commit in order to fix recent breakage with Ivy.
(let ((commit "06b03c1080d3ccc3fa9b9c41b1ccbcf13f058e4b")
(revision "0"))
(package (package
(name "emacs-counsel-projectile") (name "emacs-counsel-projectile")
(version "0.3.1") (version (git-version "0.3.1" revision commit))
(source (origin (source
(origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/ericdanan/counsel-projectile") (url "https://github.com/ericdanan/counsel-projectile")
(commit version))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "10afil6grwxj1x8fxd3ar7ikw3s3hzrkjsjin8wzchbz04389l7s"))))
"1k4n5lw6wwbgpwv0dg9dw0bjzi0hvbgkzrs1zmq36yhfz6y8gwnh"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-counsel" ,emacs-counsel) `(("emacs-counsel" ,emacs-counsel)
@ -8563,7 +8640,7 @@ asynchronously, with Counsel and Ivy. Simply call
(description (description
"This package uses Ivy to provide additional actions for Projectile "This package uses Ivy to provide additional actions for Projectile
commands and replacements for existing functions.") commands and replacements for existing functions.")
(license license:gpl3+))) (license license:gpl3+))))
(define-public emacs-qml-mode (define-public emacs-qml-mode
(package (package
@ -10112,7 +10189,7 @@ target will call @code{compile} on it.")
(define-public emacs-cider (define-public emacs-cider
(package (package
(name "emacs-cider") (name "emacs-cider")
(version "1.0.0") (version "1.1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -10121,7 +10198,7 @@ target will call @code{compile} on it.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "143kh9k34yk0g6kdlkma6g432kmb2r9r1lhyq4irsw6d3vaql7dj")))) (base32 "0wigprg45n6q6jmkw2a9s7mr4h500l2ky9244rrdvkjsgj6af8q8"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
'(#:exclude ;don't exclude 'cider-test.el' '(#:exclude ;don't exclude 'cider-test.el'
@ -12126,8 +12203,18 @@ highlights quasi-quoted expressions.")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda _ (lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "SHELL" (which "sh")) (setenv "SHELL" (which "sh"))
;; Ensure the tclespeak.so binary is found in the correct location
;; by adding the path to the Tclx library to the Tcl $auto_path
;; variable.
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "servers/espeak"
(("package require Tclx")
(string-append "set auto_path [linsert $auto_path 0 "
(assoc-ref inputs "tclx")
"/lib]\n"
"package require Tclx"))))
;; Configure Emacspeak according to etc/install.org. ;; Configure Emacspeak according to etc/install.org.
(invoke "make" "config"))) (invoke "make" "config")))
(add-after 'build 'build-espeak (add-after 'build 'build-espeak
@ -12155,18 +12242,7 @@ highlights quasi-quoted expressions.")
;; Install the convenient startup script. ;; Install the convenient startup script.
(mkdir-p bin) (mkdir-p bin)
(copy-file "run" (string-append bin "/emacspeak"))) (copy-file "run" (string-append bin "/emacspeak")))
#t)) #t)))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(emacspeak (string-append out "/bin/emacspeak"))
(espeak (string-append (assoc-ref inputs "espeak")
"/bin/espeak")))
;; The environment variable DTK_PROGRAM tells emacspeak what
;; program to use for speech.
(wrap-program emacspeak
`("DTK_PROGRAM" ":" prefix (,espeak)))
#t))))
#:tests? #f)) ; no check target #:tests? #f)) ; no check target
(inputs (inputs
`(("emacs" ,emacs) `(("emacs" ,emacs)
@ -12650,14 +12726,14 @@ shuangpin, wubi and cangjie.")
(define-public emacs-posframe (define-public emacs-posframe
(package (package
(name "emacs-posframe") (name "emacs-posframe")
(version "1.0.1") (version "1.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/" (uri (string-append "https://elpa.gnu.org/packages/"
"posframe-" version ".tar")) "posframe-" version ".tar"))
(sha256 (sha256
(base32 "17znlh5xkk57imbblnfndwvld9m02h5fkr9gys89n2skdbxw9c7r")))) (base32 "19a1dkjyw9m74aamyqrsvzrdwshngqpmjzdngx6v5nifvcilrlnk"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; emacs-minimal does not include the function font-info. ;; emacs-minimal does not include the function font-info.
(arguments (arguments
@ -17074,7 +17150,7 @@ or expressions with SVG rounded box labels that are fully customizable.")
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/rougier/emacs-svg-icon") (home-page "https://github.com/rougier/emacs-svg-icon")
(synopsis "Emacs library to create SVG icons on the fly") (synopsis "Emacs library to create SVG icons on the fly")
(description "This library allows to create SVG icons by parsing remote (description "This library allows creating SVG icons by parsing remote
collections whose license are compatibles with Emacs. The default size of an collections whose license are compatibles with Emacs. The default size of an
icon is exactly 2x1 characters such that it can be inserted inside a text icon is exactly 2x1 characters such that it can be inserted inside a text
without disturbing alignment.") without disturbing alignment.")
@ -17311,6 +17387,28 @@ within Emacs.")
grouping buffers by their projectile root directory.") grouping buffers by their projectile root directory.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-ibuffer-vc
(package
(name "emacs-ibuffer-vc")
(version "0.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/purcell/ibuffer-vc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1mgn7b786j4hwq1ks012hxxgvrfn5rz90adi2j190gmjz60rc5g5"))))
(build-system emacs-build-system)
(home-page "https://github.com/purcell/ibuffer-vc")
(synopsis "Group Ibuffer's list by revision control system indications")
(description
"Ibuffer-VC adds functionality to Ibuffer for grouping buffers by their
parent revision control system root directory, and for displaying, or sorting,
by the status of listed files.")
(license license:gpl3+)))
(define-public emacs-elm-mode (define-public emacs-elm-mode
(package (package
(name "emacs-elm-mode") (name "emacs-elm-mode")
@ -22521,6 +22619,29 @@ displays as you type thanks to Helm, though @command{notmuch-search} does the
real search.") real search.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-notmuch-maildir
(package
(name "emacs-notmuch-maildir")
(version "0.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~tarsius/notmuch-maildir")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("notmuch" ,notmuch)))
(home-page "https://git.sr.ht/~tarsius/notmuch-maildir")
(synopsis "Visualize maildirs as a tree")
(description
"This package can visualize maildirs hierarchically in Notmuch's ``hello
buffer''.")
(license license:gpl3+)))
(define-public emacs-elmacro (define-public emacs-elmacro
(package (package
(name "emacs-elmacro") (name "emacs-elmacro")
@ -22548,7 +22669,7 @@ as Emacs Lisp.")
(define-public emacs-transient (define-public emacs-transient
(package (package
(name "emacs-transient") (name "emacs-transient")
(version "0.3.0") (version "0.3.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -22557,7 +22678,7 @@ as Emacs Lisp.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0g694ydmb9zjn99hxgfjd3m73kpmnkbrgqhr73b4crbxza5sl29c")))) "1766hdqzg95k62nqhadfv502mpnjlx1l59ppqmc6r0las82dc6a8"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:tests? #f ;no test suite `(#:tests? #f ;no test suite
@ -24808,7 +24929,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes (define-public emacs-modus-themes
(package (package
(name "emacs-modus-themes") (name "emacs-modus-themes")
(version "1.2.3") (version "1.3.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -24817,7 +24938,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1l392hz6zs6wg06x2zxnk7s0h5cpmvbkcynh68gjmqjj84l7mqrk")))) (base32 "0dw33kvs6k1a933d64fnrckzhs12d8m03a31cwblm39vmirgmf6y"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://protesilaos.com/modus-themes/") (home-page "https://protesilaos.com/modus-themes/")
(synopsis "Accessible themes (WCAG AAA)") (synopsis "Accessible themes (WCAG AAA)")
@ -26975,6 +27096,26 @@ Features:
@end itemize\n") @end itemize\n")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-shell-command+
(package
(name "emacs-shell-command+")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"shell-command+-" version ".tar"))
(sha256
(base32 "1jyrnv89989bi03m5h8dj0cllsw3rvyxkiyfrh9v6gpxjwfy8lmq"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/shell-command+.html")
(synopsis "Extended Emacs @code{shell-command}")
(description
"Shell-command+ is a @code{shell-command} substitute that extends the
regular Emacs command with several features. You can for example count all
the lines in a buffer with @code{> wc -l}, or delete all lower case letters in
the selected region with @code{| tr -d a-z}.")
(license license:gpl3+)))
(define-public emacs-shell-pop (define-public emacs-shell-pop
(let ((commit "4b4394037940a890a313d715d203d9ead2d156a6") (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
(revision "0")) (revision "0"))
@ -27552,7 +27693,7 @@ rules about where space should be left to separate words and parentheses.")
`(("emacs-request" ,emacs-request))) `(("emacs-request" ,emacs-request)))
(home-page "https://github.com/etu/webpaste.el") (home-page "https://github.com/etu/webpaste.el")
(synopsis "Paste to pastebin-like services") (synopsis "Paste to pastebin-like services")
(description "This mode allows to paste whole buffers or parts of buffers (description "This mode pastes whole buffers or parts of buffers
to pastebin-like services. It supports more than one service and will to pastebin-like services. It supports more than one service and will
failover if one service fails. More services can easily be added over time failover if one service fails. More services can easily be added over time
and preferred services can easily be configured.") and preferred services can easily be configured.")
@ -27620,7 +27761,7 @@ and preferred services can easily be configured.")
(define-public emacs-vertico (define-public emacs-vertico
(package (package
(name "emacs-vertico") (name "emacs-vertico")
(version "0.4") (version "0.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -27629,14 +27770,8 @@ and preferred services can easily be configured.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ijahr9dzs7v56w2n74xp0akzbzbxlw5852bywc4h24xdspakj52")))) (base32 "1is189z4hmrq49zqvm10xmq7ggj0zy57p0drzcrn1m94qicxnwj2"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'build-doc
(lambda _
(invoke "makeinfo" "vertico.texi"))))))
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))
(home-page "https://github.com/minad/vertico") (home-page "https://github.com/minad/vertico")
@ -27650,6 +27785,27 @@ commands. Additional optional enhancements can be provided externally by
complementary packages.") complementary packages.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-wisp-mode
(package
(name "emacs-wisp-mode")
(version "0.2.9")
(source
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.sr.ht/~arnebab/wisp")
(changeset (string-append "wisp-mode-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xdzyj3yqzvdg0vrllp9wi8cswpa89i0gmiz22a25brw4qy185ar"))))
(build-system emacs-build-system)
(home-page "https://www.draketo.de/software/wisp")
(synopsis "Syntax highlighting and indentation support for Wisp files")
(description
"This package provides @code{wisp-mode}, an Emacs major mode for Wisp
files, providing syntax highlighting and indentation rules.")
(license license:gpl3+)))
(define-public emacs-ivy-hydra (define-public emacs-ivy-hydra
(package (package
(name "emacs-ivy-hydra") (name "emacs-ivy-hydra")
@ -27673,4 +27829,3 @@ complementary packages.")
quasi-prefix map, with many useful bindings. These bindings are quasi-prefix map, with many useful bindings. These bindings are
shorter than usual, using mostly unprefixed keys.") shorter than usual, using mostly unprefixed keys.")
(license license:gpl3+))) (license license:gpl3+)))

View file

@ -13,6 +13,7 @@
;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com> ;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -44,6 +45,7 @@
#:use-module (gnu packages autogen) #:use-module (gnu packages autogen)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
@ -53,6 +55,7 @@
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages digest) #:use-module (gnu packages digest)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
@ -97,6 +100,45 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)) #:use-module (guix build-system python))
(define-public vice
(package
(name "vice")
(version "3.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/vice-emu/releases/"
"vice-" version ".tar.gz"))
(sha256
(base32
"03nwcldg2h7dxj6aa77ggqc0442hqc1lsq5x69h8kcmqmvx7ifan"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-pdf-docs")))
(native-inputs
`(("bison" ,bison)
("dos2unix" ,dos2unix)
("flex" ,flex)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("glew" ,glew)
("glib" ,glib)
("gtk+" ,gtk+)
("pulseaudio" ,pulseaudio)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("xa" ,xa)))
(home-page "https://vice-emu.sourceforge.io/")
(synopsis "The versatile Commodore emulator")
(description
"VICE is a program that emulates the C64, the C64DTV, the C128, the
VIC20, practically all PET models, the PLUS4 and the CBM-II (aka
C610/C510). An extra emulator is provided for C64 expanded with the CMD
SuperCPU.")
(license license:gpl2+)))
(define-public desmume (define-public desmume
(package (package
(name "desmume") (name "desmume")
@ -540,7 +582,7 @@ The following systems are supported:
(define-public mgba (define-public mgba
(package (package
(name "mgba") (name "mgba")
(version "0.9.0") (version "0.9.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -549,7 +591,7 @@ The following systems are supported:
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "16v08m9irping65d94vb5skp4m6nc63zj6bfajbzhmf944dswmi5")) (base32 "163azad5y4zxwzxyrb481rwfc2p86v99pf7nvdr6bavzq98x2z8h"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Make sure we don't use the bundled software. ;; Make sure we don't use the bundled software.
@ -1233,20 +1275,18 @@ emulation community. It provides highly accurate emulation.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public libretro-lowresnx (define-public libretro-lowresnx
(let ((commit "743ab43a6c4a13e0d5363b0d25ac12c7511c6581")
(revision "1"))
(package (package
(name "libretro-lowresnx") (name "libretro-lowresnx")
(version (git-version "1.1" revision commit)) (version "1.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/timoinutilis/lowres-nx") (url "https://github.com/timoinutilis/lowres-nx")
(commit commit))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0r15kb5p5s2jwky6zy4v1j9i95i4rz36p9wxg0g6xdjksf04b5cf")))) "0b0vg3iz342dpkffvf7frsnqh8inj8yzi8550bsx8vnbpq5r2ay5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
@ -1268,12 +1308,12 @@ emulation community. It provides highly accurate emulation.")
programmed in the classic BASIC language. This package provides a libretro programmed in the classic BASIC language. This package provides a libretro
core allowing the lowRES NX programs to be used with libretro frontends such core allowing the lowRES NX programs to be used with libretro frontends such
as RetroArch.") as RetroArch.")
(license license:zlib)))) (license license:zlib)))
(define-public retroarch (define-public retroarch
(package (package
(name "retroarch") (name "retroarch")
(version "1.9.0") (version "1.9.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1282,7 +1322,7 @@ as RetroArch.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1n0dcv85vqrdr79psnf009hi4r2mvsgsjbghrrc9pm5g7ywwwcvp")) (base32 "0cacb2m3p4fsxxbwh4h5q75mczyp0x56i2gc99pdkz1a4434zfnh"))
(patches (patches
(search-patches "retroarch-LIBRETRO_DIRECTORY.patch")))) (search-patches "retroarch-LIBRETRO_DIRECTORY.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -1319,6 +1359,7 @@ as RetroArch.")
'("--enable-neon" "--enable-floathard") '("--enable-neon" "--enable-floathard")
'()) '())
(string-append "--prefix=" out) (string-append "--prefix=" out)
"--disable-git_version" ; we use release version
;; Non-free software are available through the core updater, ;; Non-free software are available through the core updater,
;; disable it. See <https://issues.guix.gnu.org/38360>. ;; disable it. See <https://issues.guix.gnu.org/38360>.
"--disable-update_cores" "--disable-update_cores"

View file

@ -2359,7 +2359,7 @@ comments.")))
(define-public freecad (define-public freecad
(package (package
(name "freecad") (name "freecad")
(version "0.19.1") (version "0.19.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2368,8 +2368,7 @@ comments.")))
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "0fhjv0x3dix1c7jml91yx63z9xifjlbhjbcdb73lw80smpxrq7mm"))))
"0c53q2iawy4yfp11czyc7lbr9ivp3r7v24x4c20myh11wyplffc0"))))
(build-system qt-build-system) (build-system qt-build-system)
(native-inputs (native-inputs
`(("doxygen" ,doxygen) `(("doxygen" ,doxygen)
@ -2734,14 +2733,14 @@ GUI.")
(define-public poke (define-public poke
(package (package
(name "poke") (name "poke")
(version "1.1") (version "1.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/poke/poke-" version (uri (string-append "mirror://gnu/poke/poke-" version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1mkaq19a8d951n9l6d3f8rwq45a7gkr05snb285idd21qxixys6d")))) "0qnz7lc681nxa16rw9n9q4spy9fas6m2adrpb49imh34bgdgh77n"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; The GUI, which we elide, requires tcl and tk. ;; The GUI, which we elide, requires tcl and tk.
(native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5. (native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5.

View file

@ -36,6 +36,7 @@
#:use-module (gnu packages code) #:use-module (gnu packages code)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi) #:use-module (gnu packages fribidi)
@ -370,7 +371,10 @@ Libraries with some extra bells and whistles.")
(propagated-inputs (propagated-inputs
`(("efl" ,efl) `(("efl" ,efl)
("libxkbcommon" ,libxkbcommon) ("libxkbcommon" ,libxkbcommon)
("wayland-protocols" ,wayland-protocols))) ("wayland-protocols" ,wayland-protocols)
;; Default font that applications such as IceCat require.
("font-dejavu" ,font-dejavu)))
(home-page "https://www.enlightenment.org/about-enlightenment") (home-page "https://www.enlightenment.org/about-enlightenment")
(synopsis "Lightweight desktop environment") (synopsis "Lightweight desktop environment")
(description (description

View file

@ -50,7 +50,7 @@
(define-public fcitx-qt5 (define-public fcitx-qt5
(package (package
(name "fcitx-qt5") (name "fcitx-qt5")
(version "1.2.5") (version "1.2.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -61,7 +61,7 @@
(file-name (file-name
(git-file-name name version)) (git-file-name name version))
(sha256 (sha256
(base32 "1d56bp11jp85b2r4syw1clfg4vqxqfh7gygpwz8wk5sxmfmmdq83")))) (base32 "13sanrir696fv7s44b7q453s5qi4r7ag0r3iyggyzk8xyf6rw8fk"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
`(#:tests? #f ; No target `(#:tests? #f ; No target

View file

@ -340,8 +340,8 @@ from a mounted file system.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public bcachefs-tools (define-public bcachefs-tools
(let ((commit "bb6eccc2ecd4728871bfc70462d3a4a20daa9d68") (let ((commit "ce906d661e63d4318b9f26ec145f2ff5fddf5162")
(revision "4")) (revision "5"))
(package (package
(name "bcachefs-tools") (name "bcachefs-tools")
(version (git-version "0.1" revision commit)) (version (git-version "0.1" revision commit))
@ -353,7 +353,7 @@ from a mounted file system.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ziqmcxbrak6bjck6s46hqrqx44zc97yaj0kbk3amsxf18rsfs0n")))) (base32 "1fkfqrk3q6shjr8jnpf3myd79xdpc8hbs0grwdmzb3dhw65k9isi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -472,7 +472,7 @@ from the bcachefs-tools package. It is meant to be used in initrds.")
(define-public exfatprogs (define-public exfatprogs
(package (package
(name "exfatprogs") (name "exfatprogs")
(version "1.1.0") (version "1.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -481,7 +481,7 @@ from the bcachefs-tools package. It is meant to be used in initrds.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ciy28lx7c1vr1f138qi0mkz88pzlkay6nlwmp1yjzd830x48549")))) (base32 "1zl3w5w2mzyggizc4dsiln0pa013f8sf5dxmm5wflplpfm6k4brk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -6,7 +6,7 @@
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@ -23,6 +23,7 @@
;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com> ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 ZmnSCPxj jxPCSnmZ <ZmnSCPxj@protonmail.com> ;;; Copyright © 2021 ZmnSCPxj jxPCSnmZ <ZmnSCPxj@protonmail.com>
;;; Copyright © 2021 François J <francois-oss@avalenn.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -762,7 +763,7 @@ the Monero command line client and daemon.")
(define-public monero-gui (define-public monero-gui
(package (package
(name "monero-gui") (name "monero-gui")
(version "0.17.2.0") (version "0.17.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -779,7 +780,7 @@ the Monero command line client and daemon.")
(delete-file-recursively "monero") (delete-file-recursively "monero")
#t)) #t))
(sha256 (sha256
(base32 "17il26gh0g69x7lqkyb461x1712959wajg3iadx0p08djr3m13mf")))) (base32 "17z4l7xj3zzbkb3fivsam38y5psknc2qbsg6yc72vb6n675khnsa"))))
(build-system qt-build-system) (build-system qt-build-system)
(native-inputs (native-inputs
`(,@(package-native-inputs monero) `(,@(package-native-inputs monero)
@ -1588,14 +1589,14 @@ that allows you to run services and through them access the Bitcoin Cash network
(define-public beancount (define-public beancount
(package (package
(name "beancount") (name "beancount")
(version "2.2.3") (version "2.3.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "beancount" version)) (uri (pypi-uri "beancount" version))
(sha256 (sha256
(base32 (base32
"0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m")) "1h465zc7gb0bc5pagm9fsp083sqxrn2mjfbk9l7h162xm7k8rw1b"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch")))) (patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments

View file

@ -6,7 +6,7 @@
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
@ -800,7 +800,7 @@ maintain the Noto Fonts project.")
(define-public fcft (define-public fcft
(package (package
(name "fcft") (name "fcft")
(version "2.3.2") (version "2.3.3")
(home-page "https://codeberg.org/dnkl/fcft") (home-page "https://codeberg.org/dnkl/fcft")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -808,7 +808,7 @@ maintain the Noto Fonts project.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0k2i57rakm4g86f7hbhkby8af0vv7v63a70lk3m58mkycpy5q2rm")))) "0314r038jl17hrhc9nrbx30jk0pz8ckbdnizws4r46b1rf4h0b1f"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.55)) `(#:meson ,meson-0.55))

View file

@ -1766,7 +1766,7 @@ scripted in a Python-like language.")
(define-public entt (define-public entt
(package (package
(name "entt") (name "entt")
(version "3.7.0") (version "3.7.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1775,7 +1775,7 @@ scripted in a Python-like language.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0nzvnhiw3r6nkmxp749zwxc8kzja09nijyxibdbri3g2i7pysf58")))) "151jg3m262xwaywl2rqnc90yr6p48rhmgi5mxyv6bwqvmfli2m5p"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DENTT_BUILD_TESTING=ON" `(#:configure-flags (list "-DENTT_BUILD_TESTING=ON"

View file

@ -1623,6 +1623,50 @@ destroying an ancient book using a special wand.")
;; license. The whole package is released under GPLv3+. ;; license. The whole package is released under GPLv3+.
(license license:gpl3+))) (license license:gpl3+)))
(define-public gnome-2048
(package
(name "gnome-2048")
(version "3.38.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/gnome-2048/"
(version-major+minor version) "/"
"gnome-2048-" version ".tar.xz"))
(sha256
(base32
"0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t)))))
(inputs
`(("gtk+" ,gtk+)
("clutter" ,clutter)
("clutter-gtk" ,clutter-gtk)
("libgee" ,libgee)
("libgnome-games-support" ,libgnome-games-support)))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util
("itstool" ,itstool)
("libxml2" ,libxml2)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(home-page "https://wiki.gnome.org/Apps/2048")
(synopsis "Move the tiles until you obtain the 2048 tile")
(description "GNOME 2048 provides a 2D grid for playing 2048, a
single-player sliding tile puzzle game. The objective of the game is to merge
together adjacent tiles of the same number until the sum of 2048 is achieved
in one tile.")
(license license:gpl3+)))
(define-public gnome-chess (define-public gnome-chess
(package (package
(name "gnome-chess") (name "gnome-chess")
@ -4540,7 +4584,7 @@ Transport Tycoon Deluxe.")
(define-public openrct2 (define-public openrct2
(package (package
(name "openrct2") (name "openrct2")
(version "0.3.2") (version "0.3.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4549,7 +4593,7 @@ Transport Tycoon Deluxe.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1fd32wniiy6qz2046ppqfj2sb3rf2qf086rf9v1bdhyj254d0b1z")))) (base32 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF" `(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"

View file

@ -594,6 +594,20 @@ It also includes runtime support libraries for these languages.")))
(patches (search-patches "gcc-9-strmov-store-file-names.patch" (patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch")))))) "gcc-5.0-libvtv-runpath.patch"))))))
(define-public gcc-11
(package
(inherit gcc-8)
(version "11.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"1pwxrjhsymv90xzh0x42cxfnmhjinf2lnrrf3hj5jq1rm2w6yjjc"))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))))
;; Note: When changing the default gcc version, update ;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions. ;; the gcc-toolchain-* definitions.
(define-public gcc gcc-7) (define-public gcc gcc-7)
@ -758,6 +772,11 @@ as the 'native-search-paths' field."
(custom-gcc gcc-10 "gdc" '("d") (custom-gcc gcc-10 "gdc" '("d")
%generic-search-paths))) %generic-search-paths)))
(define-public gdc-11
(hidden-package
(custom-gcc gcc-11 "gdc" '("d")
%generic-search-paths)))
(define-public libgccjit (define-public libgccjit
(package (package
(inherit gcc-9) (inherit gcc-9)

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@ -44,14 +44,14 @@
(define-public gdb-10 (define-public gdb-10
(package (package
(name "gdb") (name "gdb")
(version "10.1") (version "10.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-" (uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1h32dckz1y8fnyxh22iyw8h3hnhxr79v1ng85px3ljn1xv71wbzq")))) "0aag1c0fw875pvhjg1qp7x8pf6gf92bjv5gcic5716scacyj58da"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -208,7 +208,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl (define-public gegl
(package (package
(name "gegl") (name "gegl")
(version "0.4.28") (version "0.4.30")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/" (uri (list (string-append "https://download.gimp.org/pub/gegl/"
@ -222,7 +222,7 @@ provided, as well as a framework to add new color models and data types.")
"/gegl-" version ".tar.xz"))) "/gegl-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"003ri7yv7lm2fi86ama3vlkwnz656yyib4r36hxwlk6mfy2hs48x")))) "1pd8xkx70k0fsi1hrzrmaify7112wjmxzk0p6bi6js89yhn7h4n1"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:meson ,meson-0.55 `(#:meson ,meson-0.55
@ -269,7 +269,7 @@ buffers.")
(define-public gimp (define-public gimp
(package (package
(name "gimp") (name "gimp")
(version "2.10.22") (version "2.10.24")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -277,8 +277,7 @@ buffers.")
(version-major+minor version) (version-major+minor version)
"/gimp-" version ".tar.bz2")) "/gimp-" version ".tar.bz2"))
(sha256 (sha256
(base32 "1fqqyshakvdarf1jipk2n33ibqr23ni22z3d8srq13bpydblpf1d")) (base32 "17lq6ns5qhspd171zqh76yf98xnn5n0hcl7hbhbx63cc6ribf6xx"))))
(patches (search-patches "gimp-make-gegl-introspect-optional.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML "doc")) ; 9 MiB of gtk-doc HTML

View file

@ -5987,7 +5987,7 @@ queries upon that data.")
(define-public libgnome-games-support (define-public libgnome-games-support
(package (package
(name "libgnome-games-support") (name "libgnome-games-support")
(version "1.4.4") (version "1.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libgnome-games-support/" (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
@ -5995,10 +5995,11 @@ queries upon that data.")
"libgnome-games-support-" version ".tar.xz")) "libgnome-games-support-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq")))) "11g1r3ppb9v8m3anks9gxf7fv1x38vmjiya3lr7zjjv328pb69d6"))))
(build-system gnu-build-system) (build-system meson-build-system)
(arguments (arguments
'(#:phases '(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
@ -10631,7 +10632,7 @@ configurable file renaming. ")
(define-public workrave (define-public workrave
(package (package
(name "workrave") (name "workrave")
(version "1.10.42") (version "1.10.43")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -10642,7 +10643,7 @@ configurable file renaming. ")
version))))) version)))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95")))) (base32 "1baa9qjzd4b3q1zy5vhvyrx0hyz17mk237373ca48647897kw4cr"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
;; The only tests are maintainer tests (in po/), which fail. ;; The only tests are maintainer tests (in po/), which fail.
@ -10955,7 +10956,7 @@ tabs, and it supports drag and drop re-ordering of terminals.")
(define-public libhandy (define-public libhandy
(package (package
(name "libhandy") (name "libhandy")
(version "1.2.0") (version "1.2.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -10964,7 +10965,7 @@ tabs, and it supports drag and drop re-ordering of terminals.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1a8wfgm2jd3gcbk1nzhq6f2xq7vkxdc9qky8p9k0za9gqi7xfg4v")))) (base32 "1mkxvqk8r6kk5my2c7nnb7z0y39grgrl7y41cnq857qs6ljqlrfv"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nikita <nikita@n0.is>
@ -74,14 +74,14 @@
(define-public libextractor (define-public libextractor
(package (package
(name "libextractor") (name "libextractor")
(version "1.10") (version "1.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/libextractor/libextractor-" (uri (string-append "mirror://gnu/libextractor/libextractor-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0mr38g7kfn3p050hd3hckbcz2yd3za6dwl1c26x2kjf7vnsi3vcy")))) "13xxv11mif3m0mpk7i43mljhhaqrj52kznm1qi3qb8s6hymk7xhn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; WARNING: Checks require /dev/shm to be in the build chroot, especially ;; WARNING: Checks require /dev/shm to be in the build chroot, especially
;; not to be a symbolic link to /run/shm. ;; not to be a symbolic link to /run/shm.
@ -115,7 +115,7 @@
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(outputs '("out" (outputs '("out"
"static")) ; 396 KiB .a files "static")) ; 420 KiB .a files
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--with-ltdl=" (list (string-append "--with-ltdl="
@ -157,14 +157,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd (define-public libmicrohttpd
(package (package
(name "libmicrohttpd") (name "libmicrohttpd")
(version "0.9.72") (version "0.9.73")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1y1g9hk608jm4sfdbs8gql5wphalyhfdz824zl0i5x6pw3w2bs0a")))) "0bh39irwzkv48fkw43skfgkk8ka3793bx1lm21sgw6zxi0djyyx3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("curl" ,curl) `(("curl" ,curl)

View file

@ -694,8 +694,8 @@ from forcing GEXP-PROMISE."
#:system system #:system system
#:guile-for-build guile))) #:guile-for-build guile)))
(define %icecat-version "78.9.0-guix0-preview1") (define %icecat-version "78.10.0-guix0-preview1")
(define %icecat-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss (define %icecat-build-id "20210419000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -717,7 +717,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz")) "firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256 (sha256
(base32 (base32
"0r28wrsk2k6pc922zfs5wljh8ziqm4a98lisn7409j2szhfsq0wf")))) "0h6zl87czbhyhy3597bxqzwy4p1vsaqimkg92lw31gjbv6k434cp"))))
(upstream-icecat-base-version "78.7.0") ; maybe older than base-version (upstream-icecat-base-version "78.7.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
@ -1305,11 +1305,11 @@ standards of the IceCat project.")
(cpe-version . ,(first (string-split version #\-))))))) (cpe-version . ,(first (string-split version #\-)))))))
;; Update this together with icecat! ;; Update this together with icecat!
(define %icedove-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss (define %icedove-build-id "20210419000000") ;must be of the form YYYYMMDDhhmmss
(define-public icedove (define-public icedove
(package (package
(name "icedove") (name "icedove")
(version "78.9.0") (version "78.10.0")
(source icecat-source) (source icecat-source)
(properties (properties
`((cpe-name . "thunderbird_esr"))) `((cpe-name . "thunderbird_esr")))
@ -1589,7 +1589,7 @@ standards of the IceCat project.")
;; in the Thunderbird release tarball. We don't use the release ;; in the Thunderbird release tarball. We don't use the release
;; tarball because it duplicates the Icecat sources and only adds the ;; tarball because it duplicates the Icecat sources and only adds the
;; "comm" directory, which is provided by this repository. ;; "comm" directory, which is provided by this repository.
,(let ((changeset "1a5cd2aa11de609116f258b413afcf113ed72f3a")) ,(let ((changeset "ca53556517b609ca2e9a8b7578a4f4dc1273b32f"))
(origin (origin
(method hg-fetch) (method hg-fetch)
(uri (hg-reference (uri (hg-reference
@ -1598,7 +1598,7 @@ standards of the IceCat project.")
(file-name (string-append "thunderbird-" version "-checkout")) (file-name (string-append "thunderbird-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0qgz9qj8gbn2ccmhvk3259ahs9p435ipvkzsysn3xj8a6klbz02w"))))) "1alkh651pf3l8nqwgh6qdhh6wfgpqrrmlfx3wrkfzhq6s9ghrmq8")))))
("autoconf" ,autoconf-2.13) ("autoconf" ,autoconf-2.13)
("cargo" ,rust-1.41 "cargo") ("cargo" ,rust-1.41 "cargo")
("clang" ,clang) ("clang" ,clang)

View file

@ -6837,7 +6837,7 @@ sinks and sources.")
(home-page "https://github.com/mesilliac/pulse-simple") (home-page "https://github.com/mesilliac/pulse-simple")
(synopsis "Cgo bindings to PulseAudio's Simple API") (synopsis "Cgo bindings to PulseAudio's Simple API")
(description (description
"This packages provides Cgo bindings to PulseAudio's Simple API, to play "This package provides Cgo bindings to PulseAudio's Simple API, to play
or capture raw audio.") or capture raw audio.")
(license license:expat)))) (license license:expat))))

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -39,7 +39,7 @@
(define-public gpodder (define-public gpodder
(package (package
(name "gpodder") (name "gpodder")
(version "3.10.18") (version "3.10.19")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -47,7 +47,7 @@
(url "https://github.com/gpodder/gpodder") (url "https://github.com/gpodder/gpodder")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "1d73q46sqandzbn74nfw9bzzah99z91wsxq2hcivwdgnsv2g2d8y")) (base32 "1nx1cdwij9zy01s97aciqbkd63h4alzyvjdzdvr6wrl6hh42amrx"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch")))) (patches (search-patches "gpodder-disable-updater.patch"))))
(build-system python-build-system) (build-system python-build-system)

View file

@ -6,6 +6,7 @@
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru> ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru>
;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -229,6 +230,27 @@ subplots, multiple-axes, polar charts, and bubble charts. ")
(package-with-python2 python-plotly-2.4.1)) (package-with-python2 python-plotly-2.4.1))
(define-public python-louvain (define-public python-louvain
(package
(name "python-louvain")
(version "0.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-louvain" version))
(sha256
(base32 "1sqp97fwh4asx0jr72x8hil8z8fcg2xq92jklmh2m599pvgnx19a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-networkx" ,python-networkx)
("python-numpy" ,python-numpy)))
(home-page "https://github.com/taynaud/python-louvain")
(synopsis "Louvain algorithm for community detection")
(description
"This package provides a pure Python implementation of the Louvain
algorithm for community detection in large networks.")
(license license:bsd-3)))
(define-public python-louvain-0.6
(package (package
(name "python-louvain") (name "python-louvain")
(version "0.6.1") (version "0.6.1")

View file

@ -527,6 +527,7 @@ typically encountered in feature film production.")
"-DWITH_INSTALL_PORTABLE=OFF" "-DWITH_INSTALL_PORTABLE=OFF"
"-DWITH_JACK=ON" "-DWITH_JACK=ON"
"-DWITH_MOD_OCEANSIM=ON" "-DWITH_MOD_OCEANSIM=ON"
"-DWITH_OPENVDB=ON"
"-DWITH_OPENSUBDIV=ON" "-DWITH_OPENSUBDIV=ON"
"-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL=OFF"
(string-append "-DPYTHON_LIBRARY=python" ,python-version) (string-append "-DPYTHON_LIBRARY=python" ,python-version)
@ -582,6 +583,7 @@ typically encountered in feature film production.")
("pugixml" ,pugixml) ("pugixml" ,pugixml)
("python" ,python) ("python" ,python)
("python-numpy" ,python-numpy) ("python-numpy" ,python-numpy)
("openvdb" ,openvdb)
("tbb" ,tbb) ("tbb" ,tbb)
("zlib" ,zlib) ("zlib" ,zlib)
("embree" ,embree))) ("embree" ,embree)))

View file

@ -527,6 +527,7 @@ This package provides the core library and elements.")
(method url-fetch) (method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(patches (search-patches "gst-plugins-base-fix-id3v2-invalid-read.patch"))
(sha256 (sha256
(base32 (base32
"1b05kg46azrxxvq42c71071lfsnc34pw4vynnkczdqi6g0gzn16x")))) "1b05kg46azrxxvq42c71071lfsnc34pw4vynnkczdqi6g0gzn16x"))))
@ -591,7 +592,9 @@ for the GStreamer multimedia library.")
(string-append (string-append
"https://gstreamer.freedesktop.org/src/" name "/" "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(patches (search-patches "gst-plugins-good-fix-test.patch")) (patches (search-patches "gst-plugins-good-fix-test.patch"
"gst-plugins-good-CVE-2021-3497.patch"
"gst-plugins-good-CVE-2021-3498.patch"))
(sha256 (sha256
(base32 "1929nhjsvbl4bw37nfagnfsnxz737cm2x3ayz9ayrn9lwkfm45zp")))) (base32 "1929nhjsvbl4bw37nfagnfsnxz737cm2x3ayz9ayrn9lwkfm45zp"))))
(build-system meson-build-system) (build-system meson-build-system)
@ -679,6 +682,7 @@ model to base your own plug-in on, here it is.")
(method url-fetch) (method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" (uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(patches (search-patches "gst-plugins-bad-fix-overflow.patch"))
(sha256 (sha256
(base32 (base32
"06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca")))) "06ildd4rl6cynirv3p00d2ddf5is9svj4i7mkahldzhq24pq5mca"))))
@ -789,6 +793,7 @@ par compared to the rest.")
(uri (uri
(string-append "https://gstreamer.freedesktop.org/src/" (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(patches (search-patches "gst-plugins-ugly-fix-out-of-bound-reads.patch"))
(sha256 (sha256
(base32 "1nwbcv5yaib3d8icvyja3zf6lyjf5zf1hndbijrhj8j7xlia0dx3")))) (base32 "1nwbcv5yaib3d8icvyja3zf6lyjf5zf1hndbijrhj8j7xlia0dx3"))))
(build-system meson-build-system) (build-system meson-build-system)
@ -849,6 +854,7 @@ think twice about shipping them.")
(string-append (string-append
"https://gstreamer.freedesktop.org/src/" name "/" "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(patches (search-patches "gst-libav-64channels-stack-corruption.patch"))
(sha256 (sha256
(base32 "0jbzams9ggk3sq9ywv4gsl9rghyn203l2582m6l5c1sz9ka9m5in")))) (base32 "0jbzams9ggk3sq9ywv4gsl9rghyn203l2582m6l5c1sz9ka9m5in"))))
(build-system meson-build-system) (build-system meson-build-system)

View file

@ -15,7 +15,7 @@
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org> ;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
@ -2334,19 +2334,19 @@ foreground and background colors, text justification and more.")
(define-public gtkdatabox (define-public gtkdatabox
(package (package
(name "gtkdatabox") (name "gtkdatabox")
(version "0.9.3.1") (version "1.0.0")
(source (origin (source
(origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/gtkdatabox/gtkdatabox/" (uri (string-append "mirror://sourceforge/gtkdatabox/gtkdatabox-1/"
version "/gtkdatabox-" version ".tar.gz")) "gtkdatabox-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1qykm551bx8j8pfgxs60l2vhpi8lv4r8va69zvn2594lchh71vlb"))))
"1rdxnjgh6v3yjqgsfmamyzpfxckzchps4kqvvz88nifmd7ckhjfh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("gtk+-2" ,gtk+-2))) `(("gtk+" ,gtk+)))
(synopsis "Display widget for dynamic data") (synopsis "Display widget for dynamic data")
(description "GtkDatabox is a widget for live display of large amounts of (description "GtkDatabox is a widget for live display of large amounts of
fluctuating numerical data. It enables data presentation (for example, on fluctuating numerical data. It enables data presentation (for example, on

View file

@ -1778,7 +1778,7 @@ user which package sets would they like to install from it.")
(define-public guile-wisp (define-public guile-wisp
(package (package
(name "guile-wisp") (name "guile-wisp")
(version "1.0.3") (version "1.0.4")
(source (origin (source (origin
(method hg-fetch) (method hg-fetch)
(uri (hg-reference (uri (hg-reference
@ -1787,7 +1787,7 @@ user which package sets would they like to install from it.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"10g97jz3ahpb5mg933ajsc3pa9jxlg14f42yf01qwx0dwq1b06d5")))) "0d54l2s8qsfckg0imbx40npggi6f867hn7fsy0jjsmxz4b8a3949"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((guix build gnu-build-system) `(#:modules ((guix build gnu-build-system)

View file

@ -15,7 +15,7 @@
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com> ;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -360,6 +360,7 @@ without requiring the source code to be rewritten.")
(uri (git-reference (uri (git-reference
(url "https://git.savannah.gnu.org/git/guile.git") (url "https://git.savannah.gnu.org/git/guile.git")
(commit commit))) (commit commit)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"09i1c77h2shygylfk0av31jsc1my6zjl230b2cx6vyl58q8c0cqy")))) "09i1c77h2shygylfk0av31jsc1my6zjl230b2cx6vyl58q8c0cqy"))))
@ -776,21 +777,25 @@ type system, elevating types to first-class status.")
(define-public guile-git (define-public guile-git
(package (package
(name "guile-git") (name "guile-git")
(version "0.5.0") (version "0.5.1")
(home-page "https://gitlab.com/guile-git/guile-git.git") (home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://gitlab.com/guile-git/guile-git/uploads/" (uri (git-reference
"30be542d90619ca844dd3a3ed2e13808/guile-git-" (url home-page)
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1j39c1cq9cbwir90mpnbdijpbwh7wkxampgl2r177bv8bfw6y203")))) "1x3wa6la4j1wcfxyhhjlmd7yp85wwpny0y6lrzpz803i9z5fwagc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)
("guile" ,guile-3.0) ("guile" ,guile-3.0)
("guile-bytestructures" ,guile-bytestructures))) ("guile-bytestructures" ,guile-bytestructures)))
(inputs (inputs

View file

@ -342,14 +342,14 @@ to @code{cabal repl}).")
(define-public git-annex (define-public git-annex
(package (package
(name "git-annex") (name "git-annex")
(version "8.20210330") (version "8.20210428")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/" (uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz")) "git-annex/git-annex-" version ".tar.gz"))
(sha256 (sha256
(base32 "07dhxlmnj48drgndcplafc7xhby0w3rks68fz9wsppxan929240p")))) (base32 "0xpvhpnl600874sa392wjfd2yd9s6ps2cq2qfkzyxxf90p9fcwg8"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -1945,7 +1945,7 @@ identical visual appearance.")
(define-public grim (define-public grim
(package (package
(name "grim") (name "grim")
(version "1.3.1") (version "1.3.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1954,7 +1954,7 @@ identical visual appearance.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0fjmjq0ws9rlblkcqxxw2lv7zvvyi618jqzlnz5z9zb477jwdfib")))) (base32 "1l4gwvvc0zvg5b6f6w92xjhmwj7cg9hlgrf43lc7ygaz8dh6cmzg"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("scdoc" ,scdoc))) ("scdoc" ,scdoc)))
@ -1971,7 +1971,7 @@ identical visual appearance.")
(define-public slurp (define-public slurp
(package (package
(name "slurp") (name "slurp")
(version "1.3.1") (version "1.3.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1980,7 +1980,7 @@ identical visual appearance.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1fby2v2ylcadgclds05wpkl9xi2r9dfz49dqyqpn20rjv1wnz3jv")))) (base32 "00dx6ds1227qnxqrw58k0am78q8fa49rgp1zingrkjcbpbi7g475"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)

View file

@ -10,6 +10,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -31,6 +32,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -376,6 +378,36 @@ for the IRCv3 protocol.")
"sic is a simple IRC client, even more minimalistic than ii.") "sic is a simple IRC client, even more minimalistic than ii.")
(license license:expat))) (license license:expat)))
(define-public kirc
(package
(name "kirc")
(version "0.2.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mcpcpc/kirc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "11pwbil44q7sm3mp1khgw8wmwln2n03f1qawlgmg168jzyxqrs16"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; No ./configure script
(synopsis "IRC client written in POSIX C99")
(description "Kirc is an Internet Relay Chat (IRC) client. It includes
support for Simple Authentication and Security Layer (SASL), the
client-to-client (CTCP) protocol, simple chat history logging, synchronous
message handling, multi-channel joining at server connection, full support for
all RFC 2812 commands, and customized color scheme definitions.")
(home-page "http://kirc.io/index.html")
(license license:expat)))
(define-public limnoria (define-public limnoria
(package (package
(name "limnoria") (name "limnoria")

View file

@ -2,11 +2,11 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2019 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017, 2019, 2021 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017-2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017-2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
@ -1749,6 +1749,9 @@ IcedTea build harness.")
((guix build ant-build-system) ((guix build ant-build-system)
(guix build syscalls) (guix build syscalls)
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:disallowed-references ((,icedtea-7 "jdk"))
,@(substitute-keyword-arguments (package-arguments icedtea-7) ,@(substitute-keyword-arguments (package-arguments icedtea-7)
((#:modules modules) ((#:modules modules)
`((guix build utils) `((guix build utils)
@ -1792,11 +1795,20 @@ new Date();"))
(add-after 'unpack 'patch-jni-libs (add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries. ;; Hardcode dynamically loaded libraries.
(lambda _ (lambda _
(let* ((library-path (search-path-as-string->list (define remove
(getenv "LIBRARY_PATH"))) (@ (srfi srfi-1) remove))
(define (icedtea-or-openjdk? path)
(or (string-contains path "openjdk")
(string-contains path "icedtea")))
(let* ((library-path (remove icedtea-or-openjdk?
(search-path-as-string->list
(getenv "LIBRARY_PATH"))))
(find-library (lambda (name) (find-library (lambda (name)
(search-path (or (search-path
library-path library-path
(string-append "lib" name ".so"))
(string-append "lib" name ".so"))))) (string-append "lib" name ".so")))))
(for-each (for-each
(lambda (file) (lambda (file)
@ -1805,9 +1817,9 @@ new Date();"))
(substitute* file (substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version) _ name version)
(format #f "\"~a\"" (find-library name))) (string-append "\"" (find-library name) "\""))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
(format #f "\"~a\"" (find-library name))))) (string-append "\"" (find-library name) "\""))))
(lambda _ (lambda _
;; Those are safe to skip. ;; Those are safe to skip.
(format (current-error-port) (format (current-error-port)
@ -1893,6 +1905,9 @@ new Date();"))
#:imported-modules #:imported-modules
((guix build syscalls) ((guix build syscalls)
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:disallowed-references (,icedtea-8 (,icedtea-8 "jdk"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'patch-source-shebangs 'fix-java-shebangs (add-after 'patch-source-shebangs 'fix-java-shebangs
@ -1931,11 +1946,20 @@ new Date();"))
(add-after 'unpack 'patch-jni-libs (add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries. ;; Hardcode dynamically loaded libraries.
(lambda _ (lambda _
(let* ((library-path (search-path-as-string->list (define remove
(getenv "LIBRARY_PATH"))) (@ (srfi srfi-1) remove))
(define (icedtea-or-openjdk? path)
(or (string-contains path "openjdk")
(string-contains path "icedtea")))
(let* ((library-path (remove icedtea-or-openjdk?
(search-path-as-string->list
(getenv "LIBRARY_PATH"))))
(find-library (lambda (name) (find-library (lambda (name)
(search-path (or (search-path
library-path library-path
(string-append "lib" name ".so"))
(string-append "lib" name ".so"))))) (string-append "lib" name ".so")))))
(for-each (for-each
(lambda (file) (lambda (file)
@ -1944,9 +1968,9 @@ new Date();"))
(substitute* file (substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version) _ name version)
(format #f "\"~a\"" (find-library name))) (string-append "\"" (find-library name) "\""))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
(format #f "\"~a\"" (find-library name))))) (string-append "\"" (find-library name) "\""))))
(lambda _ (lambda _
;; Those are safe to skip. ;; Those are safe to skip.
(format (current-error-port) (format (current-error-port)
@ -2079,7 +2103,9 @@ new Date();"))
"--with-libjpeg=system" "--with-libjpeg=system"
"--with-native-debug-symbols=zipped" "--with-native-debug-symbols=zipped"
(string-append "--prefix=" (assoc-ref outputs "out"))) (string-append "--prefix=" (assoc-ref outputs "out")))
#t)))))) #t))))
((#:disallowed-references _ '())
`(,openjdk9 (,openjdk9 "jdk")))))
(native-inputs (native-inputs
`(("openjdk9" ,openjdk9) `(("openjdk9" ,openjdk9)
("openjdk9:jdk" ,openjdk9 "jdk") ("openjdk9:jdk" ,openjdk9 "jdk")
@ -2109,6 +2135,9 @@ new Date();"))
(arguments (arguments
`(#:imported-modules ((guix build syscalls) `(#:imported-modules ((guix build syscalls)
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:disallowed-references (,openjdk10 (,openjdk10 "jdk"))
#:tests? #f; requires jtreg #:tests? #f; requires jtreg
;; TODO package jtreg ;; TODO package jtreg
#:configure-flags #:configure-flags
@ -2139,11 +2168,20 @@ new Date();"))
(add-after 'unpack 'patch-jni-libs (add-after 'unpack 'patch-jni-libs
;; Hardcode dynamically loaded libraries. ;; Hardcode dynamically loaded libraries.
(lambda _ (lambda _
(let* ((library-path (search-path-as-string->list (define remove
(getenv "LIBRARY_PATH"))) (@ (srfi srfi-1) remove))
(define (icedtea-or-openjdk? path)
(or (string-contains path "openjdk")
(string-contains path "icedtea")))
(let* ((library-path (remove icedtea-or-openjdk?
(search-path-as-string->list
(getenv "LIBRARY_PATH"))))
(find-library (lambda (name) (find-library (lambda (name)
(search-path (or (search-path
library-path library-path
(string-append "lib" name ".so"))
(string-append "lib" name ".so"))))) (string-append "lib" name ".so")))))
(for-each (for-each
(lambda (file) (lambda (file)
@ -2152,9 +2190,9 @@ new Date();"))
(substitute* file (substitute* file
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
_ name version) _ name version)
(format #f "\"~a\"" (find-library name))) (string-append "\"" (find-library name) "\""))
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
(format #f "\"~a\"" (find-library name))))) (string-append "\"" (find-library name) "\""))))
(lambda _ (lambda _
;; Those are safe to skip. ;; Those are safe to skip.
(format (current-error-port) (format (current-error-port)
@ -2478,14 +2516,14 @@ new Date();"))
(define-public ant/java8 (define-public ant/java8
(package (inherit ant-bootstrap) (package (inherit ant-bootstrap)
(name "ant") (name "ant")
(version "1.10.9") (version "1.10.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://apache/ant/source/apache-ant-" (uri (string-append "mirror://apache/ant/source/apache-ant-"
version "-src.tar.gz")) version "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"0x78434q5ab193ma7ys27m9kwpdgrfzqj00hrf1szwcgk0lzw01z")) "1dhkk9ajc378cln6sj9q0ya8bl9dpyji5xcrl1zq41zx1k6j54g5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2021 Pierre Neidhardt <mail@ambrevar.xyz>
@ -557,7 +557,7 @@ external server.")
(define-public mujs (define-public mujs
(package (package
(name "mujs") (name "mujs")
(version "1.1.0") (version "1.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -566,7 +566,7 @@ external server.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "00j748hzf4azgjgykc8x9xalh70hj1dm8qvqzvldbf08zq0s3n5j")))) (base32 "0ivqz06fq8v36p2gkjh64vgv0gm7nghds0n42vrv7vm46phdffvb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -525,7 +525,7 @@ stressing the robustness of differentiation tools.")
`(("julia-staticarrays" ,julia-staticarrays))) `(("julia-staticarrays" ,julia-staticarrays)))
(home-page "https://github.com/JuliaArrays/FillArrays.jl") (home-page "https://github.com/JuliaArrays/FillArrays.jl")
(synopsis "Lazy matrix representation") (synopsis "Lazy matrix representation")
(description "This package allows to lazily represent matrices filled with (description "This package lazily represents matrices filled with
a single entry, as well as identity matrices. This package exports the a single entry, as well as identity matrices. This package exports the
following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros}, following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros},
@code{Trues} and @code{Falses}.") @code{Trues} and @code{Falses}.")
@ -699,7 +699,7 @@ implementing both a client and a server.")
(home-page "https://github.com/JuliaIO/IniFile.jl") (home-page "https://github.com/JuliaIO/IniFile.jl")
(synopsis "Reading Windows-style INI files") (synopsis "Reading Windows-style INI files")
(description "This is a Julia package that defines an IniFile type that (description "This is a Julia package that defines an IniFile type that
allows to interface with @file{.ini} files.") interfaces with @file{.ini} files.")
(license license:expat))) (license license:expat)))
(define-public julia-irtools (define-public julia-irtools

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; ;;;
@ -33,7 +33,7 @@
(define-public less (define-public less
(package (package
(name "less") (name "less")
(version "563") (version "581.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -43,7 +43,7 @@
version ".tar.gz"))) version ".tar.gz")))
(patches (search-patches "less-hurd-path-max.patch")) (patches (search-patches "less-hurd-path-max.patch"))
(sha256 (sha256
(base32 "16lsvk88vwjwp5ax1wnll44wxwnzs8lb2fn90xx2si64kwmnsnyf")))) (base32 "0fyqslvrasv19qjvqrwfwz2n7mnm93y61x9bcx09ga90mxyb8d6f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses))) (inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/less/") (home-page "https://www.gnu.org/software/less/")

View file

@ -53,6 +53,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 David Dashyan <mail@davie.li> ;;; Copyright © 2020 David Dashyan <mail@davie.li>
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -130,6 +131,7 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages slang) #:use-module (gnu packages slang)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
@ -354,7 +356,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major ;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream. ;; versions that are still supported upstream.
(define-public linux-libre-5.11-version "5.11.14") (define-public linux-libre-5.11-version "5.11.17")
(define deblob-scripts-5.11 (define deblob-scripts-5.11
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.11-version linux-libre-5.11-version
@ -362,7 +364,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n"))) (base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n")))
(define-public linux-libre-5.11-pristine-source (define-public linux-libre-5.11-pristine-source
(let ((version linux-libre-5.11-version) (let ((version linux-libre-5.11-version)
(hash (base32 "1ia4wzh44lkvrbvnhdnnjcdyvqx2ihpbwkih7wqm1n5prhq38ql7"))) (hash (base32 "18yld85jymb3wf71kd425zzzvriz9wxlw90pklgf91q37r9rxpa1")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.11))) deblob-scripts-5.11)))
@ -370,7 +372,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support. ;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines: ;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html> ;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.10-version "5.10.30") (define-public linux-libre-5.10-version "5.10.33")
(define deblob-scripts-5.10 (define deblob-scripts-5.10
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.10-version linux-libre-5.10-version
@ -378,12 +380,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7")))
(define-public linux-libre-5.10-pristine-source (define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version) (let ((version linux-libre-5.10-version)
(hash (base32 "0h06lavcbbj9a4dfzca9sprghiq9z33q8i4gh3n2912wmjsnj0nl"))) (hash (base32 "05a3bcc6ic9gyhp8bahfrk8xm8pwb6jmgad6nwqgih3icg1xngwk")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.10))) deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.112") (define-public linux-libre-5.4-version "5.4.115")
(define deblob-scripts-5.4 (define deblob-scripts-5.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.4-version linux-libre-5.4-version
@ -391,12 +393,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "190cq97pm0r6s115ay66rjra7fnyn7m4rak89inwhm223931sdmq"))) (hash (base32 "1llxk04vlpi7a4ca2f5vlcxfn68n8yhmsar3hsl259i7hms28isv")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.187") (define-public linux-libre-4.19-version "4.19.189")
(define deblob-scripts-4.19 (define deblob-scripts-4.19
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.19-version linux-libre-4.19-version
@ -404,12 +406,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source (define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version) (let ((version linux-libre-4.19-version)
(hash (base32 "1hx0jw11xmj57v9a8w34729vgrandaing2n9qkhx5dq4mhy04k50"))) (hash (base32 "12a3qn5s66rrbrq5p8dsf7kn0l74q0ahqkl3bmbw1fvyy1fhwyvi")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.19))) deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.230") (define-public linux-libre-4.14-version "4.14.232")
(define deblob-scripts-4.14 (define deblob-scripts-4.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.14-version linux-libre-4.14-version
@ -417,12 +419,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source (define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version) (let ((version linux-libre-4.14-version)
(hash (base32 "1gn5cs1ss4bfsnnv0b2s4g5ibiigpzsx0i3qfswchdbxvdag75cw"))) (hash (base32 "0sa3sz7bznlhijd0iwv37nyrrnw34iq6dq1bqr6cj2wpyrhr7h8x")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.14))) deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.266") (define-public linux-libre-4.9-version "4.9.268")
(define deblob-scripts-4.9 (define deblob-scripts-4.9
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.9-version linux-libre-4.9-version
@ -430,12 +432,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source (define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version) (let ((version linux-libre-4.9-version)
(hash (base32 "0qzigcslfp714vaswwlw93xj0h2f8laikppw6krrhfnh5wwrp5dr"))) (hash (base32 "0aknrlf5q0dsqib8c9klmf5c60dy7hg2zksb020qvyrp077gcrjv")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.9))) deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.266") (define-public linux-libre-4.4-version "4.4.268")
(define deblob-scripts-4.4 (define deblob-scripts-4.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-4.4-version linux-libre-4.4-version
@ -443,7 +445,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source (define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version) (let ((version linux-libre-4.4-version)
(hash (base32 "00x2dmjiiv9zpc0vih9xqmf78kynqzj9q9v1chc2q2hcjpqfj31c"))) (hash (base32 "1srk08kaxq5jjlqx804cgjffhcsrdkv3idh8ipagl6v2w4kas5v8")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-4.4))) deblob-scripts-4.4)))
@ -479,12 +481,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(define-public linux-libre-5.11-source (define-public linux-libre-5.11-source
(source-with-patches linux-libre-5.11-pristine-source (source-with-patches linux-libre-5.11-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch))) %linux-libre-arm-export-__sync_icache_dcache-patch
;; Pinebook Pro patch to fix LCD display
(search-patch
"linux-libre-arm64-generic-pinebook-lcd.patch"))))
(define-public linux-libre-5.10-source (define-public linux-libre-5.10-source
(source-with-patches linux-libre-5.10-pristine-source (source-with-patches linux-libre-5.10-pristine-source
(list %boot-logo-patch (list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch))) %linux-libre-arm-export-__sync_icache_dcache-patch
(search-patch
"linux-libre-arm64-generic-pinebook-lcd.patch"))))
(define-public linux-libre-5.4-source (define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source (source-with-patches linux-libre-5.4-pristine-source
@ -1042,7 +1049,11 @@ It has been modified to remove all non-free binary blobs.")
("CONFIG_BATTERY_AXP20X" . m) ("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m) ("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m) ("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)) ("CONFIG_AXP20X_ADC" . m)
;; Pinebook PRO battery and sound support
("CONFIG_BATTERY_CW2015" . m)
("CONFIG_CHARGER_GPIO" . m)
("CONFIG_SND_SOC_ES8316" . m))
%default-extra-linux-options))) %default-extra-linux-options)))
(define-public linux-libre-arm64-generic-5.10 (define-public linux-libre-arm64-generic-5.10
@ -1063,7 +1074,11 @@ It has been modified to remove all non-free binary blobs.")
("CONFIG_BATTERY_AXP20X" . m) ("CONFIG_BATTERY_AXP20X" . m)
("CONFIG_PINCTRL_AXP209" . m) ("CONFIG_PINCTRL_AXP209" . m)
("CONFIG_AXP20X_POWER" . m) ("CONFIG_AXP20X_POWER" . m)
("CONFIG_AXP20X_ADC" . m)) ("CONFIG_AXP20X_ADC" . m)
;; Pinebook PRO battery and sound support
("CONFIG_BATTERY_CW2015" . m)
("CONFIG_CHARGER_GPIO" . m)
("CONFIG_SND_SOC_ES8316" . m))
%default-extra-linux-options))) %default-extra-linux-options)))
(define-public linux-libre-arm64-generic-5.4 (define-public linux-libre-arm64-generic-5.4
@ -1600,6 +1615,12 @@ providing the system administrator with some help in common tasks.")
(string-append "--with-bashcompletiondir=" (string-append "--with-bashcompletiondir="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/etc/bash_completion.d")) "/etc/bash_completion.d"))
;; FIXME: For now we cannot reliably run tests on GNU/Hurd:
;; <https://bugs.gnu.org/47791>.
#:tests? ,(and (not (%current-target-system))
(not (string-suffix? "-gnu" (%current-system))))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-before 'configure 'patch-build-scripts (add-before 'configure 'patch-build-scripts
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -2411,7 +2432,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(define-public iproute (define-public iproute
(package (package
(name "iproute2") (name "iproute2")
(version "5.10.0") (version "5.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2419,7 +2440,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1sakmhvh40gh4x55vzgy6cyvizqkhqalcfpvs6r0c14w62p38jm5")))) "0vrjbzhwzcvaxyyhkr2ii89w2vznzwp2pfgk7w72mviniawqs9lx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`( ;; There is a test suite, but it wants network namespaces and sudo. `( ;; There is a test suite, but it wants network namespaces and sudo.
@ -4311,14 +4332,14 @@ isolation or root privileges.")
(define-public hdparm (define-public hdparm
(package (package
(name "hdparm") (name "hdparm")
(version "9.60") (version "9.61")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/hdparm/hdparm/" (uri (string-append "mirror://sourceforge/hdparm/hdparm/"
"hdparm-" version ".tar.gz")) "hdparm-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1k1mcv7naiacw1y6bdd1adnjfiq1kkx2ivsadjwmlkg4fff775w3")))) "0hskvzsg58hw8abkkmxh5kky0hhilv516870x2bq62zihww1q6ns"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -4350,7 +4371,7 @@ Translation (@dfn{SAT}) are also supported.")
(define-public nvme-cli (define-public nvme-cli
(package (package
(name "nvme-cli") (name "nvme-cli")
(version "1.13") (version "1.14")
(home-page "https://github.com/linux-nvme/nvme-cli") (home-page "https://github.com/linux-nvme/nvme-cli")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -4358,7 +4379,7 @@ Translation (@dfn{SAT}) are also supported.")
(url home-page) (url home-page)
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1d538kp841bjh8h8d9q7inqz56rdcwb3m78zfx8607ddykv7wcqb")) (base32 "0dpadz945482srqpsbfx1bh7rc499fgpyzz1flhk9g9xjbpapkzc"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -6842,7 +6863,7 @@ the MTP device as a file system.")
(define-public procenv (define-public procenv
(package (package
(name "procenv") (name "procenv")
(version "0.51") (version "0.55")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6851,9 +6872,8 @@ the MTP device as a file system.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ilrsw1rc85w29mkbkmm5n5w427gapv43yrjzvkb4kc9xhscgdjn")))) (base32 "13fnr4gfj2xlxghw93m5gsxzlwzv3s6jv9hja0w0pb23hlncbmhy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -8031,3 +8051,46 @@ kernel side implementation.")
read-only file system optimized for resource-scarce devices. This package read-only file system optimized for resource-scarce devices. This package
provides user-space tools for creating EROFS file systems.") provides user-space tools for creating EROFS file systems.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public rasdaemon
(package
(name "rasdaemon")
(version "0.6.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mchehab/rasdaemon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13g39x19lfjf9izdcb0nlyfjrgpliivhv4nw3ndgyzi59l3yqc0v"))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs `(("sqlite" ,sqlite)))
(arguments
`(#:configure-flags '("--enable-all"
"--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'munge-autotools
(lambda _
;; For some reason upstream forces sysconfdir=/etc. This results
;; in EPERM during the install phase. Removing the offending
;; line lets sysconfdir correctly pick up DESTDIR.
(substitute* "configure.ac"
(("^test .* sysconfdir=/etc\n$") ""))
;; Upstream tries to create /var/lib/rasdaemon at install time.
;; This results in EPERM on guix. Instead, the service should
;; create this at activation time.
(substitute* "Makefile.am"
(("^\\s*\\$\\(install_sh\\) -d .*@RASSTATEDIR@.*$") "")))))))
(build-system gnu-build-system)
(home-page "https://github.com/mchehab/rasdaemon")
(synopsis "Platform Reliability, Availability and Serviceability tools")
(description "The @code{rasdaemon} program is a daemon which monitors the
platform Reliablity, Availability and Serviceability (RAS) reports from the
Linux kernel trace events. These trace events are logged in
/sys/kernel/debug/tracing, reporting them via syslog/journald.")
(license license:gpl2)))

View file

@ -68,6 +68,7 @@
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
@ -80,6 +81,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -5682,6 +5684,79 @@ basic everyday functions and macros.")
(define-public ecl-fare-utils (define-public ecl-fare-utils
(sbcl-package->ecl-package sbcl-fare-utils)) (sbcl-package->ecl-package sbcl-fare-utils))
(define-public sbcl-fare-mop
(let ((commit "538aa94590a0354f382eddd9238934763434af30")
(revision "1"))
(package
(name "sbcl-fare-mop")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fare/fare-mop")
(commit commit)))
(file-name (git-file-name "fare-mop" version))
(sha256
(base32
"0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("close-mop" ,sbcl-closer-mop)
("fare-utils" ,sbcl-fare-utils)))
(home-page "https://github.com/fare/fare-mop")
(synopsis "General purpose Common Lisp utilities using the MOP")
(description
"FARE-MOP is a small collection of utilities using the MetaObject
Protocol. It notably contains a SIMPLE-PRINT-OBJECT method, and
a SIMPLE-PRINT-OBJECT-MIXIN mixin that allow you to trivially define
PRINT-OBJECT methods that print the interesting slots in your objects, which is
great for REPL interaction and debugging.")
(license license:unlicense))))
(define-public ecl-fare-mop
(sbcl-package->ecl-package sbcl-fare-mop))
(define-public cl-fare-mop
(sbcl-package->cl-source-package sbcl-fare-mop))
(define-public sbcl-inferior-shell
(let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
(revision "1"))
(package
(name "sbcl-inferior-shell")
(version (git-version "2.0.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fare/inferior-shell")
(commit commit)))
(file-name (git-file-name "inferior-shell" version))
(sha256
(base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
(inputs
`(("alexandira" ,sbcl-alexandria)
("fare-mop" ,sbcl-fare-mop)
("fare-quasiquote" ,sbcl-fare-quasiquote)
("fare-utils" ,sbcl-fare-utils)
("trivia" ,sbcl-trivia)))
(home-page "https://github.com/fare/inferior-shell")
(synopsis "Spawn local or remote processes and shell pipes")
(description
"This package provides a Common Lisp system helping in scripting, it
uses @code{uiop:run-program} as a backend.")
(license license:expat))))
(define-public ecl-inferior-shell
(sbcl-package->ecl-package sbcl-inferior-shell))
(define-public cl-inferior-shell
(sbcl-package->cl-source-package sbcl-inferior-shell))
(define-public sbcl-trivial-utf-8 (define-public sbcl-trivial-utf-8
(let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f") (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
(revision "1")) (revision "1"))
@ -9224,6 +9299,77 @@ for reading and writing JPEG image files.")
(define-public ecl-cl-jpeg (define-public ecl-cl-jpeg
(sbcl-package->ecl-package sbcl-cl-jpeg)) (sbcl-package->ecl-package sbcl-cl-jpeg))
(define-public sbcl-png
(let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
(revision "1"))
(package
(name "sbcl-png")
(version (git-version "0.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ljosa/cl-png")
(commit commit)))
(file-name (git-file-name "cl-png" version))
(sha256
(base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-lib-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libpng.lisp"
(("\"libpng\"")
(string-append "\""
(assoc-ref inputs "libpng")
"/lib/libpng\""))))))))
(inputs
`(("cffi" ,sbcl-cffi)
("libpng" ,libpng)))
(home-page "https://github.com/ljosa/cl-png")
(synopsis "Read and write PNG file format")
(description
"This package provides a @code{PNG} Common Lisp system to operate with
Portable Network Graphics file format.")
(license license:lgpl2.1))))
(define-public ecl-png
(sbcl-package->ecl-package sbcl-png))
(define-public cl-png
(sbcl-package->cl-source-package sbcl-png))
(define-public sbcl-cl-svg
(let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
(revision "1"))
(package
(name "sbcl-cl-svg")
(version (git-version "0.0.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wmannis/cl-svg")
(commit commit)))
(file-name (git-file-name "cl-svg" version))
(sha256
(base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/wmannis/cl-svg")
(synopsis "Write SVG file format")
(description
"This package provides the @code{CL-SVG} Common Lisp system to produce
Scalable Vector Graphics files.")
(license license:expat))))
(define-public ecl-cl-svg
(sbcl-package->ecl-package sbcl-cl-svg))
(define-public cl-svg
(sbcl-package->cl-source-package sbcl-cl-svg))
(define-public sbcl-nodgui (define-public sbcl-nodgui
(let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d") (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
(revision "1")) (revision "1"))
@ -15014,8 +15160,8 @@ protocol for Mastodon.")
(sbcl-package->cl-source-package sbcl-tooter)) (sbcl-package->cl-source-package sbcl-tooter))
(define-public sbcl-croatoan (define-public sbcl-croatoan
(let ((commit "89ecd147cf1548f569f23353b3ab656cfb74de1f") (let ((commit "7077ef14d27e8708515ad8d309886f516e7fbd98")
(revision "1")) (revision "2"))
(package (package
(name "sbcl-croatoan") (name "sbcl-croatoan")
(version (git-version "0.0.1" revision commit)) (version (git-version "0.0.1" revision commit))
@ -15027,7 +15173,7 @@ protocol for Mastodon.")
(commit commit))) (commit commit)))
(file-name (git-file-name "croatoan" version)) (file-name (git-file-name "croatoan" version))
(sha256 (sha256
(base32 "0pk4mym88531jx0f1zmm6gmvrmdjzj2zcl2cdywdsxvjygr53zyx")))) (base32 "0gf2sjpsdkd9s8imwy2wjrkdx82a5sc4yy9bndlnjlwmdraw4j37"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(arguments (arguments
'(#:phases '(#:phases
@ -15880,7 +16026,7 @@ allows one to gradually make their programs safer.")
"Clip is an attempt at a templating library that allows you to write "Clip is an attempt at a templating library that allows you to write
templates in a way that is both accessible to direct webdesign and templates in a way that is both accessible to direct webdesign and
flexible. The main idea is to incorporate transformation commands into an HTML flexible. The main idea is to incorporate transformation commands into an HTML
file through tags and attributes. Clip is heavily dependant on Plump and file through tags and attributes. Clip is heavily dependent on Plump and
lQuery.") lQuery.")
(license license:zlib)))) (license license:zlib))))
@ -15889,3 +16035,252 @@ lQuery.")
(define-public cl-clip (define-public cl-clip
(sbcl-package->cl-source-package sbcl-clip)) (sbcl-package->cl-source-package sbcl-clip))
(define-public sbcl-pathname-utils
(let ((commit "70f517e44e13a38e0c8f296613236376d679fa8f")
(revision "1"))
(package
(name "sbcl-pathname-utils")
(version (git-version "1.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/pathname-utils")
(commit commit)))
(file-name (git-file-name "pathname-utils" version))
(sha256
(base32 "1zm4bf6gajpgmhr7zwf7600zlaf8fs1fcyzabqsh2ma2crkgqdxq"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("parachute" ,sbcl-parachute)))
(home-page "https://shinmera.github.io/pathname-utils/")
(synopsis "Collection of utilities to help with pathname operations")
(description
"This package provides a Common Lisp system a with collection of common
tests and operations to help handling pathnames. It does not actually deal in
handling the accessing of files on the underlying system however.")
(license license:zlib))))
(define-public ecl-pathname-utils
(sbcl-package->ecl-package sbcl-pathname-utils))
(define-public cl-pathname-utils
(sbcl-package->cl-source-package sbcl-pathname-utils))
(define-public sbcl-terrable
(let ((commit "e4fe23ffa08e8d53a8168105b413861da59cc786")
(revision "1"))
(package
(name "sbcl-terrable")
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shirakumo/terrable")
(commit commit)))
(file-name (git-file-name "terrable" version))
(sha256
(base32 "0pnqflgz410zydc1ivwnd8hcl24bgr7x12yjzr7g4lq3ibc8y97b"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("documentation-utils" ,sbcl-documentation-utils)
("fast-io" ,sbcl-fast-io)
("ieee-floats" ,sbcl-ieee-floats)
("static-vectors" ,sbcl-static-vectors)
("trivial-garbage" ,sbcl-trivial-garbage)))
(home-page "https://shirakumo.github.io/terrable/")
(synopsis "Parser library for Terragen TER terrain files")
(description
"This package provides Common Lisp support for reading the Terragen
@code{.TER} format. The format specification can be found at
@url{https://planetside.co.uk/wiki/index.php?title=Terragen_.TER_Format}")
(license license:zlib))))
(define-public ecl-terrable
(sbcl-package->ecl-package sbcl-terrable))
(define-public cl-terrable
(sbcl-package->cl-source-package sbcl-terrable))
(define-public sbcl-simple-rgb
(let ((commit "ba9b0689362c28aa6a91c0636796c6c372657293")
(revision "1"))
(package
(name "sbcl-simple-rgb")
(version (git-version "0.01" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wmannis/simple-rgb/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ggv0h2n4mvwnggjr1b40gw667gnyykzki2zadaczi38ydzyzlp1"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/wmannis/simple-rgb")
(synopsis "Manipulate colors in RGB format")
(description
"This Common Lisp library focuses on the small set of basic color
manipulations (lightening, compliments, etc.) you might use to generate a
color palette for a GUI or web page.")
(license license:bsd-2))))
(define-public ecl-simple-rgb
(sbcl-package->ecl-package sbcl-simple-rgb))
(define-public cl-simple-rgb
(sbcl-package->cl-source-package sbcl-simple-rgb))
(define-public sbcl-cl-qprint
(let ((commit "bfe398551cbfb7ca84a9ba59a26a1116ac5c06eb")
(revision "1"))
(package
(name "sbcl-cl-qprint")
(version (git-version "0.9.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eugeneia/cl-qprint/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "099h0rrdzxnlmn8avi72mg2dl0kccp7w01b2p9nwyy4b8yr32cir"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("flexi-streams" ,sbcl-flexi-streams)))
(home-page "https://github.com/eugeneia/cl-qprint/")
(synopsis "Implementation of the quoted-printable encoding")
(description
"This Common Lisp library implements the quoted-printable encoding as
described in RFC 2045 (see @url{http://tools.ietf.org/html/rfc2045}).")
(license license:lgpl2.1))))
(define-public ecl-cl-qprint
(sbcl-package->ecl-package sbcl-cl-qprint))
(define-public cl-qprint
(sbcl-package->cl-source-package sbcl-cl-qprint))
(define-public sbcl-cl-mime
(let ((commit "d30a28e0a40393bd3af7d138daa05319ed2e9d07")
(revision "1"))
(package
(name "sbcl-cl-mime")
;; One commit says "update to cl-mime-0.5.3", even though the .asd is at 0.5.1.
(version (git-version "0.5.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
;; Maintained fork according to http://www.cliki.net/CL-MIME:
(url "https://github.com/40ants/cl-mime")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0qn8if0fj6vzc897pqqqs0m1y107gmzqngpqhqmwrcsp1ckj5k0v"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("ppcre" ,sbcl-cl-ppcre)
("cl-base64" ,sbcl-cl-base64)
("cl-qprint" ,sbcl-cl-qprint)))
(native-inputs
`(("rove" ,sbcl-rove)))
(home-page "https://github.com/eugeneia/cl-qprint/")
(synopsis "Read and print MIME content in Common Lisp")
(description
"This is a Common Lisp library for reading and printing MIME content.
It supports automatic conversion between 7-bit, quoted-printable and base64
encodings.")
(license license:lgpl2.1))))
(define-public ecl-cl-mime
(sbcl-package->ecl-package sbcl-cl-mime))
(define-public cl-mime
(sbcl-package->cl-source-package sbcl-cl-mime))
(define-public sbcl-lispbuilder-sdl
(let ((commit "589b3c6d552bbec4b520f61388117d6c7b3de5ab"))
(package
(name "sbcl-lispbuilder-sdl")
(version (git-version "0.9.8.2" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lispbuilder/lispbuilder")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0zga59fjlhq3mhwbf80qwqwpkjkxqnn2mhxajlb8563vhn3dbafp"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cffi" ,sbcl-cffi)
("trivial-garbage" ,sbcl-trivial-garbage)
("sdl" ,sdl)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'cd-sdl
(lambda _
(chdir "lispbuilder-sdl")
#t))
(add-after 'cd-sdl 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cffi/library.lisp"
(("libSDL[^\"]*" all)
(string-append (assoc-ref inputs "sdl") "/lib/" all)))
#t)))))
(home-page "https://github.com/lispbuilder/lispbuilder/wiki/LispbuilderSDL")
(synopsis "Common Lisp wrapper for SDL")
(description
"This library is an SDL wrapper as part of an umbrella project that
provides cross-platform packages for building large, interactive applications
in Common Lisp.")
(license license:expat))))
(define-public ecl-lispbuilder-sdl
(sbcl-package->ecl-package sbcl-lispbuilder-sdl))
(define-public cl-lispbuilder-sdl
(sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
(define-public sbcl-dufy
(package
(name "sbcl-dufy")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/privet-kitty/dufy")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15vrp1kayhjb5c1vc9x8wlm8rimk73vpa7yc101cf0gsg1fjazl6"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("ppcre" ,sbcl-cl-ppcre)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)
("cl-csv" ,sbcl-cl-csv)
("parse-float" ,sbcl-parse-float)
("lispbuilder-sdl" ,sbcl-lispbuilder-sdl)
("lparallel" ,sbcl-lparallel)))
(home-page "https://github.com/privet-kitty/dufy")
(synopsis "Color library for Common Lisp")
(description
"Dufy is a library for exact color manipulation and conversion in various
color spaces, which supports many color models.")
(license license:expat)))
(define-public ecl-dufy
(sbcl-package->ecl-package sbcl-dufy))
(define-public cl-dufy
(sbcl-package->cl-source-package sbcl-dufy))

View file

@ -847,7 +847,7 @@ enough to play the original mainframe Zork all the way through.")
(define-public txr (define-public txr
(package (package
(name "txr") (name "txr")
(version "255") (version "257")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -856,7 +856,7 @@ enough to play the original mainframe Zork all the way through.")
(commit (string-append "txr-" version)))) (commit (string-append "txr-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0fjca44761x29xg5hh60yf4i3k7462z7ysnadbk2wzisp42yxk6j")))) (base32 "02lp71m4b0817c3ajrd46jjfm8yycbwxk5ic8s2yxc45ym7q73cj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -3,7 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -476,21 +476,21 @@ output), and Binutils.")
("libc-debug" ,glibc "debug") ("libc-debug" ,glibc "debug")
("libc-static" ,glibc "static"))))) ("libc-static" ,glibc "static")))))
(define-public llvm-11 (define-public llvm-12
(package (package
(name "llvm") (name "llvm")
(version "11.0.0") (version "12.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (llvm-uri "llvm" version)) (uri (llvm-uri "llvm" version))
(sha256 (sha256
(base32 (base32
"0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi")))) "0l4b79gwfvxild974aigcq1yigypjsk2j5p59syhl6ksd744gp29"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" "opt-viewer")) (outputs '("out" "opt-viewer"))
(native-inputs (native-inputs
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 `(("python" ,python)
("perl" ,perl))) ("perl" ,perl)))
(inputs (inputs
`(("libffi" ,libffi))) `(("libffi" ,libffi)))
@ -538,6 +538,45 @@ languages is in development. The compiler infrastructure includes mirror sets
of programming tools as well as libraries with equivalent functionality.") of programming tools as well as libraries with equivalent functionality.")
(license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt (license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt
(define-public clang-runtime-12
(clang-runtime-from-llvm
llvm-12
"0d444qihq9jhqnfv003cr704v363va72zl6qaw2algj1c85cva45"))
(define-public clang-12
(clang-from-llvm llvm-12 clang-runtime-12
"1vd9rhhrd8ghdg111lac7w8by71y9l14yh5zxfijsm6lj4p4avp2"
#:patches '("clang-11.0-libc-search-path.patch")
#:tools-extra
(origin
(method url-fetch)
(uri (llvm-uri "clang-tools-extra"
(package-version llvm-12)))
(patches
(search-patches "clang-12-tools-extra-directory.patch"))
(sha256
(base32
"0p3dzr0qa7mar83y66xa5m5apynf6ia0lsdsq6axwnm64ysy0hdd")))))
(define-public clang-toolchain-12
(make-clang-toolchain clang-12))
(define-public llvm-11
(package
(inherit llvm-12)
(version "11.0.0")
(source
(origin
(method url-fetch)
(uri (llvm-uri "llvm" version))
(sha256
(base32
"0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi"))))
(native-inputs
`(;; TODO: Switch to Python 3 in the next rebuild cycle.
("python" ,python-2)
("perl" ,perl)))))
(define-public clang-runtime-11 (define-public clang-runtime-11
(clang-runtime-from-llvm (clang-runtime-from-llvm
llvm-11 llvm-11
@ -956,6 +995,97 @@ use with Clang, targeting C++11, C++14 and above.")
`(("clang" ,clang-6) `(("clang" ,clang-6)
("llvm" ,llvm-6))))) ("llvm" ,llvm-6)))))
(define-public libcxxabi-6
(package
(name "libcxxabi")
(version "6.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/llvm/llvm-project")
(commit (string-append "llvmorg-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ki6796b5z08kh3a3rbysr5wwb2dkl6wal5dzd03i4li5xfkvx1g"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DLIBCXXABI_LIBCXX_INCLUDES="
(assoc-ref %build-inputs "libcxx")
"/include")
"-DCMAKE_C_COMPILER=clang"
"-DCMAKE_CXX_COMPILER=clang++")
#:phases
(modify-phases (@ (guix build cmake-build-system) %standard-phases)
(add-after 'unpack 'chdir
(lambda _ (chdir "libcxxabi")))
(add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((gcc (assoc-ref inputs "gcc")))
;; Hide GCC's C++ headers so that they do not interfere with
;; the ones we are attempting to build.
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(cons (string-append
(assoc-ref inputs "libcxx") "/include/c++/v1")
(delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH")
#\:)))
":"))
(format #true
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH")))))
(add-after 'install 'install-headers
(lambda* (#:key outputs #:allow-other-keys)
(let ((include-dir (string-append
(assoc-ref outputs "out") "/include")))
(install-file "../libcxxabi/include/__cxxabi_config.h" include-dir)
(install-file "../libcxxabi/include/cxxabi.h" include-dir)))))))
(native-inputs
`(("clang" ,clang-6)
("llvm" ,llvm-6)
("libcxx" ,libcxx-6)))
(home-page "https://libcxxabi.llvm.org")
(synopsis "C++ standard library support")
(description
"This package provides an implementation of low level support for a
standard C++ library.")
(license license:expat)))
(define-public libcxx+libcxxabi-6
(package
(inherit libcxx-6)
(name "libcxx+libcxxabi")
(version (package-version libcxx-6))
(arguments
`(#:configure-flags
(list "-DLIBCXX_CXX_ABI=libcxxabi"
(string-append "-DLIBCXX_CXX_ABI_INCLUDE_PATHS="
(assoc-ref %build-inputs "libcxxabi")
"/include"))
#:phases
(modify-phases (@ (guix build cmake-build-system) %standard-phases)
(add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((gcc (assoc-ref inputs "gcc")))
;; Hide GCC's C++ headers so that they do not interfere with
;; the ones we are attempting to build.
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH")
#\:))
":"))
(format #true
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH"))))))))
(native-inputs
`(("clang" ,clang-6)
("llvm" ,llvm-6)
("libcxxabi" ,libcxxabi-6)))))
(define-public libclc (define-public libclc
(package (package
(name "libclc") (name "libclc")

View file

@ -1173,7 +1173,7 @@ enabled.")
(define-public fennel (define-public fennel
(package (package
(name "fennel") (name "fennel")
(version "0.8.1") (version "0.9.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1182,7 +1182,7 @@ enabled.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0n0xkgzlrwpppm5vbvn84mq418xhmyakk9hakdmjv1lk2dfdq2g7")) "07qgycf5cxm9zcc4fgpgvplg95ndavh3ynpdjpvzkikzbnyj7xia"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -915,13 +915,13 @@ for scientific computing and data science (e.g. BLAS and OpenMP).")
(define-public python-pynndescent (define-public python-pynndescent
(package (package
(name "python-pynndescent") (name "python-pynndescent")
(version "0.4.8") (version "0.5.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pynndescent" version)) (uri (pypi-uri "pynndescent" version))
(sha256 (sha256
(base32 "0li1fclif50v6xrq7wh3lif9vv5jpj7xhrb0z6g89wwjnp9b9833")))) (base32 "0w87c2v0li2rdbx6qfc2lb6y6bxpdy3jwfgzfs1kcr4d1chj5zfr"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-nose" ,python-nose))) `(("python-nose" ,python-nose)))
@ -941,7 +941,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(define-public python-opentsne (define-public python-opentsne
(package (package
(name "python-opentsne") (name "python-opentsne")
(version "0.4.4") (version "0.5.2")
(source (source
(origin (origin
;; No tests in the PyPI tarball. ;; No tests in the PyPI tarball.
@ -951,7 +951,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 "08wamsssmyf6511cbmglm67dp48i6xazs89m1cskdk219v90bc76")))) (base32 "1hl42wmafydk4fxdx05l180k3canmqw8h9r20fsqq2aq440b09gh"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -17,7 +17,7 @@
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@ -129,6 +129,7 @@
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages ragel) #:use-module (gnu packages ragel)
#:use-module (gnu packages regex)
#:use-module (gnu packages rdf) #:use-module (gnu packages rdf)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
@ -492,7 +493,7 @@ to run without any changes.")
(define-public fetchmail (define-public fetchmail
(package (package
(name "fetchmail") (name "fetchmail")
(version "6.4.18") (version "6.4.19")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -500,7 +501,7 @@ to run without any changes.")
(version-major+minor version) "/" (version-major+minor version) "/"
"fetchmail-" version ".tar.xz")) "fetchmail-" version ".tar.xz"))
(sha256 (sha256
(base32 "17r5zfk9yh7jhgdb360dlzx5fx9lsbmalasx6zgxw9v9vjycjb9h")))) (base32 "0pvbknpimf38ws4gskad79wd1cvy62kcsjy65sm0rr83s6ii33fd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("openssl" ,openssl))) `(("openssl" ,openssl)))
@ -3659,7 +3660,7 @@ operators and scripters.")
(define-public alpine (define-public alpine
(package (package
(name "alpine") (name "alpine")
(version "2.24") (version "2.24.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3672,7 +3673,7 @@ operators and scripters.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0d5ybnsv29gs8krl66db56avmssq28jlg0qj5i1wka05ncc3740d")) (base32 "0dvp6m9xdxycc2lh4cbp6wvq0bkqmmkzs4c4aqsa321p7y03vs9q"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -4375,3 +4376,82 @@ black lists. Each message is analysed by Rspamd and given a spam
score.") score.")
(home-page "https://www.rspamd.com/") (home-page "https://www.rspamd.com/")
(license license:asl2.0))) (license license:asl2.0)))
(define-public crm114
(package
(name "crm114")
(version "20100106")
(source
(origin
(method url-fetch)
(uri (string-append "http://crm114.sourceforge.net/tarballs/crm114-"
version "-BlameMichelson.src.tar.gz"))
(sha256
(base32
"0awcjc5j2mclkkpbjyijj9mv8xjz3haljvaj0fyc4fm4xir68qpv"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(ice-9 string-fun))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:make-flags (list (string-append "prefix=" %output)
"LDFLAGS=") ; disable static linking
;; Test suite is not fully automated. It requires a human to read the
;; results and determine if the tests have passed.
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'fix-build
(lambda _
;; Inline functions can only be used from the same compilation
;; unit. This causes the build to fail.
(substitute* "crm_svm_matrix.c"
(("^inline ") ""))))
(add-before 'install 'pre-install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Install maillib.crm library.
(install-file "maillib.crm" (string-append out "/share/crm"))
;; Set absolute store paths.
(substitute* "mailreaver.crm"
(("insert maillib.crm")
(string-append "insert " out "/share/crm/maillib.crm"))
(("\\\\/bin\\\\/ls")
(string-replace-substring (which "ls") "/" "\\/"))
((":\\*:trainer_invoke_command:")
(string-append out "/bin/mailtrainer.crm")))
;; Install mail related crm scripts.
(for-each (lambda (file)
(install-file file (string-append out "/bin")))
(list "mailfilter.crm" "mailreaver.crm" "mailtrainer.crm"))
;; Create emacs site-lisp directory so that the install phase
;; can install crm-mode.
(mkdir-p (string-append out "/share/emacs/site-lisp")))))
;; Run phases from the emacs build system.
(add-after 'install 'make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads))
(add-after 'make-autoloads 'enable-autoloads-compilation
(assoc-ref emacs:%standard-phases 'enable-autoloads-compilation))
(add-after 'enable-autoloads-compilation 'emacs-build
(assoc-ref emacs:%standard-phases 'build))
(add-after 'emacs-build 'validate-compiled-autoloads
(assoc-ref emacs:%standard-phases 'validate-compiled-autoloads)))))
(inputs
`(("tre" ,tre)))
(native-inputs
`(("emacs" ,emacs-minimal)))
(home-page "http://crm114.sourceforge.net/")
(synopsis "Controllable regex mutilator")
(description "CRM114 is a system to examine incoming e-mail, system log
streams, data files or other data streams, and to sort, filter, or alter the
incoming files or data streams according to the user's wildest desires.
Criteria for categorization of data can be via a host of methods, including
regexes, approximate regexes, a Hidden Markov Model, Orthogonal Sparse
Bigrams, WINNOW, Correllation, KNN/Hyperspace, or Bit Entropy (or by other
means--it's all programmable).")
(license license:gpl3)))

View file

@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@ -1580,6 +1580,9 @@ used to bring up authentication dialogs.")
("shared-mime-info" ,shared-mime-info) ("shared-mime-info" ,shared-mime-info)
("yelp" ,yelp) ("yelp" ,yelp)
("zenity" ,zenity))) ("zenity" ,zenity)))
(propagated-inputs
;; Default font that applications such as IceCat require.
`(("font-dejavu" ,font-dejavu)))
(synopsis "The MATE desktop environment") (synopsis "The MATE desktop environment")
(home-page "https://mate-desktop.org/") (home-page "https://mate-desktop.org/")
(description (description

View file

@ -3608,7 +3608,7 @@ point numbers.")
(define-public wxmaxima (define-public wxmaxima
(package (package
(name "wxmaxima") (name "wxmaxima")
(version "21.02.0") (version "21.04.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3617,7 +3617,7 @@ point numbers.")
(commit (string-append "Version-" version)))) (commit (string-append "Version-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "19sab596ydwz65151bwymnfilyfmr8qcxb0k8cxlnj1gmdldlyz6")))) (base32 "0xj95zk16x8kac8qhzd5kvf3b00x7hgdw85da9ww63xyndvhh2lw"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal))) `(("gettext" ,gettext-minimal)))
@ -4480,7 +4480,7 @@ evaluates expressions using the standard order of operations.")
(define-public xaos (define-public xaos
(package (package
(name "xaos") (name "xaos")
(version "4.0") (version "4.2.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4489,7 +4489,7 @@ evaluates expressions using the standard order of operations.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00110p5xscjsmn7avfqgydn656zbmdj3l3y2fpv9b4ihzpid8n7a")))) "0maw5am6rrkyjrprfg113zjq37mqj0iaznkg4h2927ff7wrprc94"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("gettext" ,gettext-minimal) (native-inputs `(("gettext" ,gettext-minimal)
("qtbase" ,qtbase) ("qtbase" ,qtbase)
@ -4512,12 +4512,14 @@ evaluates expressions using the standard order of operations.")
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(substitute* "XaoS.pro"
;; The DESTDIR is originally set to install the xaos binary to ;; The DESTDIR is originally set to install the xaos binary to
;; the "bin" folder inside the build directory. Setting make ;; the "bin" folder inside the build directory. Setting make
;; flags doesn't seem to change this. ;; flags doesn't seem to change this.
(substitute* "XaoS.pro"
(("DESTDIR.*$") (("DESTDIR.*$")
(string-append "DESTDIR=" out "/bin"))) (string-append "DESTDIR=" out "/bin"))
;; Set the correct path to the lrelease binary.
(("lrelease-qt5") "lrelease"))
(substitute* "src/include/config.h" (substitute* "src/include/config.h"
(("/usr/share/XaoS") (("/usr/share/XaoS")
(string-append out "/share/XaoS"))) (string-append out "/share/XaoS")))

View file

@ -2743,7 +2743,7 @@ social and chat platform.")
(define-public psi-plus (define-public psi-plus
(package (package
(name "psi-plus") (name "psi-plus")
(version "1.5.1482") (version "1.5.1484")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2757,7 +2757,7 @@ social and chat platform.")
`(begin `(begin
(delete-file-recursively "3rdparty"))) (delete-file-recursively "3rdparty")))
(sha256 (sha256
(base32 "0lcx616hchwf492m1dm8ddb4qd2pmgf703ajnnb0y9ky99kgg8q2")))) (base32 "1jsm39nzzbqkp3zc0xqx7jid6p4q1ra28xad38wjr2l1jb8qjn24"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
`(#:tests? #f ; No target `(#:tests? #f ; No target

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -29,14 +29,14 @@
(define-public mtools (define-public mtools
(package (package
(name "mtools") (name "mtools")
(version "4.0.26") (version "4.0.27")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/mtools/mtools-" (uri (string-append "mirror://gnu/mtools/mtools-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"06pabnjc4r2vv3dzfm6q97g6jbp2k5bhmcdwv2cf25ka8y5ir7sk")) "1crqi10adwfahj8xyw60lx70hkpcc5g00b5r8277cm2f4kcwi24w"))
(patches (patches
(search-patches "mtools-mformat-uninitialized.patch")))) (search-patches "mtools-mformat-uninitialized.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)

View file

@ -453,7 +453,7 @@ playing your music.")
(define-public strawberry (define-public strawberry
(package (package
(name "strawberry") (name "strawberry")
(version "0.9.2") (version "0.9.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -462,7 +462,7 @@ playing your music.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d9asg21j9ai23sb35cimws8bd8fsnpha777rgscraa7i09q0rx2")) "0lby5zi66i08s0mcygja8l3rbd97inhaxqbhahj8lfxs52r4grrq"))
(modules '((guix build utils) (modules '((guix build utils)
(ice-9 regex))) (ice-9 regex)))
(snippet (snippet
@ -5997,7 +5997,7 @@ It can also play and mix samples.")
#:make-flags #:make-flags
(list (string-append "PREFIX=" (list (string-append "PREFIX="
(assoc-ref %outputs "out")) (assoc-ref %outputs "out"))
"CC=gcc") (string-append "CC=" ,(cc-for-target)))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))

View file

@ -1421,14 +1421,14 @@ of the same name.")
(define-public wireshark (define-public wireshark
(package (package
(name "wireshark") (name "wireshark")
(version "3.4.4") (version "3.4.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-" (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "0aad3m8nh4i75dgjs68217135bzqmhmlgjklmpjh1ihmjwgd373j")))) (base32 "0cyk8nqws9gp8p2ywszbynh8vawivnbhw60dhmy21qd1038sy6ny"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -6373,15 +6373,15 @@ variants.")
(synopsis (synopsis
"Executable code blocks inside markdown files") "Executable code blocks inside markdown files")
(description (description
"@code{ocaml-mdx} allows to execute code blocks inside markdown files. "@code{ocaml-mdx} executes code blocks inside markdown files.
There are (currently) two sub-commands, corresponding There are (currently) two sub-commands, corresponding
to two modes of operations: pre-processing (@code{ocaml-mdx pp}) to two modes of operations: pre-processing (@code{ocaml-mdx pp})
and tests (@code{ocaml-mdx test}]). and tests (@code{ocaml-mdx test}]).
The pre-processor mode allows to mix documentation and code, The pre-processor mode allows mixing documentation and code,
and to practice @dfn{literate programming} using markdown and OCaml. and to practice @dfn{literate programming} using markdown and OCaml.
The test mode allows to ensure that shell scripts and OCaml fragments The test mode ensures that shell scripts and OCaml fragments
in the documentation always stays up-to-date. in the documentation always stays up-to-date.
@code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and @code{ocaml-mdx} is released as two binaries called @code{ocaml-mdx} and

209
gnu/packages/orange.scm Normal file
View file

@ -0,0 +1,209 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages orange)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages graph)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt))
(define-public python-orange-canvas-core
(package
(name "python-orange-canvas-core")
(version "0.1.19")
(source
(origin
(method url-fetch)
(uri (pypi-uri "orange-canvas-core" version))
(sha256
(base32 "03wav2msfm32y8zwq69v1v6qyh1ld76xla2z60avf49yhbwjgwal"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
;; This test fails with: RuntimeError: Event loop is closed.
(substitute* "orangecanvas/application/tests/test_mainwindow.py"
(("test_help_requests") "_test_help_requests"))
(setenv "HOME" "/tmp")
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(propagated-inputs
`(("python-anyqt" ,python-anyqt)
("python-cachecontrol" ,python-cachecontrol)
("python-commonmark" ,python-commonmark)
("python-dictdiffer" ,python-dictdiffer)
("python-docutils" ,python-docutils)
("python-pyqt" ,python-pyqt)
("python-qasync" ,python-qasync)
("python-requests" ,python-requests)))
(home-page "https://github.com/biolab/orange-canvas-core")
(synopsis "Core component of Orange Canvas")
(description
"Orange Canvas Core is a framework for building graphical user interfaces
for editing workflows. It is a component used to build the Orange Canvas
data-mining application.")
(license license:gpl3)))
(define-public python-orange-widget-base
(package
(name "python-orange-widget-base")
(version "4.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "orange-widget-base" version))
(sha256
(base32 "13sy3s8rdqs3i3ghixljpqvnfz81qmbb0kqlasw39zvf39qc22kz"))))
(build-system python-build-system)
(arguments
`(;; unittest fails to load one test, all other tests are passing:
;; AttributeError: module 'orangewidget' has no attribute 'version'.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" "/tmp")
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(propagated-inputs
`(("python-anyqt" ,python-anyqt)
("python-matplotlib" ,python-matplotlib)
("python-orange-canvas-core"
,python-orange-canvas-core)
("python-pyqtgraph" ,python-pyqtgraph)))
(home-page "https://github.com/biolab/orange-widget-base")
(synopsis "Base Widget for Orange Canvas")
(description
"Orange Widget Base provides a base widget component for a interactive
GUI based workflow. It is primarily used in the Orange framework.")
(license license:gpl3+)))
(define-public orange
(package
(name "orange")
(version "3.28.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Orange3" version))
(sha256
(base32 "1ac4xjjkx06z10hl7k0zh1z3qhkl5vng15l9jkpkmck9spinbzil"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'preparations
(lambda _
;; Delete test that opens an outgoing connection.
(delete-file "Orange/tests/test_url_reader.py")
;; This is a binary data file and it breaks runpath validation.
(delete-file "Orange/tests/datasets/binary-blob.tab")
;; Skip the test which uses that binary file.
(substitute* "Orange/tests/test_txt_reader.py"
(("test_read_nonutf8_encoding") "_test_read_nonutf8_encoding"))
;; We use a correct version of PyQtWebEngine, but the build scripts
;; consider it incorrect anyways. Remove the constraint entirely to
;; work around this bug.
(substitute* "requirements-gui.txt" (("PyQtWebEngine>=5.12") ""))
#t))
(add-before 'check 'set-HOME
;; Tests need a writable home.
(lambda _ (setenv "HOME" "/tmp") #t))
(add-after 'install 'wrap-executable
;; Ensure that icons are found at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/orange-canvas")
`("QT_PLUGIN_PATH" prefix
,(list (string-append (assoc-ref inputs "qtsvg")
"/lib/qt5/plugins/")))))
#t)))))
(native-inputs
`(("python-cython" ,python-cython)))
(inputs
`(("python-anyqt" ,python-anyqt)
("python-baycomp" ,python-baycomp)
("python-bottleneck" ,python-bottleneck)
("python-chardet" ,python-chardet)
("python-httpx" ,python-httpx)
("python-joblib" ,python-joblib)
("python-keyring" ,python-keyring)
("python-keyrings.alt" ,python-keyrings.alt)
("python-louvain" ,python-louvain)
("python-matplotlib" ,python-matplotlib)
("python-networkx" ,python-networkx)
("python-numpy" ,python-numpy)
("python-openpyxl" ,python-openpyxl)
("python-opentsne" ,python-opentsne)
("python-orange-canvas-core"
,python-orange-canvas-core)
("python-orange-widget-base"
,python-orange-widget-base)
("python-pandas" ,python-pandas)
("python-pyqt" ,python-pyqt)
("python-pyqtgraph" ,python-pyqtgraph)
("python-pyqtwebengine" ,python-pyqtwebengine)
("python-pyyaml" ,python-pyyaml)
("python-requests" ,python-requests)
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)
("python-serverfiles" ,python-serverfiles)
("python-xlrd" ,python-xlrd)
("python-xlsxwriter" ,python-xlsxwriter)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("xdg-utils" ,xdg-utils)))
(home-page "https://orangedatamining.com/")
(synopsis "Component-based data mining framework")
(description
"Orange is a component-based, graphical framework for machine learning,
data analysis, data mining and data visualization.")
(license license:gpl3+)))
(define-public python-serverfiles
(package
(name "python-serverfiles")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "serverfiles" version))
(sha256
(base32 "1qgbzgnaxj4wsp2rdas53qxsh0j7xpibq25w6lviwyaqwwrgq42y"))))
(build-system python-build-system)
(propagated-inputs
`(("python-requests" ,python-requests)))
(home-page "https://github.com/biolab/serverfiles")
(synopsis "Utility to access files on a HTTP server and store them locally")
(description
"This package provides an utility that accesses files on a HTTP server
and stores them locally for reuse. It is primarily used by the Orange
framework.")
(license license:gpl3+)))

View file

@ -1049,8 +1049,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) (license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator (define-public guix-build-coordinator
(let ((commit "6fb5eafc33efa109b220efe71594cfcdb2efe133") (let ((commit "1305724c7ea3c2bb3e557918d5a1b17d572aa110")
(revision "24")) (revision "27"))
(package (package
(name "guix-build-coordinator") (name "guix-build-coordinator")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1061,7 +1061,7 @@ environments.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1lf7jry18kwglvyakfkmi8bif8ppsdinl0xjgmkgkp4mvmymh2gj")) "179n33mkhl6f2fv0gyn7sdm3k4hhm1hvca6dgc923d0w7zv4p577"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1096,6 +1096,7 @@ environments.")
"guile-lib" "guile-lib"
"guile-lzlib" "guile-lzlib"
"guile-zlib" "guile-zlib"
"guile-sqlite3"
"gnutls" "gnutls"
,@(if (hurd-target?) ,@(if (hurd-target?)
'() '()

View file

@ -57,14 +57,14 @@
(define-public parallel (define-public parallel
(package (package
(name "parallel") (name "parallel")
(version "20210322") (version "20210422")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-" (uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 "152np0jg4n94sbl2p2fzxjfnssiyp5sg7r5wx6s8p893b921pxwq")))) (base32 "1s4ynlsh5fr5vxcf5xm45fcfyzp62zclzjq5b7rbwrs4chxnlgmy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -198,7 +198,12 @@ execution is also possible.")
,@(if (target-64bit?) '() '("--enable-deprecated"))) ,@(if (target-64bit?) '() '("--enable-deprecated")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf (add-after 'unpack 'patch-plugin-linker-flags
(lambda _
(substitute* (find-files "src/plugins/" "Makefile.in")
(("_la_LDFLAGS = ")
"_la_LDFLAGS = ../../../api/libslurm.la "))))
(add-after 'patch-plugin-linker-flags 'autoconf
(lambda _ (invoke "autoconf"))) ;configure.ac was patched (lambda _ (invoke "autoconf"))) ;configure.ac was patched
(add-after 'install 'install-libpmi (add-after 'install 'install-libpmi
(lambda _ (lambda _

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de> ;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se> ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
@ -136,19 +136,18 @@ human.")
(base32 "0azq20rqsx7axrigha4qh81ipvhqnnlb27w3xdjg5z4h3jky4dp5")))) (base32 "0azq20rqsx7axrigha4qh81ipvhqnnlb27w3xdjg5z4h3jky4dp5"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '("-DWITH_XC_ALL=YES" `(#:modules ((guix build cmake-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build qt-utils))
#:configure-flags '("-DWITH_XC_ALL=YES"
"-DWITH_XC_UPDATECHECK=NO") "-DWITH_XC_UPDATECHECK=NO")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'wrap-bin (add-after 'install 'wrap-qt
(lambda* (#:key outputs inputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (wrap-qt-program (assoc-ref outputs "out") "keepassxc")
(wrap-program (string-append out "/bin/keepassxc")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins"))
'("qtbase" "qtsvg")))))
#t))))) #t)))))
(native-inputs (native-inputs
`(("asciidoctor" ,ruby-asciidoctor) `(("asciidoctor" ,ruby-asciidoctor)

View file

@ -0,0 +1,16 @@
Help CMake locate the "tools-extra" directory.
Taken from <https://bugs.llvm.org/show_bug.cgi?id=49990#c3>.
diff --git a/clang-tools-extra/clangd/quality/CompletionModel.cmake b/clang-tools-extra/clangd/quality/CompletionModel.cmake
--- a/clangd/quality/CompletionModel.cmake
+++ b/clangd/quality/CompletionModel.cmake
@@ -5,7 +5,7 @@
# will define a C++ class called ${cpp_class} - which may be a
# namespace-qualified class name.
function(gen_decision_forest model filename cpp_class)
- set(model_compiler ${CMAKE_SOURCE_DIR}/../clang-tools-extra/clangd/quality/CompletionModelCodegen.py)
+ set(model_compiler ${CMAKE_CURRENT_LIST_DIR}/quality/CompletionModelCodegen.py)
set(output_dir ${CMAKE_CURRENT_BINARY_DIR})
set(header_file ${output_dir}/${filename}.h)

View file

@ -1,43 +0,0 @@
From 2cae9b9acf9da98c4c9990819ffbd5aabe23017e Mon Sep 17 00:00:00 2001
From: Jehan <jehan@girinstud.io>
Date: Mon, 14 Dec 2020 19:53:38 +0100
Subject: [PATCH] app: make "gegl:introspect" an optional operation dependency.
Check at runtime for the operation availability and set the "Show Image
Graph" action active depending on this check.
This goes with discussions to make this operation optional with a
runtime check for the tool `dot`.
See: https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/84
---
app/actions/debug-actions.c | 6 ++++++
app/sanity.c | 1 -
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/app/actions/debug-actions.c b/app/actions/debug-actions.c
index 6be4422b228..22ca38b15ea 100644
--- a/app/actions/debug-actions.c
+++ b/app/actions/debug-actions.c
@@ -103,4 +103,10 @@ void
debug_actions_update (GimpActionGroup *group,
gpointer data)
{
+#define SET_SENSITIVE(action,condition) \
+ gimp_action_group_set_action_sensitive (group, action, (condition) != 0)
+
+ SET_SENSITIVE ("debug-show-image-graph", gegl_has_operation ("gegl:introspect"));
+
+#undef SET_SENSITIVE
}
diff --git a/app/sanity.c b/app/sanity.c
index 015801a396e..6374ac1ad20 100644
--- a/app/sanity.c
+++ b/app/sanity.c
@@ -650,7 +650,6 @@ sanity_check_gegl_ops (void)
"gegl:hue-chroma",
"gegl:illusion",
"gegl:image-gradient",
- "gegl:introspect",
"gegl:invert-gamma",
"gegl:invert-linear",
"gegl:lens-blur",

View file

@ -0,0 +1,31 @@
Fix a stack corruption when handling files with more than 64 audio
channels:
https://gstreamer.freedesktop.org/security/sa-2021-0005.html
Patch copied from upstream source repository:
https://gitlab.freedesktop.org/gstreamer/gst-libav/-/commit/dcea8baa14a5fc3b796d876baaf2f238546ba2b1
diff --git a/ext/libav/gstavcodecmap.c b/ext/libav/gstavcodecmap.c
index b5be4bb7a5f2712f78383da9319754a8849e3307..be22f22cf5c7c7b22b13e44b10999adaacbcca2b 100644
--- a/ext/libav/gstavcodecmap.c
+++ b/ext/libav/gstavcodecmap.c
@@ -102,7 +102,7 @@ gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout, gint channels,
guint nchannels = 0;
gboolean none_layout = FALSE;
- if (channel_layout == 0) {
+ if (channel_layout == 0 || channels > 64) {
nchannels = channels;
none_layout = TRUE;
} else {
@@ -163,7 +163,7 @@ gst_ffmpeg_channel_layout_to_gst (guint64 channel_layout, gint channels,
} else {
guint i;
- for (i = 0; i < nchannels; i++)
+ for (i = 0; i < nchannels && i < 64; i++)
pos[i] = GST_AUDIO_CHANNEL_POSITION_NONE;
}
}

View file

@ -0,0 +1,263 @@
Fix an overflow when calculating something for AVC/HEVC videos:
https://security-tracker.debian.org/tracker/TEMP-0000000-C6AAE1
Patch copied from upstream source repository:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/0cfbf7ad91c7f121192c8ce135769f8eb276c41d
From 0cfbf7ad91c7f121192c8ce135769f8eb276c41d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 23 Mar 2021 19:19:14 +0200
Subject: [PATCH] h2645parser: Catch overflows in AVC/HEVC NAL unit length
calculations
Offset and size are stored as 32 bit guint and might overflow when
adding the nal_length_size, so let's avoid that.
For the size this would happen if the AVC/HEVC NAL unit size happens to
be stored in 4 bytes and is 4294967292 or higher, which is likely
corrupted data anyway.
For the offset this is something for the caller of these functions to
take care of but is unlikely to happen as it would require parsing on a
>4GB buffer.
Allowing these overflows causes all kinds of follow-up bugs in the
h2645parse elements, ranging from infinite loops and memory leaks to
potential memory corruptions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2107>
---
gst-libs/gst/codecparsers/gsth264parser.c | 16 +++++-
gst-libs/gst/codecparsers/gsth265parser.c | 16 +++++-
tests/check/libs/h264parser.c | 60 +++++++++++++++++++++++
tests/check/libs/h265parser.c | 60 +++++++++++++++++++++++
4 files changed, 150 insertions(+), 2 deletions(-)
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
index 012f1d0d7..68aa25068 100644
--- a/gst-libs/gst/codecparsers/gsth264parser.c
+++ b/gst-libs/gst/codecparsers/gsth264parser.c
@@ -1556,6 +1556,14 @@ gst_h264_parser_identify_nalu_avc (GstH264NalParser * nalparser,
memset (nalu, 0, sizeof (*nalu));
+ /* Would overflow guint below otherwise: the callers needs to ensure that
+ * this never happens */
+ if (offset > G_MAXUINT32 - nal_length_size) {
+ GST_WARNING ("offset + nal_length_size overflow");
+ nalu->size = 0;
+ return GST_H264_PARSER_BROKEN_DATA;
+ }
+
if (size < offset + nal_length_size) {
GST_DEBUG ("Can't parse, buffer has too small size %" G_GSIZE_FORMAT
", offset %u", size, offset);
@@ -1570,7 +1578,13 @@ gst_h264_parser_identify_nalu_avc (GstH264NalParser * nalparser,
nalu->sc_offset = offset;
nalu->offset = offset + nal_length_size;
- if (size < nalu->size + nal_length_size) {
+ if (nalu->size > G_MAXUINT32 - nal_length_size) {
+ GST_WARNING ("NALU size + nal_length_size overflow");
+ nalu->size = 0;
+ return GST_H264_PARSER_BROKEN_DATA;
+ }
+
+ if (size < (gsize) nalu->size + nal_length_size) {
nalu->size = 0;
return GST_H264_PARSER_NO_NAL_END;
diff --git a/gst-libs/gst/codecparsers/gsth265parser.c b/gst-libs/gst/codecparsers/gsth265parser.c
index 26e68b276..dc7f27aa9 100644
--- a/gst-libs/gst/codecparsers/gsth265parser.c
+++ b/gst-libs/gst/codecparsers/gsth265parser.c
@@ -1531,6 +1531,14 @@ gst_h265_parser_identify_nalu_hevc (GstH265Parser * parser,
memset (nalu, 0, sizeof (*nalu));
+ /* Would overflow guint below otherwise: the callers needs to ensure that
+ * this never happens */
+ if (offset > G_MAXUINT32 - nal_length_size) {
+ GST_WARNING ("offset + nal_length_size overflow");
+ nalu->size = 0;
+ return GST_H265_PARSER_BROKEN_DATA;
+ }
+
if (size < offset + nal_length_size) {
GST_DEBUG ("Can't parse, buffer has too small size %" G_GSIZE_FORMAT
", offset %u", size, offset);
@@ -1545,7 +1553,13 @@ gst_h265_parser_identify_nalu_hevc (GstH265Parser * parser,
nalu->sc_offset = offset;
nalu->offset = offset + nal_length_size;
- if (size < nalu->size + nal_length_size) {
+ if (nalu->size > G_MAXUINT32 - nal_length_size) {
+ GST_WARNING ("NALU size + nal_length_size overflow");
+ nalu->size = 0;
+ return GST_H265_PARSER_BROKEN_DATA;
+ }
+
+ if (size < (gsize) nalu->size + nal_length_size) {
nalu->size = 0;
return GST_H265_PARSER_NO_NAL_END;
diff --git a/tests/check/libs/h264parser.c b/tests/check/libs/h264parser.c
index c7c46d9a2..d322dd8db 100644
--- a/tests/check/libs/h264parser.c
+++ b/tests/check/libs/h264parser.c
@@ -229,6 +229,65 @@ GST_START_TEST (test_h264_parse_slice_5bytes)
GST_END_TEST;
+GST_START_TEST (test_h264_parse_identify_nalu_avc)
+{
+ GstH264ParserResult res;
+ GstH264NalUnit nalu;
+ GstH264NalParser *const parser = gst_h264_nal_parser_new ();
+ /* Skip 3 bytes for the start code */
+ const gsize nal_size = sizeof (slice_dpa) - 3;
+ const gsize buf_size = 4 + nal_size;
+ guint8 *buf = g_new (guint8, buf_size);
+
+ memcpy (buf + 4, slice_dpa + 3, nal_size);
+
+ GST_WRITE_UINT16_BE (buf + 2, nal_size);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 2, buf_size, 2, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_OK);
+ assert_equals_int (nalu.type, GST_H264_NAL_SLICE_DPA);
+ assert_equals_int (nalu.offset, 4);
+ assert_equals_int (nalu.size, nal_size);
+
+ GST_WRITE_UINT32_BE (buf, nal_size);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_OK);
+ assert_equals_int (nalu.type, GST_H264_NAL_SLICE_DPA);
+ assert_equals_int (nalu.offset, 4);
+ assert_equals_int (nalu.size, nal_size);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_BROKEN_DATA);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 2);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_BROKEN_DATA);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 3);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_BROKEN_DATA);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 4);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_NO_NAL_END);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 6);
+ res = gst_h264_parser_identify_nalu_avc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H264_PARSER_NO_NAL_END);
+
+ g_free (buf);
+ gst_h264_nal_parser_free (parser);
+}
+
+GST_END_TEST;
+
static guint8 nalu_sps_with_vui[] = {
0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x28,
0xac, 0xd9, 0x40, 0x78, 0x04, 0x4f, 0xde, 0x03,
@@ -666,6 +725,7 @@ h264parser_suite (void)
tcase_add_test (tc_chain, test_h264_parse_slice_dpa);
tcase_add_test (tc_chain, test_h264_parse_slice_eoseq_slice);
tcase_add_test (tc_chain, test_h264_parse_slice_5bytes);
+ tcase_add_test (tc_chain, test_h264_parse_identify_nalu_avc);
tcase_add_test (tc_chain, test_h264_parse_invalid_sei);
tcase_add_test (tc_chain, test_h264_create_sei);
diff --git a/tests/check/libs/h265parser.c b/tests/check/libs/h265parser.c
index 0a0e4db97..5b6a215ec 100644
--- a/tests/check/libs/h265parser.c
+++ b/tests/check/libs/h265parser.c
@@ -255,6 +255,65 @@ GST_START_TEST (test_h265_parse_slice_6bytes)
GST_END_TEST;
+GST_START_TEST (test_h265_parse_identify_nalu_hevc)
+{
+ GstH265ParserResult res;
+ GstH265NalUnit nalu;
+ GstH265Parser *parser = gst_h265_parser_new ();
+ /* Skip 4 bytes for the start code */
+ const gsize nal_size = sizeof (slice_eos_slice_eob) - 4;
+ const gsize buf_size = 4 + nal_size;
+ guint8 *buf = g_new (guint8, buf_size);
+
+ memcpy (buf + 4, slice_eos_slice_eob + 4, nal_size);
+
+ GST_WRITE_UINT16_BE (buf + 2, nal_size);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 2, buf_size, 2, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_OK);
+ assert_equals_int (nalu.type, GST_H265_NAL_SLICE_IDR_W_RADL);
+ assert_equals_int (nalu.offset, 4);
+ assert_equals_int (nalu.size, nal_size);
+
+ GST_WRITE_UINT32_BE (buf, nal_size);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_OK);
+ assert_equals_int (nalu.type, GST_H265_NAL_SLICE_IDR_W_RADL);
+ assert_equals_int (nalu.offset, 4);
+ assert_equals_int (nalu.size, nal_size);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_BROKEN_DATA);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 2);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_BROKEN_DATA);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 3);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_BROKEN_DATA);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 4);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_NO_NAL_END);
+
+ GST_WRITE_UINT32_BE (buf, G_MAXUINT32 - 6);
+ res = gst_h265_parser_identify_nalu_hevc (parser, buf, 0, buf_size, 4, &nalu);
+
+ assert_equals_int (res, GST_H265_PARSER_NO_NAL_END);
+
+ g_free (buf);
+ gst_h265_parser_free (parser);
+}
+
+GST_END_TEST;
+
GST_START_TEST (test_h265_base_profiles)
{
GstH265ProfileTierLevel ptl;
@@ -1101,6 +1160,7 @@ h265parser_suite (void)
tcase_add_test (tc_chain, test_h265_parse_slice_eos_slice_eob);
tcase_add_test (tc_chain, test_h265_parse_pic_timing);
tcase_add_test (tc_chain, test_h265_parse_slice_6bytes);
+ tcase_add_test (tc_chain, test_h265_parse_identify_nalu_hevc);
tcase_add_test (tc_chain, test_h265_base_profiles);
tcase_add_test (tc_chain, test_h265_base_profiles_compat);
tcase_add_test (tc_chain, test_h265_format_range_profiles_exact_match);
--
2.31.1

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