Merge branch 'master' into staging.
This commit is contained in:
		
						commit
						49b350fafc
					
				
					 401 changed files with 271960 additions and 237919 deletions
				
			
		| 
						 | 
				
			
			@ -52,6 +52,7 @@
 | 
			
		|||
   (eval . (put 'test-equal 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'test-eq 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'call-with-input-string 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'call-with-port 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'guard 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'lambda* 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'substitute* 'scheme-indent-function 1))
 | 
			
		||||
| 
						 | 
				
			
			@ -148,6 +149,8 @@
 | 
			
		|||
 | 
			
		||||
   (eval . (put 'with-shepherd-action 'scheme-indent-function 3))
 | 
			
		||||
 | 
			
		||||
   (eval . (put 'with-http-server 'scheme-indent-function 1))
 | 
			
		||||
 | 
			
		||||
   ;; This notably allows '(' in Paredit to not insert a space when the
 | 
			
		||||
   ;; preceding symbol is one of these.
 | 
			
		||||
   (eval . (modify-syntax-entry ?~ "'"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										149
									
								
								CODE-OF-CONDUCT
									
										
									
									
									
								
							
							
						
						
									
										149
									
								
								CODE-OF-CONDUCT
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,78 +1,103 @@
 | 
			
		|||
Important: to avoid polarizing/hurtful discussions in our public spaces, any
 | 
			
		||||
matter pertaining to our use of this Code of Conduct should be brought
 | 
			
		||||
privately to the Guix maintainers at guix-maintainers@gnu.org.  Failure to do
 | 
			
		||||
so will be considered as a violation of this Code of Conduct.
 | 
			
		||||
 | 
			
		||||
Contributor Covenant Code of Conduct
 | 
			
		||||
 | 
			
		||||
  Note: In the sequel, "project" refers to GNU Guix, and "project
 | 
			
		||||
  maintainer(s)" refers to maintainer(s) of GNU Guix.
 | 
			
		||||
 | 
			
		||||
Our Pledge
 | 
			
		||||
 | 
			
		||||
In the interest of fostering an open and welcoming environment, we as
 | 
			
		||||
contributors and maintainers pledge to making participation in our project and
 | 
			
		||||
our community a harassment-free experience for everyone, regardless of age, body
 | 
			
		||||
size, disability, ethnicity, gender identity and expression, level of experience,
 | 
			
		||||
education, socio-economic status, nationality, personal appearance, race,
 | 
			
		||||
religion, or sexual identity and orientation.
 | 
			
		||||
 | 
			
		||||
We as members, contributors, and leaders pledge to make participation in our
 | 
			
		||||
community a harassment-free experience for everyone, regardless of age, body
 | 
			
		||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
 | 
			
		||||
identity and expression, level of experience, education, socio-economic status,
 | 
			
		||||
nationality, personal appearance, race, caste, color, religion, or sexual
 | 
			
		||||
identity and orientation.
 | 
			
		||||
We pledge to act and interact in ways that contribute to an open, welcoming,
 | 
			
		||||
diverse, inclusive, and healthy community.
 | 
			
		||||
Our Standards
 | 
			
		||||
Examples of behavior that contributes to a positive environment for our
 | 
			
		||||
community include:
 | 
			
		||||
 | 
			
		||||
Examples of behavior that contributes to creating a positive environment
 | 
			
		||||
include:
 | 
			
		||||
* Demonstrating empathy and kindness toward other people
 | 
			
		||||
* Being respectful of differing opinions, viewpoints, and experiences
 | 
			
		||||
* Giving and gracefully accepting constructive feedback
 | 
			
		||||
* Accepting responsibility and apologizing to those affected by our mistakes,
 | 
			
		||||
and learning from the experience
 | 
			
		||||
* Focusing on what is best not just for us as individuals, but for the overall
 | 
			
		||||
community
 | 
			
		||||
 | 
			
		||||
Examples of unacceptable behavior include:
 | 
			
		||||
 | 
			
		||||
* Using welcoming and inclusive language
 | 
			
		||||
* Being respectful of differing viewpoints and experiences
 | 
			
		||||
* Gracefully accepting constructive criticism
 | 
			
		||||
* Focusing on what is best for the community
 | 
			
		||||
* Showing empathy towards other community members
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Examples of unacceptable behavior by participants include:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
* The use of sexualized language or imagery and unwelcome sexual attention or
 | 
			
		||||
advances
 | 
			
		||||
* Trolling, insulting/derogatory comments, and personal or political attacks
 | 
			
		||||
* The use of sexualized language or imagery, and sexual attention or advances of
 | 
			
		||||
any kind
 | 
			
		||||
* Trolling, insulting or derogatory comments, and personal or political attacks
 | 
			
		||||
* Public or private harassment
 | 
			
		||||
* Publishing others’ private information, such as a physical or electronic
 | 
			
		||||
address, without explicit permission
 | 
			
		||||
* Publishing others’ private information, such as a physical or email address,
 | 
			
		||||
without their explicit permission
 | 
			
		||||
* Other conduct which could reasonably be considered inappropriate in a
 | 
			
		||||
professional setting
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Our Responsibilities
 | 
			
		||||
 | 
			
		||||
Project maintainers are responsible for clarifying the standards of acceptable
 | 
			
		||||
behavior and are expected to take appropriate and fair corrective action in
 | 
			
		||||
response to any instances of unacceptable behavior.
 | 
			
		||||
 | 
			
		||||
Project maintainers have the right and responsibility to remove, edit, or
 | 
			
		||||
reject comments, commits, code, wiki edits, issues, and other contributions
 | 
			
		||||
that are not aligned to this Code of Conduct, or to ban temporarily or
 | 
			
		||||
permanently any contributor for other behaviors that they deem inappropriate,
 | 
			
		||||
threatening, offensive, or harmful.
 | 
			
		||||
 | 
			
		||||
Enforcement Responsibilities
 | 
			
		||||
Community leaders are responsible for clarifying and enforcing our standards of
 | 
			
		||||
acceptable behavior and will take appropriate and fair corrective action in
 | 
			
		||||
response to any behavior that they deem inappropriate, threatening, offensive,
 | 
			
		||||
or harmful.
 | 
			
		||||
Community leaders have the right and responsibility to remove, edit, or reject
 | 
			
		||||
comments, commits, code, wiki edits, issues, and other contributions that are
 | 
			
		||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
 | 
			
		||||
decisions when appropriate.
 | 
			
		||||
Scope
 | 
			
		||||
 | 
			
		||||
This Code of Conduct applies both within project spaces and in public spaces
 | 
			
		||||
when an individual is representing the project or its community. Examples of
 | 
			
		||||
representing a project or community include using an official project e-mail
 | 
			
		||||
address, posting via an official social media account, or acting as an appointed
 | 
			
		||||
representative at an online or offline event. Representation of a project may be
 | 
			
		||||
further defined and clarified by project maintainers.
 | 
			
		||||
 | 
			
		||||
This Code of Conduct applies within all community spaces, and also applies when
 | 
			
		||||
an individual is officially representing the community in public spaces.
 | 
			
		||||
Examples of representing our community include using an official e-mail address,
 | 
			
		||||
posting via an official social media account, or acting as an appointed
 | 
			
		||||
representative at an online or offline event.
 | 
			
		||||
Enforcement
 | 
			
		||||
 | 
			
		||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
 | 
			
		||||
reported by contacting the project team at guix-maintainers@gnu.org. All
 | 
			
		||||
complaints will be reviewed and investigated and will result in a response that
 | 
			
		||||
is deemed necessary and appropriate to the circumstances. The project team is
 | 
			
		||||
obligated to maintain confidentiality with regard to the reporter of an incident.
 | 
			
		||||
Further details of specific enforcement policies may be posted separately.
 | 
			
		||||
 | 
			
		||||
Project maintainers who do not follow or enforce the Code of Conduct in good
 | 
			
		||||
faith may face temporary or permanent repercussions as determined by other
 | 
			
		||||
members of the project’s leadership.
 | 
			
		||||
 | 
			
		||||
reported to the community leaders responsible for enforcement at
 | 
			
		||||
guix-maintainers@gnu.org.
 | 
			
		||||
All complaints will be reviewed and investigated promptly and fairly.
 | 
			
		||||
All community leaders are obligated to respect the privacy and security of the
 | 
			
		||||
reporter of any incident.
 | 
			
		||||
Enforcement Guidelines
 | 
			
		||||
Community leaders will follow these Community Impact Guidelines in determining
 | 
			
		||||
the consequences for any action they deem in violation of this Code of Conduct:
 | 
			
		||||
1. Correction
 | 
			
		||||
Community Impact: Use of inappropriate language or other behavior deemed
 | 
			
		||||
unprofessional or unwelcome in the community.
 | 
			
		||||
Consequence: A private, written warning from community leaders, providing
 | 
			
		||||
clarity around the nature of the violation and an explanation of why the
 | 
			
		||||
behavior was inappropriate. A public apology may be requested.
 | 
			
		||||
2. Warning
 | 
			
		||||
Community Impact: A violation through a single incident or series of
 | 
			
		||||
actions.
 | 
			
		||||
Consequence: A warning with consequences for continued behavior. No
 | 
			
		||||
interaction with the people involved, including unsolicited interaction with
 | 
			
		||||
those enforcing the Code of Conduct, for a specified period of time. This
 | 
			
		||||
includes avoiding interactions in community spaces as well as external channels
 | 
			
		||||
like social media. Violating these terms may lead to a temporary or permanent
 | 
			
		||||
ban.
 | 
			
		||||
3. Temporary Ban
 | 
			
		||||
Community Impact: A serious violation of community standards, including
 | 
			
		||||
sustained inappropriate behavior.
 | 
			
		||||
Consequence: A temporary ban from any sort of interaction or public
 | 
			
		||||
communication with the community for a specified period of time. No public or
 | 
			
		||||
private interaction with the people involved, including unsolicited interaction
 | 
			
		||||
with those enforcing the Code of Conduct, is allowed during this period.
 | 
			
		||||
Violating these terms may lead to a permanent ban.
 | 
			
		||||
4. Permanent Ban
 | 
			
		||||
Community Impact: Demonstrating a pattern of violation of community
 | 
			
		||||
standards, including sustained inappropriate behavior, harassment of an
 | 
			
		||||
individual, or aggression toward or disparagement of classes of individuals.
 | 
			
		||||
Consequence: A permanent ban from any sort of public interaction within the
 | 
			
		||||
community.
 | 
			
		||||
Attribution
 | 
			
		||||
This Code of Conduct is adapted from the Contributor Covenant,
 | 
			
		||||
version 2.1, available at
 | 
			
		||||
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
 | 
			
		||||
Community Impact Guidelines were inspired by
 | 
			
		||||
Mozilla’s code of conduct enforcement ladder.
 | 
			
		||||
For answers to common questions about this code of conduct, see the FAQ at
 | 
			
		||||
https://www.contributor-covenant.org/faq. Translations are available at
 | 
			
		||||
https://www.contributor-covenant.org/translations.
 | 
			
		||||
 | 
			
		||||
This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
 | 
			
		||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# GNU Guix --- Functional package management for GNU
 | 
			
		||||
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
# Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
 | 
			
		||||
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
 | 
			
		||||
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
 | 
			
		||||
| 
						 | 
				
			
			@ -486,6 +486,7 @@ SCM_TESTS =					\
 | 
			
		|||
  tests/gremlin.scm				\
 | 
			
		||||
  tests/hackage.scm				\
 | 
			
		||||
  tests/home-import.scm				\
 | 
			
		||||
  tests/http-client.scm				\
 | 
			
		||||
  tests/import-git.scm				\
 | 
			
		||||
  tests/import-github.scm			\
 | 
			
		||||
  tests/import-utils.scm			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1026,10 +1027,12 @@ assert-no-store-file-names:
 | 
			
		|||
	  exit 1 ;								\
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
# Make sure important substitutes are available.
 | 
			
		||||
# Make sure important substitutes are available.  Check only the primary
 | 
			
		||||
# server so that '--display-missing' doesn't print two lists.
 | 
			
		||||
assert-binaries-available: $(GOBJECTS)
 | 
			
		||||
	$(AM_V_at)$(top_builddir)/pre-inst-env				\
 | 
			
		||||
	  guix weather -m "$(top_srcdir)/etc/release-manifest.scm"	\
 | 
			
		||||
	                --substitute-urls="https://ci.guix.gnu.org"	\
 | 
			
		||||
	                --display-missing
 | 
			
		||||
 | 
			
		||||
# Make sure the final inputs don't refer to bootstrap tools.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,7 +65,7 @@
 | 
			
		|||
(define %languages
 | 
			
		||||
  ;; The cookbook is not translated in the same languages as the manual
 | 
			
		||||
  (if (string=? %manual "guix-cookbook")
 | 
			
		||||
      '("de" "en" "fr")
 | 
			
		||||
      '("de" "en" "fr" "sk")
 | 
			
		||||
      '("de" "en" "es" "fr" "ru" "zh_CN")))
 | 
			
		||||
 | 
			
		||||
(define (texinfo-manual-images source)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -98,8 +98,14 @@ shell}:
 | 
			
		|||
guix shell -D guix help2man git strace --pure
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
Run @command{./bootstrap} to generate the build system infrastructure
 | 
			
		||||
using Autoconf and Automake.  If you get an error like this one:
 | 
			
		||||
From there you can generate the build system infrastructure
 | 
			
		||||
using Autoconf and Automake:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
./bootstrap
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
If you get an error like this one:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
 | 
			
		||||
| 
						 | 
				
			
			@ -120,17 +126,30 @@ export ACLOCAL_PATH=/usr/share/aclocal
 | 
			
		|||
@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for
 | 
			
		||||
more information.
 | 
			
		||||
 | 
			
		||||
Then, run @command{./configure --localstatedir=@var{directory}}, where
 | 
			
		||||
@var{directory} is the @code{localstatedir} value used by your current
 | 
			
		||||
installation (@pxref{The Store}, for information about this), usually
 | 
			
		||||
@file{/var}.  Note that you will probably not run @command{make install}
 | 
			
		||||
at the end (you don't have to) but it's still important to pass the
 | 
			
		||||
right @code{localstatedir}.
 | 
			
		||||
Then, run:
 | 
			
		||||
 | 
			
		||||
Finally, you have to invoke @code{make && make check} to build Guix and
 | 
			
		||||
run the tests (@pxref{Running the Test Suite}).  If anything fails, take
 | 
			
		||||
a look at installation instructions (@pxref{Installation}) or send a
 | 
			
		||||
message to the @email{guix-devel@@gnu.org, mailing list}.
 | 
			
		||||
@example
 | 
			
		||||
./configure --localstatedir=/var
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@noindent
 | 
			
		||||
... where @file{/var} is the normal @code{localstatedir} value
 | 
			
		||||
(@pxref{The Store}, for information about this).  Note that you will
 | 
			
		||||
probably not run @command{make install} at the end (you don't have to)
 | 
			
		||||
but it's still important to pass the right @code{localstatedir}.
 | 
			
		||||
 | 
			
		||||
Finally, you can build Guix and, if you feel so inclined, run the tests
 | 
			
		||||
(@pxref{Running the Test Suite}):
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
make
 | 
			
		||||
make check
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@noindent
 | 
			
		||||
If anything fails, take a look at installation instructions
 | 
			
		||||
(@pxref{Installation}) or send a message to the
 | 
			
		||||
@email{guix-devel@@gnu.org, mailing list}.
 | 
			
		||||
 | 
			
		||||
From there on, you can authenticate all the commits included in your
 | 
			
		||||
checkout by running:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,9 @@
 | 
			
		|||
@settitle GNU Guix Cookbook
 | 
			
		||||
@c %**end of header
 | 
			
		||||
 | 
			
		||||
@c Onion service for ci.guix.gnu.org.
 | 
			
		||||
@set SUBSTITUTE-TOR-URL https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion
 | 
			
		||||
 | 
			
		||||
@copying
 | 
			
		||||
Copyright @copyright{} 2019 Ricardo Wurmus@*
 | 
			
		||||
Copyright @copyright{} 2019 Efraim Flashner@*
 | 
			
		||||
| 
						 | 
				
			
			@ -2354,7 +2357,8 @@ follow:
 | 
			
		|||
          config => (guix-configuration
 | 
			
		||||
                      (inherit config)
 | 
			
		||||
                      ;; ci.guix.gnu.org's Onion service
 | 
			
		||||
                      (substitute-urls "https://bp7o7ckwlewr4slm.onion")
 | 
			
		||||
                      (substitute-urls
 | 
			
		||||
                       "@value{SUBSTITUTE-TOR-URL}")
 | 
			
		||||
                      (http-proxy "http://localhost:9250")))))))
 | 
			
		||||
@end lisp
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2372,7 +2376,8 @@ want to get a substitute from the Tor tunnel run:
 | 
			
		|||
 | 
			
		||||
@example
 | 
			
		||||
sudo herd set-http-proxy guix-daemon http://localhost:9250
 | 
			
		||||
guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion …
 | 
			
		||||
guix build \
 | 
			
		||||
  --substitute-urls=@value{SUBSTITUTE-TOR-URL} @dots{}
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@node Setting up NGINX with Lua
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										954
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										954
									
								
								doc/guix.texi
									
										
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -23,7 +23,7 @@
 | 
			
		|||
 | 
			
		||||
# If adding a language, update the following variables, and info_TEXINFOS.
 | 
			
		||||
MANUAL_LANGUAGES = de es fa fi fr it ko pt_BR ru sk zh_CN
 | 
			
		||||
COOKBOOK_LANGUAGES = de es fa fi fr ko pt_BR ru sk zh_Hans
 | 
			
		||||
COOKBOOK_LANGUAGES = de es fa fi fr ko pt_BR ru sk uk zh_Hans
 | 
			
		||||
 | 
			
		||||
# Arg1: A list of languages codes.
 | 
			
		||||
# Arg2: The file name stem.
 | 
			
		||||
| 
						 | 
				
			
			@ -53,6 +53,7 @@ info_TEXINFOS = %D%/guix.texi			\
 | 
			
		|||
  %D%/guix-cookbook.pt_BR.texi			\
 | 
			
		||||
  %D%/guix-cookbook.ru.texi			\
 | 
			
		||||
  %D%/guix-cookbook.sk.texi			\
 | 
			
		||||
  %D%/guix-cookbook.uk.texi			\
 | 
			
		||||
  %D%/guix-cookbook.zh_Hans.texi
 | 
			
		||||
 | 
			
		||||
%C%_guix_TEXINFOS = \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										75
									
								
								etc/news.scm
									
										
									
									
									
								
							
							
						
						
									
										75
									
								
								etc/news.scm
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -25,6 +25,81 @@
 | 
			
		|||
(channel-news
 | 
			
		||||
 (version 0)
 | 
			
		||||
 | 
			
		||||
 (entry (commit "094a2cfbe45c104d0da30ff9d975d052ca0c118c")
 | 
			
		||||
        (title
 | 
			
		||||
         (en "New @command{guix home container} command")
 | 
			
		||||
         (de "Neuer Befehl @command{guix home container}")
 | 
			
		||||
         (fr "Nouvelle commande @command{guix home container}"))
 | 
			
		||||
        (body
 | 
			
		||||
         (en "The new @command{guix home} tool, which lets you to manage
 | 
			
		||||
entire \"home environments\" in a declarative fashion, has gained a
 | 
			
		||||
@command{container} sub-command.  The new @command{guix home container}
 | 
			
		||||
command allows you to test your configuration in an isolated @dfn{container},
 | 
			
		||||
without touching your home directory:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
guix home container config.scm
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
This provides a simple and safe way to test your configuration before
 | 
			
		||||
deploying it with @command{guix home reconfigure}.  Run @code{info \"(guix)
 | 
			
		||||
Invoking guix home\"} for more information.")
 | 
			
		||||
         (de "Das neue Werkzeug @command{guix home}, womit Sie vollständige
 | 
			
		||||
„Persönliche Umgebungen“ deklarativ verwalten können, hat einen neuen
 | 
			
		||||
Unterbefehl @command{container} hinzubekommen.  Mit dem neuen Befehl
 | 
			
		||||
@command{guix home container} können Sie Ihre Konfiguration in einem isolierten
 | 
			
		||||
@dfn{Container} ausprobieren, ohne Ihr Persönliches Verzeichnis anzutasten.
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
guix home container config.scm
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
So ist es ein Leichtes, Ihre Konfiguration in einer sicheren Umgebung zu testen,
 | 
			
		||||
bevor Sie mit @command{guix home reconfigure} auf sie umsteigen.  Führen Sie
 | 
			
		||||
@code{info \"(guix.de) Aufruf von guix home\"} aus, um mehr zu erfahren.")
 | 
			
		||||
         (fr "La nouvelle commande @command{guix home}, qui sert à gérer son
 | 
			
		||||
« environnement d'accueil » de manière déclarative, dispose maintenant d'une
 | 
			
		||||
sous-commande @command{container}.  La nouvelle commande @command{guix home
 | 
			
		||||
container} permet de tester sa configuration dans un @dfn{conteneur} isolé,
 | 
			
		||||
sans toucher à son répertoire d'accueil :
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
guix home container config.scm
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
C'est un moyen simple et sûr de tester sa configuration avant de la déployer
 | 
			
		||||
avec @command{guix home reconfigure}.  Lancer @code{info \"(guix.fr) Invoquer
 | 
			
		||||
guix home\"} pour plus d'informations.")))
 | 
			
		||||
 | 
			
		||||
 (entry (commit "f1d18adbed39a3bacae93be29346fd4c86b480ef")
 | 
			
		||||
        (title
 | 
			
		||||
         (en "More compact @samp{guix pull --news}")
 | 
			
		||||
         (de "@samp{guix pull --news} wird knapper")
 | 
			
		||||
         (nl "Meer beknopte @samp{guix pull --news}"))
 | 
			
		||||
        (body
 | 
			
		||||
         (en "The output of @samp{guix pull --news} has been shortened to
 | 
			
		||||
display only fresh news items such as this one.  It no longer includes the
 | 
			
		||||
partial selection of new and updated packages, which was often long enough to
 | 
			
		||||
be distracting whilst being too short to be useful.
 | 
			
		||||
 | 
			
		||||
The complete list of new and updated packages can now be obtained separately
 | 
			
		||||
using @samp{guix pull --news --details}.")
 | 
			
		||||
         (de "Die Ausgabe von @samp{guix pull --news} wurde gekürzt
 | 
			
		||||
und informiert nur mehr über ungezeigte Neuigkeiten wie diese. Es
 | 
			
		||||
fehlt der unvollständige Bericht über neue und aktualisierte Pakete,
 | 
			
		||||
der oft so lang war, dass er gestört hat, doch zu kurz war, um
 | 
			
		||||
nützlich zu sein.
 | 
			
		||||
 | 
			
		||||
Die vollständige Liste neuer und aktualisierter Pakete bekommen Sie
 | 
			
		||||
jetzt mit @samp{guix pull --news --details}.")
 | 
			
		||||
         (nl "De uitvoer van @samp{guix pull --news} is vanaf nu beperkt tot
 | 
			
		||||
verse nieuwsberichten zoals dit, zonder de onvolledige bloemlezing van nieuwe
 | 
			
		||||
en bijgewerkte pakketten.  Die was vaak lang genoeg om de lezer af te leiden
 | 
			
		||||
maar te kort om nuttig te zijn.
 | 
			
		||||
 | 
			
		||||
De volledige list van nieuwe en bijgewerkte pakketten is nu afzonderlijk
 | 
			
		||||
beschikbaar met @samp{guix pull --news --details}.")))
 | 
			
		||||
 | 
			
		||||
 (entry (commit "96d7535b030c65b2d8cb0bea52c4bd96cbdefaf0")
 | 
			
		||||
        (title
 | 
			
		||||
         (en "ci.guix.gnu.org to stop offering Gzip substitutes")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -389,8 +389,8 @@ improvement."
 | 
			
		|||
  "/run/current-system")
 | 
			
		||||
 | 
			
		||||
(define (boot-time-system)
 | 
			
		||||
  "Return the '--system' argument passed on the kernel command line."
 | 
			
		||||
  (find-long-option "--system" (if (string-contains %host-type "linux-gnu")
 | 
			
		||||
  "Return the 'gnu.system' argument passed on the kernel command line."
 | 
			
		||||
  (find-long-option "gnu.system" (if (string-contains %host-type "linux-gnu")
 | 
			
		||||
                                   (linux-command-line)
 | 
			
		||||
                                   (command-line))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -254,7 +254,7 @@ set."
 | 
			
		|||
  "This procedure is meant to be called from an early RC script.
 | 
			
		||||
 | 
			
		||||
Install the relevant passive translators on the first boot.  Then, run system
 | 
			
		||||
activation by using the kernel command-line options '--system' and '--load';
 | 
			
		||||
activation by using the kernel command-line options 'gnu.system' and 'gnu.load';
 | 
			
		||||
starting the Shepherd.
 | 
			
		||||
 | 
			
		||||
XXX TODO: see linux-boot.scm:boot-system.
 | 
			
		||||
| 
						 | 
				
			
			@ -265,14 +265,14 @@ XXX TODO: use Linux xattr/setxattr to remove (settrans in) /libexec/RUNSYSTEM
 | 
			
		|||
"
 | 
			
		||||
 | 
			
		||||
  (display "Welcome, this is GNU's early boot Guile.\n")
 | 
			
		||||
  (display "Use '--repl' for an initrd REPL.\n\n")
 | 
			
		||||
  (display "Use 'gnu.repl' for an initrd REPL.\n\n")
 | 
			
		||||
 | 
			
		||||
  (call-with-error-handling
 | 
			
		||||
   (lambda ()
 | 
			
		||||
 | 
			
		||||
     (let* ((args    (command-line))
 | 
			
		||||
            (system  (find-long-option "--system" args))
 | 
			
		||||
            (to-load (find-long-option "--load" args)))
 | 
			
		||||
            (system  (find-long-option "gnu.system" args))
 | 
			
		||||
            (to-load (find-long-option "gnu.load" args)))
 | 
			
		||||
 | 
			
		||||
       (format #t "Setting-up essential translators...\n")
 | 
			
		||||
       (setenv "PATH" (string-append system "/profile/bin"))
 | 
			
		||||
| 
						 | 
				
			
			@ -286,7 +286,7 @@ XXX TODO: use Linux xattr/setxattr to remove (settrans in) /libexec/RUNSYSTEM
 | 
			
		|||
       (unless (zero? (system* "/hurd/mach-defpager"))
 | 
			
		||||
         (format #t "FAILED...Good luck!\n"))
 | 
			
		||||
 | 
			
		||||
       (cond ((member "--repl" args)
 | 
			
		||||
       (cond ((member "gnu.repl" args)
 | 
			
		||||
              (format #t "Starting repl...\n")
 | 
			
		||||
              (start-repl))
 | 
			
		||||
             (to-load
 | 
			
		||||
| 
						 | 
				
			
			@ -298,7 +298,7 @@ XXX TODO: use Linux xattr/setxattr to remove (settrans in) /libexec/RUNSYSTEM
 | 
			
		|||
              (sleep 2)
 | 
			
		||||
              (reboot))
 | 
			
		||||
             (else
 | 
			
		||||
              (display "no boot file passed via '--load'\n")
 | 
			
		||||
              (display "no boot file passed via 'gnu.load'\n")
 | 
			
		||||
              (display "entering a warm and cozy REPL\n")
 | 
			
		||||
              (start-repl)))))
 | 
			
		||||
   #:on-error on-error))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
;;; Copyright © 2016, 2017, 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
			
		||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +94,7 @@
 | 
			
		|||
     get-string-all)))
 | 
			
		||||
 | 
			
		||||
(define (find-long-option option arguments)
 | 
			
		||||
  "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
 | 
			
		||||
  "Find OPTION among ARGUMENTS, where OPTION is something like \"gnu.load\".
 | 
			
		||||
Return the value associated with OPTION, or #f on failure."
 | 
			
		||||
  (let ((opt (string-append option "=")))
 | 
			
		||||
    (and=> (find (cut string-prefix? opt <>)
 | 
			
		||||
| 
						 | 
				
			
			@ -499,10 +500,12 @@ LINUX-MODULE-DIRECTORY, then installing KEYMAP-FILE with 'loadkeys' (if
 | 
			
		|||
KEYMAP-FILE is true), then setting up QEMU guest networking if
 | 
			
		||||
QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
 | 
			
		||||
specified in MOUNTS, and finally booting into the new root if any.  The initrd
 | 
			
		||||
supports kernel command-line options '--load', '--root', and '--repl'.
 | 
			
		||||
supports the kernel command-line options 'gnu.load' and 'gnu.repl'.  It also
 | 
			
		||||
honors a subset of the Linux kernel command-line parameters such as
 | 
			
		||||
'fsck.mode', 'resume', 'rootdelay', rootflags and rootfstype.
 | 
			
		||||
 | 
			
		||||
Mount the root file system, specified by the '--root' command-line argument,
 | 
			
		||||
if any.
 | 
			
		||||
Mount the root file system, specified by the 'root' command-line argument, if
 | 
			
		||||
any.
 | 
			
		||||
 | 
			
		||||
MOUNTS must be a list of <file-system> objects.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -515,33 +518,50 @@ upon error."
 | 
			
		|||
    (string=? (file-system-mount-point fs) "/"))
 | 
			
		||||
 | 
			
		||||
  (define (device-string->file-system-device device-string)
 | 
			
		||||
    ;; The "--root=SPEC" kernel command-line option always provides a
 | 
			
		||||
    ;; string, but the string can represent a device, an nfs-root, a UUID, or a
 | 
			
		||||
    ;; label.  So check for all four.
 | 
			
		||||
    ;; The "root=SPEC" kernel command-line option always provides a string,
 | 
			
		||||
    ;; but the string can represent a device, an nfs-root, a UUID, or a label.
 | 
			
		||||
    ;; So check for all four.
 | 
			
		||||
    (cond ((string-prefix? "/" device-string) device-string)
 | 
			
		||||
          ((string-contains device-string ":/") device-string) ; nfs-root
 | 
			
		||||
          ((uuid device-string) => identity)
 | 
			
		||||
          (else (file-system-label device-string))))
 | 
			
		||||
 | 
			
		||||
  (display "Welcome, this is GNU's early boot Guile.\n")
 | 
			
		||||
  (display "Use '--repl' for an initrd REPL.\n\n")
 | 
			
		||||
  (display "Use 'gnu.repl' for an initrd REPL.\n\n")
 | 
			
		||||
 | 
			
		||||
  (call-with-error-handling
 | 
			
		||||
    (lambda ()
 | 
			
		||||
      (mount-essential-file-systems)
 | 
			
		||||
      (let* ((args    (linux-command-line))
 | 
			
		||||
             (to-load (find-long-option "--load" args))
 | 
			
		||||
             ;; If present, ‘--root’ on the kernel command line takes precedence
 | 
			
		||||
             (to-load (find-long-option "gnu.load" args))
 | 
			
		||||
             ;; If present, ‘root’ on the kernel command line takes precedence
 | 
			
		||||
             ;; over the ‘device’ field of the root <file-system> record.
 | 
			
		||||
             (root-device (and=> (find-long-option "--root" args)
 | 
			
		||||
             (root-device (and=> (find-long-option "root" args)
 | 
			
		||||
                                 device-string->file-system-device))
 | 
			
		||||
             (root-fs (or (find root-mount-point? mounts)
 | 
			
		||||
                          ;; Fall back to fictitious defaults.
 | 
			
		||||
                          (file-system (device (or root-device "/dev/root"))
 | 
			
		||||
                                       (mount-point "/")
 | 
			
		||||
                                       (type "ext4"))))
 | 
			
		||||
             (rootfstype  (find-long-option "rootfstype" args))
 | 
			
		||||
             (rootflags   (find-long-option "rootflags" args))
 | 
			
		||||
             (root-fs*    (find root-mount-point? mounts))
 | 
			
		||||
             (fsck.mode (find-long-option "fsck.mode" args)))
 | 
			
		||||
 | 
			
		||||
        (unless (or root-fs* (and root-device rootfstype))
 | 
			
		||||
          (error "no root file system or 'root' and 'rootfstype' parameters"))
 | 
			
		||||
 | 
			
		||||
        ;; If present, ‘root’ on the kernel command line takes precedence over
 | 
			
		||||
        ;; the ‘device’ field of the root <file-system> record; likewise for
 | 
			
		||||
        ;; the 'rootfstype' and 'rootflags' arguments.
 | 
			
		||||
        (define root-fs
 | 
			
		||||
          (if root-fs*
 | 
			
		||||
              (file-system
 | 
			
		||||
                (inherit root-fs*)
 | 
			
		||||
                (device (or root-device (file-system-device root-fs*)))
 | 
			
		||||
                (type (or rootfstype (file-system-type root-fs*)))
 | 
			
		||||
                (options (or rootflags (file-system-options root-fs*))))
 | 
			
		||||
              (file-system
 | 
			
		||||
                (device root-device)
 | 
			
		||||
                (mount-point "/")
 | 
			
		||||
                (type rootfstype)
 | 
			
		||||
                (options rootflags))))
 | 
			
		||||
 | 
			
		||||
        (define (check? fs)
 | 
			
		||||
          (match fsck.mode
 | 
			
		||||
            ("skip"  #f)
 | 
			
		||||
| 
						 | 
				
			
			@ -562,7 +582,7 @@ upon error."
 | 
			
		|||
                  (_ 'preen))
 | 
			
		||||
                (file-system-repair fs))))
 | 
			
		||||
 | 
			
		||||
        (when (member "--repl" args)
 | 
			
		||||
        (when (member "gnu.repl" args)
 | 
			
		||||
          (start-repl))
 | 
			
		||||
 | 
			
		||||
        (display "loading kernel modules...\n")
 | 
			
		||||
| 
						 | 
				
			
			@ -596,9 +616,8 @@ upon error."
 | 
			
		|||
        (let ((root-delay (and=> (find-long-option "rootdelay" args)
 | 
			
		||||
                                 string->number)))
 | 
			
		||||
          (when root-delay
 | 
			
		||||
            (format #t
 | 
			
		||||
                    "Pausing for rootdelay=~a seconds before mounting the root file system...\n"
 | 
			
		||||
                    root-delay)
 | 
			
		||||
            (format #t "Pausing for rootdelay=~a seconds before mounting \
 | 
			
		||||
the root file system...\n" root-delay)
 | 
			
		||||
            (sleep root-delay)))
 | 
			
		||||
 | 
			
		||||
        ;; Prepare the real root file system under /root.
 | 
			
		||||
| 
						 | 
				
			
			@ -614,18 +633,18 @@ upon error."
 | 
			
		|||
 | 
			
		||||
        (setenv "EXT2FS_NO_MTAB_OK" "1")
 | 
			
		||||
 | 
			
		||||
        (if root-device
 | 
			
		||||
            (mount-root-file-system (canonicalize-device-spec root-device)
 | 
			
		||||
                                    (file-system-type root-fs)
 | 
			
		||||
                                    #:volatile-root? volatile-root?
 | 
			
		||||
                                    #:flags (mount-flags->bit-mask
 | 
			
		||||
                                             (file-system-flags root-fs))
 | 
			
		||||
                                    #:options (file-system-options root-fs)
 | 
			
		||||
                                    #:check? (check? root-fs)
 | 
			
		||||
                                    #:skip-check-if-clean?
 | 
			
		||||
                                    (skip-check-if-clean? root-fs)
 | 
			
		||||
                                    #:repair (repair root-fs))
 | 
			
		||||
            (mount "none" "/root" "tmpfs"))
 | 
			
		||||
        ;; Mount the root file system.
 | 
			
		||||
        (mount-root-file-system (canonicalize-device-spec
 | 
			
		||||
                                 (file-system-device root-fs))
 | 
			
		||||
                                (file-system-type root-fs)
 | 
			
		||||
                                #:volatile-root? volatile-root?
 | 
			
		||||
                                #:flags (mount-flags->bit-mask
 | 
			
		||||
                                         (file-system-flags root-fs))
 | 
			
		||||
                                #:options (file-system-options root-fs)
 | 
			
		||||
                                #:check? (check? root-fs)
 | 
			
		||||
                                #:skip-check-if-clean?
 | 
			
		||||
                                (skip-check-if-clean? root-fs)
 | 
			
		||||
                                #:repair (repair root-fs))
 | 
			
		||||
 | 
			
		||||
        ;; Mount the specified non-root file systems.
 | 
			
		||||
        (for-each (lambda (fs)
 | 
			
		||||
| 
						 | 
				
			
			@ -651,7 +670,7 @@ upon error."
 | 
			
		|||
              (sleep 2)
 | 
			
		||||
              (reboot))
 | 
			
		||||
            (begin
 | 
			
		||||
              (display "no boot file passed via '--load'\n")
 | 
			
		||||
              (display "no boot file passed via 'gnu.load'\n")
 | 
			
		||||
              (display "entering a warm and cozy REPL\n")
 | 
			
		||||
              (start-repl)))))
 | 
			
		||||
    #:on-error on-error))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,11 +38,15 @@
 | 
			
		|||
            home-profile-service-type
 | 
			
		||||
            home-environment-variables-service-type
 | 
			
		||||
            home-files-service-type
 | 
			
		||||
            home-xdg-configuration-files-service-type
 | 
			
		||||
            home-run-on-first-login-service-type
 | 
			
		||||
            home-activation-service-type
 | 
			
		||||
            home-run-on-change-service-type
 | 
			
		||||
            home-provenance-service-type
 | 
			
		||||
 | 
			
		||||
            home-files-directory
 | 
			
		||||
            xdg-configuration-files-directory
 | 
			
		||||
 | 
			
		||||
            fold-home-service-types
 | 
			
		||||
            home-provenance
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -74,12 +78,11 @@
 | 
			
		|||
;;; file (details described in the manual).
 | 
			
		||||
;;;
 | 
			
		||||
;;; home-files-service-type is similar to etc-service-type, but doesn't extend
 | 
			
		||||
;;; home-activation, because deploy mechanism for config files is pluggable and
 | 
			
		||||
;;; can be different for different home environments: The default one is called
 | 
			
		||||
;;; symlink-manager (will be introudced in a separate patch series), which creates
 | 
			
		||||
;;; links for various dotfiles (like $XDG_CONFIG_HOME/$APP/...) to store, but is
 | 
			
		||||
;;; possible to implement alternative approaches like read-only home from Julien's
 | 
			
		||||
;;; guix-home-manager.
 | 
			
		||||
;;; home-activation, because deploy mechanism for config files is pluggable
 | 
			
		||||
;;; and can be different for different home environments: The default one is
 | 
			
		||||
;;; called symlink-manager, which creates links for various dotfiles and xdg
 | 
			
		||||
;;; configuration files to store, but is possible to implement alternative
 | 
			
		||||
;;; approaches like read-only home from Julien's guix-home-manager.
 | 
			
		||||
;;;
 | 
			
		||||
;;; home-run-on-first-login-service-type provides an @file{on-first-login} guile
 | 
			
		||||
;;; script, which runs provided gexps once, when user makes first login.  It can
 | 
			
		||||
| 
						 | 
				
			
			@ -262,11 +265,14 @@ esac
 | 
			
		|||
 | 
			
		||||
  (file-union "files" files))
 | 
			
		||||
 | 
			
		||||
;; Used by symlink-manager
 | 
			
		||||
(define home-files-directory "files")
 | 
			
		||||
 | 
			
		||||
(define (files-entry files)
 | 
			
		||||
  "Return an entry for the @file{~/.guix-home/files}
 | 
			
		||||
directory containing FILES."
 | 
			
		||||
  (with-monad %store-monad
 | 
			
		||||
    (return `(("files" ,(files->files-directory files))))))
 | 
			
		||||
    (return `((,home-files-directory ,(files->files-directory files))))))
 | 
			
		||||
 | 
			
		||||
(define home-files-service-type
 | 
			
		||||
  (service-type (name 'home-files)
 | 
			
		||||
| 
						 | 
				
			
			@ -276,8 +282,29 @@ directory containing FILES."
 | 
			
		|||
                (compose concatenate)
 | 
			
		||||
                (extend append)
 | 
			
		||||
                (default-value '())
 | 
			
		||||
                (description "Configuration files for programs that
 | 
			
		||||
will be put in @file{~/.guix-home/files}.")))
 | 
			
		||||
                (description "Files that will be put in
 | 
			
		||||
@file{~~/.guix-home/files}, and further processed during activation.")))
 | 
			
		||||
 | 
			
		||||
(define xdg-configuration-files-directory "config")
 | 
			
		||||
 | 
			
		||||
(define (xdg-configuration-files files)
 | 
			
		||||
  "Add config/ prefix to each file-path in FILES."
 | 
			
		||||
  (map (match-lambda
 | 
			
		||||
         ((file-path . rest)
 | 
			
		||||
          (cons (string-append xdg-configuration-files-directory "/" file-path)
 | 
			
		||||
                rest)))
 | 
			
		||||
         files))
 | 
			
		||||
 | 
			
		||||
(define home-xdg-configuration-files-service-type
 | 
			
		||||
  (service-type (name 'home-files)
 | 
			
		||||
                (extensions
 | 
			
		||||
                 (list (service-extension home-files-service-type
 | 
			
		||||
                                          xdg-configuration-files)))
 | 
			
		||||
                (compose concatenate)
 | 
			
		||||
                (extend append)
 | 
			
		||||
                (default-value '())
 | 
			
		||||
                (description "Files that will be put in
 | 
			
		||||
@file{~~/.guix-home/files/config}, and further processed during activation.")))
 | 
			
		||||
 | 
			
		||||
(define %initialize-gettext
 | 
			
		||||
  #~(begin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@
 | 
			
		|||
;;; Code:
 | 
			
		||||
 | 
			
		||||
(define (add-fontconfig-config-file he-symlink-path)
 | 
			
		||||
  `(("config/fontconfig/fonts.conf"
 | 
			
		||||
  `(("fontconfig/fonts.conf"
 | 
			
		||||
     ,(mixed-text-file
 | 
			
		||||
       "fonts.conf"
 | 
			
		||||
       "<?xml version='1.0'?>
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +51,7 @@
 | 
			
		|||
  (service-type (name 'home-fontconfig)
 | 
			
		||||
                (extensions
 | 
			
		||||
                 (list (service-extension
 | 
			
		||||
                        home-files-service-type
 | 
			
		||||
                        home-xdg-configuration-files-service-type
 | 
			
		||||
                        add-fontconfig-config-file)
 | 
			
		||||
                       (service-extension
 | 
			
		||||
                        home-run-on-change-service-type
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -171,56 +171,27 @@ Used for executing user's commands at the exit of login shell.  It
 | 
			
		|||
won't be read in some cases (if the shell terminates by exec'ing
 | 
			
		||||
another process for example)."))
 | 
			
		||||
 | 
			
		||||
(define (add-zsh-configuration config)
 | 
			
		||||
  (let* ((xdg-flavor? (home-zsh-configuration-xdg-flavor? config)))
 | 
			
		||||
(define (zsh-filter-fields field)
 | 
			
		||||
  (filter-configuration-fields home-zsh-configuration-fields (list field)))
 | 
			
		||||
 | 
			
		||||
    (define prefix-file
 | 
			
		||||
      (cut string-append
 | 
			
		||||
        (if xdg-flavor?
 | 
			
		||||
            "config/zsh/."
 | 
			
		||||
            "") <>))
 | 
			
		||||
(define (zsh-serialize-field config field)
 | 
			
		||||
  (serialize-configuration config (zsh-filter-fields field)))
 | 
			
		||||
 | 
			
		||||
    (define (filter-fields field)
 | 
			
		||||
      (filter-configuration-fields home-zsh-configuration-fields
 | 
			
		||||
                                   (list field)))
 | 
			
		||||
(define* (zsh-field-not-empty? config field)
 | 
			
		||||
  (let ((file-name (symbol->string field))
 | 
			
		||||
        (field-obj (car (zsh-filter-fields field))))
 | 
			
		||||
    (not (null? ((configuration-field-getter field-obj) config)))))
 | 
			
		||||
 | 
			
		||||
    (define (serialize-field field)
 | 
			
		||||
      (serialize-configuration
 | 
			
		||||
       config
 | 
			
		||||
       (filter-fields field)))
 | 
			
		||||
(define (zsh-file-zshenv config)
 | 
			
		||||
  (mixed-text-file
 | 
			
		||||
   "zshenv"
 | 
			
		||||
   (zsh-serialize-field config 'zshenv)
 | 
			
		||||
   (zsh-serialize-field config 'environment-variables)))
 | 
			
		||||
 | 
			
		||||
    (define (file-if-not-empty field)
 | 
			
		||||
      (let ((file-name (symbol->string field))
 | 
			
		||||
            (field-obj (car (filter-fields field))))
 | 
			
		||||
        (if (not (null? ((configuration-field-getter field-obj) config)))
 | 
			
		||||
            `(,(prefix-file file-name)
 | 
			
		||||
              ,(mixed-text-file
 | 
			
		||||
                file-name
 | 
			
		||||
                (serialize-field field)))
 | 
			
		||||
            '())))
 | 
			
		||||
 | 
			
		||||
    (filter
 | 
			
		||||
     (compose not null?)
 | 
			
		||||
     `(,(if xdg-flavor?
 | 
			
		||||
            `("zshenv"
 | 
			
		||||
              ,(mixed-text-file
 | 
			
		||||
                "auxiliary-zshenv"
 | 
			
		||||
                (if xdg-flavor?
 | 
			
		||||
                    "source ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/.zshenv\n"
 | 
			
		||||
                    "")))
 | 
			
		||||
            '())
 | 
			
		||||
       (,(prefix-file "zshenv")
 | 
			
		||||
        ,(mixed-text-file
 | 
			
		||||
          "zshenv"
 | 
			
		||||
          (if xdg-flavor?
 | 
			
		||||
              "export ZDOTDIR=${XDG_CONFIG_HOME:-$HOME/.config}/zsh\n"
 | 
			
		||||
              "")
 | 
			
		||||
          (serialize-field 'zshenv)
 | 
			
		||||
          (serialize-field 'environment-variables)))
 | 
			
		||||
       (,(prefix-file "zprofile")
 | 
			
		||||
        ,(mixed-text-file
 | 
			
		||||
          "zprofile"
 | 
			
		||||
          "\
 | 
			
		||||
(define (zsh-file-zprofile config)
 | 
			
		||||
  (mixed-text-file
 | 
			
		||||
   "zprofile"
 | 
			
		||||
   "\
 | 
			
		||||
# Setups system and user profiles and related variables
 | 
			
		||||
source /etc/profile
 | 
			
		||||
# Setups home environment profile
 | 
			
		||||
| 
						 | 
				
			
			@ -229,11 +200,47 @@ source ~/.profile
 | 
			
		|||
# It's only necessary if zsh is a login shell, otherwise profiles will
 | 
			
		||||
# be already sourced by bash
 | 
			
		||||
"
 | 
			
		||||
          (serialize-field 'zprofile)))
 | 
			
		||||
   (zsh-serialize-field config 'zprofile)))
 | 
			
		||||
 | 
			
		||||
       ,@(list (file-if-not-empty 'zshrc)
 | 
			
		||||
               (file-if-not-empty 'zlogin)
 | 
			
		||||
               (file-if-not-empty 'zlogout))))))
 | 
			
		||||
(define (zsh-file-by-field config field)
 | 
			
		||||
  (match field
 | 
			
		||||
    ('zshenv (zsh-file-zshenv config))
 | 
			
		||||
    ('zprofile (zsh-file-zprofile config))
 | 
			
		||||
    (e (mixed-text-file
 | 
			
		||||
        (symbol->string field)
 | 
			
		||||
        (zsh-serialize-field config field)))))
 | 
			
		||||
 | 
			
		||||
(define (zsh-get-configuration-files config)
 | 
			
		||||
  `(("zprofile" ,(zsh-file-by-field config 'zprofile)) ;; Always non-empty
 | 
			
		||||
    ,@(if (and (zsh-field-not-empty? config 'zshenv)
 | 
			
		||||
               (zsh-field-not-empty? config 'environment-variables))
 | 
			
		||||
          `(("zshenv" ,(zsh-file-by-field config 'zshenv))) '())
 | 
			
		||||
    ,@(if (zsh-field-not-empty? config 'zshrc)
 | 
			
		||||
          `(("zshrc" ,(zsh-file-by-field config 'zshrc))) '())
 | 
			
		||||
    ,@(if (zsh-field-not-empty? config 'zlogin)
 | 
			
		||||
          `(("zlogin" ,(zsh-file-by-field config 'zlogin))) '())
 | 
			
		||||
    ,@(if (zsh-field-not-empty? config 'zlogout)
 | 
			
		||||
          `(("zlogout" ,(zsh-file-by-field config 'zlogout))) '())))
 | 
			
		||||
 | 
			
		||||
(define (zsh-home-files config)
 | 
			
		||||
  (define zshenv-auxiliary-file
 | 
			
		||||
    (mixed-text-file
 | 
			
		||||
     "zshenv-auxiliary"
 | 
			
		||||
     "export ZDOTDIR=${XDG_CONFIG_HOME:-$HOME/.config}/zsh\n"
 | 
			
		||||
     "[[ -f $ZDOTDIR/.zshenv ]] && source $ZDOTDIR/.zshenv\n"))
 | 
			
		||||
 | 
			
		||||
  (if (home-zsh-configuration-xdg-flavor? config)
 | 
			
		||||
      `(("zshenv" ,zshenv-auxiliary-file))
 | 
			
		||||
      (zsh-get-configuration-files config)))
 | 
			
		||||
 | 
			
		||||
(define (zsh-xdg-configuration-files config)
 | 
			
		||||
  (if (home-zsh-configuration-xdg-flavor? config)
 | 
			
		||||
      (map
 | 
			
		||||
       (lambda (lst)
 | 
			
		||||
         (cons (string-append "zsh/." (car lst))
 | 
			
		||||
               (cdr lst)))
 | 
			
		||||
       (zsh-get-configuration-files config))
 | 
			
		||||
      '()))
 | 
			
		||||
 | 
			
		||||
(define (add-zsh-packages config)
 | 
			
		||||
  (list (home-zsh-configuration-package config)))
 | 
			
		||||
| 
						 | 
				
			
			@ -291,7 +298,10 @@ source ~/.profile
 | 
			
		|||
                (extensions
 | 
			
		||||
                 (list (service-extension
 | 
			
		||||
                        home-files-service-type
 | 
			
		||||
                        add-zsh-configuration)
 | 
			
		||||
                        zsh-home-files)
 | 
			
		||||
                       (service-extension
 | 
			
		||||
                        home-xdg-configuration-files-service-type
 | 
			
		||||
                        zsh-xdg-configuration-files)
 | 
			
		||||
                       (service-extension
 | 
			
		||||
                        home-profile-service-type
 | 
			
		||||
                        add-zsh-packages)))
 | 
			
		||||
| 
						 | 
				
			
			@ -324,7 +334,7 @@ source ~/.profile
 | 
			
		|||
  (guix-defaults?
 | 
			
		||||
   (boolean #t)
 | 
			
		||||
   "Add sane defaults like reading @file{/etc/bashrc} and coloring the output of
 | 
			
		||||
@command{ls} to the end of the @file{.bashrc} file.")
 | 
			
		||||
@command{ls} to the top of the @file{.bashrc} file.")
 | 
			
		||||
  (environment-variables
 | 
			
		||||
   (alist '())
 | 
			
		||||
   "Association list of environment variables to set for the Bash session.  The
 | 
			
		||||
| 
						 | 
				
			
			@ -448,7 +458,7 @@ if [ -f ~/.bashrc ]; then source ~/.bashrc; fi
 | 
			
		|||
              'bashrc
 | 
			
		||||
              (if (home-bash-configuration-guix-defaults? config)
 | 
			
		||||
                  (list (serialize-field 'aliases) guix-bashrc)
 | 
			
		||||
                  (list (serialize-field 'alises))))
 | 
			
		||||
                  (list (serialize-field 'aliases))))
 | 
			
		||||
             (file-if-not-empty 'bash-logout)))))
 | 
			
		||||
 | 
			
		||||
(define (add-bash-packages config)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,12 +24,27 @@
 | 
			
		|||
  #:use-module (guix sets)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix records)
 | 
			
		||||
 | 
			
		||||
  #:use-module (srfi srfi-1)
 | 
			
		||||
 | 
			
		||||
  #:export (home-shepherd-service-type
 | 
			
		||||
            home-shepherd-configuration)
 | 
			
		||||
 | 
			
		||||
            home-shepherd-configuration
 | 
			
		||||
            home-shepherd-configuration?
 | 
			
		||||
            home-shepherd-configuration-shepherd
 | 
			
		||||
            home-shepherd-configuration-auto-start?
 | 
			
		||||
            home-shepherd-configuration-services)
 | 
			
		||||
  #:re-export (shepherd-service
 | 
			
		||||
               shepherd-service?
 | 
			
		||||
               shepherd-service-documentation
 | 
			
		||||
               shepherd-service-provision
 | 
			
		||||
               shepherd-service-canonical-name
 | 
			
		||||
               shepherd-service-requirement
 | 
			
		||||
               shepherd-service-one-shot?
 | 
			
		||||
               shepherd-service-respawn?
 | 
			
		||||
               shepherd-service-start
 | 
			
		||||
               shepherd-service-stop
 | 
			
		||||
               shepherd-service-auto-start?
 | 
			
		||||
               shepherd-service-modules
 | 
			
		||||
 | 
			
		||||
               shepherd-action))
 | 
			
		||||
 | 
			
		||||
(define-record-type* <home-shepherd-configuration>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
 | 
			
		||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
 | 
			
		||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -20,219 +21,199 @@
 | 
			
		|||
(define-module (gnu home services symlink-manager)
 | 
			
		||||
  #:use-module (gnu home services)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
 | 
			
		||||
  #:use-module (guix modules)
 | 
			
		||||
  #:export (home-symlink-manager-service-type))
 | 
			
		||||
 | 
			
		||||
;;; Comment:
 | 
			
		||||
;;;
 | 
			
		||||
;;; symlink-manager cares about configuration files: it backs up files
 | 
			
		||||
;;; created by user, removes symlinks and directories created by a
 | 
			
		||||
;;; previous generation, and creates new directories and symlinks to
 | 
			
		||||
;;; configuration files according to the content of files/ directory
 | 
			
		||||
;;; (created by home-files-service) of the current home environment
 | 
			
		||||
;;; generation.
 | 
			
		||||
;;; symlink-manager cares about xdg configurations and other files: it backs
 | 
			
		||||
;;; up files created by user, removes symlinks and directories created by a
 | 
			
		||||
;;; previous generation, and creates new directories and symlinks to files
 | 
			
		||||
;;; according to the content of directories (created by home-files-service) of
 | 
			
		||||
;;; the current home environment generation.
 | 
			
		||||
;;;
 | 
			
		||||
;;; Code:
 | 
			
		||||
 | 
			
		||||
(define (update-symlinks-script)
 | 
			
		||||
  (program-file
 | 
			
		||||
   "update-symlinks"
 | 
			
		||||
   #~(begin
 | 
			
		||||
       (use-modules (ice-9 ftw)
 | 
			
		||||
                    (ice-9 curried-definitions)
 | 
			
		||||
                    (ice-9 match)
 | 
			
		||||
                    (srfi srfi-1)
 | 
			
		||||
                    (guix i18n))
 | 
			
		||||
       #$%initialize-gettext
 | 
			
		||||
       (define ((simplify-file-tree parent) file)
 | 
			
		||||
         "Convert the result produced by `file-system-tree' to less
 | 
			
		||||
verbose and more suitable for further processing format.
 | 
			
		||||
   (with-imported-modules (source-module-closure
 | 
			
		||||
                           '((guix build utils)
 | 
			
		||||
                             (guix i18n)))
 | 
			
		||||
     #~(begin
 | 
			
		||||
         (use-modules (ice-9 ftw)
 | 
			
		||||
                      (ice-9 match)
 | 
			
		||||
                      (srfi srfi-1)
 | 
			
		||||
                      (guix i18n)
 | 
			
		||||
                      (guix build utils))
 | 
			
		||||
 | 
			
		||||
Extract dir/file info from stat and compose a relative path to the
 | 
			
		||||
root of the file tree.
 | 
			
		||||
         (define home-directory
 | 
			
		||||
           (getenv "HOME"))
 | 
			
		||||
 | 
			
		||||
Sample output:
 | 
			
		||||
         (define xdg-config-home
 | 
			
		||||
           (or (getenv "XDG_CONFIG_HOME")
 | 
			
		||||
               (string-append (getenv "HOME") "/.config")))
 | 
			
		||||
 | 
			
		||||
((dir . \".\")
 | 
			
		||||
 ((dir . \"config\")
 | 
			
		||||
  ((dir . \"config/fontconfig\")
 | 
			
		||||
   (file . \"config/fontconfig/fonts.conf\"))
 | 
			
		||||
  ((dir . \"config/isync\")
 | 
			
		||||
   (file . \"config/isync/mbsyncrc\"))))
 | 
			
		||||
"
 | 
			
		||||
         (match file
 | 
			
		||||
           ((name stat) `(file . ,(string-append parent name)))
 | 
			
		||||
           ((name stat children ...)
 | 
			
		||||
            (cons `(dir . ,(string-append parent name))
 | 
			
		||||
                  (map (simplify-file-tree
 | 
			
		||||
                        (if (equal? name ".")
 | 
			
		||||
                            ""
 | 
			
		||||
                            (string-append parent name "/")))
 | 
			
		||||
                       children)))))
 | 
			
		||||
         (define backup-directory
 | 
			
		||||
           (string-append home-directory "/" (number->string (current-time))
 | 
			
		||||
                          "-guix-home-legacy-configs-backup"))
 | 
			
		||||
 | 
			
		||||
       (define ((file-tree-traverse preordering) node)
 | 
			
		||||
         "Traverses the file tree in different orders, depending on PREORDERING.
 | 
			
		||||
         (define (preprocess-file file)
 | 
			
		||||
           "If file is in XDG-CONFIGURATION-FILES-DIRECTORY use
 | 
			
		||||
subdirectory from XDG_CONFIG_HOME to generate a target path."
 | 
			
		||||
           (if (string-prefix? #$xdg-configuration-files-directory file)
 | 
			
		||||
               (string-append
 | 
			
		||||
                (substring xdg-config-home
 | 
			
		||||
                           (1+ (string-length home-directory)))
 | 
			
		||||
                (substring file
 | 
			
		||||
                           (string-length #$xdg-configuration-files-directory)))
 | 
			
		||||
               (string-append "." file)))
 | 
			
		||||
 | 
			
		||||
if PREORDERING is @code{#t} resulting list will contain directories
 | 
			
		||||
before files located in those directories, otherwise directory will
 | 
			
		||||
appear only after all nested items already listed."
 | 
			
		||||
         (let ((prepend (lambda (a b) (append b a))))
 | 
			
		||||
           (match node
 | 
			
		||||
             (('file . path) (list node))
 | 
			
		||||
             ((('dir . path) . rest)
 | 
			
		||||
              ((if preordering append prepend)
 | 
			
		||||
               (list (cons 'dir path))
 | 
			
		||||
               (append-map (file-tree-traverse preordering) rest))))))
 | 
			
		||||
         (define (target-file file)
 | 
			
		||||
           ;; Return the target of FILE, a config file name sans leading dot
 | 
			
		||||
           ;; such as "config/fontconfig/fonts.conf" or "bashrc".
 | 
			
		||||
           (string-append home-directory "/" (preprocess-file file)))
 | 
			
		||||
 | 
			
		||||
       (use-modules (guix build utils))
 | 
			
		||||
         (define (symlink-to-store? file)
 | 
			
		||||
           (catch 'system-error
 | 
			
		||||
             (lambda ()
 | 
			
		||||
               (store-file-name? (readlink file)))
 | 
			
		||||
             (lambda args
 | 
			
		||||
               (if (= EINVAL (system-error-errno args))
 | 
			
		||||
                   #f
 | 
			
		||||
                   (apply throw args)))))
 | 
			
		||||
 | 
			
		||||
       (let* ((config-home    (or (getenv "XDG_CONFIG_HOME")
 | 
			
		||||
                                  (string-append (getenv "HOME") "/.config")))
 | 
			
		||||
         (define (backup-file file)
 | 
			
		||||
           (define backup
 | 
			
		||||
             (string-append backup-directory "/" (preprocess-file file)))
 | 
			
		||||
 | 
			
		||||
              (he-path (string-append (getenv "HOME") "/.guix-home"))
 | 
			
		||||
              (new-he-path (string-append he-path ".new"))
 | 
			
		||||
              (new-home (getenv "GUIX_NEW_HOME"))
 | 
			
		||||
              (old-home (getenv "GUIX_OLD_HOME"))
 | 
			
		||||
           (mkdir-p backup-directory)
 | 
			
		||||
           (format #t (G_ "Backing up ~a...") (target-file file))
 | 
			
		||||
           (mkdir-p (dirname backup))
 | 
			
		||||
           (rename-file (target-file file) backup)
 | 
			
		||||
           (display (G_ " done\n")))
 | 
			
		||||
 | 
			
		||||
              (new-files-path (string-append new-home "/files"))
 | 
			
		||||
              ;; Trailing dot is required, because files itself is symlink and
 | 
			
		||||
              ;; to make file-system-tree works it should be a directory.
 | 
			
		||||
              (new-files-dir-path (string-append new-files-path "/."))
 | 
			
		||||
         (define (cleanup-symlinks home-generation)
 | 
			
		||||
           ;; Delete from $HOME files that originate in HOME-GENERATION, the
 | 
			
		||||
           ;; store item containing a home generation.
 | 
			
		||||
           (define config-file-directory
 | 
			
		||||
             ;; Note: Trailing slash is needed because "files" is a symlink.
 | 
			
		||||
             (string-append home-generation "/" #$home-files-directory "/"))
 | 
			
		||||
 | 
			
		||||
              (home-path (getenv "HOME"))
 | 
			
		||||
              (backup-dir (string-append home-path "/"
 | 
			
		||||
                                         (number->string (current-time))
 | 
			
		||||
                                         "-guix-home-legacy-configs-backup"))
 | 
			
		||||
           (define (strip file)
 | 
			
		||||
             (string-drop file
 | 
			
		||||
                          (+ 1 (string-length config-file-directory))))
 | 
			
		||||
 | 
			
		||||
              (old-tree (if old-home
 | 
			
		||||
                          ((simplify-file-tree "")
 | 
			
		||||
                           (file-system-tree
 | 
			
		||||
                            (string-append old-home "/files/.")))
 | 
			
		||||
                          #f))
 | 
			
		||||
              (new-tree ((simplify-file-tree "")
 | 
			
		||||
                         (file-system-tree new-files-dir-path)))
 | 
			
		||||
           (format #t (G_ "Cleaning up symlinks from previous home at ~a.~%")
 | 
			
		||||
                   home-generation)
 | 
			
		||||
           (newline)
 | 
			
		||||
 | 
			
		||||
              (get-source-path
 | 
			
		||||
               (lambda (path)
 | 
			
		||||
                 (readlink (string-append new-files-path "/" path))))
 | 
			
		||||
           (file-system-fold
 | 
			
		||||
            (const #t)
 | 
			
		||||
            (lambda (file stat _)                 ;leaf
 | 
			
		||||
              (let ((file (target-file (strip file))))
 | 
			
		||||
                (when (file-exists? file)
 | 
			
		||||
                  ;; DO NOT remove the file if it is no longer a symlink to
 | 
			
		||||
                  ;; the store, it will be backed up later during
 | 
			
		||||
                  ;; create-symlinks phase.
 | 
			
		||||
                  (if (symlink-to-store? file)
 | 
			
		||||
                      (begin
 | 
			
		||||
                        (format #t (G_ "Removing ~a...") file)
 | 
			
		||||
                        (delete-file file)
 | 
			
		||||
                        (display (G_ " done\n")))
 | 
			
		||||
                      (format
 | 
			
		||||
                       #t
 | 
			
		||||
                       (G_ "Skipping ~a (not a symlink to store)... done\n")
 | 
			
		||||
                       file)))))
 | 
			
		||||
 | 
			
		||||
              (get-target-path
 | 
			
		||||
               (lambda (path)
 | 
			
		||||
                 (string-append home-path "/." path)))
 | 
			
		||||
            (const #t)                            ;down
 | 
			
		||||
            (lambda (directory stat _)            ;up
 | 
			
		||||
              (unless (string=? directory config-file-directory)
 | 
			
		||||
                (let ((directory (target-file (strip directory))))
 | 
			
		||||
                  (catch 'system-error
 | 
			
		||||
                    (lambda ()
 | 
			
		||||
                      (rmdir directory)
 | 
			
		||||
                      (format #t (G_ "Removed ~a.\n") directory))
 | 
			
		||||
                    (lambda args
 | 
			
		||||
                      (let ((errno (system-error-errno args)))
 | 
			
		||||
                        (cond
 | 
			
		||||
                         ((= ENOTEMPTY errno)
 | 
			
		||||
                          (format
 | 
			
		||||
                           #t
 | 
			
		||||
                           (G_ "Skipping ~a (not an empty directory)... done\n")
 | 
			
		||||
                           directory))
 | 
			
		||||
                         ((= ENOTDIR errno) #t)
 | 
			
		||||
                         (else
 | 
			
		||||
                          (apply throw args)))))))))
 | 
			
		||||
            (const #t)                            ;skip
 | 
			
		||||
            (const #t)                            ;error
 | 
			
		||||
            #t                                    ;init
 | 
			
		||||
            config-file-directory
 | 
			
		||||
            lstat)
 | 
			
		||||
 | 
			
		||||
              (get-backup-path
 | 
			
		||||
               (lambda (path)
 | 
			
		||||
                 (string-append backup-dir "/." path)))
 | 
			
		||||
           (display (G_ "Cleanup finished.\n\n")))
 | 
			
		||||
 | 
			
		||||
              (directory?
 | 
			
		||||
               (lambda (path)
 | 
			
		||||
                 (equal? (stat:type (stat path)) 'directory)))
 | 
			
		||||
         (define (create-symlinks home-generation)
 | 
			
		||||
           ;; Create in $HOME symlinks for the files in HOME-GENERATION.
 | 
			
		||||
           (define config-file-directory
 | 
			
		||||
             ;; Note: Trailing slash is needed because "files" is a symlink.
 | 
			
		||||
             (string-append home-generation "/" #$home-files-directory "/"))
 | 
			
		||||
 | 
			
		||||
              (empty-directory?
 | 
			
		||||
               (lambda (dir)
 | 
			
		||||
                 (equal? (scandir dir) '("." ".."))))
 | 
			
		||||
           (define (strip file)
 | 
			
		||||
             (string-drop file
 | 
			
		||||
                          (+ 1 (string-length config-file-directory))))
 | 
			
		||||
 | 
			
		||||
              (symlink-to-store?
 | 
			
		||||
               (lambda (path)
 | 
			
		||||
                 (and
 | 
			
		||||
                  (equal? (stat:type (lstat path)) 'symlink)
 | 
			
		||||
                  (store-file-name? (readlink path)))))
 | 
			
		||||
           (define (source-file file)
 | 
			
		||||
             (readlink (string-append config-file-directory file)))
 | 
			
		||||
 | 
			
		||||
              (backup-file
 | 
			
		||||
               (lambda (path)
 | 
			
		||||
                 (mkdir-p backup-dir)
 | 
			
		||||
                 (format #t (G_ "Backing up ~a...") (get-target-path path))
 | 
			
		||||
                 (mkdir-p (dirname (get-backup-path path)))
 | 
			
		||||
                 (rename-file (get-target-path path) (get-backup-path path))
 | 
			
		||||
                 (display (G_ " done\n"))))
 | 
			
		||||
           (file-system-fold
 | 
			
		||||
            (const #t)                            ;enter?
 | 
			
		||||
            (lambda (file stat result)            ;leaf
 | 
			
		||||
              (let ((source (source-file (strip file)))
 | 
			
		||||
                    (target (target-file (strip file))))
 | 
			
		||||
                (when (file-exists? target)
 | 
			
		||||
                  (backup-file (strip file)))
 | 
			
		||||
                (format #t (G_ "Symlinking ~a -> ~a...")
 | 
			
		||||
                        target source)
 | 
			
		||||
                (symlink source target)
 | 
			
		||||
                (display (G_ " done\n"))))
 | 
			
		||||
            (lambda (directory stat result)       ;down
 | 
			
		||||
              (unless (string=? directory config-file-directory)
 | 
			
		||||
                (let ((target (target-file (strip directory))))
 | 
			
		||||
                  (when (and (file-exists? target)
 | 
			
		||||
                             (not (file-is-directory? target)))
 | 
			
		||||
                    (backup-file (strip directory)))
 | 
			
		||||
 | 
			
		||||
              (cleanup-symlinks
 | 
			
		||||
               (lambda ()
 | 
			
		||||
                 (let ((to-delete ((file-tree-traverse #f) old-tree)))
 | 
			
		||||
                   (display
 | 
			
		||||
                    (G_
 | 
			
		||||
                    "Cleaning up symlinks from previous home-environment.\n\n"))
 | 
			
		||||
                   (map
 | 
			
		||||
                    (match-lambda
 | 
			
		||||
                      (('dir . ".")
 | 
			
		||||
                       (display (G_ "Cleanup finished.\n\n")))
 | 
			
		||||
                  (catch 'system-error
 | 
			
		||||
                    (lambda ()
 | 
			
		||||
                      (mkdir target))
 | 
			
		||||
                    (lambda args
 | 
			
		||||
                      (let ((errno (system-error-errno args)))
 | 
			
		||||
                        (unless (= EEXIST errno)
 | 
			
		||||
                          (format #t (G_ "failed to create directory ~a: ~s~%")
 | 
			
		||||
                                  target (strerror errno))
 | 
			
		||||
                          (apply throw args))))))))
 | 
			
		||||
            (const #t)                            ;up
 | 
			
		||||
            (const #t)                            ;skip
 | 
			
		||||
            (const #t)                            ;error
 | 
			
		||||
            #t                                    ;init
 | 
			
		||||
            config-file-directory))
 | 
			
		||||
 | 
			
		||||
                      (('dir . path)
 | 
			
		||||
                       (if (and
 | 
			
		||||
                            (file-exists? (get-target-path path))
 | 
			
		||||
                            (directory? (get-target-path path))
 | 
			
		||||
                            (empty-directory? (get-target-path path)))
 | 
			
		||||
                           (begin
 | 
			
		||||
                             (format #t (G_ "Removing ~a...")
 | 
			
		||||
                                     (get-target-path path))
 | 
			
		||||
                             (rmdir (get-target-path path))
 | 
			
		||||
                             (display (G_ " done\n")))
 | 
			
		||||
                           (format
 | 
			
		||||
                            #t
 | 
			
		||||
                            (G_ "Skipping ~a (not an empty directory)... done\n")
 | 
			
		||||
                            (get-target-path path))))
 | 
			
		||||
         #$%initialize-gettext
 | 
			
		||||
 | 
			
		||||
                      (('file . path)
 | 
			
		||||
                       (when (file-exists? (get-target-path path))
 | 
			
		||||
                         ;; DO NOT remove the file if it is no longer
 | 
			
		||||
                         ;; a symlink to the store, it will be backed
 | 
			
		||||
                         ;; up later during create-symlinks phase.
 | 
			
		||||
                         (if (symlink-to-store? (get-target-path path))
 | 
			
		||||
                             (begin
 | 
			
		||||
                               (format #t (G_ "Removing ~a...") (get-target-path path))
 | 
			
		||||
                               (delete-file (get-target-path path))
 | 
			
		||||
                               (display (G_ " done\n")))
 | 
			
		||||
                             (format
 | 
			
		||||
                              #t
 | 
			
		||||
                              (G_ "Skipping ~a (not a symlink to store)... done\n")
 | 
			
		||||
                              (get-target-path path))))))
 | 
			
		||||
                    to-delete))))
 | 
			
		||||
         (let* ((home     (string-append home-directory "/.guix-home"))
 | 
			
		||||
                (pivot    (string-append home ".new"))
 | 
			
		||||
                (new-home (getenv "GUIX_NEW_HOME"))
 | 
			
		||||
                (old-home (getenv "GUIX_OLD_HOME")))
 | 
			
		||||
           (when old-home
 | 
			
		||||
             (cleanup-symlinks old-home))
 | 
			
		||||
 | 
			
		||||
              (create-symlinks
 | 
			
		||||
               (lambda ()
 | 
			
		||||
                 (let ((to-create ((file-tree-traverse #t) new-tree)))
 | 
			
		||||
                   (map
 | 
			
		||||
                    (match-lambda
 | 
			
		||||
                      (('dir . ".")
 | 
			
		||||
                       (display
 | 
			
		||||
                        (G_ "New symlinks to home-environment will be created soon.\n"))
 | 
			
		||||
                       (format
 | 
			
		||||
                        #t (G_ "All conflicting files will go to ~a.\n\n") backup-dir))
 | 
			
		||||
           (create-symlinks new-home)
 | 
			
		||||
 | 
			
		||||
                      (('dir . path)
 | 
			
		||||
                       (let ((target-path (get-target-path path)))
 | 
			
		||||
                         (when (and (file-exists? target-path)
 | 
			
		||||
                                    (not (directory? target-path)))
 | 
			
		||||
                           (backup-file path))
 | 
			
		||||
 | 
			
		||||
                         (if (file-exists? target-path)
 | 
			
		||||
                             (format
 | 
			
		||||
                              #t (G_ "Skipping   ~a (directory already exists)... done\n")
 | 
			
		||||
                              target-path)
 | 
			
		||||
                             (begin
 | 
			
		||||
                               (format #t (G_ "Creating   ~a...") target-path)
 | 
			
		||||
                               (mkdir target-path)
 | 
			
		||||
                               (display (G_ " done\n"))))))
 | 
			
		||||
 | 
			
		||||
                      (('file . path)
 | 
			
		||||
                       (when (file-exists? (get-target-path path))
 | 
			
		||||
                         (backup-file path))
 | 
			
		||||
                       (format #t (G_ "Symlinking ~a -> ~a...")
 | 
			
		||||
                               (get-target-path path) (get-source-path path))
 | 
			
		||||
                       (symlink (get-source-path path) (get-target-path path))
 | 
			
		||||
                       (display (G_ " done\n"))))
 | 
			
		||||
                    to-create)))))
 | 
			
		||||
 | 
			
		||||
         (when old-tree
 | 
			
		||||
           (cleanup-symlinks))
 | 
			
		||||
 | 
			
		||||
         (create-symlinks)
 | 
			
		||||
 | 
			
		||||
         (symlink new-home new-he-path)
 | 
			
		||||
         (rename-file new-he-path he-path)
 | 
			
		||||
 | 
			
		||||
         (display (G_" done\nFinished updating symlinks.\n\n"))))))
 | 
			
		||||
           (symlink new-home pivot)
 | 
			
		||||
           (rename-file pivot home)
 | 
			
		||||
 | 
			
		||||
           (display (G_" done\nFinished updating symlinks.\n\n")))))))
 | 
			
		||||
 | 
			
		||||
(define (update-symlinks-gexp _)
 | 
			
		||||
  #~(primitive-load #$(update-symlinks-script)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -190,11 +190,11 @@ pre-populated content.")
 | 
			
		|||
   "Default directory for videos."))
 | 
			
		||||
 | 
			
		||||
(define (home-xdg-user-directories-files-service config)
 | 
			
		||||
  `(("config/user-dirs.conf"
 | 
			
		||||
  `(("user-dirs.conf"
 | 
			
		||||
     ,(mixed-text-file
 | 
			
		||||
       "user-dirs.conf"
 | 
			
		||||
       "enabled=False\n"))
 | 
			
		||||
    ("config/user-dirs.dirs"
 | 
			
		||||
    ("user-dirs.dirs"
 | 
			
		||||
     ,(mixed-text-file
 | 
			
		||||
       "user-dirs.dirs"
 | 
			
		||||
      (serialize-configuration
 | 
			
		||||
| 
						 | 
				
			
			@ -218,7 +218,7 @@ pre-populated content.")
 | 
			
		|||
  (service-type (name 'home-xdg-user-directories)
 | 
			
		||||
                (extensions
 | 
			
		||||
                 (list (service-extension
 | 
			
		||||
                        home-files-service-type
 | 
			
		||||
                        home-xdg-configuration-files-service-type
 | 
			
		||||
                        home-xdg-user-directories-files-service)
 | 
			
		||||
                       (service-extension
 | 
			
		||||
                        home-activation-service-type
 | 
			
		||||
| 
						 | 
				
			
			@ -374,7 +374,7 @@ configuration."
 | 
			
		|||
            "=" val "\n")))
 | 
			
		||||
 | 
			
		||||
  (define (serialize-alist config)
 | 
			
		||||
    (generic-serialize-alist identity format-config config))
 | 
			
		||||
    (generic-serialize-alist append format-config config))
 | 
			
		||||
 | 
			
		||||
  (define (serialize-xdg-desktop-action action)
 | 
			
		||||
    (match action
 | 
			
		||||
| 
						 | 
				
			
			@ -417,7 +417,7 @@ that the application cannot open the specified MIME type.")
 | 
			
		|||
   "A list of XDG desktop entries to create.  See
 | 
			
		||||
@code{xdg-desktop-entry}."))
 | 
			
		||||
 | 
			
		||||
(define (home-xdg-mime-applications-files-service config)
 | 
			
		||||
(define (home-xdg-mime-applications-files config)
 | 
			
		||||
  (define (add-xdg-desktop-entry-file entry)
 | 
			
		||||
    (let ((file (first entry))
 | 
			
		||||
          (config (second entry)))
 | 
			
		||||
| 
						 | 
				
			
			@ -425,16 +425,16 @@ that the application cannot open the specified MIME type.")
 | 
			
		|||
          (apply mixed-text-file
 | 
			
		||||
                 (format #f "xdg-desktop-~a-entry" file)
 | 
			
		||||
                 config))))
 | 
			
		||||
  (map (compose add-xdg-desktop-entry-file serialize-xdg-desktop-entry)
 | 
			
		||||
       (home-xdg-mime-applications-configuration-desktop-entries config)))
 | 
			
		||||
 | 
			
		||||
  (append
 | 
			
		||||
   `(("config/mimeapps.list"
 | 
			
		||||
      ,(mixed-text-file
 | 
			
		||||
        "xdg-mime-appplications"
 | 
			
		||||
        (serialize-configuration
 | 
			
		||||
         config
 | 
			
		||||
         home-xdg-mime-applications-configuration-fields))))
 | 
			
		||||
   (map (compose add-xdg-desktop-entry-file serialize-xdg-desktop-entry)
 | 
			
		||||
        (home-xdg-mime-applications-configuration-desktop-entries config))))
 | 
			
		||||
(define (home-xdg-mime-applications-xdg-files config)
 | 
			
		||||
  `(("mimeapps.list"
 | 
			
		||||
     ,(mixed-text-file
 | 
			
		||||
       "xdg-mime-appplications"
 | 
			
		||||
       (serialize-configuration
 | 
			
		||||
        config
 | 
			
		||||
        home-xdg-mime-applications-configuration-fields)))))
 | 
			
		||||
 | 
			
		||||
(define (home-xdg-mime-applications-extension old-config extension-configs)
 | 
			
		||||
  (define (extract-fields config)
 | 
			
		||||
| 
						 | 
				
			
			@ -469,7 +469,10 @@ that the application cannot open the specified MIME type.")
 | 
			
		|||
                (extensions
 | 
			
		||||
                 (list (service-extension
 | 
			
		||||
                        home-files-service-type
 | 
			
		||||
                        home-xdg-mime-applications-files-service)))
 | 
			
		||||
                        home-xdg-mime-applications-files)
 | 
			
		||||
                       (service-extension
 | 
			
		||||
                        home-xdg-configuration-files-service-type
 | 
			
		||||
                        home-xdg-mime-applications-xdg-files)))
 | 
			
		||||
                (compose identity)
 | 
			
		||||
                (extend home-xdg-mime-applications-extension)
 | 
			
		||||
                (default-value (home-xdg-mime-applications-configuration))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -287,7 +287,7 @@ list so that each keys of a given technology are gathered in a separate list."
 | 
			
		|||
 | 
			
		||||
(define (connman-online?)
 | 
			
		||||
  (let ((state (connman-state)))
 | 
			
		||||
    (eq? state 'online)))
 | 
			
		||||
    (memq state '(ready online))))
 | 
			
		||||
 | 
			
		||||
(define (connman-connect-with-auth service password-proc)
 | 
			
		||||
  "Connect to the given SERVICE with the password returned by calling
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -348,7 +348,7 @@ fail. See rereadpt function in wipefs.c of util-linux for an explanation."
 | 
			
		|||
(define (installer-root-partition-path)
 | 
			
		||||
  "Return the root partition path, or #f if it could not be detected."
 | 
			
		||||
  (let* ((cmdline (linux-command-line))
 | 
			
		||||
         (root (find-long-option "--root" cmdline)))
 | 
			
		||||
         (root (find-long-option "root" cmdline)))
 | 
			
		||||
    (and root
 | 
			
		||||
         (or (and (access? root F_OK) root)
 | 
			
		||||
             (find-partition-by-label root)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										66
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										66
									
								
								gnu/local.mk
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -41,7 +41,7 @@
 | 
			
		|||
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
			
		||||
# Copyright © 2021 Greg Hogan <code@greghogan.com>
 | 
			
		||||
# Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
 | 
			
		||||
# Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
 | 
			
		||||
# Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
# Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
 | 
			
		||||
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
 | 
			
		||||
| 
						 | 
				
			
			@ -122,6 +122,7 @@ GNU_SYSTEM_MODULES =				\
 | 
			
		|||
  %D%/packages/axoloti.scm			\
 | 
			
		||||
  %D%/packages/backup.scm			\
 | 
			
		||||
  %D%/packages/base.scm				\
 | 
			
		||||
  %D%/packages/barrier.scm			\
 | 
			
		||||
  %D%/packages/bash.scm				\
 | 
			
		||||
  %D%/packages/batik.scm			\
 | 
			
		||||
  %D%/packages/bdw-gc.scm			\
 | 
			
		||||
| 
						 | 
				
			
			@ -603,6 +604,7 @@ GNU_SYSTEM_MODULES =				\
 | 
			
		|||
  %D%/packages/vulkan.scm			\
 | 
			
		||||
  %D%/packages/w3m.scm				\
 | 
			
		||||
  %D%/packages/wdiff.scm			\
 | 
			
		||||
  %D%/packages/weather.scm			\
 | 
			
		||||
  %D%/packages/web.scm				\
 | 
			
		||||
  %D%/packages/web-browsers.scm			\
 | 
			
		||||
  %D%/packages/webkit.scm			\
 | 
			
		||||
| 
						 | 
				
			
			@ -884,7 +886,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/awesome-4.3-fno-common.patch		\
 | 
			
		||||
  %D%/packages/patches/aws-c-auth-install-private-headers.patch	\
 | 
			
		||||
  %D%/packages/patches/azr3.patch				\
 | 
			
		||||
  %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch	\
 | 
			
		||||
  %D%/packages/patches/bash-completion-directories.patch	\
 | 
			
		||||
  %D%/packages/patches/bash-linux-pgrp-pipe.patch		\
 | 
			
		||||
  %D%/packages/patches/bastet-change-source-of-unordered_set.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -922,7 +923,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/cabal-install-ghc8.10.patch		\
 | 
			
		||||
  %D%/packages/patches/cairo-CVE-2018-19876.patch		\
 | 
			
		||||
  %D%/packages/patches/cairo-CVE-2020-35492.patch		\
 | 
			
		||||
  %D%/packages/patches/calibre-fix-zeroconf.patch		\
 | 
			
		||||
  %D%/packages/patches/calibre-no-updates-dialog.patch		\
 | 
			
		||||
  %D%/packages/patches/calibre-remove-test-sqlite.patch		\
 | 
			
		||||
  %D%/packages/patches/calibre-remove-test-unrar.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1009,14 +1009,12 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
 | 
			
		||||
  %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch	\
 | 
			
		||||
  %D%/packages/patches/dstat-skip-devices-without-io.patch	\
 | 
			
		||||
  %D%/packages/patches/dunst-1.7.3-fix-crash.patch		\
 | 
			
		||||
  %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
 | 
			
		||||
  %D%/packages/patches/dynaconf-unvendor-deps.patch		\
 | 
			
		||||
  %D%/packages/patches/ecl-16-format-directive-limit.patch	\
 | 
			
		||||
  %D%/packages/patches/ecl-16-ignore-stderr-write-error.patch	\
 | 
			
		||||
  %D%/packages/patches/ecl-16-libffi.patch			\
 | 
			
		||||
  %D%/packages/patches/efibootmgr-remove-extra-decl.patch	\
 | 
			
		||||
  %D%/packages/patches/efivar-gcc-compat.patch			\
 | 
			
		||||
  %D%/packages/patches/eigen-remove-openmp-error-counting.patch	\
 | 
			
		||||
  %D%/packages/patches/eigen-stabilise-sparseqr-test.patch	\
 | 
			
		||||
  %D%/packages/patches/einstein-build.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1043,7 +1041,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/erlang-man-path.patch			\
 | 
			
		||||
  %D%/packages/patches/esmtp-add-lesmtp.patch		\
 | 
			
		||||
  %D%/packages/patches/eudev-rules-directory.patch		\
 | 
			
		||||
  %D%/packages/patches/evilwm-lost-focus-bug.patch		\
 | 
			
		||||
  %D%/packages/patches/exercism-disable-self-update.patch	\
 | 
			
		||||
  %D%/packages/patches/extempore-unbundle-external-dependencies.patch	\
 | 
			
		||||
  %D%/packages/patches/extundelete-e2fsprogs-1.44.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1075,8 +1072,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/fp16-system-libraries.patch		\
 | 
			
		||||
  %D%/packages/patches/fpc-reproducibility.patch		\
 | 
			
		||||
  %D%/packages/patches/fplll-std-fenv.patch     		\
 | 
			
		||||
  %D%/packages/patches/freecad-boost-serialization.patch	\
 | 
			
		||||
  %D%/packages/patches/freecad-vtk9.patch			\
 | 
			
		||||
  %D%/packages/patches/freedink-engine-fix-sdl-hints.patch	\
 | 
			
		||||
  %D%/packages/patches/freeglut-gcc-compat.patch		\
 | 
			
		||||
  %D%/packages/patches/freeimage-unbundle.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1147,7 +1142,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch	\
 | 
			
		||||
  %D%/packages/patches/ghc-testsuite-dlopen-pie.patch		\
 | 
			
		||||
  %D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch	\
 | 
			
		||||
  %D%/packages/patches/ghc-monad-par-fix-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/ghostscript-no-header-id.patch		\
 | 
			
		||||
  %D%/packages/patches/ghostscript-no-header-uuid.patch		\
 | 
			
		||||
  %D%/packages/patches/ghostscript-no-header-creationdate.patch \
 | 
			
		||||
| 
						 | 
				
			
			@ -1158,8 +1152,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/glib-networking-gnutls-binding.patch	\
 | 
			
		||||
  %D%/packages/patches/glib-networking-32-bit-time.patch	\
 | 
			
		||||
  %D%/packages/patches/glib-skip-failing-test.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-CVE-2018-11236.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-CVE-2018-11237.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-CVE-2019-7309.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-CVE-2019-9169.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-CVE-2019-19126.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1178,7 +1170,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch	\
 | 
			
		||||
  %D%/packages/patches/glibc-hurd-gettyent.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-hurd-mach-print.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-hurd-magic-pid.patch		\
 | 
			
		||||
  %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch	\
 | 
			
		||||
  %D%/packages/patches/glibc-ldd-powerpc.patch			\
 | 
			
		||||
  %D%/packages/patches/glibc-ldd-x86_64.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1223,7 +1214,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/grantlee-merge-theme-dirs.patch		\
 | 
			
		||||
  %D%/packages/patches/grep-timing-sensitive-test.patch		\
 | 
			
		||||
  %D%/packages/patches/grfcodec-gcc-compat.patch		\
 | 
			
		||||
  %D%/packages/patches/grocsvs-dont-use-admiral.patch		\
 | 
			
		||||
  %D%/packages/patches/gromacs-tinyxml2.patch			\
 | 
			
		||||
  %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch	\
 | 
			
		||||
  %D%/packages/patches/grub-efi-fat-serial-number.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1239,6 +1229,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/guile-3.0-relocatable.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-linux-syscalls.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-3.0-linux-syscalls.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-cross-compilation.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
 | 
			
		||||
  %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
 | 
			
		||||
  %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1247,8 +1238,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/guile-rsvg-pkgconfig.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-emacs-fix-configure.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-email-fix-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-ssh-fix-test-suite.patch		\
 | 
			
		||||
  %D%/packages/patches/guile-ssh-read-error.patch		\
 | 
			
		||||
  %D%/packages/patches/gtk2-fix-builder-test.patch		\
 | 
			
		||||
  %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\
 | 
			
		||||
  %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
 | 
			
		||||
| 
						 | 
				
			
			@ -1282,7 +1271,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/hueplusplus-mbedtls.patch		\
 | 
			
		||||
  %D%/packages/patches/hurd-cross.patch				\
 | 
			
		||||
  %D%/packages/patches/hurd-xattr.patch				\
 | 
			
		||||
  %D%/packages/patches/hydra-disable-darcs-test.patch		\
 | 
			
		||||
  %D%/packages/patches/i7z-gcc-10.patch				\
 | 
			
		||||
  %D%/packages/patches/icecat-makeicecat.patch			\
 | 
			
		||||
  %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1300,7 +1288,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/imagemagick-ReadDCMImage-fix.patch	\
 | 
			
		||||
  %D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch	\
 | 
			
		||||
  %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch	\
 | 
			
		||||
  %D%/packages/patches/inkscape-poppler-0.76.patch		\
 | 
			
		||||
  %D%/packages/patches/instead-use-games-path.patch		\
 | 
			
		||||
  %D%/packages/patches/intel-xed-fix-nondeterminism.patch	\
 | 
			
		||||
  %D%/packages/patches/intltool-perl-compatibility.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1345,7 +1332,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/libffi-float128-powerpc64le.patch	\
 | 
			
		||||
  %D%/packages/patches/librime-fix-build-with-gcc10.patch	\
 | 
			
		||||
  %D%/packages/patches/libvirt-add-install-prefix.patch	\
 | 
			
		||||
  %D%/packages/patches/libvirt-create-machine-cgroup.patch      \
 | 
			
		||||
  %D%/packages/patches/libziparchive-add-includes.patch		\
 | 
			
		||||
  %D%/packages/patches/localed-xorg-keyboard.patch		\
 | 
			
		||||
  %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
 | 
			
		||||
| 
						 | 
				
			
			@ -1449,7 +1435,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/linbox-fix-pkgconfig.patch		\
 | 
			
		||||
  %D%/packages/patches/linphone-desktop-without-sdk.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/linuxdcpp-openssl-1.1.patch		\
 | 
			
		||||
  %D%/packages/patches/lirc-localstatedir.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1479,13 +1464,12 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/lvm2-static-link.patch			\
 | 
			
		||||
  %D%/packages/patches/mailutils-variable-lookup.patch		\
 | 
			
		||||
  %D%/packages/patches/make-impure-dirs.patch			\
 | 
			
		||||
  %D%/packages/patches/marble-qt-add-qt-headers.patch		\
 | 
			
		||||
  %D%/packages/patches/mariadb-link-libatomic.patch		\
 | 
			
		||||
  %D%/packages/patches/mars-install.patch			\
 | 
			
		||||
  %D%/packages/patches/mars-sfml-2.3.patch			\
 | 
			
		||||
  %D%/packages/patches/mathjax-disable-webpack.patch			\
 | 
			
		||||
  %D%/packages/patches/mathjax-no-a11y.patch			\
 | 
			
		||||
  %D%/packages/patches/maxima-defsystem-mkdir.patch		\
 | 
			
		||||
  %D%/packages/patches/maven-enforcer-api-fix-old-dependencies.patch	\
 | 
			
		||||
  %D%/packages/patches/maven-generate-component-xml.patch		\
 | 
			
		||||
  %D%/packages/patches/maven-generate-javax-inject-named.patch		\
 | 
			
		||||
  %D%/packages/patches/mcrypt-CVE-2012-4409.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1497,7 +1481,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/mercurial-hg-extension-path.patch       \
 | 
			
		||||
  %D%/packages/patches/mesa-opencl-all-targets.patch		\
 | 
			
		||||
  %D%/packages/patches/mesa-skip-tests.patch			\
 | 
			
		||||
  %D%/packages/patches/mescc-tools-boot.patch			\
 | 
			
		||||
  %D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch	\
 | 
			
		||||
  %D%/packages/patches/mhash-keygen-test-segfault.patch		\
 | 
			
		||||
  %D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1543,9 +1526,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/netsurf-system-utf8proc.patch		\
 | 
			
		||||
  %D%/packages/patches/netsurf-y2038-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/netsurf-longer-test-timeout.patch	\
 | 
			
		||||
  %D%/packages/patches/nettle-3.5-check-_pkcs1_sec_decrypt-msg-len.patch \
 | 
			
		||||
  %D%/packages/patches/nettle-3.5-CVE-2021-3580-pt1.patch	\
 | 
			
		||||
  %D%/packages/patches/nettle-3.5-CVE-2021-3580-pt2.patch	\
 | 
			
		||||
  %D%/packages/patches/nhc98-c-update.patch			\
 | 
			
		||||
  %D%/packages/patches/nix-dont-build-html-doc.diff		\
 | 
			
		||||
  %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch	\
 | 
			
		||||
  %D%/packages/patches/ngircd-handle-zombies.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1564,10 +1545,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/nvi-db4.patch				\
 | 
			
		||||
  %D%/packages/patches/nyacc-binary-literals.patch		\
 | 
			
		||||
  %D%/packages/patches/obs-modules-location.patch		\
 | 
			
		||||
  %D%/packages/patches/ocaml-bitstring-fix-configure.patch \
 | 
			
		||||
  %D%/packages/patches/ocaml-CVE-2015-8869.patch		\
 | 
			
		||||
  %D%/packages/patches/ocaml-Add-a-.file-directive.patch	\
 | 
			
		||||
  %D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch	\
 | 
			
		||||
  %D%/packages/patches/ocaml-dose3-add-unix-dependency.patch	\
 | 
			
		||||
  %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch	\
 | 
			
		||||
  %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1580,21 +1557,18 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/onnx-use-system-googletest.patch	\
 | 
			
		||||
  %D%/packages/patches/onnx-shared-libraries.patch	\
 | 
			
		||||
  %D%/packages/patches/onnx-skip-model-downloads.patch		\
 | 
			
		||||
  %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch	\
 | 
			
		||||
  %D%/packages/patches/openboardview-use-system-imgui.patch	\
 | 
			
		||||
  %D%/packages/patches/openboardview-use-system-utf8.patch	\
 | 
			
		||||
  %D%/packages/patches/opencascade-oce-glibc-2.26.patch		\
 | 
			
		||||
  %D%/packages/patches/openfoam-4.1-cleanup.patch			\
 | 
			
		||||
  %D%/packages/patches/openjdk-10-idlj-reproducibility.patch	\
 | 
			
		||||
  %D%/packages/patches/openjdk-14-builtins.patch                \
 | 
			
		||||
  %D%/packages/patches/openmpi-mtl-priorities.patch		\
 | 
			
		||||
  %D%/packages/patches/openssh-hurd.patch			\
 | 
			
		||||
  %D%/packages/patches/openresolv-restartcmd-guix.patch	\
 | 
			
		||||
  %D%/packages/patches/openrgb-unbundle-hueplusplus.patch	\
 | 
			
		||||
  %D%/packages/patches/opensles-add-license-file.patch			\
 | 
			
		||||
  %D%/packages/patches/openssl-runpath.patch			\
 | 
			
		||||
  %D%/packages/patches/openssl-1.1-c-rehash-in.patch		\
 | 
			
		||||
  %D%/packages/patches/openssl-3.0-c-rehash-in.patch		\
 | 
			
		||||
  %D%/packages/patches/openssl-c-rehash-in.patch		\
 | 
			
		||||
  %D%/packages/patches/open-zwave-hidapi.patch			\
 | 
			
		||||
  %D%/packages/patches/orpheus-cast-errors-and-includes.patch	\
 | 
			
		||||
  %D%/packages/patches/osip-CVE-2017-7853.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1605,7 +1579,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/p7zip-remove-unused-code.patch		\
 | 
			
		||||
  %D%/packages/patches/pam-krb5-CVE-2020-10595.patch		\
 | 
			
		||||
  %D%/packages/patches/pango-skip-libthai-test.patch		\
 | 
			
		||||
  %D%/packages/patches/passwordsafe-meson-remove-extra-argument.patch \
 | 
			
		||||
  %D%/packages/patches/password-store-tree-compat.patch		\
 | 
			
		||||
  %D%/packages/patches/pciutils-hurd-configure.patch		\
 | 
			
		||||
  %D%/packages/patches/pciutils-hurd-fix.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1631,7 +1604,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/strace-readlink-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/sunxi-tools-remove-sys-io.patch	\
 | 
			
		||||
  %D%/packages/patches/p11-kit-hurd.patch			\
 | 
			
		||||
  %D%/packages/patches/patchutils-test-perms.patch		\
 | 
			
		||||
  %D%/packages/patches/patch-hurd-path-max.patch		\
 | 
			
		||||
  %D%/packages/patches/perl-5.14-autosplit-default-time.patch	\
 | 
			
		||||
  %D%/packages/patches/perl-5.14-module-pluggable-search.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1673,6 +1645,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/portaudio-audacity-compat.patch		\
 | 
			
		||||
  %D%/packages/patches/portmidi-modular-build.patch		\
 | 
			
		||||
  %D%/packages/patches/postgresql-disable-resolve_symlinks.patch	\
 | 
			
		||||
  %D%/packages/patches/postgresql-riscv-spinlocks.patch	\
 | 
			
		||||
  %D%/packages/patches/procmail-ambiguous-getline-debian.patch  \
 | 
			
		||||
  %D%/packages/patches/procmail-CVE-2014-3618.patch		\
 | 
			
		||||
  %D%/packages/patches/procmail-CVE-2017-16844.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1701,14 +1674,9 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/python-3-fix-tests.patch			\
 | 
			
		||||
  %D%/packages/patches/python-3-hurd-configure.patch		\
 | 
			
		||||
  %D%/packages/patches/python-3-no-static-lib.patch		\
 | 
			
		||||
  %D%/packages/patches/python-CVE-2018-14647.patch		\
 | 
			
		||||
  %D%/packages/patches/python-CVE-2020-26116.patch		\
 | 
			
		||||
  %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch	\
 | 
			
		||||
  %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
 | 
			
		||||
  %D%/packages/patches/python-axolotl-AES-fix.patch		\
 | 
			
		||||
  %D%/packages/patches/python-babel-fix-parse-future-test.patch \
 | 
			
		||||
  %D%/packages/patches/python-cross-compile.patch		\
 | 
			
		||||
  %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
 | 
			
		||||
  %D%/packages/patches/python-configobj-setuptools.patch	\
 | 
			
		||||
  %D%/packages/patches/python-docopt-pytest6-compat.patch	\
 | 
			
		||||
  %D%/packages/patches/python-execnet-read-only-fix.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1725,7 +1693,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/python-flint-includes.patch		\
 | 
			
		||||
  %D%/packages/patches/python-libxml2-utf8.patch		\
 | 
			
		||||
  %D%/packages/patches/python-magic-python-bytecode.patch	\
 | 
			
		||||
  %D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch	\
 | 
			
		||||
  %D%/packages/patches/python-memcached-syntax-warnings.patch	\
 | 
			
		||||
  %D%/packages/patches/python-mox3-python3.6-compat.patch	\
 | 
			
		||||
  %D%/packages/patches/python-typing-inspect-fix.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1738,11 +1705,12 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
 | 
			
		||||
  %D%/packages/patches/python2-pygobject-2-deprecation.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pytest-asyncio-python-3.8.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pytorch-runpath.patch		\
 | 
			
		||||
  %D%/packages/patches/python-pytorch-system-libraries.patch	\
 | 
			
		||||
  %D%/packages/patches/python-pytorch-1.9.0-system-libraries.patch \
 | 
			
		||||
  %D%/packages/patches/python-robotframework-source-date-epoch.patch \
 | 
			
		||||
  %D%/packages/patches/python-robotframework-ug2html.patch	\
 | 
			
		||||
  %D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
 | 
			
		||||
  %D%/packages/patches/python-seaborn-kde-test.patch		\
 | 
			
		||||
  %D%/packages/patches/python-seaborn-2690.patch		\
 | 
			
		||||
  %D%/packages/patches/python2-subprocess32-disable-input-test.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1751,13 +1719,13 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/python-versioneer-guix-support.patch	\
 | 
			
		||||
  %D%/packages/patches/python-waitress-fix-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/python-werkzeug-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/python-mypy-12332.patch			\
 | 
			
		||||
  %D%/packages/patches/qemu-build-info-manual.patch		\
 | 
			
		||||
  %D%/packages/patches/qemu-glibc-2.27.patch 			\
 | 
			
		||||
  %D%/packages/patches/qemu-glibc-2.30.patch 			\
 | 
			
		||||
  %D%/packages/patches/qemu-fix-agent-paths.patch 		\
 | 
			
		||||
  %D%/packages/patches/qpdfview-qt515-compat.patch		\
 | 
			
		||||
  %D%/packages/patches/qrcodegen-cpp-make-install.patch		\
 | 
			
		||||
  %D%/packages/patches/qt4-ldflags.patch			\
 | 
			
		||||
  %D%/packages/patches/qtbase-absolute-runpath.patch		\
 | 
			
		||||
  %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch	\
 | 
			
		||||
  %D%/packages/patches/qtbase-use-TZDIR.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1787,6 +1755,8 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/ripperx-missing-file.patch		\
 | 
			
		||||
  %D%/packages/patches/rpcbind-CVE-2017-8779.patch		\
 | 
			
		||||
  %D%/packages/patches/rtags-separate-rct.patch			\
 | 
			
		||||
  %D%/packages/patches/racket-enable-scheme-backport.patch	\
 | 
			
		||||
  %D%/packages/patches/racket-gui-tethered-launcher-backport.patch	\
 | 
			
		||||
  %D%/packages/patches/racket-minimal-sh-via-rktio.patch	\
 | 
			
		||||
  %D%/packages/patches/remake-impure-dirs.patch			\
 | 
			
		||||
  %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1803,7 +1773,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/ruby-sanitize-system-libxml.patch	\
 | 
			
		||||
  %D%/packages/patches/rustc-1.39.0-src.patch			\
 | 
			
		||||
  %D%/packages/patches/rust-adblock-ignore-live-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/rust-coresimd-doctest.patch		\
 | 
			
		||||
  %D%/packages/patches/i3status-rust-enable-unstable-features.patch	\
 | 
			
		||||
  %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch	\
 | 
			
		||||
  %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1822,7 +1791,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/scheme48-tests.patch			\
 | 
			
		||||
  %D%/packages/patches/scotch-build-parallelism.patch		\
 | 
			
		||||
  %D%/packages/patches/scotch-integer-declarations.patch	\
 | 
			
		||||
  %D%/packages/patches/screen-CVE-2021-26937.patch		\
 | 
			
		||||
  %D%/packages/patches/screen-hurd-path-max.patch		\
 | 
			
		||||
  %D%/packages/patches/sdl-libx11-1.6.patch			\
 | 
			
		||||
  %D%/packages/patches/seed-webkit.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1849,7 +1817,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/spice-vdagent-glib-2.68.patch		\
 | 
			
		||||
  %D%/packages/patches/sssd-fix-samba.patch			\
 | 
			
		||||
  %D%/packages/patches/sssd-system-directories.patch		\
 | 
			
		||||
  %D%/packages/patches/streamlink-update-test.patch             \
 | 
			
		||||
  %D%/packages/patches/steghide-fixes.patch			\
 | 
			
		||||
  %D%/packages/patches/suitesparse-mongoose-cmake.patch		\
 | 
			
		||||
  %D%/packages/patches/superlu-dist-awpm-grid.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1870,7 +1837,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/tar-remove-wholesparse-check.patch	\
 | 
			
		||||
  %D%/packages/patches/tar-skip-unreliable-tests.patch		\
 | 
			
		||||
  %D%/packages/patches/tbb-fix-test-on-aarch64.patch		\
 | 
			
		||||
  %D%/packages/patches/tcc-boot-0.9.27.patch			\
 | 
			
		||||
  %D%/packages/patches/tclxml-3.2-install.patch			\
 | 
			
		||||
  %D%/packages/patches/tcsh-fix-autotest.patch			\
 | 
			
		||||
  %D%/packages/patches/teensy-loader-cli-help.patch		\
 | 
			
		||||
| 
						 | 
				
			
			@ -1893,6 +1859,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  gnu/packages/patches/tootle-reason-phrase.patch		\
 | 
			
		||||
  %D%/packages/patches/tor-sandbox-i686.patch			\
 | 
			
		||||
  %D%/packages/patches/transcode-ffmpeg.patch	\
 | 
			
		||||
  %D%/packages/patches/transfig-gcc10-fno-common.patch		\
 | 
			
		||||
  %D%/packages/patches/transmission-honor-localedir.patch	\
 | 
			
		||||
  %D%/packages/patches/tremc-fix-decodestring.patch		\
 | 
			
		||||
  %D%/packages/patches/trytond-add-egg-modules-to-path.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1953,7 +1920,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/util-linux-tests.patch			\
 | 
			
		||||
  %D%/packages/patches/util-linux-CVE-2021-3995.patch		\
 | 
			
		||||
  %D%/packages/patches/util-linux-CVE-2021-3996.patch		\
 | 
			
		||||
  %D%/packages/patches/upower-builddir.patch			\
 | 
			
		||||
  %D%/packages/patches/valgrind-enable-arm.patch		\
 | 
			
		||||
  %D%/packages/patches/vboot-utils-fix-format-load-address.patch	\
 | 
			
		||||
  %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch	\
 | 
			
		||||
| 
						 | 
				
			
			@ -1965,10 +1931,10 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/vte-CVE-2012-2738-pt1.patch			\
 | 
			
		||||
  %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
 | 
			
		||||
  %D%/packages/patches/vtk-fix-freetypetools-build-failure.patch	\
 | 
			
		||||
  %D%/packages/patches/vtk-8-fix-freetypetools-build-failure.patch	\
 | 
			
		||||
  %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
 | 
			
		||||
  %D%/packages/patches/webkitgtk-share-store.patch		\
 | 
			
		||||
  %D%/packages/patches/webkitgtk-bind-all-fonts.patch		\
 | 
			
		||||
  %D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch	\
 | 
			
		||||
  %D%/packages/patches/webkitgtk-canonicalize-paths.patch	\
 | 
			
		||||
  %D%/packages/patches/webrtc-audio-processing-big-endian.patch	\
 | 
			
		||||
  %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch	\
 | 
			
		||||
  %D%/packages/patches/wicd-bitrate-none-fix.patch		\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -422,7 +422,8 @@ of MACHINE's system profile, ordered from most recent to oldest."
 | 
			
		|||
               (let* ((params (call-with-input-string serialized-params
 | 
			
		||||
                                read-boot-parameters))
 | 
			
		||||
                      (root (boot-parameters-root-device params))
 | 
			
		||||
                      (label (boot-parameters-label params)))
 | 
			
		||||
                      (label (boot-parameters-label params))
 | 
			
		||||
                      (version (boot-parameters-version params)))
 | 
			
		||||
                 (boot-parameters
 | 
			
		||||
                  (inherit params)
 | 
			
		||||
                  (label
 | 
			
		||||
| 
						 | 
				
			
			@ -433,7 +434,7 @@ of MACHINE's system profile, ordered from most recent to oldest."
 | 
			
		|||
                                                  "~Y-~m-~d ~H:~M"))
 | 
			
		||||
                                  ")"))
 | 
			
		||||
                  (kernel-arguments
 | 
			
		||||
                   (append (bootable-kernel-arguments system-path root)
 | 
			
		||||
                   (append (bootable-kernel-arguments system-path root version)
 | 
			
		||||
                           (boot-parameters-kernel-arguments params))))))))
 | 
			
		||||
          generations))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,6 @@
 | 
			
		|||
  #:use-module (guix build-system glib-or-gtk)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages lisp)
 | 
			
		||||
  #:use-module (gnu packages base)
 | 
			
		||||
  #:use-module (gnu packages ocaml)
 | 
			
		||||
  #:use-module (gnu packages pcre)
 | 
			
		||||
  #:use-module (gnu packages polkit)
 | 
			
		||||
| 
						 | 
				
			
			@ -174,7 +173,6 @@ terminals.")
 | 
			
		|||
           flite
 | 
			
		||||
           glib
 | 
			
		||||
           gpm
 | 
			
		||||
           libiconv
 | 
			
		||||
           icu4c
 | 
			
		||||
           libbraille
 | 
			
		||||
           pcre2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 | 
			
		||||
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
 | 
			
		||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022 Eric Bavier <bavier@posteo.net>
 | 
			
		||||
| 
						 | 
				
			
			@ -28,11 +28,11 @@
 | 
			
		|||
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
 | 
			
		||||
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 | 
			
		||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 | 
			
		||||
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
			
		||||
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
 | 
			
		||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
			
		||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -876,10 +876,27 @@ hostname.")
 | 
			
		|||
     "Shadow provides a number of authentication-related tools, including:
 | 
			
		||||
login, passwd, su, groupadd, and useradd.")
 | 
			
		||||
 | 
			
		||||
    (properties '((hidden? . #t)))                ;see below
 | 
			
		||||
 | 
			
		||||
    ;; The `vipw' program is GPLv2+.
 | 
			
		||||
    ;; libmisc/salt.c is public domain.
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public shadow-with-man-pages
 | 
			
		||||
  ;; TODO: Merge with 'shadow' on the next core-updates cycle.
 | 
			
		||||
  (package/inherit shadow
 | 
			
		||||
    (properties '())                              ;not hidden
 | 
			
		||||
    (arguments
 | 
			
		||||
     (substitute-keyword-arguments (package-arguments shadow)
 | 
			
		||||
       ((#:phases phases '%standard-phases)
 | 
			
		||||
        `(modify-phases ,phases
 | 
			
		||||
           (add-after 'install 'install-man-pages
 | 
			
		||||
             (lambda _
 | 
			
		||||
               ;; The top-level Makefile.am wrongfully has "SUBDIRS += man"
 | 
			
		||||
               ;; under "if ENABLE_REGENERATE_MAN", even though prebuilt man
 | 
			
		||||
               ;; pages are available.  Thus, install them manually.
 | 
			
		||||
               (invoke "make" "-C" "man" "install")))))))))
 | 
			
		||||
 | 
			
		||||
(define-public mingetty
 | 
			
		||||
  (package
 | 
			
		||||
    (name "mingetty")
 | 
			
		||||
| 
						 | 
				
			
			@ -1166,7 +1183,7 @@ connection alive.")
 | 
			
		|||
(define-public isc-dhcp
 | 
			
		||||
  (let* ((bind-major-version "9")
 | 
			
		||||
         (bind-minor-version "11")
 | 
			
		||||
         (bind-patch-version "36")
 | 
			
		||||
         (bind-patch-version "37")
 | 
			
		||||
         (bind-release-type "")         ; for patch release, use "-P"
 | 
			
		||||
         (bind-release-version "")      ; for patch release, e.g. "6"
 | 
			
		||||
         (bind-version (string-append bind-major-version
 | 
			
		||||
| 
						 | 
				
			
			@ -1297,7 +1314,7 @@ connection alive.")
 | 
			
		|||
                           (list inetutils net-tools coreutils sed))))))))))
 | 
			
		||||
 | 
			
		||||
      (native-inputs
 | 
			
		||||
       (list perl file))
 | 
			
		||||
       (list config perl file))
 | 
			
		||||
 | 
			
		||||
      (inputs `(("inetutils" ,inetutils)
 | 
			
		||||
                ("bash" ,(canonical-package bash-minimal)) ;for wrap-program
 | 
			
		||||
| 
						 | 
				
			
			@ -1315,9 +1332,8 @@ connection alive.")
 | 
			
		|||
                                        "/bind-" bind-version ".tar.gz"))
 | 
			
		||||
                    (sha256
 | 
			
		||||
                     (base32
 | 
			
		||||
                      "108nh7hha4r0lb5hf1fn7lqaascvhsrghpz6afm5lf9vf2vgqly9"))))
 | 
			
		||||
                      "1zsszgxs9043dfpxb6xs1iwk9jg7nxkl5pbawj8dlshnxkkzp3hd"))))
 | 
			
		||||
 | 
			
		||||
                ("config" ,config)
 | 
			
		||||
                ("coreutils*" ,coreutils)
 | 
			
		||||
                ("sed*" ,sed)))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1708,7 +1724,7 @@ system administrator.")
 | 
			
		|||
(define-public sudo
 | 
			
		||||
  (package
 | 
			
		||||
    (name "sudo")
 | 
			
		||||
    (version "1.9.8p2")
 | 
			
		||||
    (version "1.9.10")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri
 | 
			
		||||
| 
						 | 
				
			
			@ -1718,7 +1734,7 @@ system administrator.")
 | 
			
		|||
                                    version ".tar.gz")))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0b8gd15l2g22w4fhhz0gzmq5c8370klanmy2c1p3px6yly6qnfwy"))
 | 
			
		||||
                "1x34k8sd2msfjjsahff1q143gr5j9z19jx2rmkkbiiz7k084d8a4"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
| 
						 | 
				
			
			@ -1802,7 +1818,7 @@ commands and their arguments.")
 | 
			
		|||
(define-public opendoas
 | 
			
		||||
  (package
 | 
			
		||||
    (name "opendoas")
 | 
			
		||||
    (version "6.8.1")
 | 
			
		||||
    (version "6.8.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -1811,7 +1827,7 @@ commands and their arguments.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0gfcssm21vdfg6kcrcc7hz1h4jmhy2zv29rfqyrrj3a6r9b5ah8p"))))
 | 
			
		||||
                "1qrin7x9vcprk5pwjbr3w8z2qj8hk6xbvxicdhlk27xr6vcr1qzn"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			@ -1820,7 +1836,7 @@ commands and their arguments.")
 | 
			
		|||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (substitute* "GNUmakefile"
 | 
			
		||||
               (("^\tchown.*$") ""))
 | 
			
		||||
             ;; OpenDoas look for binaries in safepath when a rule specify a
 | 
			
		||||
             ;; OpenDoas looks for binaries in safepath when a rule specifies a
 | 
			
		||||
             ;; relative command, such as “permit keepenv :wheel cmd guix”.
 | 
			
		||||
             (substitute* "doas.c"
 | 
			
		||||
               (("safepath =" match)
 | 
			
		||||
| 
						 | 
				
			
			@ -1828,8 +1844,7 @@ commands and their arguments.")
 | 
			
		|||
                               "/run/setuid-programs:"
 | 
			
		||||
                               "/run/current-system/profile/bin:"
 | 
			
		||||
                               "/run/current-system/profile/sbin:"
 | 
			
		||||
                               "\" ")))
 | 
			
		||||
             #t))
 | 
			
		||||
                               "\" ")))))
 | 
			
		||||
         (replace 'configure
 | 
			
		||||
           ;; The configure script doesn't accept most of the default flags.
 | 
			
		||||
           (lambda* (#:key configure-flags #:allow-other-keys)
 | 
			
		||||
| 
						 | 
				
			
			@ -2343,45 +2358,17 @@ characters (such as \"$\") get replaced with \"_\".  ISO 8859-1 (Latin-1)
 | 
			
		|||
characters can be replaced as well, as can UTF-8 characters.")
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public testdisk
 | 
			
		||||
  (package
 | 
			
		||||
    (name "testdisk")
 | 
			
		||||
    (version "7.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://www.cgsecurity.org/testdisk-"
 | 
			
		||||
                                  version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list ntfs-3g
 | 
			
		||||
           `(,util-linux "lib")
 | 
			
		||||
           openssl
 | 
			
		||||
           ;; FIXME: add reiserfs.
 | 
			
		||||
           zlib
 | 
			
		||||
           e2fsprogs
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           ncurses))
 | 
			
		||||
    (home-page "https://www.cgsecurity.org/wiki/TestDisk")
 | 
			
		||||
    (synopsis "Data recovery tool")
 | 
			
		||||
    (description
 | 
			
		||||
     "TestDisk is a program for data recovery, primarily designed to help
 | 
			
		||||
recover lost partitions and/or make non-booting disks bootable again.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public tree
 | 
			
		||||
  (package
 | 
			
		||||
    (name "tree")
 | 
			
		||||
    (version "2.0.1")
 | 
			
		||||
    (version "2.0.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "http://mama.indstate.edu/users/ice/tree/src/tree-"
 | 
			
		||||
                    version ".tgz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32 "0f92vx6gpz7v29wi9clklzah57v7lgx5kv0m1w4b9xjc35d9qcz3"))))
 | 
			
		||||
               (base32 "1bzfkr3kmn2v5x7ljir691fr9hhjvjxqsfz0fc5fgi6ki0fklsbx"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
| 
						 | 
				
			
			@ -3069,13 +3056,13 @@ platform-specific methods.")
 | 
			
		|||
  (package
 | 
			
		||||
    (name "audit")
 | 
			
		||||
    (home-page "https://people.redhat.com/sgrubb/audit/")
 | 
			
		||||
    (version "3.0.6")
 | 
			
		||||
    (version "3.0.7")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append home-page "audit-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0pnc9wzslks9p6kxw0llp1n8h8yg0frcxl3x84fl0hisa5vlvr63"))))
 | 
			
		||||
                "15r5lrrkv2zj3dvpqssd46w61hmrq27y7c2rz33s20ck59iphk4b"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags (list "--with-python=no"
 | 
			
		||||
| 
						 | 
				
			
			@ -3898,7 +3885,8 @@ hard-coded.")
 | 
			
		|||
       (let ((out (assoc-ref %outputs "out")))
 | 
			
		||||
         (list (string-append "--with-dbus-sys-dir="
 | 
			
		||||
                              out "/etc/dbus-1/system.d")
 | 
			
		||||
               "--localstatedir=/var"))
 | 
			
		||||
               "--localstatedir=/var"
 | 
			
		||||
               "--disable-werror"))
 | 
			
		||||
       #:make-flags
 | 
			
		||||
       (list "V=1")                     ; log build commands
 | 
			
		||||
       #:phases
 | 
			
		||||
| 
						 | 
				
			
			@ -4912,23 +4900,20 @@ exit code reports successful or failed execution to
 | 
			
		|||
(define-public udpcast
 | 
			
		||||
  (package
 | 
			
		||||
    (name "udpcast")
 | 
			
		||||
    (version "20200328")
 | 
			
		||||
    (version "20211207")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       ;; XXX: Original server is at https://www.udpcast.linux.lu is not
 | 
			
		||||
       ;; reliable.
 | 
			
		||||
       (uri (list (string-append
 | 
			
		||||
                   "http://sources.buildroot.net/udpcast/udpcast-"
 | 
			
		||||
                   version ".tar.gz")
 | 
			
		||||
                  (string-append
 | 
			
		||||
                   "https://fossies.org/linux/privat/udpcast-"
 | 
			
		||||
                   version ".tar.gz")
 | 
			
		||||
                  (string-append
 | 
			
		||||
                   "https://www.udpcast.linux.lu/download/udpcast-"
 | 
			
		||||
                   version ".tar.gz")))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "06pj86nbi9hx7abbb0z2c5ynhfq0rv89b7nmy0kq3xz2lsxfw6cw"))))
 | 
			
		||||
        (base32 "0l6hck694szrrvz85nm48rwb7mzvg2z2bwa50v51pkvym3kvxkm3"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list autoconf automake m4 perl))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; Copyright © 2017, 2019, 2021 Eric Bavier <bavier@posteo.net>
 | 
			
		||||
;;; Copyright © 2017, 2019, 2021, 2022 Eric Bavier <bavier@posteo.net>
 | 
			
		||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
			
		||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 | 
			
		||||
| 
						 | 
				
			
			@ -69,6 +69,7 @@
 | 
			
		|||
  #:use-module (guix build-system python)
 | 
			
		||||
  #:use-module (guix build-system r)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix hg-download)
 | 
			
		||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
			
		||||
| 
						 | 
				
			
			@ -328,7 +329,7 @@ precision.")
 | 
			
		|||
(define-public giac
 | 
			
		||||
  (package
 | 
			
		||||
    (name "giac")
 | 
			
		||||
    (version "1.7.0-47")
 | 
			
		||||
    (version "1.7.0-51")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -340,42 +341,42 @@ precision.")
 | 
			
		|||
                           "~parisse/debian/dists/stable/main/source/"
 | 
			
		||||
                           "giac_" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1cbc0vm79q9z3ajn4m5sjg9931ah1wq3icj0m16jsxp52km1h7jx"))))
 | 
			
		||||
        (base32 "0wgqa2nxpv652348fxpchx5zvaj6ssc403jxwsdp5ky9pdpap2zs"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((ice-9 ftw)
 | 
			
		||||
     (list
 | 
			
		||||
      #:modules '((ice-9 ftw)
 | 
			
		||||
                  (guix build utils)
 | 
			
		||||
                  (guix build gnu-build-system))
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-bin-cp
 | 
			
		||||
           ;; Some Makefiles contain hard-coded "/bin/cp".
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* (cons "micropython-1.12/xcas/Makefile"
 | 
			
		||||
                                (find-files "doc" "^Makefile"))
 | 
			
		||||
               (("/bin/cp") (which "cp")))))
 | 
			
		||||
         (add-after 'unpack 'disable-failing-test
 | 
			
		||||
           ;; FIXME: Test failing.  Not sure why.
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "check/Makefile.in"
 | 
			
		||||
               (("chk_fhan11") ""))))
 | 
			
		||||
         (add-after 'install 'fix-doc
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out (assoc-ref outputs "out")))
 | 
			
		||||
               ;; Most French documentation has a non-commercial
 | 
			
		||||
               ;; license, so we need to remove it.
 | 
			
		||||
               (with-directory-excursion (string-append out "/share/giac/doc/fr")
 | 
			
		||||
                 (for-each delete-file-recursively
 | 
			
		||||
                           '("cascas" "casexo" "casgeo" "casrouge" "cassim"
 | 
			
		||||
                             "castor")))
 | 
			
		||||
               ;; Remove duplicate documentation in
 | 
			
		||||
               ;; "%out/share/doc/giac/", where Xcas does not expect
 | 
			
		||||
               ;; to find it.
 | 
			
		||||
               (delete-file-recursively (string-append out "/share/doc/giac")))))
 | 
			
		||||
         (add-after 'install 'remove-unnecessary-executable
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out (assoc-ref outputs "out")))
 | 
			
		||||
               (delete-file (string-append out "/bin/xcasnew"))))))))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'patch-bin-cp
 | 
			
		||||
            ;; Some Makefiles contain hard-coded "/bin/cp".
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* (cons "micropython-1.12/xcas/Makefile"
 | 
			
		||||
                                 (find-files "doc" "^Makefile"))
 | 
			
		||||
                (("/bin/cp") (which "cp")))))
 | 
			
		||||
          (add-after 'unpack 'disable-failing-test
 | 
			
		||||
            ;; FIXME: Test failing.  Not sure why.
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "check/Makefile.in"
 | 
			
		||||
                (("chk_fhan11") ""))))
 | 
			
		||||
          (add-after 'install 'fix-doc
 | 
			
		||||
            (lambda _
 | 
			
		||||
              ;; Most French documentation has a non-commercial license, so we
 | 
			
		||||
              ;; need to remove it.
 | 
			
		||||
              (with-directory-excursion
 | 
			
		||||
                  (string-append #$output "/share/giac/doc/fr")
 | 
			
		||||
                (for-each delete-file-recursively
 | 
			
		||||
                          '("cascas" "casexo" "casgeo" "casrouge" "cassim"
 | 
			
		||||
                            "castor")))
 | 
			
		||||
              ;; Remove duplicate documentation in "%out/share/doc/giac/",
 | 
			
		||||
              ;; where Xcas does not expect to find it.
 | 
			
		||||
              (delete-file-recursively
 | 
			
		||||
               (string-append #$output "/share/doc/giac"))))
 | 
			
		||||
          (add-after 'install 'remove-unnecessary-executable
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (delete-file (string-append #$output "/bin/xcasnew")))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     ;; TODO: Add libnauty, unbundle "libmicropython.a".
 | 
			
		||||
     (list ao
 | 
			
		||||
| 
						 | 
				
			
			@ -1139,7 +1140,7 @@ features, and more.")
 | 
			
		|||
(define-public xtensor
 | 
			
		||||
  (package
 | 
			
		||||
    (name "xtensor")
 | 
			
		||||
    (version "0.20.10")
 | 
			
		||||
    (version "0.24.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -1147,11 +1148,11 @@ features, and more.")
 | 
			
		|||
                    (commit version)))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1fmv2hpx610xwhxrndfsfvlbqfyk4l3gi5q5d7pa9m82kblxjj9l"))
 | 
			
		||||
                "14fpzwdq26p2fqdrmc78hny9pp09k9c53jnwlh7f8x54ikzm23c2"))
 | 
			
		||||
              (file-name (git-file-name name version))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list googletest xtl))
 | 
			
		||||
     (list doctest googletest xtl))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
       '("-DBUILD_TESTS=ON")
 | 
			
		||||
| 
						 | 
				
			
			@ -1181,7 +1182,7 @@ xtensor provides:
 | 
			
		|||
                  (add-after 'unpack 'remove-march=native
 | 
			
		||||
                    (lambda _
 | 
			
		||||
                      (substitute* "benchmark/CMakeLists.txt"
 | 
			
		||||
                        (("-march=native") ""))))
 | 
			
		||||
                        (("-march=native\"") "\""))))
 | 
			
		||||
                  (add-after 'unpack 'link-with-googlebenchmark
 | 
			
		||||
                    (lambda _
 | 
			
		||||
                      (substitute* "benchmark/CMakeLists.txt"
 | 
			
		||||
| 
						 | 
				
			
			@ -1348,14 +1349,14 @@ objects.")
 | 
			
		|||
(define-public gappa
 | 
			
		||||
  (package
 | 
			
		||||
   (name "gappa")
 | 
			
		||||
   (version "1.3.5")
 | 
			
		||||
   (version "1.4.0")
 | 
			
		||||
   (source (origin
 | 
			
		||||
            (method url-fetch)
 | 
			
		||||
            (uri (string-append "https://gforge.inria.fr/frs/download.php/latestfile/"
 | 
			
		||||
                                "2699/gappa-" version ".tar.gz"))
 | 
			
		||||
            (uri (string-append "https://gappa.gitlabpages.inria.fr/releases/"
 | 
			
		||||
                                "gappa-" version ".tar.gz"))
 | 
			
		||||
            (sha256
 | 
			
		||||
             (base32
 | 
			
		||||
              "0q1wdiwqj6fsbifaayb1zkp20bz8a1my81sqjsail577jmzwi07w"))))
 | 
			
		||||
              "12x42z901pr05ldmparqdi8sq9s7fxbavhzk2dbq3l6hy247dwbb"))))
 | 
			
		||||
   (build-system gnu-build-system)
 | 
			
		||||
   (inputs
 | 
			
		||||
    (list boost gmp mpfr))
 | 
			
		||||
| 
						 | 
				
			
			@ -1382,7 +1383,7 @@ filters for CGAL and it is used to certify elementary functions in CRlibm.
 | 
			
		|||
While Gappa is intended to be used directly, it can also act as a backend
 | 
			
		||||
prover for the Why3 software verification platform or as an automatic tactic
 | 
			
		||||
for the Coq proof assistant.")
 | 
			
		||||
   (license (list license:gpl3+ license:cecill-c)))) ; either/or
 | 
			
		||||
   (license (list license:gpl3+ license:cecill)))) ; either/or
 | 
			
		||||
 | 
			
		||||
(define-public givaro
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
			
		||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
 | 
			
		||||
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
 | 
			
		||||
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
| 
						 | 
				
			
			@ -297,7 +297,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.")
 | 
			
		|||
(define-public gnuastro
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gnuastro")
 | 
			
		||||
    (version "0.16")
 | 
			
		||||
    (version "0.17")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -305,19 +305,19 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.")
 | 
			
		|||
                           version ".tar.lz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "07xr0r5dmjpnrz7ylf7k3vmjjna2jafi16lfvkqwxj9fyssmz207"))))
 | 
			
		||||
         "1gq37axs9l556pxxmnh47h088gbmp7sk3xjg59qzk2bsycg3dkgh"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:configure-flags '("--disable-static")))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("cfitsio" ,cfitsio)
 | 
			
		||||
       ("curl" ,curl-minimal)
 | 
			
		||||
       ("gsl" ,gsl)
 | 
			
		||||
       ("libgit2" ,libgit2)
 | 
			
		||||
       ("libjpeg" ,libjpeg-turbo)
 | 
			
		||||
       ("libtiff" ,libtiff)
 | 
			
		||||
       ("wcslib" ,wcslib)
 | 
			
		||||
       ("zlib" ,zlib)))
 | 
			
		||||
     (list cfitsio
 | 
			
		||||
           curl-minimal
 | 
			
		||||
           gsl
 | 
			
		||||
           libgit2
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           libtiff
 | 
			
		||||
           wcslib
 | 
			
		||||
           zlib))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list libtool lzip))
 | 
			
		||||
    (home-page "https://www.gnu.org/software/gnuastro/")
 | 
			
		||||
| 
						 | 
				
			
			@ -614,13 +614,13 @@ accurately in real time at any rate desired.")
 | 
			
		|||
(define-public python-astropy
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-astropy")
 | 
			
		||||
    (version "5.0")
 | 
			
		||||
    (version "5.0.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "astropy" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "09rr9z2kn5qw34fqpwxgcwsn9m5aw6f0dd0pm232aa8k3qakw83h"))
 | 
			
		||||
        (base32 "09wh589ywjsgjvi76v2d2zqd9sri0461rrnml0b0pah5lbkcv0k3"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        '(begin
 | 
			
		||||
| 
						 | 
				
			
			@ -826,21 +826,20 @@ of astronomical sources.")
 | 
			
		|||
(define-public python-pyvo
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-pyvo")
 | 
			
		||||
    (version "1.2")
 | 
			
		||||
    (version "1.2.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "pyvo" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1lap703wxbyxqlbk85myirp4pkdnc6cg10xhfajfsvz5k0hm5ffw"))))
 | 
			
		||||
        (base32 "1ri5yp6903386lkn79mdcmlax7zsfrrrjbcvb91wxydcc9yasc1n"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
     '(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key inputs outputs tests? #:allow-other-keys)
 | 
			
		||||
           (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
             (when tests?
 | 
			
		||||
               (add-installed-pythonpath inputs outputs)
 | 
			
		||||
               (invoke "python" "-m" "pytest" "--pyargs" "pyvo" "-k"
 | 
			
		||||
                       (string-append   ; these tests use the network
 | 
			
		||||
                        "not test_access_with_string"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -422,13 +422,13 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
 | 
			
		|||
    (inputs
 | 
			
		||||
     `(("alsa" ,alsa-lib)
 | 
			
		||||
       ("flac" ,flac)
 | 
			
		||||
       ("mpg123" ,mpg123)
 | 
			
		||||
       ("portaudio" ,portaudio)
 | 
			
		||||
       ("pulseaudio" ,pulseaudio)
 | 
			
		||||
       ("sdl2" ,sdl2)
 | 
			
		||||
       ("sndfile" ,libsndfile)
 | 
			
		||||
       ("vorbis" ,libvorbis)
 | 
			
		||||
       ("zlib" ,zlib)))
 | 
			
		||||
       ("sndfile" ,libsndfile)))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     ;; In Requires.private
 | 
			
		||||
     (list libogg libvorbis mpg123 zlib))
 | 
			
		||||
    (synopsis "Audio tracking library")
 | 
			
		||||
    (description "LibOpenMPT is a cross-platform C++ and C module playback
 | 
			
		||||
library.  It is based on the player code of the Open ModPlug Tracker project.")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,13 @@
 | 
			
		|||
" This appends all of the vim plugins to the end of Vim's runtimepath.
 | 
			
		||||
for directory in ["/run/current-system/profile", $HOME . "/.guix-profile", $GUIX_PROFILE, $GUIX_ENVIRONMENT]
 | 
			
		||||
for directory in ["/run/current-system/profile", $HOME . "/.guix-profile", $HOME ."/.guix-home/profile", $GUIX_PROFILE, $GUIX_ENVIRONMENT]
 | 
			
		||||
    let vimplugins = directory . "/share/vim/vimfiles"
 | 
			
		||||
    if isdirectory(vimplugins)
 | 
			
		||||
        let &rtp = join([&rtp,vimplugins], ',')
 | 
			
		||||
    endif
 | 
			
		||||
endfor
 | 
			
		||||
" Unconditionally add */after directories last, as intended by upstream
 | 
			
		||||
" TODO: Remove duplicate */after directories
 | 
			
		||||
for directory in [$VIM . "/vimfiles", $HOME ."/.vim"]
 | 
			
		||||
    let vimplugins = directory . "/after"
 | 
			
		||||
    let &rtp = join([&rtp,vimplugins], ',')
 | 
			
		||||
endfor
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9101,7 +9101,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9221,7 +9221,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9895,7 +9895,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9864,7 +9864,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9364,7 +9364,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9728,7 +9728,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10159,7 +10159,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10198,7 +10198,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9420,7 +9420,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9819,7 +9819,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10238,7 +10238,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10274,7 +10274,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
CONFIG_IO_WQ=y
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8697,7 +8697,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8644,7 +8644,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
CONFIG_DLM_DEBUG=y
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9575,7 +9575,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9496,7 +9496,8 @@ CONFIG_NLS_MAC_TURKISH=m
 | 
			
		|||
CONFIG_NLS_UTF8=m
 | 
			
		||||
CONFIG_DLM=m
 | 
			
		||||
# CONFIG_DLM_DEBUG is not set
 | 
			
		||||
# CONFIG_UNICODE is not set
 | 
			
		||||
CONFIG_UNICODE=y
 | 
			
		||||
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 | 
			
		||||
# end of File systems
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										68
									
								
								gnu/packages/barrier.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								gnu/packages/barrier.scm
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,68 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
 | 
			
		||||
;;;
 | 
			
		||||
;;; 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 barrier)
 | 
			
		||||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix utils)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
			
		||||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (gnu packages avahi)
 | 
			
		||||
  #:use-module (gnu packages check)
 | 
			
		||||
  #:use-module (gnu packages cpp)
 | 
			
		||||
  #:use-module (gnu packages curl)
 | 
			
		||||
  #:use-module (gnu packages pkg-config)
 | 
			
		||||
  #:use-module (gnu packages qt)
 | 
			
		||||
  #:use-module (gnu packages tls)
 | 
			
		||||
  #:use-module (gnu packages xorg))
 | 
			
		||||
 | 
			
		||||
(define-public barrier
 | 
			
		||||
  (package
 | 
			
		||||
    (name "barrier")
 | 
			
		||||
    (version "2.4.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/debauchee/barrier")
 | 
			
		||||
             (commit (string-append "v" version))
 | 
			
		||||
             (recursive? #t)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "10xk9szxxnqgfym53mcd9hqj1cw2ipncmiixw3i3ajlj1vn88qh1"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:configure-flags
 | 
			
		||||
       (list "-DBARRIER_USE_EXTERNAL_GTEST=ON")
 | 
			
		||||
       #:tests? #f)) ;tests require a running x server
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list googletest pkg-config))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list avahi curl gulrak-filesystem libx11 libxtst openssl qtbase-5))
 | 
			
		||||
    (synopsis "Keyboard Video Mouse switch software")
 | 
			
		||||
    (description "@code{Barrier} is software that mimics the functionality of
 | 
			
		||||
a KVM switch, which historically would allow you to use a single keyboard and
 | 
			
		||||
mouse to control multiple computers by physically turning a dial on the box to
 | 
			
		||||
switch the machine you're controlling at any given moment.  Barrier does this
 | 
			
		||||
in software, allowing you to tell it which machine to control by moving your
 | 
			
		||||
mouse to the edge of the screen, or by using a keypress to switch focus to a
 | 
			
		||||
different system.")
 | 
			
		||||
    (home-page "https://github.com/debauchee/barrier")
 | 
			
		||||
    (license license:gpl2)))
 | 
			
		||||
| 
						 | 
				
			
			@ -85,14 +85,14 @@
 | 
			
		|||
(define-public hello
 | 
			
		||||
  (package
 | 
			
		||||
    (name "hello")
 | 
			
		||||
    (version "2.11")
 | 
			
		||||
    (version "2.12")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnu/hello/hello-" version
 | 
			
		||||
                                  ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1g84a3hqs4pgx3yzs99cysv3iq440ncdw77bf03fsi1w5mby174c"))))
 | 
			
		||||
                "1ayhp9v4m4rdhjmnl2bq3cibrbqqkgjbl3s7yk2nhlh8vj3ay16g"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (synopsis "Hello, GNU world: An example GNU package")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -1015,105 +1015,6 @@ with the Linux kernel.")
 | 
			
		|||
                                       "glibc-reinstate-prlimit64-fallback.patch"
 | 
			
		||||
                                       "glibc-2.29-supported-locales.patch"))))))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
(define-public glibc-2.2.5
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit glibc)
 | 
			
		||||
    (version "2.2.5")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.gz"))
 | 
			
		||||
              (patches (search-patches "glibc-boot-2.2.5.patch"
 | 
			
		||||
                                       "glibc-bootstrap-system-2.2.5.patch"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list #:system "i686-linux"
 | 
			
		||||
           #:implicit-inputs? #f
 | 
			
		||||
           #:tests? #f
 | 
			
		||||
           #:strip-binaries? #f
 | 
			
		||||
           #:validate-runpath? #f
 | 
			
		||||
           #:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds
 | 
			
		||||
           #:make-flags
 | 
			
		||||
           #~(list (string-append
 | 
			
		||||
                    "SHELL=" #$(this-package-native-input "bash") "/bin/sh"))
 | 
			
		||||
           #:configure-flags
 | 
			
		||||
           #~(list "--enable-shared"
 | 
			
		||||
                   "--enable-static"
 | 
			
		||||
                   "--disable-sanity-checks"
 | 
			
		||||
                   "--build=i686-unknown-linux-gnu"
 | 
			
		||||
                   "--host=i686-unknown-linux-gnu"
 | 
			
		||||
                   (string-append "--with-headers="
 | 
			
		||||
                                  #$(this-package-native-input "kernel-headers")
 | 
			
		||||
                                  "/include")
 | 
			
		||||
                   "--enable-static-nss"
 | 
			
		||||
                   "--without-__thread"
 | 
			
		||||
                   "--without-cvs"
 | 
			
		||||
                   "--without-gd"
 | 
			
		||||
                   "--without-tls"
 | 
			
		||||
                   (string-append "--prefix=" #$output))
 | 
			
		||||
           #:phases
 | 
			
		||||
           #~(modify-phases %standard-phases
 | 
			
		||||
               (add-before 'configure 'setenv
 | 
			
		||||
                 (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
                   (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                          (bash (assoc-ref inputs "bash"))
 | 
			
		||||
                          (shell (string-append bash "/bin/bash"))
 | 
			
		||||
                          (gcc (assoc-ref inputs "gcc"))
 | 
			
		||||
                          (cppflags (string-append
 | 
			
		||||
                                     " -D MES_BOOTSTRAP=1"
 | 
			
		||||
                                     " -D BOOTSTRAP_GLIBC=1"))
 | 
			
		||||
                          (cflags (string-append " -L " (getcwd))))
 | 
			
		||||
                     (setenv "CONFIG_SHELL" shell)
 | 
			
		||||
                     (setenv "SHELL" shell)
 | 
			
		||||
                     (setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags))
 | 
			
		||||
                     (setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)))))
 | 
			
		||||
               (replace 'configure   ; needs classic invocation of configure
 | 
			
		||||
                 (lambda* (#:key configure-flags #:allow-other-keys)
 | 
			
		||||
                   (format (current-error-port)
 | 
			
		||||
                           "running ./configure ~a\n" (string-join configure-flags))
 | 
			
		||||
                   (apply invoke "./configure" configure-flags)))
 | 
			
		||||
               (add-after 'configure 'fixup-configure
 | 
			
		||||
                 (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
                   (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                          (bash (assoc-ref inputs "bash"))
 | 
			
		||||
                          (shell (string-append bash "/bin/bash")))
 | 
			
		||||
                     (substitute* "config.make"
 | 
			
		||||
                       (("INSTALL = scripts/") "INSTALL = $(..)./scripts/"))
 | 
			
		||||
                     (substitute* "config.make"
 | 
			
		||||
                       (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")
 | 
			
		||||
                       (("BASH = ") (string-append
 | 
			
		||||
                                     "SHELL = " shell "
 | 
			
		||||
         BASH = ")))))))))
 | 
			
		||||
    (supported-systems '("i686-linux" "x86_64-linux"))
 | 
			
		||||
    (outputs '("out"))
 | 
			
		||||
    (inputs '())
 | 
			
		||||
    (propagated-inputs '())
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     ;; Lazily resolve NAME in (gnu packages commencement) to avoid a cycle.
 | 
			
		||||
     (let ((c (lambda (name)
 | 
			
		||||
                (module-ref (resolve-interface
 | 
			
		||||
                             '(gnu packages commencement))
 | 
			
		||||
                            name))))
 | 
			
		||||
       `(("bash" ,bash-minimal)
 | 
			
		||||
         ("coreutils" ,coreutils)
 | 
			
		||||
         ("gawk" ,gawk)
 | 
			
		||||
         ("grep" ,grep)
 | 
			
		||||
         ("make" ,gnu-make)
 | 
			
		||||
         ("sed" ,sed)
 | 
			
		||||
         ("tar" ,tar)
 | 
			
		||||
         ("bzip2" ,bzip2)
 | 
			
		||||
         ("gzip" ,gzip)
 | 
			
		||||
         ("patch" ,patch)
 | 
			
		||||
         ("xz" ,xz)
 | 
			
		||||
         ("kernel-headers" ,linux-libre-headers)
 | 
			
		||||
 | 
			
		||||
         ;; Old toolchain
 | 
			
		||||
         ("gcc" ,(c 'gcc-mesboot0))
 | 
			
		||||
         ("binutils" ,(c 'binutils-mesboot))
 | 
			
		||||
         ("libc" ,(c 'glibc-mesboot0)))))))
 | 
			
		||||
 | 
			
		||||
(define-public (make-gcc-libc base-gcc libc)
 | 
			
		||||
  "Return a GCC that targets LIBC."
 | 
			
		||||
  (package (inherit base-gcc)
 | 
			
		||||
| 
						 | 
				
			
			@ -1270,7 +1171,8 @@ test environments.")
 | 
			
		|||
(define-public glibc-locales
 | 
			
		||||
  (make-glibc-locales glibc))
 | 
			
		||||
(define-public glibc-utf8-locales
 | 
			
		||||
  (make-glibc-utf8-locales glibc))
 | 
			
		||||
  (hidden-package
 | 
			
		||||
   (make-glibc-utf8-locales glibc)))
 | 
			
		||||
 | 
			
		||||
;; Packages provided to ease use of binaries linked against the previous libc.
 | 
			
		||||
(define-public glibc-locales-2.29
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@gmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
 | 
			
		||||
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -31,22 +31,33 @@
 | 
			
		|||
  #:use-module ((guix licenses) #:prefix license:)
 | 
			
		||||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix build-system python)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages autotools)
 | 
			
		||||
  #:use-module (gnu packages base)
 | 
			
		||||
  #:use-module (gnu packages c)
 | 
			
		||||
  #:use-module (gnu packages check)
 | 
			
		||||
  #:use-module (gnu packages compression)
 | 
			
		||||
  #:use-module (gnu packages kde-frameworks)
 | 
			
		||||
  #:use-module (gnu packages databases)
 | 
			
		||||
  #:use-module (gnu packages docbook)
 | 
			
		||||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages lua)
 | 
			
		||||
  #:use-module (gnu packages maths)
 | 
			
		||||
  #:use-module (gnu packages mpi)
 | 
			
		||||
  #:use-module (gnu packages opencl)
 | 
			
		||||
  #:use-module (gnu packages perl)
 | 
			
		||||
  #:use-module (gnu packages pkg-config)
 | 
			
		||||
  #:use-module (gnu packages python)
 | 
			
		||||
  #:use-module (gnu packages python-science)
 | 
			
		||||
  #:use-module (gnu packages python-web)
 | 
			
		||||
  #:use-module (gnu packages python-xyz)
 | 
			
		||||
  #:use-module (gnu packages qt)
 | 
			
		||||
  #:use-module (gnu packages xml)
 | 
			
		||||
  #:use-module (ice-9 match))
 | 
			
		||||
 | 
			
		||||
(define-public fio
 | 
			
		||||
| 
						 | 
				
			
			@ -383,3 +394,178 @@ and options.  With careful benchmarking, different hardware can be compared.")
 | 
			
		|||
        devices.  It only measures the peak metrics that can be achieved using
 | 
			
		||||
        vector operations and does not represent a real-world use case.")
 | 
			
		||||
        (license license:unlicense))))
 | 
			
		||||
 | 
			
		||||
(define-public kdiskmark
 | 
			
		||||
  (package
 | 
			
		||||
    (name "kdiskmark")
 | 
			
		||||
    (version "2.3.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/JonMagon/KDiskMark")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1l4sw05yx70pcnaa64arjc414mgvyz05pn3gz9nc9hga8v2d3rzn"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:configure-flags
 | 
			
		||||
      ;; Drop runtime dependency on KDE's KFAuth.
 | 
			
		||||
      #~(list "-DPERFORM_PAGECACHE_CLEARING_USING_KF5AUTH=no")
 | 
			
		||||
      #:tests? #f                       ;no test suite
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'patch-paths
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              (substitute* "src/benchmark.cpp"
 | 
			
		||||
                (("\"fio\"")
 | 
			
		||||
                 (format #f "~s" (search-input-file inputs "bin/fio")))))))))
 | 
			
		||||
    (native-inputs (list extra-cmake-modules qttools))
 | 
			
		||||
    (inputs (list fio qtbase-5))
 | 
			
		||||
    (home-page "https://github.com/JonMagon/KDiskMark")
 | 
			
		||||
    (synopsis "Simple disk benchmark tool")
 | 
			
		||||
    (description "KDiskMark is an HDD and SSD benchmark tool.  KDiskMark
 | 
			
		||||
abstracts away the complexity of the Flexible I/O Tester (@command{fio})
 | 
			
		||||
command via a convenient graphical user interface (GUI) and handles its output
 | 
			
		||||
to provide an easy to view and interpret benchmark result.  The application is
 | 
			
		||||
written in C++ with Qt and doesn't have any runtime KDE dependencies.  Among
 | 
			
		||||
its features are:
 | 
			
		||||
@itemize
 | 
			
		||||
@item Configurable block size, queues, and threads count for each test
 | 
			
		||||
@item Many languages support
 | 
			
		||||
@item Report generation.
 | 
			
		||||
@end itemize")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public sysbench
 | 
			
		||||
  (package
 | 
			
		||||
    (name "sysbench")
 | 
			
		||||
    (version "1.0.20")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/akopytov/sysbench")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet '(begin
 | 
			
		||||
                          ;; Ensure no bundled libraries get used.
 | 
			
		||||
                          (delete-file-recursively "third_party")
 | 
			
		||||
                          (substitute* "configure.ac"
 | 
			
		||||
                            (("^third_party/.*")
 | 
			
		||||
                             ""))
 | 
			
		||||
                          (substitute* "Makefile.am"
 | 
			
		||||
                            ((".*(LUAJIT|CK)_DIR =.*")
 | 
			
		||||
                             ""))))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1sanvl2a52ff4shj62nw395zzgdgywplqvwip74ky8q7s6qjf5qy"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:configure-flags #~(list "--with-pgsql"
 | 
			
		||||
                                ;; Explicitly specify the library directory of
 | 
			
		||||
                                ;; MySQL, otherwise `mysql_config` gets
 | 
			
		||||
                                ;; consulted and adds unnecessary link
 | 
			
		||||
                                ;; directives.
 | 
			
		||||
                                (string-append "--with-mysql-libs="
 | 
			
		||||
                                               #$(this-package-input "mysql")
 | 
			
		||||
                                               "/lib")
 | 
			
		||||
                                "--with-system-luajit"
 | 
			
		||||
                                "--with-system-ck"
 | 
			
		||||
                                ;; If we let the build tool select the most
 | 
			
		||||
                                ;; optimal compiler architecture flag, the
 | 
			
		||||
                                ;; build is not reproducible.
 | 
			
		||||
                                "--without-gcc-arch")
 | 
			
		||||
      #:phases #~(modify-phases %standard-phases
 | 
			
		||||
                   (add-after 'unpack 'patch-test-runner
 | 
			
		||||
                     (lambda _
 | 
			
		||||
                       (substitute* "tests/test_run.sh"
 | 
			
		||||
                         (("/bin/bash")
 | 
			
		||||
                          (which "bash"))
 | 
			
		||||
                         ;; Do not attempt to invoke the cram command via
 | 
			
		||||
                         ;; Python, as on Guix it is a shell script (wrapper).
 | 
			
		||||
                         (("\\$\\(command -v cram\\)")
 | 
			
		||||
                          "-m cram"))))
 | 
			
		||||
                   (add-after 'unpack 'disable-test-installation
 | 
			
		||||
                     (lambda _
 | 
			
		||||
                       (substitute* "tests/Makefile.am"
 | 
			
		||||
                         (("install-data-local")
 | 
			
		||||
                          "do-not-install-data-local")
 | 
			
		||||
                         (("^test_SCRIPTS.*")
 | 
			
		||||
                          ""))))
 | 
			
		||||
                   (add-after 'unpack 'fix-docbook
 | 
			
		||||
                     (lambda* (#:key native-inputs inputs #:allow-other-keys)
 | 
			
		||||
                       (substitute* "m4/ax_check_docbook.m4"
 | 
			
		||||
                         (("DOCBOOK_ROOT=.*" all)
 | 
			
		||||
                          (string-append
 | 
			
		||||
                           all "XML_CATALOG="
 | 
			
		||||
                           (search-input-file (or native-inputs inputs)
 | 
			
		||||
                                              "xml/dtd/docbook/catalog.xml")
 | 
			
		||||
                           "\n")))
 | 
			
		||||
                       (substitute* "doc/xsl/xhtml.xsl"
 | 
			
		||||
                         (("http://docbook.sourceforge.net/release/xsl\
 | 
			
		||||
/current/xhtml/docbook.xsl")
 | 
			
		||||
                          (search-input-file
 | 
			
		||||
                           (or native-inputs inputs)
 | 
			
		||||
                           (string-append "xml/xsl/docbook-xsl-"
 | 
			
		||||
                                          #$(package-version docbook-xsl)
 | 
			
		||||
                                          "/xhtml/docbook.xsl"))))
 | 
			
		||||
                       (substitute* "doc/xsl/xhtml-chunk.xsl"
 | 
			
		||||
                         (("http://docbook.sourceforge.net/release/xsl\
 | 
			
		||||
/current/xhtml/chunk.xsl")
 | 
			
		||||
                          (search-input-file
 | 
			
		||||
                           (or native-inputs inputs)
 | 
			
		||||
                           (string-append "xml/xsl/docbook-xsl-"
 | 
			
		||||
                                          #$(package-version docbook-xsl)
 | 
			
		||||
                                          "/xhtml/chunk.xsl")))))))))
 | 
			
		||||
    (native-inputs (list autoconf
 | 
			
		||||
                         automake
 | 
			
		||||
                         libtool
 | 
			
		||||
                         pkg-config
 | 
			
		||||
                         python-cram
 | 
			
		||||
                         python-wrapper
 | 
			
		||||
                         which
 | 
			
		||||
                         ;; For documentation
 | 
			
		||||
                         libxml2        ;for XML_CATALOG_FILES
 | 
			
		||||
                         libxslt
 | 
			
		||||
                         docbook-xml
 | 
			
		||||
                         docbook-xsl))
 | 
			
		||||
    (inputs (list ck libaio luajit mysql postgresql))
 | 
			
		||||
    (home-page "https://github.com/akopytov/sysbench/")
 | 
			
		||||
    (synopsis "Scriptable database and system performance benchmark")
 | 
			
		||||
    (description "@command{sysbench} is a scriptable multi-threaded benchmark
 | 
			
		||||
tool based on LuaJIT.  It is most frequently used for database benchmarks, but
 | 
			
		||||
can also be used to create arbitrarily complex workloads that do not involve a
 | 
			
		||||
database server.  @command{sysbench} comes with the following bundled
 | 
			
		||||
benchmarks:
 | 
			
		||||
@table @file
 | 
			
		||||
@item oltp_*.lua
 | 
			
		||||
A collection of OLTP-like database benchmarks.
 | 
			
		||||
@item fileio
 | 
			
		||||
A filesystem-level benchmark.
 | 
			
		||||
@item cpu
 | 
			
		||||
A simple CPU benchmark.
 | 
			
		||||
@item memory
 | 
			
		||||
A memory access benchmark.
 | 
			
		||||
@item threads
 | 
			
		||||
A thread-based scheduler benchmark.
 | 
			
		||||
@item mutex
 | 
			
		||||
A POSIX mutex benchmark.
 | 
			
		||||
@end table
 | 
			
		||||
It includes features such as:
 | 
			
		||||
@itemize
 | 
			
		||||
@item
 | 
			
		||||
Extensive statistics about rate and latency is available, including latency
 | 
			
		||||
percentiles and histograms.
 | 
			
		||||
@item
 | 
			
		||||
Low overhead even with thousands of concurrent threads.  @command{sysbench} is
 | 
			
		||||
capable of generating and tracking hundreds of millions of events per second.
 | 
			
		||||
@item
 | 
			
		||||
New benchmarks can be easily created by implementing pre-defined hooks in
 | 
			
		||||
user-provided Lua scripts.
 | 
			
		||||
@item
 | 
			
		||||
@end itemize")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -737,6 +737,44 @@ as provided by UCSC (hg38, Dec. 2013) and stored in Biostrings objects.")
 | 
			
		|||
     "This package exposes an annotation database generated from Ensembl.")
 | 
			
		||||
    (license license:artistic2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public r-ensdb-hsapiens-v86
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-ensdb-hsapiens-v86")
 | 
			
		||||
    (version "2.99.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (bioconductor-uri "EnsDb.Hsapiens.v86" version 'annotation))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1gp7xrzddpvmh2vrcp571wyy00skxgxfl39ksj4h0hm1qay0fb2m"))))
 | 
			
		||||
    (properties `((upstream-name . "EnsDb.Hsapiens.v86")))
 | 
			
		||||
    (build-system r-build-system)
 | 
			
		||||
    (propagated-inputs (list r-ensembldb))
 | 
			
		||||
    (home-page "https://bioconductor.org/packages/EnsDb.Hsapiens.v86")
 | 
			
		||||
    (synopsis "Ensembl based annotation package")
 | 
			
		||||
    (description "This package exposes an annotation database generated from
 | 
			
		||||
Ensembl.")
 | 
			
		||||
    (license license:artistic2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public r-ensdb-mmusculus-v79
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-ensdb-mmusculus-v79")
 | 
			
		||||
    (version "2.99.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (bioconductor-uri "EnsDb.Mmusculus.v79" version 'annotation))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1zpmq7v55if6q9r0h883q9k8l70ym20b01m9hxf121wb256rl9f7"))))
 | 
			
		||||
    (properties `((upstream-name . "EnsDb.Mmusculus.v79")))
 | 
			
		||||
    (build-system r-build-system)
 | 
			
		||||
    (propagated-inputs (list r-ensembldb))
 | 
			
		||||
    (home-page "https://bioconductor.org/packages/EnsDb.Mmusculus.v79")
 | 
			
		||||
    (synopsis "Ensembl based annotation package")
 | 
			
		||||
    (description "This package exposes an annotation database generated from
 | 
			
		||||
Ensembl.")
 | 
			
		||||
    (license license:artistic2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public r-txdb-dmelanogaster-ucsc-dm6-ensgene
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-txdb-dmelanogaster-ucsc-dm6-ensgene")
 | 
			
		||||
| 
						 | 
				
			
			@ -2966,6 +3004,44 @@ testing.  The package also provides functions for the visualization and
 | 
			
		|||
exploration of the results.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public r-diffcyt
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-diffcyt")
 | 
			
		||||
    (version "1.14.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (bioconductor-uri "diffcyt" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1yc9mlc0ifb7h6rzskq97bsdq1kwdp5qq9l9mciwyxf6yjkmv5ni"))))
 | 
			
		||||
    (properties `((upstream-name . "diffcyt")))
 | 
			
		||||
    (build-system r-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list r-circlize
 | 
			
		||||
           r-complexheatmap
 | 
			
		||||
           r-dplyr
 | 
			
		||||
           r-edger
 | 
			
		||||
           r-flowcore
 | 
			
		||||
           r-flowsom
 | 
			
		||||
           r-limma
 | 
			
		||||
           r-lme4
 | 
			
		||||
           r-magrittr
 | 
			
		||||
           r-multcomp
 | 
			
		||||
           r-reshape2
 | 
			
		||||
           r-s4vectors
 | 
			
		||||
           r-summarizedexperiment
 | 
			
		||||
           r-tidyr))
 | 
			
		||||
    (native-inputs (list r-knitr))
 | 
			
		||||
    (home-page "https://github.com/lmweber/diffcyt")
 | 
			
		||||
    (synopsis "Differential discovery in high-dimensional cytometry")
 | 
			
		||||
    (description
 | 
			
		||||
     "This package provides statistical methods for differential discovery
 | 
			
		||||
analyses in high-dimensional cytometry data (including flow cytometry, mass
 | 
			
		||||
cytometry or CyTOF, and oligonucleotide-tagged cytometry), based on a
 | 
			
		||||
combination of high-resolution clustering and empirical Bayes moderated tests
 | 
			
		||||
adapted from transcriptomics.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public r-dirichletmultinomial
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-dirichletmultinomial")
 | 
			
		||||
| 
						 | 
				
			
			@ -4349,6 +4425,43 @@ differential expression analysis, RNAseq data and related problems.")
 | 
			
		|||
    ;; Any version of the LGPL
 | 
			
		||||
    (license license:lgpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public r-scannotatr
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-scannotatr")
 | 
			
		||||
    (version "1.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (bioconductor-uri "scAnnotatR" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "08jq04ckjw8a5y753almc5bl8vnn4j6qp2zb7bb9w3ql3ddy7b21"))))
 | 
			
		||||
    (properties `((upstream-name . "scAnnotatR")))
 | 
			
		||||
    (build-system r-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list r-annotationhub
 | 
			
		||||
           r-ape
 | 
			
		||||
           r-caret
 | 
			
		||||
           r-data-tree
 | 
			
		||||
           r-dplyr
 | 
			
		||||
           r-e1071
 | 
			
		||||
           r-ggplot2
 | 
			
		||||
           r-kernlab
 | 
			
		||||
           r-proc
 | 
			
		||||
           r-rocr
 | 
			
		||||
           r-seurat
 | 
			
		||||
           r-singlecellexperiment
 | 
			
		||||
           r-summarizedexperiment))
 | 
			
		||||
    (native-inputs (list r-knitr))
 | 
			
		||||
    (home-page "https://github.com/grisslab/scAnnotatR")
 | 
			
		||||
    (synopsis "Pretrained models for prediction on single cell RNA-sequencing data")
 | 
			
		||||
    (description
 | 
			
		||||
     "This package comprises a set of pretrained machine learning models to
 | 
			
		||||
predict basic immune cell types.  This enables to quickly get a first
 | 
			
		||||
annotation of the cell types present in the dataset without requiring prior
 | 
			
		||||
knowledge.  The package also lets you train using own models to predict new
 | 
			
		||||
cell types based on specific research needs.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public r-scdblfinder
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-scdblfinder")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,8 +4,8 @@
 | 
			
		|||
;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl>
 | 
			
		||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 | 
			
		||||
;;; Copyright © 2016, 2020, 2021 Roel Janssen <roel@gnu.org>
 | 
			
		||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius@gnu.org>
 | 
			
		||||
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
 | 
			
		||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
| 
						 | 
				
			
			@ -3340,7 +3340,7 @@ data and settings.")
 | 
			
		|||
                                             texlive-latex-ms
 | 
			
		||||
                                             texlive-latex-natbib
 | 
			
		||||
                                             texlive-bibtex ; style files used by natbib
 | 
			
		||||
                                             texlive-latex-pgf ; tikz
 | 
			
		||||
                                             texlive-pgf    ; tikz
 | 
			
		||||
                                             texlive-latex-verbatimbox)))
 | 
			
		||||
       ("imagemagick" ,imagemagick)))
 | 
			
		||||
    (home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/")
 | 
			
		||||
| 
						 | 
				
			
			@ -11409,7 +11409,7 @@ version does count multisplits.")
 | 
			
		|||
(define-public minimap2
 | 
			
		||||
  (package
 | 
			
		||||
    (name "minimap2")
 | 
			
		||||
    (version "2.23")
 | 
			
		||||
    (version "2.24")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -11418,7 +11418,7 @@ version does count multisplits.")
 | 
			
		|||
                           "minimap2-" version ".tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "00ngbz1swcgxk5apx9dz5xkh1z8abdpysx5lc7w8fbrfxp41w0j0"))))
 | 
			
		||||
         "05d6h2c1h95s5vblf1fijn9g0r4g69nsvkabji42j642y0gw7m4x"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f                      ; there are none
 | 
			
		||||
| 
						 | 
				
			
			@ -11695,6 +11695,49 @@ including:
 | 
			
		|||
    ;; the GPL, but the license headers include the "or later" clause.
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public r-dyngen
 | 
			
		||||
  (let ((commit "37fd1798fcbd41093fb3d7775bb2d268e2fc82b6")
 | 
			
		||||
        (revision "1"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "r-dyngen")
 | 
			
		||||
      (version (git-version "1.0.3" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/dynverse/dyngen")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "05pr6v1b8yji1jnj3fwx0crmg8ay6yy6lp9qjmcyvhkwbmf3kvc7"))))
 | 
			
		||||
      (properties `((upstream-name . "dyngen")))
 | 
			
		||||
      (build-system r-build-system)
 | 
			
		||||
      (propagated-inputs
 | 
			
		||||
       (list r-assertthat
 | 
			
		||||
             r-dplyr
 | 
			
		||||
             r-dynutils
 | 
			
		||||
             r-ggplot2
 | 
			
		||||
             r-ggraph
 | 
			
		||||
             r-ggrepel
 | 
			
		||||
             r-gillespiessa2
 | 
			
		||||
             r-igraph
 | 
			
		||||
             r-lmds
 | 
			
		||||
             r-matrix
 | 
			
		||||
             r-patchwork
 | 
			
		||||
             r-pbapply
 | 
			
		||||
             r-purrr
 | 
			
		||||
             r-rlang
 | 
			
		||||
             r-tibble
 | 
			
		||||
             r-tidygraph
 | 
			
		||||
             r-tidyr
 | 
			
		||||
             r-viridis))
 | 
			
		||||
      (home-page "https://github.com/dynverse/dyngen")
 | 
			
		||||
      (synopsis "Multi-Modal simulator for single-cell omics analyses")
 | 
			
		||||
      (description
 | 
			
		||||
       "This package provides a multi-modal simulation engine for studying
 | 
			
		||||
dynamic cellular processes at single-cell resolution.")
 | 
			
		||||
      (license license:expat))))
 | 
			
		||||
 | 
			
		||||
(define-public r-circus
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-circus")
 | 
			
		||||
| 
						 | 
				
			
			@ -13840,6 +13883,35 @@ vast-tools, an RNA-Seq pipeline for alternative splicing analysis.  The plots
 | 
			
		|||
are generated using @code{ggplot2}.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public r-scopeloomr
 | 
			
		||||
  (let ((commit "99726f5f7da794042036b73924b6a10d6e7b4d5d")
 | 
			
		||||
        (revision "1"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "r-scopeloomr")
 | 
			
		||||
      (version (git-version "0.13.0" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/aertslab/SCopeLoomR")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "1ci17ms0c0hf7yfp9ckcg7a2y1s0nm19jj3cifsd55hwc0gdglmz"))))
 | 
			
		||||
      (properties `((upstream-name . "SCopeLoomR")))
 | 
			
		||||
      (build-system r-build-system)
 | 
			
		||||
      (propagated-inputs
 | 
			
		||||
       (list r-base64enc r-hdf5r r-igraph r-matrix r-plyr r-rjson r-rlist))
 | 
			
		||||
      (home-page "https://github.com/aertslab/SCopeLoomR")
 | 
			
		||||
      (synopsis "Build .loom files and extract data from them")
 | 
			
		||||
      (description
 | 
			
		||||
       "This is an R package to build generic @code{.loom} files aligning with
 | 
			
		||||
the default naming convention of the @code{.loom} format and to integrate
 | 
			
		||||
other data types e.g.: regulons (SCENIC), clusters from Seurat, trajectory
 | 
			
		||||
information...  The package can also be used to extract data from @code{.loom}
 | 
			
		||||
files.")
 | 
			
		||||
      (license license:expat))))
 | 
			
		||||
 | 
			
		||||
(define-public vbz-compression
 | 
			
		||||
  (package
 | 
			
		||||
    (name "vbz-compression")
 | 
			
		||||
| 
						 | 
				
			
			@ -14620,55 +14692,48 @@ alignments, trees and genomic annotations.")
 | 
			
		|||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public python-gffutils
 | 
			
		||||
  ;; The latest release is older more than a year than the latest commit
 | 
			
		||||
  (let ((commit "4034c54600813b1402945e12faa91b3a53162cf1")
 | 
			
		||||
        (revision "1"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "python-gffutils")
 | 
			
		||||
      (version (git-version "0.9" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/daler/gffutils")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32
 | 
			
		||||
           "1rwafjdnbir5wnk0ap06ww4lra3p5frhy7mfs03rlldgfnwxymsn"))))
 | 
			
		||||
      (build-system python-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:phases
 | 
			
		||||
         (modify-phases %standard-phases
 | 
			
		||||
           (replace 'check
 | 
			
		||||
             (lambda _
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-gffutils")
 | 
			
		||||
    (version "0.10.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/daler/gffutils")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1gkzk7ps6w3ai2r81js9s9bzpba0jmxychnd2da6n9ggdnf2xzqz"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
             (when tests?
 | 
			
		||||
               ;; Tests need to access the HOME directory
 | 
			
		||||
               (setenv "HOME" "/tmp")
 | 
			
		||||
               (invoke "nosetests" "-a" "!slow")))
 | 
			
		||||
           (add-after 'unpack 'make-gz-files-writable
 | 
			
		||||
             (lambda _
 | 
			
		||||
               (for-each make-file-writable
 | 
			
		||||
                         (find-files "." "\\.gz"))
 | 
			
		||||
               #t)))))
 | 
			
		||||
      (propagated-inputs
 | 
			
		||||
       (list python-argcomplete
 | 
			
		||||
             python-argh
 | 
			
		||||
             python-biopython
 | 
			
		||||
             python-pybedtools
 | 
			
		||||
             python-pyfaidx
 | 
			
		||||
             python-simplejson
 | 
			
		||||
             python-six))
 | 
			
		||||
      (native-inputs
 | 
			
		||||
       (list python-nose))
 | 
			
		||||
      (home-page "https://github.com/daler/gffutils")
 | 
			
		||||
      (synopsis "Tool for manipulation of GFF and GTF files")
 | 
			
		||||
      (description
 | 
			
		||||
       "python-gffutils is a Python package for working with and manipulating
 | 
			
		||||
               (invoke "nosetests" "-a" "!slow")))))))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list python-argcomplete
 | 
			
		||||
           python-argh
 | 
			
		||||
           python-biopython
 | 
			
		||||
           python-pybedtools
 | 
			
		||||
           python-pyfaidx
 | 
			
		||||
           python-simplejson
 | 
			
		||||
           python-six))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list python-nose))
 | 
			
		||||
    (home-page "https://github.com/daler/gffutils")
 | 
			
		||||
    (synopsis "Tool for manipulation of GFF and GTF files")
 | 
			
		||||
    (description
 | 
			
		||||
     "python-gffutils is a Python package for working with and manipulating
 | 
			
		||||
the GFF and GTF format files typically used for genomic annotations.  The
 | 
			
		||||
files are loaded into a SQLite database, allowing much more complex
 | 
			
		||||
manipulation of hierarchical features (e.g., genes, transcripts, and exons)
 | 
			
		||||
than is possible with plain-text methods alone.")
 | 
			
		||||
      (license license:expat))))
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public indelfixer
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,7 @@
 | 
			
		|||
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
 | 
			
		||||
;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
 | 
			
		||||
;;; Copyright © 2022 Brice Waegeneire <brice@waegenei.re>
 | 
			
		||||
;;; Copyright © 2022 Jacob Hart <hartja1@yahoo.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -477,7 +478,7 @@ desktops.")
 | 
			
		|||
(define-public qbittorrent
 | 
			
		||||
  (package
 | 
			
		||||
    (name "qbittorrent")
 | 
			
		||||
    (version "4.4.0")
 | 
			
		||||
    (version "4.4.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -486,7 +487,7 @@ desktops.")
 | 
			
		|||
             (commit (string-append "release-" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0aqrcwxi3s2alila3fa7fjs4hifkq7055wa4xvz17hajchs3l567"))))
 | 
			
		||||
        (base32 "00whc4p209g2krsggxyq4sna01djbk1rbzkyjbq4qczvya01xn0w"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@
 | 
			
		|||
;;; Copyright © 2016, 2017, 2018, 2021 Marius Bakke <marius@gnu.org>
 | 
			
		||||
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
 | 
			
		||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
 | 
			
		||||
;;; Copyright © 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2019 nee <nee@cock.li>
 | 
			
		||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -448,18 +448,21 @@ menu to select one of the installed operating systems.")
 | 
			
		|||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "mirror://kernel.org/software/utils/dtc/"
 | 
			
		||||
                    "dtc-" version ".tar.xz"))
 | 
			
		||||
                    "dtc-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0wrl43rvd8nnm1v1wyfdr17vk8q7ymib62vli6da8n9ni4lwbkk5"))))
 | 
			
		||||
                "0xm38h31jb29xfh2sfyk48d8wdfq4b8lmb412zx9vjr35izjb9iq"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list bison
 | 
			
		||||
           flex
 | 
			
		||||
           libyaml
 | 
			
		||||
           pkg-config
 | 
			
		||||
           swig
 | 
			
		||||
           valgrind))
 | 
			
		||||
     (append
 | 
			
		||||
       (list bison
 | 
			
		||||
             flex
 | 
			
		||||
             libyaml
 | 
			
		||||
             pkg-config
 | 
			
		||||
             swig)
 | 
			
		||||
       (if (member (%current-system) (package-supported-systems valgrind))
 | 
			
		||||
           (list valgrind)
 | 
			
		||||
           '())))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list python))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -480,10 +483,7 @@ menu to select one of the installed operating systems.")
 | 
			
		|||
             (substitute* '("Makefile"
 | 
			
		||||
                            "tests/run_tests.sh")
 | 
			
		||||
               (("pkg-config")
 | 
			
		||||
                (or (which "pkg-config")
 | 
			
		||||
                    (string-append ,(%current-target-system)
 | 
			
		||||
                                   "-pkg-config"))))
 | 
			
		||||
             #t))
 | 
			
		||||
                ,(pkg-config-for-target)))))
 | 
			
		||||
         (delete 'configure))))         ; no configure script
 | 
			
		||||
    (home-page "https://www.devicetree.org")
 | 
			
		||||
    (synopsis "Compiles device tree source files")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,7 +51,7 @@ supported content to the Kodi media center.")
 | 
			
		|||
(define ublock-origin
 | 
			
		||||
  (package
 | 
			
		||||
    (name "ublock-origin")
 | 
			
		||||
    (version "1.41.2")
 | 
			
		||||
    (version "1.41.6")
 | 
			
		||||
    (home-page "https://github.com/gorhill/uBlock")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ supported content to the Kodi media center.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0ga8yj2zkyngah0li3la3gslhjdayp0barch5w3y2jp9i14df9k2"))))
 | 
			
		||||
                "05flr4jksa3l4cwi0fgkzmzn46rg5znaqd73615lwnxmnpr4va9d"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (outputs '("xpi" "firefox" "chromium"))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@
 | 
			
		|||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix build-system trivial)
 | 
			
		||||
  #:use-module (guix store)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages bash)
 | 
			
		||||
  #:use-module (gnu packages bootstrap)
 | 
			
		||||
| 
						 | 
				
			
			@ -896,6 +897,83 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
 | 
			
		|||
    (home-page "https://github.com/awslabs/aws-c-mqtt")
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
;;; Factored out of the ck package so that it can be adjusted and called on
 | 
			
		||||
;;; the host side easily, without impacting the package definition.
 | 
			
		||||
(define (gnu-triplet->ck-machine target)
 | 
			
		||||
  (letrec-syntax
 | 
			
		||||
      ((matches (syntax-rules (=>)
 | 
			
		||||
                  ((_ (target-prefix => machine) rest ...)
 | 
			
		||||
                   (if (string-prefix? target-prefix target)
 | 
			
		||||
                       machine
 | 
			
		||||
                       (matches rest ...)))
 | 
			
		||||
                  ((_)
 | 
			
		||||
                   (error "unsupported target" target)))))
 | 
			
		||||
    ;; This basically reproduces the logic handling the
 | 
			
		||||
    ;; PLATFORM variable in the configure script of ck.
 | 
			
		||||
    (matches ("x86_64"      => "x86_64")
 | 
			
		||||
             ("i586"        => "x86")
 | 
			
		||||
             ("i686"        => "x86")
 | 
			
		||||
             ("aarch64"     => "aarch64")
 | 
			
		||||
             ("arm"         => "arm")
 | 
			
		||||
             ("ppc64"       => "ppc64")
 | 
			
		||||
             ("ppc"         => "ppc")
 | 
			
		||||
             ("s390x"       => "s390x")
 | 
			
		||||
             ("sparc64"     => "sparcv9"))))
 | 
			
		||||
 | 
			
		||||
(define-public ck
 | 
			
		||||
  (package
 | 
			
		||||
    (name "ck")
 | 
			
		||||
    (version "0.7.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/concurrencykit/ck")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "020yzfpvymdc8lc44znlnxmxb8mvp42g4nb4p8k814klazqvwh0x"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (replace 'configure
 | 
			
		||||
            ;; ck uses a custom configure script that stumbles on
 | 
			
		||||
            ;; '--enable-fast-install', among other things.
 | 
			
		||||
            (lambda* (#:key parallel-build? #:allow-other-keys)
 | 
			
		||||
              (define target-machine #$(and=> (%current-target-system)
 | 
			
		||||
                                              gnu-triplet->ck-machine))
 | 
			
		||||
              (when target-machine
 | 
			
		||||
                ;; The configure script doesn't currently work for
 | 
			
		||||
                ;; cross-compiling (see:
 | 
			
		||||
                ;; https://github.com/concurrencykit/ck/issues/191).
 | 
			
		||||
                (error "ck cannot currently be cross-compiled"))
 | 
			
		||||
              ;; The custom configure script doesn't make cross-compilation
 | 
			
		||||
              ;; adjustments itself, so manually set the archiver, compiler
 | 
			
		||||
              ;; and linker.
 | 
			
		||||
              (setenv "AR" #$(ar-for-target))
 | 
			
		||||
              (setenv "CC" #$(cc-for-target))
 | 
			
		||||
              (setenv "LD" #$(ld-for-target))
 | 
			
		||||
              (apply invoke "./configure"
 | 
			
		||||
                     `(,@(if target-machine
 | 
			
		||||
                             (list (string-append "--profile=" target-machine))
 | 
			
		||||
                             '())
 | 
			
		||||
                       ,(string-append "--prefix=" #$output)
 | 
			
		||||
                       ,(string-append "--mandir=" #$output "/share/man")
 | 
			
		||||
                       ,(string-append "--cores="
 | 
			
		||||
                                       (if parallel-build?
 | 
			
		||||
                                           (number->string (parallel-job-count))
 | 
			
		||||
                                           "1")))))))))
 | 
			
		||||
    (home-page "https://github.com/concurrencykit/ck")
 | 
			
		||||
    (synopsis "C library for concurrent systems")
 | 
			
		||||
    (description "Concurrency Kit (@code{ck}) provides concurrency primitives,
 | 
			
		||||
safe memory reclamation mechanisms and non-blocking (including lock-free) data
 | 
			
		||||
structures designed to aid in the research, design and implementation of high
 | 
			
		||||
performance concurrent systems developed in C99+.")
 | 
			
		||||
    (license (list license:bsd-2        ;everything except...
 | 
			
		||||
                   license:asl2.0))))   ;src/ck_hp.c
 | 
			
		||||
 | 
			
		||||
(define-public utf8-h
 | 
			
		||||
  ;; The latest tag is used as there is no release.
 | 
			
		||||
  (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -313,37 +313,37 @@ format, commonly used for VCDs or disks with subchannel data.")
 | 
			
		|||
                     (string-append
 | 
			
		||||
                      "actual_os := $(shell uname -o)\n"
 | 
			
		||||
                      "actual_arch := $(shell uname -m)\n"
 | 
			
		||||
                      "VERSION_OS = _$(actual_os)_$(actual_arch)\n")))
 | 
			
		||||
                  #t))
 | 
			
		||||
                      "VERSION_OS = _$(actual_os)_$(actual_arch)\n")))))
 | 
			
		||||
              (patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    ;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia.
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:make-flags
 | 
			
		||||
       (list "RM=rm" "LN=ln" "SYMLINK=ln -s"
 | 
			
		||||
             "CONFIG_SHELL=sh" "CCOM=gcc"
 | 
			
		||||
             (string-append "INS_BASE=" (assoc-ref %outputs "out"))
 | 
			
		||||
             (string-append "INS_RBASE=" (assoc-ref %outputs "out")))
 | 
			
		||||
       ;; Parallel builds appear to be unsafe, see
 | 
			
		||||
       ;; https://hydra.gnu.org/build/3346840/log/raw
 | 
			
		||||
       #:parallel-build? #f
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (delete 'configure)
 | 
			
		||||
         (add-before 'build 'set-linux-headers
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "autoconf/configure"
 | 
			
		||||
               (("/usr/src/linux")
 | 
			
		||||
                (assoc-ref %build-inputs "kernel-headers")))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-before 'build 'substitute-dirs
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* (append (find-files "DEFAULTS" "^Defaults\\.")
 | 
			
		||||
                                  (find-files "DEFAULTS_ENG" "^Defaults\\.")
 | 
			
		||||
                                  (find-files "TEMPLATES" "^Defaults\\."))
 | 
			
		||||
               (("/opt/schily") (assoc-ref %outputs "out")))
 | 
			
		||||
             #t)))
 | 
			
		||||
       #:tests? #f))  ; no tests
 | 
			
		||||
     (list #:make-flags
 | 
			
		||||
        #~(list "RM=rm" "LN=ln" "SYMLINK=ln -s"
 | 
			
		||||
                "CONFIG_SHELL=sh"
 | 
			
		||||
                (string-append "CCOM=" #$(cc-for-target))
 | 
			
		||||
                "LINKMODE=dynamic"
 | 
			
		||||
                (string-append "INS_BASE=" #$output)
 | 
			
		||||
                (string-append "INS_RBASE=" #$output))
 | 
			
		||||
        ;; Parallel builds appear to be unsafe, see
 | 
			
		||||
        ;; https://hydra.gnu.org/build/3346840/log/raw
 | 
			
		||||
        #:parallel-build? #f
 | 
			
		||||
        #:phases
 | 
			
		||||
        #~(modify-phases %standard-phases
 | 
			
		||||
            (delete 'configure)
 | 
			
		||||
            (add-before 'build 'set-linux-headers
 | 
			
		||||
              (lambda _
 | 
			
		||||
                (substitute* "autoconf/configure"
 | 
			
		||||
                  (("/usr/src/linux")
 | 
			
		||||
                   (assoc-ref %build-inputs "kernel-headers")))))
 | 
			
		||||
            (add-before 'build 'avoid-bogus-RPATH-entry
 | 
			
		||||
              (lambda _
 | 
			
		||||
                (substitute* (append (find-files "DEFAULTS" "^Defaults\\.")
 | 
			
		||||
                                     (find-files "DEFAULTS_ENG" "^Defaults\\.")
 | 
			
		||||
                                     (find-files "TEMPLATES" "^Defaults\\."))
 | 
			
		||||
                  (("/opt/schily")
 | 
			
		||||
                   #$output)))))
 | 
			
		||||
        #:tests? #f))  ; no tests
 | 
			
		||||
   (synopsis "Command line utilities to manipulate and burn CD/DVD/BD images")
 | 
			
		||||
   (description "cdrtools is a collection of command line utilities to create
 | 
			
		||||
CD's, DVD's or Blue Ray discs.  The most important components are
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,6 +37,7 @@
 | 
			
		|||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
 | 
			
		||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -93,7 +94,7 @@
 | 
			
		|||
(define-public pict
 | 
			
		||||
  (package
 | 
			
		||||
    (name "pict")
 | 
			
		||||
    (version "3.7.2")
 | 
			
		||||
    (version "3.7.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +104,7 @@
 | 
			
		|||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1hpff8x49ixlh71sbyhj1rircf0mg95v5q9y0ys52rhiph99wy3n"))))
 | 
			
		||||
         "0bpyl0zklw2fyxgynrc7shg0xamw8rr68zmh528niscrpavsmfpi"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
| 
						 | 
				
			
			@ -2885,13 +2886,27 @@ provides a simple way to achieve this.")
 | 
			
		|||
                "0xmi24ckpps32k7hc139psgbsnsf4g106sv4l9m445m46amkxggd"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'fix-test
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "tests/test-umockdev.c"
 | 
			
		||||
               (("/run") "/tmp"))
 | 
			
		||||
             #t)))))
 | 
			
		||||
     (list #:phases
 | 
			
		||||
           #~(modify-phases %standard-phases
 | 
			
		||||
               (add-after 'unpack 'fix-test
 | 
			
		||||
                 (lambda _
 | 
			
		||||
                   (substitute* "tests/test-umockdev.c"
 | 
			
		||||
                     (("/run") "/tmp"))))
 | 
			
		||||
               ;; Avoid having to set 'LD_LIBRARY_PATH' to use umockdev
 | 
			
		||||
               ;; via introspection.
 | 
			
		||||
               (add-after 'unpack 'absolute-introspection-library
 | 
			
		||||
                 (lambda _
 | 
			
		||||
                   (substitute* "Makefile.in"
 | 
			
		||||
                     (("g-ir-compiler -l libumockdev")
 | 
			
		||||
                      (string-append "g-ir-compiler -l " #$output
 | 
			
		||||
                                     "/lib/libumockdev")))))
 | 
			
		||||
               (add-after 'install 'absolute-filenames
 | 
			
		||||
                 (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
                   ;; 'patch-shebangs' will take care of the shebang.
 | 
			
		||||
                   (substitute* (string-append #$output "/bin/umockdev-wrapper")
 | 
			
		||||
                     (("env") (search-input-file inputs "bin/env"))
 | 
			
		||||
                     (("libumockdev")
 | 
			
		||||
                      (string-append #$output "/lib/libumockdev"))))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list vala
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
| 
						 | 
				
			
			@ -2901,7 +2916,9 @@ provides a simple way to achieve this.")
 | 
			
		|||
           python
 | 
			
		||||
           which))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list glib eudev libgudev))
 | 
			
		||||
     (list bash-minimal ;for umockdev-wrapper
 | 
			
		||||
           coreutils-minimal ;for bin/env
 | 
			
		||||
           glib eudev libgudev))
 | 
			
		||||
    (home-page "https://github.com/martinpitt/umockdev/")
 | 
			
		||||
    (synopsis "Mock hardware devices for creating unit tests")
 | 
			
		||||
    (description "umockdev mocks hardware devices for creating integration
 | 
			
		||||
| 
						 | 
				
			
			@ -3065,6 +3082,41 @@ 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)))
 | 
			
		||||
 | 
			
		||||
(define-public python-pytest-pudb
 | 
			
		||||
  ;; PyPi does not include tests
 | 
			
		||||
  (let ((commit "a6b3d2f4d35e558d72bccff472ecde9c9d9c69e5"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "python-pytest-pudb")
 | 
			
		||||
      ;; Version mentioned in setup.py version field.
 | 
			
		||||
      (version "0.7.0")
 | 
			
		||||
      (source (origin
 | 
			
		||||
                (method git-fetch)
 | 
			
		||||
                (uri (git-reference
 | 
			
		||||
                      (url "https://github.com/wronglink/pytest-pudb")
 | 
			
		||||
                      (commit commit)))
 | 
			
		||||
                (file-name (git-file-name name commit))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "1c0pypxx3y8w7s5bz9iy3w3aablnhn81rnhmb0is8hf2qpm6k3w0"))))
 | 
			
		||||
      (build-system python-build-system)
 | 
			
		||||
      (propagated-inputs (list pudb))
 | 
			
		||||
      (native-inputs (list python-pytest))
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:phases (modify-phases %standard-phases
 | 
			
		||||
                    (replace 'check
 | 
			
		||||
                      (lambda* (#:key inputs outputs tests? #:allow-other-keys)
 | 
			
		||||
                        (when tests?
 | 
			
		||||
                          (add-installed-pythonpath inputs outputs)
 | 
			
		||||
                          (invoke "pytest" "-v")))))))
 | 
			
		||||
      (home-page "https://github.com/wronglink/pytest-pudb")
 | 
			
		||||
      (synopsis "Pytest PuDB debugger integration")
 | 
			
		||||
      (description
 | 
			
		||||
       "@code{python-pytest-pudb} provides PuDB debugger integration based
 | 
			
		||||
on pytest PDB integration.  For example, the software developer can
 | 
			
		||||
call pudb by running @code{py.test --pudb} from the command line or by
 | 
			
		||||
including @code{pudb.set_trace} in their test file(s).")
 | 
			
		||||
      (license license:expat))))
 | 
			
		||||
 | 
			
		||||
(define-public python-pytest-datadir
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-pytest-datadir")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -310,7 +310,7 @@
 | 
			
		|||
  ;; run the Blink performance tests, just remove everything to save ~70MiB.
 | 
			
		||||
  '("third_party/blink/perf_tests"))
 | 
			
		||||
 | 
			
		||||
(define %chromium-version "98.0.4758.80")
 | 
			
		||||
(define %chromium-version "98.0.4758.102")
 | 
			
		||||
(define %ungoogled-revision (string-append %chromium-version "-1"))
 | 
			
		||||
(define %debian-revision "debian/90.0.4430.85-1")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -322,7 +322,7 @@
 | 
			
		|||
    (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
 | 
			
		||||
    (sha256
 | 
			
		||||
     (base32
 | 
			
		||||
      "0a8y9yz6xyh025gk3dr0ndrdwmrslhd1ph2f8nivmqk61j7c2g8h"))))
 | 
			
		||||
      "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0"))))
 | 
			
		||||
 | 
			
		||||
(define* (debian-patch name hash #:optional (revision %debian-revision))
 | 
			
		||||
  (origin
 | 
			
		||||
| 
						 | 
				
			
			@ -451,7 +451,7 @@
 | 
			
		|||
                                  %chromium-version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8"))
 | 
			
		||||
                "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet (force ungoogled-chromium-snippet))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1265,7 +1265,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
 | 
			
		|||
               (install-file "gawk" bin)
 | 
			
		||||
               (symlink "gawk" (string-append bin "/awk"))))))))))
 | 
			
		||||
 | 
			
		||||
(define-public glibc-mesboot0
 | 
			
		||||
(define glibc-mesboot0
 | 
			
		||||
  ;; GNU C Library 2.2.5 is the most recent glibc that we managed to build
 | 
			
		||||
  ;; using gcc-2.95.3.  Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
 | 
			
		||||
  ;; gcc.
 | 
			
		||||
| 
						 | 
				
			
			@ -1359,7 +1359,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
 | 
			
		|||
                                     "SHELL = " shell "
 | 
			
		||||
         BASH = ")))))))))))
 | 
			
		||||
 | 
			
		||||
(define-public gcc-mesboot0
 | 
			
		||||
(define gcc-mesboot0
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit gcc-core-mesboot0)
 | 
			
		||||
    (name "gcc-mesboot0")
 | 
			
		||||
| 
						 | 
				
			
			@ -1403,63 +1403,6 @@ ac_cv_c_float_format='IEEE (little-endian)'
 | 
			
		|||
              ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include")
 | 
			
		||||
              "LANGUAGES=c")))))))
 | 
			
		||||
 | 
			
		||||
(define-public gcc-2.95-wrapper
 | 
			
		||||
  ;; We need this so gcc-mesboot0 can be used to create shared binaries that
 | 
			
		||||
  ;; have the correct interpreter, otherwise configuring gcc-mesboot using
 | 
			
		||||
  ;; --enable-shared will fail.
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit gcc-mesboot0)
 | 
			
		||||
    (name "gcc-wrapper")
 | 
			
		||||
    (source #f)
 | 
			
		||||
    (inputs '())
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("bash" ,bash-minimal)
 | 
			
		||||
       ("coreutils" ,coreutils)
 | 
			
		||||
       ("libc" ,glibc-2.2.5)
 | 
			
		||||
       ("gcc" ,gcc-mesboot0)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:implicit-inputs? #f
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (delete 'unpack)
 | 
			
		||||
         (delete 'configure)
 | 
			
		||||
         (delete 'install)
 | 
			
		||||
         (replace 'build
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                    (bash (assoc-ref inputs "bash"))
 | 
			
		||||
                    (libc (assoc-ref inputs "libc"))
 | 
			
		||||
                    (gcc (assoc-ref inputs "gcc"))
 | 
			
		||||
                    (bin (string-append out "/bin")))
 | 
			
		||||
               (mkdir-p bin)
 | 
			
		||||
               (for-each
 | 
			
		||||
                (lambda (program)
 | 
			
		||||
                  (let ((wrapper (string-append bin "/" program)))
 | 
			
		||||
                    (with-output-to-file wrapper
 | 
			
		||||
                      (lambda _
 | 
			
		||||
                        (display (string-append "#! " bash "/bin/bash
 | 
			
		||||
exec " gcc "/bin/" program
 | 
			
		||||
" -Wl,--dynamic-linker"
 | 
			
		||||
;; also for x86_64-linux, we are still on i686-linux
 | 
			
		||||
" -Wl," libc ,(glibc-dynamic-linker "i686-linux")
 | 
			
		||||
" -Wl,--rpath"
 | 
			
		||||
" -Wl," libc "/lib"
 | 
			
		||||
" \"$@\"
 | 
			
		||||
"))
 | 
			
		||||
                        (chmod wrapper #o555)))))
 | 
			
		||||
                '("cpp"
 | 
			
		||||
                  "gcc"
 | 
			
		||||
                  "g++"
 | 
			
		||||
                  "i686-unknown-linux-gnu-cpp"
 | 
			
		||||
                  "i686-unknown-linux-gnu-gcc"
 | 
			
		||||
                  "i686-unknown-linux-gnu-g++")))))
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                    (bin (string-append out "/bin"))
 | 
			
		||||
                    (program (string-append bin "/gcc")))
 | 
			
		||||
               (invoke program "--help")))))))))
 | 
			
		||||
 | 
			
		||||
(define (%boot-mesboot0-inputs)
 | 
			
		||||
  `(("gcc" ,gcc-mesboot0)
 | 
			
		||||
    ("kernel-headers" ,%bootstrap-linux-libre-headers)
 | 
			
		||||
| 
						 | 
				
			
			@ -2050,7 +1993,7 @@ exec " gcc "/bin/" program
 | 
			
		|||
           (lambda _
 | 
			
		||||
             (invoke "./hello"))))))))
 | 
			
		||||
 | 
			
		||||
(define-public binutils-mesboot
 | 
			
		||||
(define binutils-mesboot
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit binutils)
 | 
			
		||||
    (name "binutils-mesboot")
 | 
			
		||||
| 
						 | 
				
			
			@ -3636,9 +3579,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
 | 
			
		|||
(define (%boot3-inputs)
 | 
			
		||||
  ;; 4th stage inputs.
 | 
			
		||||
  `(("gcc" ,gcc-final)
 | 
			
		||||
    ,@(if (target-riscv64?)
 | 
			
		||||
        `(("gcc:lib" ,gcc-final "lib"))
 | 
			
		||||
        '())
 | 
			
		||||
    ("ld-wrapper" ,ld-wrapper-boot3)
 | 
			
		||||
    ,@(alist-delete "gcc" (%boot2-inputs))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3794,19 +3734,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
 | 
			
		|||
      ("libc:static" ,glibc-final "static")
 | 
			
		||||
      ("locales" ,glibc-utf8-locales-final))))
 | 
			
		||||
 | 
			
		||||
(define-public %final-inputs-riscv64
 | 
			
		||||
  ;; This is similar to the added (list gcc "lib") elsewhere in this file, but
 | 
			
		||||
  ;; due to how (%current-system) is re-defined when performing builds with the
 | 
			
		||||
  ;; '--system' flag, %final-inputs is too early in the evaulation pipeline to
 | 
			
		||||
  ;; correctly identify the system for which a derivation will be built. Thus,
 | 
			
		||||
  ;; since (%current-system) is re-determined by (guix build-system gnu) after
 | 
			
		||||
  ;; loading %final-inputs but before taking into account the '--system' flag,
 | 
			
		||||
  ;; the test for (target-riscv64?) needs to be in (guix build-system gnu),
 | 
			
		||||
  ;; with %final-inputs-riscv64 already available at the same time that
 | 
			
		||||
  ;; %final-inputs is available.
 | 
			
		||||
  `(("gcc:lib" ,gcc-final "lib")
 | 
			
		||||
    ,@%final-inputs))
 | 
			
		||||
 | 
			
		||||
(define-public canonical-package
 | 
			
		||||
  (let ((name->package (fold (lambda (input result)
 | 
			
		||||
                               (match input
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
 | 
			
		||||
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 | 
			
		||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 | 
			
		||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 | 
			
		||||
;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
| 
						 | 
				
			
			@ -813,8 +813,11 @@ decompression of some loosely related file formats used by Microsoft.")
 | 
			
		|||
    (build-system gnu-build-system)
 | 
			
		||||
    (outputs (list "out" "static"))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list ;; For tests.
 | 
			
		||||
           python valgrind))
 | 
			
		||||
     (append
 | 
			
		||||
       (list python)    ;; For tests.
 | 
			
		||||
       (if (member (%current-system) (package-supported-systems valgrind))
 | 
			
		||||
         (list valgrind)
 | 
			
		||||
         '())))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(;; Not designed for parallel testing.
 | 
			
		||||
       ;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821
 | 
			
		||||
| 
						 | 
				
			
			@ -873,7 +876,7 @@ time for compression ratio.")
 | 
			
		|||
             "LZO_SUPPORT=1"
 | 
			
		||||
             "LZ4_SUPPORT=1"
 | 
			
		||||
             "ZSTD_SUPPORT=1"
 | 
			
		||||
             (string-append "INSTALL_DIR=" %output "/bin"))
 | 
			
		||||
             (string-append "INSTALL_DIR=" (assoc-ref %outputs "out") "/bin"))
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'configure
 | 
			
		||||
| 
						 | 
				
			
			@ -2093,7 +2096,7 @@ single-member files which can't be decompressed in parallel.")
 | 
			
		|||
   (build-system cmake-build-system)
 | 
			
		||||
   (arguments
 | 
			
		||||
    `(#:tests? #f))
 | 
			
		||||
   (inputs (list boost libiconv xz))
 | 
			
		||||
   (inputs (list boost xz))
 | 
			
		||||
   (native-inputs (list pkg-config))
 | 
			
		||||
   (home-page "https://constexpr.org/innoextract/")
 | 
			
		||||
   (synopsis "Tool for extracting Inno Setup installers")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -111,7 +111,7 @@ performance).
 | 
			
		|||
(define-public picom
 | 
			
		||||
  (package
 | 
			
		||||
    (name "picom")
 | 
			
		||||
    (version "9")
 | 
			
		||||
    (version "9.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -120,7 +120,7 @@ performance).
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0s3rf0lmkhhprx6vd5wsz1n0n55nprq6l1245pj525hrwxc1yvna"))
 | 
			
		||||
         "0q7j6kh9k7i201cwhnfc3bmp0hqrx7ngk3v4qsp8k0qfy1n3ma8n"))
 | 
			
		||||
       (file-name (string-append "picom-" version))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 | 
			
		||||
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
			
		||||
;;; Copyright © 2019, 2020, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
			
		||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 | 
			
		||||
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
 | 
			
		||||
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
 | 
			
		||||
| 
						 | 
				
			
			@ -25,6 +25,10 @@
 | 
			
		|||
;;; Copyright © 2021 jgart <jgart@dismail.de>
 | 
			
		||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
 | 
			
		||||
;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
 | 
			
		||||
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2022 muradm <mail@muradm.net>
 | 
			
		||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
 | 
			
		||||
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +54,7 @@
 | 
			
		|||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system copy)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix build-system meson)
 | 
			
		||||
  #:use-module (guix build-system python)
 | 
			
		||||
  #:use-module (guix modules)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +176,10 @@ development effort.")
 | 
			
		|||
       (sha256
 | 
			
		||||
        (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       #~(list "-DRANGES_NATIVE=OFF")))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list doxygen gcc-9 perl))
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -222,6 +231,53 @@ use by the C++ Core Guidelines maintained by the Standard C++ Foundation.")
 | 
			
		|||
    (home-page "https://github.com/microsoft/GSL/")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public c2ffi
 | 
			
		||||
  (package
 | 
			
		||||
    (name "c2ffi")
 | 
			
		||||
    ;; As per the c2ffi README: the first three elements are encoding the
 | 
			
		||||
    ;; required Clang/LLVM version, and the last one is the c2ffi revision.
 | 
			
		||||
    (version "12.0.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/rpav/c2ffi")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1qq8dfismd20d9kfxpfvwz07v9mfvd0y7p5r3c92mk2pm4xnmzfy"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        '(substitute* "CMakeLists.txt"
 | 
			
		||||
           ;; Guix seems to be packaging LLVM libs separately thus -lLLVM
 | 
			
		||||
           ;; won't work, every used library must be specified explicitly.
 | 
			
		||||
           (("c2ffi PUBLIC clang-cpp LLVM")
 | 
			
		||||
            "c2ffi PUBLIC clang-cpp LLVMCore LLVMSupport LLVMMCParser \
 | 
			
		||||
LLVMOption LLVMBitReader LLVMProfileData")))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(;; If LLVM was built without RTTI, we need to also be built without
 | 
			
		||||
       ;; it.  See: https://stackoverflow.com/q/11904519
 | 
			
		||||
       #:configure-flags '("-DCMAKE_CXX_FLAGS=-fno-rtti")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
             (when tests?
 | 
			
		||||
               (invoke "./bin/c2ffi" "--help")))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list clang-12)) ; CMakeLists.txt invokes `clang -print-resource-dir`
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list clang-12)) ; Compiled with gcc, but links against libclang-cpp.so
 | 
			
		||||
    (home-page "https://github.com/rpav/c2ffi")
 | 
			
		||||
    (synopsis "Clang-based FFI wrapper generator")
 | 
			
		||||
    (description
 | 
			
		||||
     "@code{c2ffi} is a tool for extracting definitions from C, C++, and
 | 
			
		||||
Objective C headers for use with foreign function call interfaces.  It uses
 | 
			
		||||
the @code{Clang/LLVM} infrastructure to extract the data, and emits it in
 | 
			
		||||
various formats, including @code{json}.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public libzen
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libzen")
 | 
			
		||||
| 
						 | 
				
			
			@ -350,7 +406,7 @@ combination of these streams.")
 | 
			
		|||
(define-public xsimd
 | 
			
		||||
  (package
 | 
			
		||||
    (name "xsimd")
 | 
			
		||||
    (version "7.5.0")
 | 
			
		||||
    (version "8.0.5")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -358,7 +414,7 @@ combination of these streams.")
 | 
			
		|||
             (url "https://github.com/QuantStack/xsimd")
 | 
			
		||||
             (commit version)))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0c9pq5vz43j99z83w3b9qylfi66mn749k1afpv5cwfxggbxvy63f"))
 | 
			
		||||
        (base32 "0fph1gzrj13knfkl3fvg098ccvqkbzs0jb8n323m7pnxajpzhzij"))
 | 
			
		||||
       (file-name (git-file-name name version))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -566,7 +622,7 @@ intuitive syntax and trivial integration.")
 | 
			
		|||
(define-public xtl
 | 
			
		||||
  (package
 | 
			
		||||
    (name "xtl")
 | 
			
		||||
    (version "0.6.23")
 | 
			
		||||
    (version "0.7.4")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri
 | 
			
		||||
| 
						 | 
				
			
			@ -575,20 +631,19 @@ intuitive syntax and trivial integration.")
 | 
			
		|||
                (commit version)))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1kd9zl4h6nrsg29hq13vwp4zhfj8sa90vj40726lpw6vxz48k4di"))
 | 
			
		||||
                "134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46"))
 | 
			
		||||
              (file-name (git-file-name name version))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list googletest json-modern-cxx))
 | 
			
		||||
     (list doctest googletest json-modern-cxx))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
     '(#:configure-flags
 | 
			
		||||
       '("-DBUILD_TESTS=ON")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* _
 | 
			
		||||
             (with-directory-excursion "test"
 | 
			
		||||
               (invoke "./test_xtl")
 | 
			
		||||
               #t))))))
 | 
			
		||||
               (invoke "./test_xtl")))))))
 | 
			
		||||
    (home-page "https://github.com/QuantStack/xtl")
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (synopsis "C++ template library providing some basic tools")
 | 
			
		||||
| 
						 | 
				
			
			@ -1073,6 +1128,39 @@ of C++14 components that complements @code{std} and Boost.")
 | 
			
		|||
    (supported-systems '("aarch64-linux" "x86_64-linux"))
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public poco
 | 
			
		||||
  (package
 | 
			
		||||
    (name "poco")
 | 
			
		||||
    (version "1.11.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/pocoproject/poco")
 | 
			
		||||
                    (commit (string-append "poco-" version "-release"))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0qkf8vb4qwds6idk9fkw6wjvcdk5k8h77x3gv47l0i4jfl5hwn8b"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:configure-flags #~(list "-DENABLE_TESTS=ON")
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'disable-problematic-tests
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* (list "Foundation/CMakeLists.txt" ; XXX: fails.
 | 
			
		||||
                                 ;; Require network access
 | 
			
		||||
                                 "Net/CMakeLists.txt"
 | 
			
		||||
                                 "MongoDB/CMakeLists.txt"
 | 
			
		||||
                                 "Redis/CMakeLists.txt")
 | 
			
		||||
                (("ENABLE_TESTS") "FALSE")))))))
 | 
			
		||||
    (home-page "https://pocoproject.org/")
 | 
			
		||||
    (synopsis "Portable C++ components")
 | 
			
		||||
    (description "A collection of libraries intended to be useful for building
 | 
			
		||||
network-based applications.")
 | 
			
		||||
    (license license:boost1.0)))
 | 
			
		||||
 | 
			
		||||
(define-public aws-crt-cpp
 | 
			
		||||
  (let* ((commit "b6d311d76b504bf8ace5134d3fca0e672c36c9c3")
 | 
			
		||||
         (revision "1"))
 | 
			
		||||
| 
						 | 
				
			
			@ -1188,6 +1276,44 @@ provides a number of utilities to make coding with expected cleaner.")
 | 
			
		|||
    (home-page "https://tl.tartanllama.xyz/")
 | 
			
		||||
    (license license:cc0)))
 | 
			
		||||
 | 
			
		||||
(define-public atomic-queue
 | 
			
		||||
  (package
 | 
			
		||||
    (name "atomic-queue")
 | 
			
		||||
    (version "1.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/max0x7ba/atomic_queue")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0ssff73wlvrsk2nma99dmvm0ijyzfr54jk37kxgpb694r7ajc90l"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("-Dbenchmarks=false")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
             (when tests?
 | 
			
		||||
               (lambda _
 | 
			
		||||
                 (invoke "make" "run_tests")))))
 | 
			
		||||
         (replace 'install
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (copy-recursively "../source/include/atomic_queue"
 | 
			
		||||
                               (string-append (assoc-ref outputs "out")
 | 
			
		||||
                                              "/include/atomic_queue")))))))
 | 
			
		||||
     (native-inputs
 | 
			
		||||
      (list boost
 | 
			
		||||
            pkg-config))
 | 
			
		||||
    (home-page "https://github.com/max0x7ba/atomic_queue")
 | 
			
		||||
    (synopsis "C++ lockless queue")
 | 
			
		||||
    (description
 | 
			
		||||
     "This package contains a C++11 multiple-producer-multiple-consumer lockless
 | 
			
		||||
queues header library based on circular buffer with @code{std::atomic}.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public magic-enum
 | 
			
		||||
  (package
 | 
			
		||||
    (name "magic-enum")
 | 
			
		||||
| 
						 | 
				
			
			@ -1717,3 +1843,24 @@ concepts (like dates and times), and building blocks for developing
 | 
			
		|||
multi-threaded applications and network applications.")
 | 
			
		||||
      (home-page "https://github.com/bloomberg/bde")
 | 
			
		||||
      (license license:asl2.0))))
 | 
			
		||||
 | 
			
		||||
(define-public gulrak-filesystem
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gulrak-filesystem")
 | 
			
		||||
    (version "1.5.10")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/gulrak/filesystem")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0dx1yvbz5rnisymkqap7z0b06ag9fcs6q6l82vgi8caylhkwsqs7"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (synopsis "Header only C++ std::filesystem compatible library")
 | 
			
		||||
    (description "This package provides a header-only single-file
 | 
			
		||||
std::filesystem compatible helper library, based on the C++17 and C++20 specs,
 | 
			
		||||
but implemented for C++11, C++14, C++17 or C++20.")
 | 
			
		||||
    (home-page "https://github.com/gulrak/filesystem")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
 | 
			
		||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
 | 
			
		||||
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
			
		||||
;;; Copyright © 2020-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
			
		||||
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -102,23 +102,25 @@ shapes, lines and text to buffers.")
 | 
			
		|||
(define-public rust-ansi-colours-1
 | 
			
		||||
  (package
 | 
			
		||||
    (name "rust-ansi-colours")
 | 
			
		||||
    (version "1.0.1")
 | 
			
		||||
    (version "1.1.1")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
        (uri (crate-uri "ansi_colours" version))
 | 
			
		||||
        (file-name
 | 
			
		||||
         (string-append name "-" version ".tar.gz"))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32
 | 
			
		||||
          "1dnqmpk68mzvncj37jlv0362kdgsgjxg010c6psagimgh4m303qx"))))
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (crate-uri "ansi_colours" version))
 | 
			
		||||
       (file-name
 | 
			
		||||
        (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "03b2365y0ffkvqw61bc4imz6661jvi39vcs4q6q5d43znqrq4rrj"))))
 | 
			
		||||
    (build-system cargo-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:cargo-inputs
 | 
			
		||||
       (("rust-cc" ,rust-cc-1))
 | 
			
		||||
       (("rust-rgb" ,rust-rgb-0.8))
 | 
			
		||||
       #:cargo-development-inputs
 | 
			
		||||
       (("rust-delta-e" ,rust-delta-e-0.2)
 | 
			
		||||
        ("rust-lab" ,rust-lab-0.4))))
 | 
			
		||||
       (("rust-crc64" ,rust-crc64-1)
 | 
			
		||||
        ("rust-criterion" ,rust-criterion-0.3)
 | 
			
		||||
        ("rust-empfindung" ,rust-empfindung-0.2)
 | 
			
		||||
        ("rust-lab" ,rust-lab-0.11))))
 | 
			
		||||
    (home-page "https://github.com/mina86/ansi_colours")
 | 
			
		||||
    (synopsis "Palette converter between true-colour and ANSI terminal")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -42,7 +42,6 @@
 | 
			
		|||
  #:export (cross-binutils
 | 
			
		||||
            cross-libc
 | 
			
		||||
            cross-gcc
 | 
			
		||||
            cross-newlib?
 | 
			
		||||
            cross-kernel-headers))
 | 
			
		||||
 | 
			
		||||
(define-syntax %xgcc
 | 
			
		||||
| 
						 | 
				
			
			@ -177,10 +176,6 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
 | 
			
		|||
                             `((string-append "--with-toolexeclibdir="
 | 
			
		||||
                                              (assoc-ref %outputs "lib")
 | 
			
		||||
                                              "/" ,target "/lib"))
 | 
			
		||||
                             '())
 | 
			
		||||
                       ;; For a newlib (non-glibc) target
 | 
			
		||||
                       ,@(if (cross-newlib? target)
 | 
			
		||||
                             '("--with-newlib")
 | 
			
		||||
                             '()))
 | 
			
		||||
 | 
			
		||||
                 ,(if libc
 | 
			
		||||
| 
						 | 
				
			
			@ -489,10 +484,11 @@ target that libc."
 | 
			
		|||
                     (xheaders (cross-kernel-headers target)))
 | 
			
		||||
  "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
 | 
			
		||||
and the cross tool chain."
 | 
			
		||||
  (if (cross-newlib? target libc)
 | 
			
		||||
      (native-libc target libc
 | 
			
		||||
                   #:xgcc xgcc
 | 
			
		||||
                   #:xbinutils xbinutils)
 | 
			
		||||
  (if (target-mingw? target)
 | 
			
		||||
      (let ((machine (substring target 0 (string-index target #\-))))
 | 
			
		||||
        (make-mingw-w64 machine
 | 
			
		||||
                        #:xgcc xgcc
 | 
			
		||||
                        #:xbinutils xbinutils))
 | 
			
		||||
      (package
 | 
			
		||||
        (inherit libc)
 | 
			
		||||
        (name (string-append "glibc-cross-" target))
 | 
			
		||||
| 
						 | 
				
			
			@ -553,24 +549,6 @@ and the cross tool chain."
 | 
			
		|||
                         ,@(package-inputs libc)  ;FIXME: static-bash
 | 
			
		||||
                         ,@(package-native-inputs libc))))))
 | 
			
		||||
 | 
			
		||||
(define* (native-libc target
 | 
			
		||||
                     #:optional
 | 
			
		||||
                     (libc glibc)
 | 
			
		||||
                     #:key
 | 
			
		||||
                     xgcc
 | 
			
		||||
                     xbinutils)
 | 
			
		||||
  (if (target-mingw? target)
 | 
			
		||||
      (let ((machine (substring target 0 (string-index target #\-))))
 | 
			
		||||
        (make-mingw-w64 machine
 | 
			
		||||
                        #:xgcc xgcc
 | 
			
		||||
                        #:xbinutils xbinutils))
 | 
			
		||||
      libc))
 | 
			
		||||
 | 
			
		||||
(define* (cross-newlib? target
 | 
			
		||||
                       #:optional
 | 
			
		||||
                       (libc glibc))
 | 
			
		||||
  (not (eq? (native-libc target libc) libc)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;; Concrete cross tool chains are instantiated like this:
 | 
			
		||||
;;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,8 @@
 | 
			
		|||
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
 | 
			
		||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
 | 
			
		||||
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
 | 
			
		||||
;;; Copyright © 2022 Allan Adair <allan@adair.no>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -73,6 +74,7 @@
 | 
			
		|||
  #:use-module (gnu packages python)
 | 
			
		||||
  #:use-module (gnu packages python-xyz)
 | 
			
		||||
  #:use-module (gnu packages python-check)
 | 
			
		||||
  #:use-module (gnu packages python-crypto)
 | 
			
		||||
  #:use-module (gnu packages readline)
 | 
			
		||||
  #:use-module (gnu packages search)
 | 
			
		||||
  #:use-module (gnu packages serialization)
 | 
			
		||||
| 
						 | 
				
			
			@ -731,7 +733,7 @@ data on your platform, so the seed itself will be as random as possible.
 | 
			
		|||
(define-public crypto++
 | 
			
		||||
  (package
 | 
			
		||||
    (name "crypto++")
 | 
			
		||||
    (version "8.5.0")
 | 
			
		||||
    (version "8.6.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri
 | 
			
		||||
| 
						 | 
				
			
			@ -743,7 +745,7 @@ data on your platform, so the seed itself will be as random as possible.
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))
 | 
			
		||||
                "1vm821wpx59ccz6gr4xplqpxj3f1qq3jijyybj2g4npqmmldhx3b"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:make-flags
 | 
			
		||||
| 
						 | 
				
			
			@ -871,6 +873,11 @@ BLAKE.")
 | 
			
		|||
           (add-before 'build 'change-directory
 | 
			
		||||
                       (lambda _
 | 
			
		||||
                         (chdir "b2sum")))
 | 
			
		||||
           ;; Produce generic binaries
 | 
			
		||||
           (add-after 'change-directory 'de-tune
 | 
			
		||||
                       (lambda _
 | 
			
		||||
                         (substitute* "makefile"
 | 
			
		||||
                           ((" -march=native") ""))))
 | 
			
		||||
           (delete 'configure)))) ; No ./configure script
 | 
			
		||||
      (home-page "https://www.blake2.net/")
 | 
			
		||||
      (synopsis "BLAKE2 checksum tool")
 | 
			
		||||
| 
						 | 
				
			
			@ -878,7 +885,11 @@ BLAKE.")
 | 
			
		|||
SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.")
 | 
			
		||||
      ;; You may also choose to redistribute this program as Apache 2.0 or the
 | 
			
		||||
      ;; OpenSSL license. See 'b2sum/b2sum.c' in the source distribution.
 | 
			
		||||
      (license license:cc0))))
 | 
			
		||||
      (license license:cc0)
 | 
			
		||||
      ;; There is a significant speedup when the compiler generates
 | 
			
		||||
      ;; instructions tuned to the CPU of the running machine:
 | 
			
		||||
      ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51198#22
 | 
			
		||||
      (properties '((tunable? . #true))))))
 | 
			
		||||
 | 
			
		||||
(define-public rhash
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			@ -1459,7 +1470,7 @@ non-encrypted files.")
 | 
			
		|||
(define-public cryfs
 | 
			
		||||
  (package
 | 
			
		||||
    (name "cryfs")
 | 
			
		||||
    (version "0.11.0")
 | 
			
		||||
    (version "0.11.2")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1467,7 +1478,7 @@ non-encrypted files.")
 | 
			
		|||
             "https://github.com/cryfs/cryfs/releases/download/"
 | 
			
		||||
             version "/cryfs-" version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm"))))
 | 
			
		||||
        (base32 "1ggizlacm4fccsw9syy2763ihxnby6cdh3mhhraxy8bmsdjza7lm"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:modules ((guix build cmake-build-system)
 | 
			
		||||
| 
						 | 
				
			
			@ -1483,7 +1494,7 @@ non-encrypted files.")
 | 
			
		|||
                         "/cmake-utils/DependenciesFromLocalSystem.cmake"))
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before 'configure 'fix-configure
 | 
			
		||||
         (add-before 'configure 'fix-up
 | 
			
		||||
           (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
             ;; Remove junk directory that breaks the build
 | 
			
		||||
             (chdir "..") (delete-file-recursively ".circleci")
 | 
			
		||||
| 
						 | 
				
			
			@ -1494,7 +1505,14 @@ non-encrypted files.")
 | 
			
		|||
             (when tests?
 | 
			
		||||
               (substitute* "CMakeLists.txt"
 | 
			
		||||
                 (("option.BUILD_TESTING .build test cases. OFF.")
 | 
			
		||||
                  "option(BUILD_TESTING \"build test cases\" ON)")))))
 | 
			
		||||
                  "option(BUILD_TESTING \"build test cases\" ON)")))
 | 
			
		||||
             ;; work around a missing import fixed upstream in boost 1.78
 | 
			
		||||
             ;; See https://github.com/boostorg/process/issues/213
 | 
			
		||||
             (substitute* (find-files "." "subprocess.cpp$")
 | 
			
		||||
               (("#include <boost/process.hpp>.*" line)
 | 
			
		||||
                (string-append
 | 
			
		||||
                 "#include <algorithm>\n"
 | 
			
		||||
                 line)))))
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
             (when tests?
 | 
			
		||||
| 
						 | 
				
			
			@ -1607,3 +1625,37 @@ checksum tool based on the BLAKE3 cryptographic hash function.")
 | 
			
		|||
    ;; Users may choose between these two licenses when redistributing the
 | 
			
		||||
    ;; program provided by this package.
 | 
			
		||||
    (license (list license:cc0 license:asl2.0))))
 | 
			
		||||
 | 
			
		||||
(define-public libxcrypt
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libxcrypt")
 | 
			
		||||
    (version "4.4.28")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/besser82/libxcrypt")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0pacj0s1hlv22iz0k2bkysjslc6rbrgmvmsr02qq17lp4d2gw5rs"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list autoconf
 | 
			
		||||
           automake
 | 
			
		||||
           libtool
 | 
			
		||||
           perl
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python-3
 | 
			
		||||
           python-passlib))
 | 
			
		||||
    (synopsis
 | 
			
		||||
     "Extended crypt library for descrypt, md5crypt, bcrypt, and others")
 | 
			
		||||
    (description
 | 
			
		||||
     "libxcrypt is a modern library for one-way hashing of
 | 
			
		||||
passwords. It supports a wide variety of both modern and historical
 | 
			
		||||
hashing methods: yescrypt, gost-yescrypt, scrypt, bcrypt, sha512crypt,
 | 
			
		||||
sha256crypt, md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and
 | 
			
		||||
descrypt.")
 | 
			
		||||
    (home-page "https://github.com/besser82/libxcrypt")
 | 
			
		||||
    (license license:lgpl2.1)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -341,16 +341,17 @@ curl to obtain exactly that HTTP request.")
 | 
			
		|||
(define-public coeurl
 | 
			
		||||
  (package
 | 
			
		||||
    (name "coeurl")
 | 
			
		||||
    (version "0.1.1")
 | 
			
		||||
    (version "0.2.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://nheko.im/nheko-reborn/coeurl")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0sqciagagyc0qv90g0qw8fkyvy4l8h7nbaz04chiz9gnv89hg28p"))))
 | 
			
		||||
         "0kbazvrb4hzc9jr7yywd36ack1yy7bh8sh1kc4jzv6jfzvxjb0i0"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list doctest pkg-config))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@
 | 
			
		|||
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
 | 
			
		||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 | 
			
		||||
;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
 | 
			
		||||
;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2015, 2017, 2018, 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
 | 
			
		||||
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 | 
			
		||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +36,7 @@
 | 
			
		|||
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
 | 
			
		||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 | 
			
		||||
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
 | 
			
		||||
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
 | 
			
		||||
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
 | 
			
		||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 | 
			
		||||
| 
						 | 
				
			
			@ -993,6 +993,14 @@ Language.")
 | 
			
		|||
       #:parallel-tests? ,(target-x86-64?)
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         ,@(if (target-ppc32?)
 | 
			
		||||
             `((add-after 'unpack 'apply-libatomics-patch
 | 
			
		||||
                 (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
                   (let ((patch-file
 | 
			
		||||
                           (assoc-ref inputs 
 | 
			
		||||
                                               "mariadb-link-libatomic.patch")))
 | 
			
		||||
                     (invoke "patch" "-p1" "-i" patch-file)))))
 | 
			
		||||
             '())
 | 
			
		||||
         (add-after 'unpack 'adjust-output-references
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; The build system invariably prepends $CMAKE_INSTALL_PREFIX
 | 
			
		||||
| 
						 | 
				
			
			@ -1143,7 +1151,13 @@ Language.")
 | 
			
		|||
                (("-lssl -lcrypto" all)
 | 
			
		||||
                 (string-append "-L" openssl "/lib " all)))))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list bison perl))
 | 
			
		||||
     (if (target-ppc32?)
 | 
			
		||||
       `(("mariadb-link-libatomic.patch"
 | 
			
		||||
          ,(search-patch "mariadb-link-libatomic.patch"))
 | 
			
		||||
         ("patch" ,patch)
 | 
			
		||||
         ("bison" ,bison)
 | 
			
		||||
         ("perl" ,perl))
 | 
			
		||||
       (list bison perl)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("jemalloc" ,jemalloc)
 | 
			
		||||
       ("libaio" ,libaio)
 | 
			
		||||
| 
						 | 
				
			
			@ -1216,14 +1230,14 @@ and high-availability (HA).")
 | 
			
		|||
(define-public postgresql-14
 | 
			
		||||
  (package
 | 
			
		||||
    (name "postgresql")
 | 
			
		||||
    (version "14.1")
 | 
			
		||||
    (version "14.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
 | 
			
		||||
                                  version "/postgresql-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "07x45iycqpps0qh3ingc09jgn9rpnmc3gixx0qprhf5flwg10g2d"))
 | 
			
		||||
                "0ylpka64wli72jvjyqcayvlw44zk1hsbapb93l8gh4l98qp8pxrc"))
 | 
			
		||||
              (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -1285,44 +1299,33 @@ pictures, sounds, or video.")
 | 
			
		|||
                                  version "/postgresql-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))))))
 | 
			
		||||
                "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))
 | 
			
		||||
              (patches (search-patches "postgresql-riscv-spinlocks.patch"))))))
 | 
			
		||||
 | 
			
		||||
(define-public postgresql-11
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit postgresql-13)
 | 
			
		||||
    (name "postgresql")
 | 
			
		||||
    (version "11.13")
 | 
			
		||||
    (version "11.15")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (inherit (package-source postgresql-13))
 | 
			
		||||
              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
 | 
			
		||||
                                  version "/postgresql-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0j5wnscnxa3sx8d39s55654df8aikmvkihfb0a02hrgmyygnihx0"))))))
 | 
			
		||||
                "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8"))))))
 | 
			
		||||
 | 
			
		||||
(define-public postgresql-10
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit postgresql-11)
 | 
			
		||||
    (version "10.18")
 | 
			
		||||
    (version "10.20")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (inherit (package-source postgresql-11))
 | 
			
		||||
              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
 | 
			
		||||
                                  version "/postgresql-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "009qpb02bq0rx0aaw5ck70gk07xwparhfxvlfimgihw2vhp7qisp"))))))
 | 
			
		||||
 | 
			
		||||
(define-public postgresql-9.6
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit postgresql-10)
 | 
			
		||||
    (version "9.6.23")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (inherit (package-source postgresql-10))
 | 
			
		||||
              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
 | 
			
		||||
                                  version "/postgresql-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1fa735lrmv2vrfiixg73nh024gxlagcbrssklvgwdf0s82cgfjd8"))))))
 | 
			
		||||
                "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7"))))))
 | 
			
		||||
 | 
			
		||||
(define-public postgresql postgresql-13)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2646,7 +2649,7 @@ trees (LSM), for sustained throughput under random insert workloads.")
 | 
			
		|||
    (inputs
 | 
			
		||||
     (list wiredtiger-3 guile-2.2))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list guile-bytestructures))
 | 
			
		||||
     (list guile2.2-bytestructures))
 | 
			
		||||
    (synopsis "WiredTiger bindings for GNU Guile")
 | 
			
		||||
    (description
 | 
			
		||||
     "This package provides Guile bindings to the WiredTiger ``NoSQL''
 | 
			
		||||
| 
						 | 
				
			
			@ -3561,7 +3564,8 @@ PickleShare.")
 | 
			
		|||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'build
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (invoke "python" "setup.py" "build" "--enable-all-extensions")
 | 
			
		||||
             (invoke "python" "setup.py" "build" "--enable-all-extensions"
 | 
			
		||||
                     "--enable=load_extension")
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'build 'build-test-helper
 | 
			
		||||
           (lambda _
 | 
			
		||||
| 
						 | 
				
			
			@ -4137,7 +4141,7 @@ the SQL language using a syntax that reflects the resulting query.")
 | 
			
		|||
(define-public apache-arrow
 | 
			
		||||
  (package
 | 
			
		||||
    (name "apache-arrow")
 | 
			
		||||
    (version "6.0.1")
 | 
			
		||||
    (version "7.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -4147,7 +4151,7 @@ the SQL language using a syntax that reflects the resulting query.")
 | 
			
		|||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0mcw361akqw4sxnnpnr9c9v1zk4hphk6gcq763pcb19yzljh88ig"))))
 | 
			
		||||
         "19xx6mlddca79q6d3wga574m4y32ixmxx2rmk6j3f22i5c37mjzw"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f
 | 
			
		||||
| 
						 | 
				
			
			@ -4580,18 +4584,21 @@ a Gtk.Grid Widget.")
 | 
			
		|||
       (snippet
 | 
			
		||||
        '(begin
 | 
			
		||||
           (delete-file-recursively "libs/qcustomplot-source/")
 | 
			
		||||
           (delete-file-recursively "libs/qhexedit/")
 | 
			
		||||
           (delete-file-recursively "libs/qscintilla")))))
 | 
			
		||||
    (build-system qt-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list #:configure-flags
 | 
			
		||||
           ;; TODO: Unbundle QHexEdit.
 | 
			
		||||
           ;; TODO: Unbundle json (json-modern-cxx).
 | 
			
		||||
           #~(list (string-append "-DQSCINTILLA_INCLUDE_DIR="
 | 
			
		||||
                                  #$(this-package-input "qscintilla")
 | 
			
		||||
                                  "/include/Qsci")
 | 
			
		||||
                   "-DFORCE_INTERNAL_QCUSTOMPLOT=OFF"
 | 
			
		||||
                   "-DFORCE_INTERNAL_QHEXEDIT=OFF"
 | 
			
		||||
                   "-DENABLE_TESTING=ON")))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list qcustomplot
 | 
			
		||||
           qhexedit
 | 
			
		||||
           qscintilla
 | 
			
		||||
           qtbase-5
 | 
			
		||||
           sqlite))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ contains the archive keys used for that.")
 | 
			
		|||
(define-public debian-ports-archive-keyring
 | 
			
		||||
  (package
 | 
			
		||||
    (name "debian-ports-archive-keyring")
 | 
			
		||||
    (version "2021.12.30")
 | 
			
		||||
    (version "2022.02.15")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +92,7 @@ contains the archive keys used for that.")
 | 
			
		|||
                            "/debian-ports-archive-keyring_" version ".tar.xz"))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32
 | 
			
		||||
          "14f9hklr8gdlp782j5ijmm0nh061zcfw9vwpr8smb7rdfzk4wk70"))))
 | 
			
		||||
          "096m45l7g8vbk67gwc6bmkzpx8mhn6xfglgrzlg9xkgcs5gxqyc0"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tests? #f              ; No test suite.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -199,6 +199,11 @@ tools that process C/C++ code.")
 | 
			
		|||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'fix-linkage
 | 
			
		||||
           (lambda _
 | 
			
		||||
            (substitute* "clang_delta/CMakeLists.txt"
 | 
			
		||||
              (("\\$\\{LLVM_LINK_LLVM_DYLIB\\}") "True")
 | 
			
		||||
              (("  LLVM") "  LLVMSupport"))))
 | 
			
		||||
         (add-before 'build 'hardcode-paths
 | 
			
		||||
           (lambda _
 | 
			
		||||
            (substitute* "cvise.py"
 | 
			
		||||
| 
						 | 
				
			
			@ -755,9 +760,25 @@ use than similar tools like @command{mtrace}.")
 | 
			
		|||
        (base32 "1w8ib2vg3pg68d9hh97fw5042c73i9nqavdddc87n9bpscjbaf0d"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list ncurses readline))
 | 
			
		||||
     (list bash-minimal ncurses readline gdb))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list flex texinfo))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
        (list
 | 
			
		||||
          (string-append "ac_cv_rl_version=" ,(package-version readline))
 | 
			
		||||
          "ac_cv_file__dev_ptmx=no"
 | 
			
		||||
          "ac_cv_file__proc_self_status=no"
 | 
			
		||||
          "ac_cv_func_setpgrp_void=no")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'fix-paths
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             (let ((gdb (search-input-file inputs "bin/gdb"))
 | 
			
		||||
                   (sh (search-input-file inputs "bin/sh")))
 | 
			
		||||
               (substitute* "lib/util/fork_util.cpp"
 | 
			
		||||
                 (("GDB = \"gdb\"") (string-append "GDB = \"" gdb "\"")))
 | 
			
		||||
               (substitute* "cgdb/cgdb.cpp" (("/bin/sh") sh))))))))
 | 
			
		||||
    (home-page "https://cgdb.github.io")
 | 
			
		||||
    (synopsis "Console front-end to the GNU debugger")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,7 +74,7 @@
 | 
			
		|||
(define-public diffoscope
 | 
			
		||||
  (package
 | 
			
		||||
    (name "diffoscope")
 | 
			
		||||
    (version "199")
 | 
			
		||||
    (version "207")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0wy1nd52a4rzqhhdcdi3pfgrixz3w3q7qfc9mpc9zraq5cj94l7n"))
 | 
			
		||||
        (base32 "0djpkq9fpw8dpiqaghbbg5dshl27xgkqrifalx9nq87dix5c1y6d"))
 | 
			
		||||
       (patches
 | 
			
		||||
        (search-patches "diffoscope-fix-llvm-test.patch"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,8 @@
 | 
			
		|||
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
 | 
			
		||||
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
 | 
			
		||||
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
 | 
			
		||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -63,6 +65,7 @@
 | 
			
		|||
  #:use-module (gnu packages graphics)
 | 
			
		||||
  #:use-module (gnu packages gtk)
 | 
			
		||||
  #:use-module (gnu packages guile)
 | 
			
		||||
  #:use-module (gnu packages image)
 | 
			
		||||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages ncurses)
 | 
			
		||||
  #:use-module (gnu packages nss)
 | 
			
		||||
| 
						 | 
				
			
			@ -81,6 +84,7 @@
 | 
			
		|||
  #:use-module (gnu packages swig)
 | 
			
		||||
  #:use-module (gnu packages terminals)
 | 
			
		||||
  #:use-module (gnu packages textutils)
 | 
			
		||||
  #:use-module (gnu packages tls)
 | 
			
		||||
  #:use-module (gnu packages vim)
 | 
			
		||||
  #:use-module (gnu packages w3m)
 | 
			
		||||
  #:use-module (gnu packages web)
 | 
			
		||||
| 
						 | 
				
			
			@ -586,6 +590,62 @@ permit managing file systems not included in libparted.")
 | 
			
		|||
    ;; The home page says GPLv2, but the source code says GPLv2+.
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public testdisk
 | 
			
		||||
  (package
 | 
			
		||||
    (name "testdisk")
 | 
			
		||||
    (version "7.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://www.cgsecurity.org/testdisk-"
 | 
			
		||||
                                  version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list ntfs-3g
 | 
			
		||||
           `(,util-linux "lib")
 | 
			
		||||
           openssl
 | 
			
		||||
           ;; FIXME: add reiserfs.
 | 
			
		||||
           zlib
 | 
			
		||||
           e2fsprogs
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           ncurses))
 | 
			
		||||
    (home-page "https://www.cgsecurity.org/wiki/TestDisk")
 | 
			
		||||
    (synopsis "Data recovery tool")
 | 
			
		||||
    (description "TestDisk is primarily designed to help recover lost
 | 
			
		||||
partitions and/or make non-booting disks bootable again when these symptoms
 | 
			
		||||
were caused by faulty software or human error (such as accidentally deleting a
 | 
			
		||||
partition table).  TestDisk can:
 | 
			
		||||
@enumerate
 | 
			
		||||
@item Fix partition table, recover deleted partition
 | 
			
		||||
@item Recover FAT32 boot sector from its backup
 | 
			
		||||
@item Rebuild FAT12/FAT16/FAT32 boot sector
 | 
			
		||||
@item Fix FAT tables
 | 
			
		||||
@item Rebuild NTFS boot sector
 | 
			
		||||
@item Recover NTFS boot sector from its backup
 | 
			
		||||
@item Fix MFT using MFT mirror
 | 
			
		||||
@item Locate ext2/ext3/ext4 Backup SuperBlock
 | 
			
		||||
@item Un-delete files from FAT, exFAT, NTFS and ext2 file systems
 | 
			
		||||
@item Copy files from deleted FAT, exFAT, NTFS and ext2/ext3/ext4 partitions.
 | 
			
		||||
@end enumerate
 | 
			
		||||
This package also includes the @command{photorec} command, described below.
 | 
			
		||||
 | 
			
		||||
PhotoRec is file data recovery software designed to recover lost files
 | 
			
		||||
including video, documents and archives from hard disks, CD-ROMs, and lost
 | 
			
		||||
pictures (thus the Photo Recovery name) from digital camera memory.  PhotoRec
 | 
			
		||||
ignores the file system and goes after the underlying data, so it will still
 | 
			
		||||
work even if your media's file system has been severely damaged or
 | 
			
		||||
reformatted.  It can recover lost files from at least:
 | 
			
		||||
@enumerate
 | 
			
		||||
@item FAT
 | 
			
		||||
@item NTFS
 | 
			
		||||
@item exFAT
 | 
			
		||||
@item ext2/ext3/ext4 file system
 | 
			
		||||
@item HFS+
 | 
			
		||||
@end enumerate")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public pydf
 | 
			
		||||
  (package
 | 
			
		||||
    (name "pydf")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -332,14 +332,14 @@ and BOOTP/TFTP for network booting of diskless machines.")
 | 
			
		|||
    ;; When updating, check whether isc-dhcp's bundled copy should be as well.
 | 
			
		||||
    ;; The BIND release notes are available here:
 | 
			
		||||
    ;; https://www.isc.org/bind/
 | 
			
		||||
    (version "9.16.25")
 | 
			
		||||
    (version "9.16.27")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://ftp.isc.org/isc/bind9/" version
 | 
			
		||||
                           "/bind-" version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1wqzbq7jfd8zlidkfgx3fc1132xn5hrga7xznzw3x1421y2ji8wz"))
 | 
			
		||||
        (base32 "0rpmighbbim9wi24p2bg814x5z20xkvv5y6nfnfh30ac22pjm44h"))
 | 
			
		||||
       (patches
 | 
			
		||||
        (search-patches "bind-re-add-attr-constructor-priority.patch"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
| 
						 | 
				
			
			@ -870,7 +870,7 @@ Extensions} (DNSSEC).")
 | 
			
		|||
(define-public knot
 | 
			
		||||
  (package
 | 
			
		||||
    (name "knot")
 | 
			
		||||
    (version "3.1.5")
 | 
			
		||||
    (version "3.1.6")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -879,7 +879,7 @@ Extensions} (DNSSEC).")
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "145fnz740y1g0h2m07kpcimf2rx37saq2l905bl6vwa5ifybrgcq"))
 | 
			
		||||
        (base32 "0rwcp55fvmm0vhad1368knfn0ri642sigh8nykvvikdlx06d21cj"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        '(begin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2014, 2021-2022 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 | 
			
		||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 | 
			
		||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
| 
						 | 
				
			
			@ -473,7 +473,11 @@ the in DocBook SGML DTDs.")
 | 
			
		|||
                                        texlive-latex-footmisc
 | 
			
		||||
                                        texlive-hyperref
 | 
			
		||||
                                        texlive-latex-jknapltx
 | 
			
		||||
 | 
			
		||||
                                        ;; TODO: Use non-deprecated name on
 | 
			
		||||
                                        ;; next rebuild cycle.
 | 
			
		||||
                                        texlive-latex-listings
 | 
			
		||||
 | 
			
		||||
                                        texlive-latex-multirow
 | 
			
		||||
                                        texlive-latex-overpic
 | 
			
		||||
                                        texlive-latex-pdfpages
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@
 | 
			
		|||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
 | 
			
		||||
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 | 
			
		||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -40,7 +41,7 @@
 | 
			
		|||
(define-public dunst
 | 
			
		||||
  (package
 | 
			
		||||
    (name "dunst")
 | 
			
		||||
    (version "1.7.3")
 | 
			
		||||
    (version "1.8.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -49,8 +50,7 @@
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1ra0ii805w3rrs0qqbjxzl6i79ksz42lnvbglw18h4igkza21kzj"))
 | 
			
		||||
              (patches (search-patches "dunst-1.7.3-fix-crash.patch"))))
 | 
			
		||||
                "19bh5789whlc0n5wbyx3yx8px93hccn42f1p6i1dz96hdkk5mjb8"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f                      ; no check target
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@
 | 
			
		|||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 | 
			
		||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
 | 
			
		||||
;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
 | 
			
		||||
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +31,7 @@
 | 
			
		|||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix utils)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +40,7 @@
 | 
			
		|||
  #:use-module (guix build-system qt)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages autotools)
 | 
			
		||||
  #:use-module (gnu packages bash)
 | 
			
		||||
  #:use-module (gnu packages compression)
 | 
			
		||||
  #:use-module (gnu packages curl)
 | 
			
		||||
  #:use-module (gnu packages databases)
 | 
			
		||||
| 
						 | 
				
			
			@ -56,6 +58,7 @@
 | 
			
		|||
  #:use-module (gnu packages icu4c)
 | 
			
		||||
  #:use-module (gnu packages image)
 | 
			
		||||
  #:use-module (gnu packages javascript)
 | 
			
		||||
  #:use-module (gnu packages language)
 | 
			
		||||
  #:use-module (gnu packages libusb)
 | 
			
		||||
  #:use-module (gnu packages libreoffice)
 | 
			
		||||
  #:use-module (gnu packages music)
 | 
			
		||||
| 
						 | 
				
			
			@ -120,218 +123,218 @@ with Microsoft Compiled HTML (CHM) files")
 | 
			
		|||
(define-public calibre
 | 
			
		||||
  (package
 | 
			
		||||
    (name "calibre")
 | 
			
		||||
    (version "5.21.0")
 | 
			
		||||
    (version "5.36.0")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
        (uri (string-append "http://download.calibre-ebook.com/"
 | 
			
		||||
                            version "/calibre-"
 | 
			
		||||
                            version ".tar.xz"))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32
 | 
			
		||||
          "0mq2w8blq6ykaml812axakwkqcw85qcpfwijdikn7kvbrhnnp2s5"))
 | 
			
		||||
        (modules '((guix build utils)))
 | 
			
		||||
        (snippet
 | 
			
		||||
          '(begin
 | 
			
		||||
             ;; Unbundle python2-odfpy.
 | 
			
		||||
             (delete-file-recursively "src/odf")
 | 
			
		||||
             ;; Disable test that attempts to load it.
 | 
			
		||||
             (substitute* "setup/test.py"
 | 
			
		||||
               ((".*SRC, 'odf'.*")
 | 
			
		||||
                ""))
 | 
			
		||||
 | 
			
		||||
             ;; Remove unneeded resources.
 | 
			
		||||
             (delete-file "resources/mozilla-ca-certs.pem")
 | 
			
		||||
             (delete-file "resources/calibre-portable.bat")
 | 
			
		||||
             (delete-file "resources/calibre-portable.sh")
 | 
			
		||||
             #t))
 | 
			
		||||
        (patches (search-patches "calibre-fix-zeroconf.patch"
 | 
			
		||||
                                 "calibre-no-updates-dialog.patch"
 | 
			
		||||
                                 "calibre-remove-test-sqlite.patch" ; TODO: fix test.
 | 
			
		||||
                                 "calibre-remove-test-unrar.patch"))))
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "http://download.calibre-ebook.com/"
 | 
			
		||||
                           version "/calibre-"
 | 
			
		||||
                           version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1c036qmn7lxq0899c2xzzs6whz7z0557frnfqisbvfxa13b2sadk"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        '(begin
 | 
			
		||||
           ;; Unbundle python2-odfpy.
 | 
			
		||||
           (delete-file-recursively "src/odf")
 | 
			
		||||
           ;; Disable test that attempts to load it.
 | 
			
		||||
           (substitute* "setup/test.py"
 | 
			
		||||
             ((".*SRC, 'odf'.*") ""))
 | 
			
		||||
           ;; Remove unneeded resources.
 | 
			
		||||
           (delete-file "resources/mozilla-ca-certs.pem")
 | 
			
		||||
           (delete-file "resources/calibre-portable.bat")
 | 
			
		||||
           (delete-file "resources/calibre-portable.sh")))
 | 
			
		||||
       (patches (search-patches "calibre-no-updates-dialog.patch"
 | 
			
		||||
                                "calibre-remove-test-sqlite.patch" ; TODO: fix test.
 | 
			
		||||
                                "calibre-remove-test-unrar.patch"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list pkg-config
 | 
			
		||||
           qtbase-5 ; for qmake
 | 
			
		||||
     (list bash-minimal
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python-flake8
 | 
			
		||||
           python-pyqt-builder
 | 
			
		||||
           qtbase-5                     ; for qmake
 | 
			
		||||
           xdg-utils))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("fontconfig" ,fontconfig)
 | 
			
		||||
       ("font-liberation" ,font-liberation)
 | 
			
		||||
       ("glib" ,glib)
 | 
			
		||||
       ("hunspell" ,hunspell)
 | 
			
		||||
       ("hyphen" ,hyphen)
 | 
			
		||||
       ("icu4c" ,icu4c)
 | 
			
		||||
       ("libmtp" ,libmtp)
 | 
			
		||||
       ("libpng" ,libpng)
 | 
			
		||||
       ("libjpeg" ,libjpeg-turbo)
 | 
			
		||||
       ("libjxr" ,libjxr)
 | 
			
		||||
       ("libusb" ,libusb)
 | 
			
		||||
       ("openssl" ,openssl)
 | 
			
		||||
       ("optipng" ,optipng)
 | 
			
		||||
       ("podofo" ,podofo)
 | 
			
		||||
       ("poppler" ,poppler)
 | 
			
		||||
       ("python-apsw" ,python-apsw)
 | 
			
		||||
       ("python-beautifulsoup4" ,python-beautifulsoup4)
 | 
			
		||||
       ("python-cchardet" ,python-cchardet)
 | 
			
		||||
       ("python-css-parser" ,python-css-parser)
 | 
			
		||||
       ("python-cssselect" ,python-cssselect)
 | 
			
		||||
       ("python-dateutil" ,python-dateutil)
 | 
			
		||||
       ("python-dbus" ,python-dbus)
 | 
			
		||||
       ("python-dnspython" ,python-dnspython-1.16)
 | 
			
		||||
       ("python-dukpy" ,python-dukpy)
 | 
			
		||||
       ("python-feedparser" ,python-feedparser)
 | 
			
		||||
       ("python-html2text" ,python-html2text)
 | 
			
		||||
       ("python-html5-parser" ,python-html5-parser)
 | 
			
		||||
       ("python-html5lib" ,python-html5lib)
 | 
			
		||||
       ("python-lxml" ,python-lxml)
 | 
			
		||||
       ("python-markdown" ,python-markdown)
 | 
			
		||||
       ("python-mechanize" ,python-mechanize)
 | 
			
		||||
       ;; python-msgpack is needed for the network content server to work.
 | 
			
		||||
       ("python-msgpack" ,python-msgpack)
 | 
			
		||||
       ("python-netifaces" ,python-netifaces)
 | 
			
		||||
       ("python-odfpy" ,python-odfpy)
 | 
			
		||||
       ("python-pillow" ,python-pillow)
 | 
			
		||||
       ("python-psutil" ,python-psutil)
 | 
			
		||||
       ("python-py7zr" ,python-py7zr)
 | 
			
		||||
       ("python-pychm" ,python-pychm)
 | 
			
		||||
       ("python-pycryptodome" ,python-pycryptodome)
 | 
			
		||||
       ("python-pygments" ,python-pygments)
 | 
			
		||||
       ("python-pyqt-without-qtwebkit" ,python-pyqt-without-qtwebkit)
 | 
			
		||||
       ("python-pyqtwebengine" ,python-pyqtwebengine)
 | 
			
		||||
       ("python-regex" ,python-regex)
 | 
			
		||||
       ("python-speechd" ,speech-dispatcher)
 | 
			
		||||
       ("python-zeroconf" ,python-zeroconf)
 | 
			
		||||
       ("qtwebengine" ,qtwebengine)
 | 
			
		||||
       ("sqlite" ,sqlite)))
 | 
			
		||||
     (list fontconfig
 | 
			
		||||
           font-liberation
 | 
			
		||||
           glib
 | 
			
		||||
           hunspell
 | 
			
		||||
           hyphen
 | 
			
		||||
           icu4c
 | 
			
		||||
           libmtp
 | 
			
		||||
           libpng
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           libjxr
 | 
			
		||||
           libstemmer
 | 
			
		||||
           libusb
 | 
			
		||||
           openssl
 | 
			
		||||
           optipng
 | 
			
		||||
           podofo
 | 
			
		||||
           poppler
 | 
			
		||||
           python-apsw
 | 
			
		||||
           python-beautifulsoup4
 | 
			
		||||
           python-cchardet
 | 
			
		||||
           python-css-parser
 | 
			
		||||
           python-cssselect
 | 
			
		||||
           python-dateutil
 | 
			
		||||
           python-dnspython-1.16
 | 
			
		||||
           python-feedparser
 | 
			
		||||
           python-html2text
 | 
			
		||||
           python-html5-parser
 | 
			
		||||
           python-html5lib
 | 
			
		||||
           python-jeepney
 | 
			
		||||
           python-lxml
 | 
			
		||||
           python-markdown
 | 
			
		||||
           python-mechanize
 | 
			
		||||
           ;; python-msgpack is needed for the network content server to work.
 | 
			
		||||
           python-msgpack
 | 
			
		||||
           python-netifaces
 | 
			
		||||
           python-odfpy
 | 
			
		||||
           python-pillow
 | 
			
		||||
           python-psutil
 | 
			
		||||
           python-py7zr
 | 
			
		||||
           python-pychm
 | 
			
		||||
           python-pygments
 | 
			
		||||
           python-pyqt-without-qtwebkit
 | 
			
		||||
           python-pyqtwebengine
 | 
			
		||||
           python-regex
 | 
			
		||||
           speech-dispatcher
 | 
			
		||||
           python-zeroconf
 | 
			
		||||
           qtwebengine
 | 
			
		||||
           sqlite))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(;; Calibre is using setuptools by itself, but the setup.py is not
 | 
			
		||||
       ;; compatible with the shim wrapper (taken from pip) we are using.
 | 
			
		||||
       #:use-setuptools? #f
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-source
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "src/calibre/linux.py"
 | 
			
		||||
               ;; We can't use the uninstaller in Guix. Don't build it.
 | 
			
		||||
               (("self\\.create_uninstaller()") ""))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'patch-source-shebangs 'patch-more-shebangs
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; Patch various inline shebangs.
 | 
			
		||||
             (substitute* '("src/calibre/gui2/preferences/tweaks.py"
 | 
			
		||||
                            "src/calibre/gui2/dialogs/custom_recipes.py"
 | 
			
		||||
                            "setup/install.py"
 | 
			
		||||
                            "setup/linux-installer.sh")
 | 
			
		||||
               (("#!/usr/bin/env python")
 | 
			
		||||
                (string-append "#!" (which "python")))
 | 
			
		||||
               (("#!/bin/sh")
 | 
			
		||||
                (string-append "#!" (which "sh"))))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'unpack 'dont-load-remote-icons
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "setup/plugins_mirror.py"
 | 
			
		||||
               (("href=\"//calibre-ebook.com/favicon.ico\"")
 | 
			
		||||
                "href=\"favicon.ico\""))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-before 'build 'configure
 | 
			
		||||
          (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
            (let ((podofo (assoc-ref inputs "podofo"))
 | 
			
		||||
                  (pyqt (assoc-ref inputs "python-pyqt-without-qtwebkit"))
 | 
			
		||||
                  (python-sip (assoc-ref inputs "python-sip"))
 | 
			
		||||
                  (out (assoc-ref outputs "out")))
 | 
			
		||||
     (list
 | 
			
		||||
      ;; Calibre is using setuptools by itself, but the setup.py is not
 | 
			
		||||
      ;; compatible with the shim wrapper (taken from pip) we are using.
 | 
			
		||||
      #:use-setuptools? #f
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'patch-source
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "src/calibre/linux.py"
 | 
			
		||||
                ;; We can't use the uninstaller in Guix. Don't build it.
 | 
			
		||||
                (("self\\.create_uninstaller()") ""))))
 | 
			
		||||
          (add-after 'patch-source-shebangs 'patch-more-shebangs
 | 
			
		||||
            (lambda* (#:key inputs native-inputs #:allow-other-keys)
 | 
			
		||||
              ;; Patch various inline shebangs.
 | 
			
		||||
              (substitute* '("src/calibre/gui2/preferences/tweaks.py"
 | 
			
		||||
                             "src/calibre/gui2/dialogs/custom_recipes.py"
 | 
			
		||||
                             "setup/install.py"
 | 
			
		||||
                             "setup/linux-installer.sh")
 | 
			
		||||
                (("#!/usr/bin/env python")
 | 
			
		||||
                 (string-append "#!" (search-input-file inputs "/bin/python")))
 | 
			
		||||
                (("#!/bin/sh")
 | 
			
		||||
                 (string-append "#!"
 | 
			
		||||
                                (search-input-file native-inputs "/bin/sh"))))))
 | 
			
		||||
          (add-after 'unpack 'dont-load-remote-icons
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "setup/plugins_mirror.py"
 | 
			
		||||
                (("href=\"//calibre-ebook.com/favicon.ico\"")
 | 
			
		||||
                 "href=\"favicon.ico\""))))
 | 
			
		||||
          (add-before 'build 'configure
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              (substitute* "setup/build.py"
 | 
			
		||||
                (("\\[tool.sip.bindings.pictureflow\\]")
 | 
			
		||||
                 "[tool.sip.bindings.pictureflow]
 | 
			
		||||
tags = [\"WS_X11\"]")
 | 
			
		||||
                (("\\[tool.sip.project\\]")
 | 
			
		||||
                 (string-append "[tool.sip.project]
 | 
			
		||||
sip-include-dirs = [\"" pyqt "/share/sip" "\"]")))
 | 
			
		||||
sip-include-dirs = [\""
 | 
			
		||||
                                #$(this-package-input
 | 
			
		||||
                                   "python-pyqt-without-qtwebkit")
 | 
			
		||||
                                "/share/sip\"]")))
 | 
			
		||||
              (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
 | 
			
		||||
                (("PDFTOHTML = 'pdftohtml'")
 | 
			
		||||
                 (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
 | 
			
		||||
                                "/bin/pdftohtml\"")))
 | 
			
		||||
              ;; get_exe_path looks in poppler's output for these binaries. Make
 | 
			
		||||
              ;; it not do that.
 | 
			
		||||
                 (string-append "PDFTOHTML = \""
 | 
			
		||||
                                (search-input-file inputs "/bin/pdftohtml")
 | 
			
		||||
                                "\"")))
 | 
			
		||||
              ;; get_exe_path looks in poppler's output for these
 | 
			
		||||
              ;; binaries. Make it not do that.
 | 
			
		||||
              (substitute* "src/calibre/utils/img.py"
 | 
			
		||||
                (("get_exe_path..jpegtran..") (string-append "'" (which "jpegtran") "'"))
 | 
			
		||||
                (("get_exe_path..cjpeg..") (string-append "'" (which "cjpeg") "'"))
 | 
			
		||||
                (("get_exe_path..optipng..") (string-append "'" (which "optipng") "'"))
 | 
			
		||||
                (("get_exe_path..JxrDecApp..") (string-append "'" (which "JxrDecApp") "'")))
 | 
			
		||||
                (("get_exe_path..jpegtran..")
 | 
			
		||||
                 (string-append "'"
 | 
			
		||||
                                (search-input-file inputs "/bin/jpegtran")
 | 
			
		||||
                                "'"))
 | 
			
		||||
                (("get_exe_path..cjpeg..")
 | 
			
		||||
                 (string-append "'"
 | 
			
		||||
                                (search-input-file inputs "/bin/cjpeg")
 | 
			
		||||
                                "'"))
 | 
			
		||||
                (("get_exe_path..optipng..")
 | 
			
		||||
                 (string-append "'"
 | 
			
		||||
                                (search-input-file inputs "/bin/optipng")
 | 
			
		||||
                                "'"))
 | 
			
		||||
                (("get_exe_path..JxrDecApp..")
 | 
			
		||||
                 (string-append "'"
 | 
			
		||||
                                (search-input-file inputs "/bin/JxrDecApp")
 | 
			
		||||
                                "'")))
 | 
			
		||||
              ;; Calibre thinks we are installing desktop files into a home
 | 
			
		||||
              ;; directory, but here we butcher the script in to installing
 | 
			
		||||
              ;; to calibres /share directory.
 | 
			
		||||
              (setenv "XDG_DATA_HOME" (string-append out "/share"))
 | 
			
		||||
              (setenv "XDG_DATA_HOME" (string-append #$output "/share"))
 | 
			
		||||
              (substitute* "src/calibre/linux.py"
 | 
			
		||||
                (("'~/.local/share'") "''"))
 | 
			
		||||
 | 
			
		||||
              ;; 'python setup.py rapydscript' uses QtWebEngine, which
 | 
			
		||||
              ;; needs to create temporary files in $HOME.
 | 
			
		||||
              (setenv "HOME" "/tmp")
 | 
			
		||||
 | 
			
		||||
              ;; XXX: QtWebEngine will fail if no fonts are available.  This
 | 
			
		||||
              ;; can likely be removed when fontconfig has been patched to
 | 
			
		||||
              ;; include TrueType fonts by default.
 | 
			
		||||
              (symlink (string-append (assoc-ref inputs "font-liberation")
 | 
			
		||||
              (symlink (string-append #$(this-package-input "font-liberation")
 | 
			
		||||
                                      "/share/fonts")
 | 
			
		||||
                       "/tmp/.fonts")
 | 
			
		||||
 | 
			
		||||
              (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
 | 
			
		||||
              (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
 | 
			
		||||
              (let ((podofo #$(this-package-input "podofo")))
 | 
			
		||||
                (setenv "PODOFO_INC_DIR"
 | 
			
		||||
                        (string-append podofo "/include/podofo"))
 | 
			
		||||
                (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")))
 | 
			
		||||
              ;; This informs the tests we are a continuous integration
 | 
			
		||||
              ;; environment and thus have no networking.
 | 
			
		||||
              (setenv "CI" "true")
 | 
			
		||||
              ;; The Qt test complains about being unable to load all image plugins, and I
 | 
			
		||||
              ;; notice the available plugins list it shows lacks 'svg'. Adding qtsvg doesn't
 | 
			
		||||
              ;; fix it, so I'm not sure how to fix it.  TODO: Fix test and remove this.
 | 
			
		||||
              (setenv "SKIP_QT_BUILD_TEST" "true")
 | 
			
		||||
              #t)))
 | 
			
		||||
         (add-after 'install 'install-rapydscript
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              ;; The Qt test complains about being unable to load all image
 | 
			
		||||
              ;; plugins, and I notice the available plugins list it shows
 | 
			
		||||
              ;; lacks 'svg'. Adding qtsvg doesn't fix it, so I'm not sure how
 | 
			
		||||
              ;; to fix it.  TODO: Fix test and remove this.
 | 
			
		||||
              (setenv "SKIP_QT_BUILD_TEST" "true")))
 | 
			
		||||
          (add-after 'install 'install-rapydscript
 | 
			
		||||
            (lambda _
 | 
			
		||||
              ;; Unset so QtWebengine doesn't dump temporary files here.
 | 
			
		||||
             (unsetenv "XDG_DATA_HOME")
 | 
			
		||||
             (invoke "python" "setup.py" "rapydscript")
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'install 'install-man-pages
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (copy-recursively
 | 
			
		||||
              "man-pages"
 | 
			
		||||
              (string-append (assoc-ref outputs "out") "/share/man"))
 | 
			
		||||
             #t))
 | 
			
		||||
         ;; The font TTF files are used in some miscellaneous tests, so we
 | 
			
		||||
         ;; unbundle them here to avoid patching the tests.
 | 
			
		||||
         (add-after 'install 'unbundle-font-liberation
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (let ((font-dest (string-append (assoc-ref outputs "out")
 | 
			
		||||
                                             "/share/calibre/fonts/liberation"))
 | 
			
		||||
                   (font-src (string-append (assoc-ref inputs "font-liberation")
 | 
			
		||||
                                            "/share/fonts/truetype")))
 | 
			
		||||
               (delete-file-recursively font-dest)
 | 
			
		||||
               (symlink font-src font-dest))
 | 
			
		||||
             #t))
 | 
			
		||||
         ;; Make run-time dependencies available to the binaries.
 | 
			
		||||
         (add-after 'wrap 'wrap-program
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out (assoc-ref outputs "out"))
 | 
			
		||||
                   (qtwebengine (assoc-ref inputs "qtwebengine")))
 | 
			
		||||
               (with-directory-excursion (string-append out "/bin")
 | 
			
		||||
                 (for-each
 | 
			
		||||
                  (lambda (binary)
 | 
			
		||||
                    (wrap-program binary
 | 
			
		||||
                      ;; Make QtWebEngineProcess available.
 | 
			
		||||
                      `("QTWEBENGINEPROCESS_PATH" =
 | 
			
		||||
                        ,(list (string-append
 | 
			
		||||
                                qtwebengine
 | 
			
		||||
                                "/lib/qt5/libexec/QtWebEngineProcess")))))
 | 
			
		||||
                  ;; Wrap all the binaries shipping with the package, except
 | 
			
		||||
                  ;; for the wrappings created during the 'wrap standard
 | 
			
		||||
                  ;; phase.  This extends existing .calibre-real wrappers
 | 
			
		||||
                  ;; rather than create ..calibre-real-real-s.  For more
 | 
			
		||||
                  ;; information see: https://issues.guix.gnu.org/43249.
 | 
			
		||||
                  (find-files "." (lambda (file stat)
 | 
			
		||||
                                    (not (wrapped-program? file)))))))
 | 
			
		||||
             #t)))))
 | 
			
		||||
              (unsetenv "XDG_DATA_HOME")
 | 
			
		||||
              (invoke "python" "setup.py" "rapydscript")))
 | 
			
		||||
          (add-after 'install 'install-man-pages
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (copy-recursively "man-pages"
 | 
			
		||||
                                (string-append #$output "/share/man"))))
 | 
			
		||||
          ;; The font TTF files are used in some miscellaneous tests, so we
 | 
			
		||||
          ;; unbundle them here to avoid patching the tests.
 | 
			
		||||
          (add-after 'install 'unbundle-font-liberation
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (let ((font-dest
 | 
			
		||||
                     (string-append #$output "/share/calibre/fonts/liberation"))
 | 
			
		||||
                    (font-src
 | 
			
		||||
                     (string-append #$(this-package-input "font-liberation")
 | 
			
		||||
                                    "/share/fonts/truetype")))
 | 
			
		||||
                (delete-file-recursively font-dest)
 | 
			
		||||
                (symlink font-src font-dest))))
 | 
			
		||||
          ;; Make run-time dependencies available to the binaries.
 | 
			
		||||
          (add-after 'wrap 'wrap-program
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              (with-directory-excursion (string-append #$output "/bin")
 | 
			
		||||
                (for-each
 | 
			
		||||
                 (lambda (binary)
 | 
			
		||||
                   (wrap-program binary
 | 
			
		||||
                     ;; Make QtWebEngineProcess available.
 | 
			
		||||
                     `("QTWEBENGINEPROCESS_PATH" =
 | 
			
		||||
                       ,(list
 | 
			
		||||
                         (search-input-file
 | 
			
		||||
                          inputs "/lib/qt5/libexec/QtWebEngineProcess")))))
 | 
			
		||||
                 ;; Wrap all the binaries shipping with the package, except
 | 
			
		||||
                 ;; for the wrappings created during the 'wrap standard
 | 
			
		||||
                 ;; phase.  This extends existing .calibre-real wrappers
 | 
			
		||||
                 ;; rather than create ..calibre-real-real-s.  For more
 | 
			
		||||
                 ;; information see: https://issues.guix.gnu.org/43249.
 | 
			
		||||
                 (find-files "." (lambda (file stat)
 | 
			
		||||
                                   (not (wrapped-program? file)))))))))))
 | 
			
		||||
    (home-page "https://calibre-ebook.com/")
 | 
			
		||||
    (synopsis "E-book library management software")
 | 
			
		||||
    (description "Calibre is an e-book library manager.  It can view, convert
 | 
			
		||||
| 
						 | 
				
			
			@ -515,7 +518,7 @@ following formats:
 | 
			
		|||
(define-public cozy
 | 
			
		||||
  (package
 | 
			
		||||
    (name "cozy")
 | 
			
		||||
    (version "1.1.2")
 | 
			
		||||
    (version "1.2.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -524,7 +527,7 @@ following formats:
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0hifzzhhf0ww6iar9gswjfndy3i54s6jc41zaazlx4scc7r6fhs0"))))
 | 
			
		||||
        (base32 "0igqf9b77i13sxlk4ziw549h379hmz1slrb3vvf8irk94gxabsaw"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:glib-or-gtk? #t
 | 
			
		||||
| 
						 | 
				
			
			@ -559,15 +562,16 @@ following formats:
 | 
			
		|||
                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
 | 
			
		||||
                 `("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib)))))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("desktop-file-utils" ,desktop-file-utils)
 | 
			
		||||
       ("gettext" ,gettext-minimal)
 | 
			
		||||
       ("glib:bin" ,glib "bin")
 | 
			
		||||
       ("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("gtk+:bin" ,gtk+ "bin")
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("python" ,python-wrapper)))
 | 
			
		||||
     (list desktop-file-utils
 | 
			
		||||
           gettext-minimal
 | 
			
		||||
           `(,glib "bin")
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
           `(,gtk+ "bin")
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python-wrapper))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list file
 | 
			
		||||
     (list bash-minimal
 | 
			
		||||
           file
 | 
			
		||||
           granite
 | 
			
		||||
           gsettings-desktop-schemas
 | 
			
		||||
           gst-libav
 | 
			
		||||
| 
						 | 
				
			
			@ -608,7 +612,7 @@ Some of the current features:
 | 
			
		|||
@item Mpris integration (Media keys & playback info for desktop environment)
 | 
			
		||||
@end itemize")
 | 
			
		||||
    ;; TODO: Unbundle python-inject.
 | 
			
		||||
    (license (list license:gpl3+ ;cozy
 | 
			
		||||
    (license (list license:gpl3+        ;cozy
 | 
			
		||||
                   license:asl2.0)))) ;python-inject (bundled dependency)
 | 
			
		||||
 | 
			
		||||
(define-public xchm
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -142,7 +142,7 @@ of categories with some of the activities available in that category.
 | 
			
		|||
(define-public gcompris-qt
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gcompris-qt")
 | 
			
		||||
    (version "2.1")
 | 
			
		||||
    (version "2.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -150,7 +150,7 @@ of categories with some of the activities available in that category.
 | 
			
		|||
             "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-"
 | 
			
		||||
             version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "02j3xv8sa3s5g50zs15wy2giabmhg1q0b8ar73q3fpwvxkz9hcwn"))))
 | 
			
		||||
        (base32 "0qncknaaf168anh4cjp7dqz6qzgx948kvgr32j2vga8mjakqn1aj"))))
 | 
			
		||||
    (build-system qt-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -56,7 +56,8 @@
 | 
			
		|||
  #:use-module (gnu packages qt)
 | 
			
		||||
  #:use-module (gnu packages sdl)
 | 
			
		||||
  #:use-module (gnu packages sqlite)
 | 
			
		||||
  #:use-module (gnu packages stb))
 | 
			
		||||
  #:use-module (gnu packages stb)
 | 
			
		||||
  #:use-module (gnu packages toolkits))
 | 
			
		||||
 | 
			
		||||
(define-public libserialport
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			@ -251,7 +252,7 @@ supported devices, as well as input/output file format support.")
 | 
			
		|||
(define-public openboardview
 | 
			
		||||
  (package
 | 
			
		||||
    (name "openboardview")
 | 
			
		||||
    (version "8.95.1")
 | 
			
		||||
    (version "8.95.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -264,19 +265,17 @@ supported devices, as well as input/output file format support.")
 | 
			
		|||
                         (guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(with-directory-excursion "src"
 | 
			
		||||
                  ;; Keep the bundled ImGui for now, as in the current version
 | 
			
		||||
                  ;; (~1.79), it requires the glad loader generated at build
 | 
			
		||||
                  ;; time as an input.
 | 
			
		||||
                  (define keep (list "." ".." "imgui" "openboardview"))
 | 
			
		||||
                  (define keep (list "." ".." "openboardview"))
 | 
			
		||||
                  (for-each (lambda (f)
 | 
			
		||||
                              (when (eq? 'directory (stat:type (lstat f)))
 | 
			
		||||
                                (delete-file-recursively f)))
 | 
			
		||||
                            (scandir "." (negate (cut member <> keep))))))
 | 
			
		||||
              (patches
 | 
			
		||||
               (search-patches "openboardview-use-system-utf8.patch"))
 | 
			
		||||
               (search-patches "openboardview-use-system-imgui.patch"
 | 
			
		||||
                               "openboardview-use-system-utf8.patch"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "16mrs7bimwp8a8lb2wqhfisy6j0hl9574l4h9yb66v46aglvmd3h"))))
 | 
			
		||||
                "1n2yfi8wpky0y231kq2zdgwn7f7kff8m53m904hxi5ppmwhx1d6q"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
| 
						 | 
				
			
			@ -288,17 +287,6 @@ supported devices, as well as input/output file format support.")
 | 
			
		|||
                  ((guix build glib-or-gtk-build-system) #:prefix gtk:))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'remove-timestamps
 | 
			
		||||
            (lambda _
 | 
			
		||||
              ;; The __TIMESTAMP__ CPP macro does apparently not honor
 | 
			
		||||
              ;; SOURCE_EPOCH_DATE.  Patch it to use __DATE__ instead, which
 | 
			
		||||
              ;; does (see:
 | 
			
		||||
              ;; https://github.com/OpenBoardView/OpenBoardView/issues/229 and
 | 
			
		||||
              ;; https://issues.guix.gnu.org/53647).
 | 
			
		||||
              (substitute* '("src/openboardview/BoardView.cpp"
 | 
			
		||||
                             "src/openboardview/main_opengl.cpp")
 | 
			
		||||
                (("__TIMESTAMP__")
 | 
			
		||||
                 "__DATE__"))))
 | 
			
		||||
          (add-before 'configure 'configure-glad
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              (substitute* "src/CMakeLists.txt"
 | 
			
		||||
| 
						 | 
				
			
			@ -340,6 +328,7 @@ supported devices, as well as input/output file format support.")
 | 
			
		|||
    (inputs
 | 
			
		||||
     (list fontconfig
 | 
			
		||||
           gtk+
 | 
			
		||||
           imgui
 | 
			
		||||
           sdl2
 | 
			
		||||
           sqlite
 | 
			
		||||
           zlib))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,17 +60,15 @@
 | 
			
		|||
              (for-each make-file-writable (find-files "."))))
 | 
			
		||||
          (add-after 'make-git-checkout-writable 'replace-paths
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              (substitute* '("lib/elixir/lib/system.ex"
 | 
			
		||||
                             "lib/mix/lib/mix/scm/git.ex")
 | 
			
		||||
                (("(cmd\\(['\"])git" _ prefix)
 | 
			
		||||
                 (string-append prefix
 | 
			
		||||
                                (search-input-file inputs "/bin/git"))))
 | 
			
		||||
              ;; Note: references end up obfuscated in binary BEAM files where
 | 
			
		||||
              ;; they may be invisible to the GC and graft code:
 | 
			
		||||
              ;; <https://issues.guix.gnu.org/54304#11>.
 | 
			
		||||
              (substitute* '("lib/mix/lib/mix/release.ex"
 | 
			
		||||
                             "lib/mix/lib/mix/tasks/release.init.ex")
 | 
			
		||||
                (("#!/bin/sh")
 | 
			
		||||
                 (string-append "#!" (search-input-file inputs "sh"))))
 | 
			
		||||
                 (string-append "#!" (search-input-file inputs "/bin/sh"))))
 | 
			
		||||
              (substitute* "bin/elixir"
 | 
			
		||||
                (("^ERTS_BIN=$")
 | 
			
		||||
                (("ERTS_BIN=\n")
 | 
			
		||||
                 (string-append
 | 
			
		||||
                  "ERTS_BIN="
 | 
			
		||||
                  ;; Elixir Releases will prepend to ERTS_BIN the path of
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
			
		||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
 | 
			
		||||
;;; Copyright © 2020, 2021 Simon South <simon@simonsouth.net>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Simon South <simon@simonsouth.net>
 | 
			
		||||
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
			
		||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -56,12 +56,14 @@
 | 
			
		|||
  #:use-module (gnu packages libftdi)
 | 
			
		||||
  #:use-module (gnu packages libusb)
 | 
			
		||||
  #:use-module (gnu packages messaging)
 | 
			
		||||
  #:use-module (gnu packages ncurses)
 | 
			
		||||
  #:use-module (gnu packages perl)
 | 
			
		||||
  #:use-module (gnu packages pkg-config)
 | 
			
		||||
  #:use-module (gnu packages python)
 | 
			
		||||
  #:use-module (gnu packages python-crypto)
 | 
			
		||||
  #:use-module (gnu packages python-web)
 | 
			
		||||
  #:use-module (gnu packages python-xyz)
 | 
			
		||||
  #:use-module (gnu packages readline)
 | 
			
		||||
  #:use-module (gnu packages swig)
 | 
			
		||||
  #:use-module (gnu packages texinfo)
 | 
			
		||||
  #:use-module (gnu packages version-control)
 | 
			
		||||
| 
						 | 
				
			
			@ -1486,47 +1488,45 @@ handling communication with eBUS devices connected to a 2-wire bus system
 | 
			
		|||
(define-public ucsim
 | 
			
		||||
  (package
 | 
			
		||||
    (name "ucsim")
 | 
			
		||||
    (version "0.6-pre68")
 | 
			
		||||
    (version "0.7.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/"
 | 
			
		||||
                    "devel/ucsim-" version ".tar.gz"))
 | 
			
		||||
                    "source/v" (version-major+minor version) ".x/"
 | 
			
		||||
                    "ucsim-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1bfj21f5pcfcg1xqqynlcfr8mn6qj5705cgc2lfr2s3n97qsd9df"))))
 | 
			
		||||
                "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("--enable-avr-port"
 | 
			
		||||
                           "--enable-m6809-port"
 | 
			
		||||
                           "--enable-p1516-port"
 | 
			
		||||
                           "--enable-st7-port")
 | 
			
		||||
       #:phases
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-makefiles
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* (find-files "." "(\\.mk$|\\.in$)")
 | 
			
		||||
               (("/bin/sh") (which "sh")))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'install 'remove-empty-directory
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (delete-file-recursively
 | 
			
		||||
              (string-append (assoc-ref outputs "out") "/share/man"))
 | 
			
		||||
             #t)))))
 | 
			
		||||
               (("/bin/sh") (which "sh"))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list ncurses))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list bison flex))
 | 
			
		||||
     (append (list bison flex)
 | 
			
		||||
             ;; Certain tests use assemblers provided by SDCC.
 | 
			
		||||
             (if (not (%current-target-system))
 | 
			
		||||
                 (list sdcc)
 | 
			
		||||
                 '())))
 | 
			
		||||
    (home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
 | 
			
		||||
    (synopsis "Simulators for various microcontroller families")
 | 
			
		||||
    (description "μCsim is a collection of software simulators for
 | 
			
		||||
microcontrollers in the Atmel AVR; Intel MCS-51 (8051); Motorola 68HC08 and
 | 
			
		||||
6809; P1516; Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8;
 | 
			
		||||
and Zilog Z80 families, plus many of their variants.")
 | 
			
		||||
microcontrollers in the Atmel AVR; Intel MCS-51 (8051); MOS Technology 6502;
 | 
			
		||||
Motorola 6800, 68HC08 and 6809; P1516; Padauk PDK13, PDK14 and PDK15;
 | 
			
		||||
STMicroelectronics ST7 and STM8; Xilinx PicoBlaze; and Zilog Z80 families,
 | 
			
		||||
plus many of their variants.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public sdcc
 | 
			
		||||
  (package
 | 
			
		||||
    (name "sdcc")
 | 
			
		||||
    (version "4.1.0")
 | 
			
		||||
    (version "4.2.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -1534,7 +1534,7 @@ and Zilog Z80 families, plus many of their variants.")
 | 
			
		|||
                    "/" version "/sdcc-src-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0gskzli17ghnn5qllvn4d56qf9bvvclqjh63nnj63p52smvggvc1"))
 | 
			
		||||
                "0ly0m3q9vzjb9kcfjh79s77wpl4w7xhybzy4h9x0bmmw4cfsx6xl"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
| 
						 | 
				
			
			@ -1545,13 +1545,10 @@ and Zilog Z80 families, plus many of their variants.")
 | 
			
		|||
                  #t))
 | 
			
		||||
              (patches (search-patches "sdcc-disable-non-free-code.patch"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list readline))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("bison" ,bison)
 | 
			
		||||
       ("boost" ,boost)
 | 
			
		||||
       ("flex" ,flex)
 | 
			
		||||
       ("python-2" ,python-2)
 | 
			
		||||
       ("texinfo" ,texinfo)
 | 
			
		||||
       ("zlib" ,zlib)))
 | 
			
		||||
     (list bison boost flex python-2 texinfo zlib))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(;; GPUTILS is required for the PIC ports, but the licensing status of
 | 
			
		||||
       ;; some of the files contained in its distribution is unclear (see
 | 
			
		||||
| 
						 | 
				
			
			@ -1575,9 +1572,9 @@ and Zilog Z80 families, plus many of their variants.")
 | 
			
		|||
    (home-page "http://sdcc.sourceforge.net")
 | 
			
		||||
    (synopsis "C compiler suite for 8-bit microcontrollers")
 | 
			
		||||
    (description "SDCC is a retargetable, optimizing Standard C compiler suite
 | 
			
		||||
that targets 8-bit microcontrollers in the Intel MCS-51 (8051); Motorola
 | 
			
		||||
68HC08; Padauk PDK13, PDK14 and PDK15; STMicroelectronics STM8; and Zilog Z80
 | 
			
		||||
families, plus many of their variants.")
 | 
			
		||||
that targets 8-bit microcontrollers in the Intel MCS-51 (8051); MOS Technology
 | 
			
		||||
6502; Motorola 68HC08; Padauk PDK13, PDK14 and PDK15; STMicroelectronics STM8;
 | 
			
		||||
and Zilog Z80 families, plus many of their variants.")
 | 
			
		||||
    (license (list license:gpl2+
 | 
			
		||||
                   license:gpl3+
 | 
			
		||||
                   license:lgpl2.0+
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,6 +73,7 @@
 | 
			
		|||
  #:use-module (gnu packages gettext)
 | 
			
		||||
  #:use-module (gnu packages gl)
 | 
			
		||||
  #:use-module (gnu packages glib)
 | 
			
		||||
  #:use-module (gnu packages gnome)
 | 
			
		||||
  #:use-module (gnu packages gtk)
 | 
			
		||||
  #:use-module (gnu packages image)
 | 
			
		||||
  #:use-module (gnu packages libedit)
 | 
			
		||||
| 
						 | 
				
			
			@ -1711,7 +1712,7 @@ This is a part of the TiLP project.")
 | 
			
		|||
(define-public mame
 | 
			
		||||
  (package
 | 
			
		||||
    (name "mame")
 | 
			
		||||
    (version "0.240")
 | 
			
		||||
    (version "0.241")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1720,7 +1721,7 @@ This is a part of the TiLP project.")
 | 
			
		|||
             (commit (apply string-append "mame" (string-split version #\.)))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "141mj5kzafnbw6nqlc3ariwxqn8lq3s13dzypax6igpy4wfy75rm"))
 | 
			
		||||
        (base32 "13bm81qyzvpllzmrak5nb87cdyyvsv4hcnznnrz4jyx1bd8ky6ap"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        ;; Remove bundled libraries.
 | 
			
		||||
| 
						 | 
				
			
			@ -1890,7 +1891,7 @@ functions.  The source code to MAME serves as this documentation.")
 | 
			
		|||
(define-public gnome-arcade
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gnome-arcade")
 | 
			
		||||
    (version "0.218.2")
 | 
			
		||||
    (version "0.240")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1900,7 +1901,7 @@ functions.  The source code to MAME serves as this documentation.")
 | 
			
		|||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1qc01a62p65qb6mwjfmxqsd6n3rglsfwrjhsp25nr7q54107n55l"))))
 | 
			
		||||
         "110dpbbcj73s3i2zcnay0kdpsngcpq8mif88279pdc2967ld0a6r"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
| 
						 | 
				
			
			@ -1944,6 +1945,42 @@ functions.  The source code to MAME serves as this documentation.")
 | 
			
		|||
arcade and console emulator.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public gnusim8085
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gnusim8085")
 | 
			
		||||
    (version "1.4.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "https://github.com/srid/GNUSim8085/releases/download/"
 | 
			
		||||
                    version "/gnusim8085-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "05x0is0ckagb3r74p6lw9b8nqrrh7q2v4jvc4cnhljchz9x7kw2a"))))
 | 
			
		||||
    (native-inputs (list pkg-config))
 | 
			
		||||
    (inputs (list gtksourceview-3 adwaita-icon-theme))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
    (home-page "https://gnusim8085.srid.ca")
 | 
			
		||||
    (synopsis "Graphical simulator for the Intel 8085 microprocessor")
 | 
			
		||||
    (description
 | 
			
		||||
     "GNUSim8085 is a graphical simulator,
 | 
			
		||||
assembler, and debugger for the Intel 8085 microprocessor.
 | 
			
		||||
 | 
			
		||||
@itemize
 | 
			
		||||
@item A simple editor component with syntax highlighting.
 | 
			
		||||
@item A keypad to input assembly language instructions with appropriate arguments.
 | 
			
		||||
@item Easy view of register contents.
 | 
			
		||||
@item Easy view of flag contents.
 | 
			
		||||
@item Hexadecimal/decimal converter.
 | 
			
		||||
@item View of stack, memory and I/O contents.
 | 
			
		||||
@item Support for breakpoints for program debugging.
 | 
			
		||||
@item Stepwise program execution.
 | 
			
		||||
@item One click conversion of assembly program to opcode listing.
 | 
			
		||||
@item Printing support.
 | 
			
		||||
@item UI translated in various languages.
 | 
			
		||||
@end itemize")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public pcsxr
 | 
			
		||||
  ;; No release since 2017.
 | 
			
		||||
  (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@
 | 
			
		|||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 | 
			
		||||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
 | 
			
		||||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
			
		||||
;;; Copyright © 2021 qblade <qblade@protonmail.com>
 | 
			
		||||
;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -28,6 +28,7 @@
 | 
			
		|||
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
 | 
			
		||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 | 
			
		||||
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 | 
			
		||||
;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -1270,24 +1271,24 @@ use on a given system.")
 | 
			
		|||
(define-public libredwg
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libredwg")
 | 
			
		||||
    (version "0.12.4")
 | 
			
		||||
    (version "0.12.5")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "mirror://gnu/libredwg/libredwg-"
 | 
			
		||||
             version ".tar.xz"))
 | 
			
		||||
                           version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "05v5k8fkx4z1p81x9kna7nlzmyx09dn686rj2zprnkf337qmg24i"))))
 | 
			
		||||
        (base32 "1gginbl76vmpccjwx93cmg8ibap8l40swly3bjv7rhmdwv6ikpnk"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("--disable-bindings")))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("libxml2" ,libxml2)
 | 
			
		||||
       ("parallel" ,parallel)
 | 
			
		||||
       ("perl" ,perl)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("python" ,python-wrapper)
 | 
			
		||||
       ("python-libxml2" ,python-libxml2)))
 | 
			
		||||
     (list libxml2
 | 
			
		||||
           parallel
 | 
			
		||||
           perl
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python-wrapper
 | 
			
		||||
           python-libxml2))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list pcre2))
 | 
			
		||||
    (home-page "https://www.gnu.org/software/libredwg/")
 | 
			
		||||
| 
						 | 
				
			
			@ -1550,16 +1551,16 @@ language, ADMS transforms Verilog-AMS code into other target languages.")
 | 
			
		|||
(define-public capstone
 | 
			
		||||
  (package
 | 
			
		||||
    (name "capstone")
 | 
			
		||||
    (version "3.0.5")
 | 
			
		||||
    (version "4.0.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                     (url "https://github.com/aquynh/capstone")
 | 
			
		||||
                     (commit version)))
 | 
			
		||||
                    (url "https://github.com/capstone-engine/capstone")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0dgf82kxj4rs45d6s8sr984c38sll1n5scpypjlyh21gh2yl4qfw"))))
 | 
			
		||||
                "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f
 | 
			
		||||
| 
						 | 
				
			
			@ -1571,10 +1572,10 @@ language, ADMS transforms Verilog-AMS code into other target languages.")
 | 
			
		|||
         ;; cstool's Makefile ‘+=’s LDFLAGS, so we cannot pass it as a make flag.
 | 
			
		||||
         (add-before 'build 'fix-cstool-ldflags
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (setenv "LDFLAGS"  (string-append "-Wl,-rpath="
 | 
			
		||||
                                               (assoc-ref outputs "out") "/lib"))
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (home-page "https://www.capstone-engine.org")
 | 
			
		||||
             (setenv "LDFLAGS"
 | 
			
		||||
                     (string-append "-Wl,-rpath="
 | 
			
		||||
                                    (assoc-ref outputs "out") "/lib")))))))
 | 
			
		||||
    (home-page "https://github.com/capstone-engine/capstone")
 | 
			
		||||
    (synopsis "Lightweight multi-platform, multi-architecture disassembly framework")
 | 
			
		||||
    (description
 | 
			
		||||
     "Capstone is a lightweight multi-platform, multi-architecture disassembly
 | 
			
		||||
| 
						 | 
				
			
			@ -1744,7 +1745,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
 | 
			
		|||
  ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libngspice")
 | 
			
		||||
    (version "35")
 | 
			
		||||
    (version "36")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1755,7 +1756,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
 | 
			
		|||
                            "old-releases/" version
 | 
			
		||||
                            "/ngspice-" version ".tar.gz")))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1v3ra9p2sc6ash1bbjm6i4i3dd6ymxjgnyha7z5rlmyvfv1gbdy1"))))
 | 
			
		||||
        (base32 "133za6m9grpnnlb46sijkda7ky41mrbvfdb60i0m695sxy3q50ag"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(;; No tests for libngspice exist.
 | 
			
		||||
| 
						 | 
				
			
			@ -1788,8 +1789,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
 | 
			
		|||
    (native-inputs
 | 
			
		||||
     (list bison flex))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("libxaw" ,libxaw)
 | 
			
		||||
       ("mpi" ,openmpi)))
 | 
			
		||||
     (list libxaw openmpi))
 | 
			
		||||
    (home-page "http://ngspice.sourceforge.net/")
 | 
			
		||||
    (synopsis "Mixed-level/mixed-signal circuit simulator")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -2399,127 +2399,110 @@ OpenSCAD code.  It supports syntax highlighting, indenting and refilling of
 | 
			
		|||
comments.")))
 | 
			
		||||
 | 
			
		||||
(define-public freecad
 | 
			
		||||
  (package
 | 
			
		||||
    (name "freecad")
 | 
			
		||||
    (version "0.19.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/FreeCAD/FreeCAD")
 | 
			
		||||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1dkiwnqr6bhi2d90hz7ijqd872144c9n9xxpd1vbrmxr2x8cfl88"))
 | 
			
		||||
       (patches (search-patches "freecad-vtk9.patch"
 | 
			
		||||
                                "freecad-boost-serialization.patch"))))
 | 
			
		||||
    (build-system qt-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list doxygen
 | 
			
		||||
           graphviz
 | 
			
		||||
           qttools
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python-pyside-2-tools
 | 
			
		||||
           swig))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list boost
 | 
			
		||||
           coin3D
 | 
			
		||||
           double-conversion
 | 
			
		||||
           eigen
 | 
			
		||||
           freetype
 | 
			
		||||
           gl2ps
 | 
			
		||||
           glew
 | 
			
		||||
           hdf5-1.10
 | 
			
		||||
           jsoncpp
 | 
			
		||||
           libarea
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           libmedfile
 | 
			
		||||
           libspnav
 | 
			
		||||
           libtheora
 | 
			
		||||
           libtiff
 | 
			
		||||
           libxi
 | 
			
		||||
           libxml++
 | 
			
		||||
           libxmu
 | 
			
		||||
           lz4
 | 
			
		||||
           netcdf
 | 
			
		||||
           opencascade-occt
 | 
			
		||||
           openmpi
 | 
			
		||||
           proj
 | 
			
		||||
           python-gitpython
 | 
			
		||||
           python-matplotlib
 | 
			
		||||
           python-pivy
 | 
			
		||||
           python-ply
 | 
			
		||||
           python-pyside-2
 | 
			
		||||
           python-pyyaml
 | 
			
		||||
           python-shiboken-2
 | 
			
		||||
           python-wrapper
 | 
			
		||||
           qtbase-5
 | 
			
		||||
           qtdeclarative
 | 
			
		||||
           qtsvg
 | 
			
		||||
           qtwebchannel
 | 
			
		||||
           qtwebengine
 | 
			
		||||
           qtx11extras
 | 
			
		||||
           qtxmlpatterns
 | 
			
		||||
           sqlite
 | 
			
		||||
           tbb
 | 
			
		||||
           vtk
 | 
			
		||||
           xerces-c
 | 
			
		||||
           zlib))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f          ; Project has no tests
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       ,#~(list
 | 
			
		||||
           "-DBUILD_QT5=ON"
 | 
			
		||||
           "-DBUILD_FLAT_MESH:BOOL=ON"
 | 
			
		||||
           "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
 | 
			
		||||
           (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib")
 | 
			
		||||
           (string-append "-DPYSIDE2UICBINARY="
 | 
			
		||||
                          #$(this-package-native-input
 | 
			
		||||
                             "python-pyside-2-tools")
 | 
			
		||||
                          "/bin/uic")
 | 
			
		||||
           (string-append "-DPYSIDE2RCCBINARY="
 | 
			
		||||
                          #$(this-package-native-input
 | 
			
		||||
                             "python-pyside-2-tools")
 | 
			
		||||
                          "/bin/rcc")
 | 
			
		||||
           "-DPYSIDE_LIBRARY=PySide2::pyside2"
 | 
			
		||||
           (string-append
 | 
			
		||||
            "-DPYSIDE_INCLUDE_DIR="
 | 
			
		||||
            #$(this-package-input "python-pyside-2") "/include;"
 | 
			
		||||
            #$(this-package-input "python-pyside-2") "/include/PySide2;"
 | 
			
		||||
            #$(this-package-input "python-pyside-2") "/include/PySide2/QtCore;"
 | 
			
		||||
            #$(this-package-input "python-pyside-2") "/include/PySide2/QtWidgets;"
 | 
			
		||||
            #$(this-package-input "python-pyside-2") "/include/PySide2/QtGui;")
 | 
			
		||||
           "-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
 | 
			
		||||
           (string-append "-DSHIBOKEN_INCLUDE_DIR="
 | 
			
		||||
                          #$(this-package-input "python-shiboken-2")
 | 
			
		||||
                          "/include/shiboken2"))
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before 'configure 'restore-pythonpath
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "src/Main/MainGui.cpp"
 | 
			
		||||
               (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
 | 
			
		||||
         (add-after 'install 'wrap-pythonpath
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out (assoc-ref outputs "out")))
 | 
			
		||||
               (wrap-program (string-append out "/bin/FreeCAD")
 | 
			
		||||
                 (list "GUIX_PYTHONPATH"
 | 
			
		||||
                       'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
 | 
			
		||||
    (home-page "https://www.freecadweb.org/")
 | 
			
		||||
    (synopsis "Your Own 3D Parametric Modeler")
 | 
			
		||||
    (description
 | 
			
		||||
     "FreeCAD is a general purpose feature-based, parametric 3D modeler for
 | 
			
		||||
  ;; FIXME: We use a commit directly because upstream has compatibility fixes
 | 
			
		||||
  ;; that are not in a release yet for boost, opencascade-occt-7.6 and vtk-9.
 | 
			
		||||
  ;; Switch back to a regular version (probably 0.20) when it is released.
 | 
			
		||||
  (let ((commit "09a05a9cd0c4692a57a3e038268b4389b4657fc6")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "freecad")
 | 
			
		||||
      (version (git-version "0.19.3" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/FreeCAD/FreeCAD")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "0818basym0n44dsgix0yv1l00xgv9igrr7wkszd8x74lh1rr591r"))))
 | 
			
		||||
      (build-system qt-build-system)
 | 
			
		||||
      (native-inputs
 | 
			
		||||
       (list doxygen
 | 
			
		||||
             graphviz
 | 
			
		||||
             qttools
 | 
			
		||||
             pkg-config
 | 
			
		||||
             python-pyside-2-tools
 | 
			
		||||
             swig))
 | 
			
		||||
      (inputs
 | 
			
		||||
       (list boost
 | 
			
		||||
             coin3D
 | 
			
		||||
             double-conversion
 | 
			
		||||
             eigen
 | 
			
		||||
             freetype
 | 
			
		||||
             gl2ps
 | 
			
		||||
             glew
 | 
			
		||||
             hdf5-1.10
 | 
			
		||||
             jsoncpp
 | 
			
		||||
             libarea
 | 
			
		||||
             libjpeg-turbo
 | 
			
		||||
             libmedfile
 | 
			
		||||
             libspnav
 | 
			
		||||
             libtheora
 | 
			
		||||
             libtiff
 | 
			
		||||
             libxi
 | 
			
		||||
             libxml++
 | 
			
		||||
             libxmu
 | 
			
		||||
             lz4
 | 
			
		||||
             netcdf
 | 
			
		||||
             opencascade-occt
 | 
			
		||||
             openmpi
 | 
			
		||||
             proj
 | 
			
		||||
             python-gitpython
 | 
			
		||||
             python-matplotlib
 | 
			
		||||
             python-pivy
 | 
			
		||||
             python-ply
 | 
			
		||||
             python-pyside-2
 | 
			
		||||
             python-pyyaml
 | 
			
		||||
             python-shiboken-2
 | 
			
		||||
             python-wrapper
 | 
			
		||||
             qtbase-5
 | 
			
		||||
             qtdeclarative
 | 
			
		||||
             qtsvg
 | 
			
		||||
             qtwebchannel
 | 
			
		||||
             qtwebengine
 | 
			
		||||
             qtx11extras
 | 
			
		||||
             qtxmlpatterns
 | 
			
		||||
             sqlite
 | 
			
		||||
             tbb-2020 ; Same version as opencascade-occt
 | 
			
		||||
             vtk
 | 
			
		||||
             xerces-c
 | 
			
		||||
             zlib))
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:tests? #f          ; Project has no tests
 | 
			
		||||
         #:configure-flags
 | 
			
		||||
         ,#~(list
 | 
			
		||||
             "-DBUILD_QT5=ON"
 | 
			
		||||
             "-DBUILD_FLAT_MESH:BOOL=ON"
 | 
			
		||||
             "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
 | 
			
		||||
             (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib"))
 | 
			
		||||
         #:phases
 | 
			
		||||
         (modify-phases %standard-phases
 | 
			
		||||
           (add-before 'configure 'restore-pythonpath
 | 
			
		||||
             (lambda _
 | 
			
		||||
               (substitute* "src/Main/MainGui.cpp"
 | 
			
		||||
                 (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
 | 
			
		||||
           (add-after 'install 'wrap-pythonpath
 | 
			
		||||
             (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
               (let ((out (assoc-ref outputs "out")))
 | 
			
		||||
                 (wrap-program (string-append out "/bin/FreeCAD")
 | 
			
		||||
                   (list "GUIX_PYTHONPATH"
 | 
			
		||||
                         'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
 | 
			
		||||
      (home-page "https://www.freecadweb.org/")
 | 
			
		||||
      (synopsis "Your Own 3D Parametric Modeler")
 | 
			
		||||
      (description
 | 
			
		||||
       "FreeCAD is a general purpose feature-based, parametric 3D modeler for
 | 
			
		||||
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and
 | 
			
		||||
product design but also fits a wider range of uses in engineering, such as
 | 
			
		||||
architecture or other engineering specialties.  It is 100% Open Source (LGPL2+
 | 
			
		||||
license) and extremely modular, allowing for very advanced extension and
 | 
			
		||||
customization.")
 | 
			
		||||
    (license
 | 
			
		||||
     (list
 | 
			
		||||
      license:lgpl2.1+
 | 
			
		||||
      license:lgpl2.0+
 | 
			
		||||
      license:gpl3+
 | 
			
		||||
      license:bsd-3))))
 | 
			
		||||
      (license
 | 
			
		||||
       (list
 | 
			
		||||
        license:lgpl2.1+
 | 
			
		||||
        license:lgpl2.0+
 | 
			
		||||
        license:gpl3+
 | 
			
		||||
        license:bsd-3)))))
 | 
			
		||||
 | 
			
		||||
(define-public libmedfile
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
 | 
			
		||||
;;; Copyright © 2020, 2022 Zhu Zihao <all_but_last@163.com>
 | 
			
		||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -20,10 +21,12 @@
 | 
			
		|||
(define-module (gnu packages fcitx5)
 | 
			
		||||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system copy)
 | 
			
		||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
			
		||||
  #:use-module (gnu packages anthy)
 | 
			
		||||
  #:use-module (gnu packages boost)
 | 
			
		||||
  #:use-module (gnu packages curl)
 | 
			
		||||
  #:use-module (gnu packages datastructures)
 | 
			
		||||
| 
						 | 
				
			
			@ -196,43 +199,60 @@ editors.")
 | 
			
		|||
        (base32 "07ip4sxf3q895pp7mivv2bdwcmqjnwrmv9pg99jk73cw9bgyq00n"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f                      ;No test
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       (list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
 | 
			
		||||
                            %output "/share/gir-1.0")
 | 
			
		||||
             (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
 | 
			
		||||
                            %output "/lib/girepository-1.0")
 | 
			
		||||
             ;; TODO: Enable it when Guix has GTK4.
 | 
			
		||||
             "-DENABLE_GTK4_IM_MODULE=Off")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before 'configure 'patch-install-prefix
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out (assoc-ref outputs "out"))
 | 
			
		||||
                   (gtk2 (assoc-ref outputs "gtk2")))
 | 
			
		||||
               ;; Install GTK+ 2 input method module to its own output.
 | 
			
		||||
               (substitute* "gtk2/CMakeLists.txt"
 | 
			
		||||
                 (("\\$\\{CMAKE_INSTALL_LIBDIR\\}")
 | 
			
		||||
                  (string-append gtk2 "/lib")))))))))
 | 
			
		||||
     (list
 | 
			
		||||
      #:tests? #f                       ;No test
 | 
			
		||||
      #:configure-flags
 | 
			
		||||
      #~(list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
 | 
			
		||||
                             #$output "/share/gir-1.0")
 | 
			
		||||
              (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
 | 
			
		||||
                             #$output "/lib/girepository-1.0"))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-before 'configure 'patch-install-prefix
 | 
			
		||||
            (lambda _
 | 
			
		||||
              ;; Take care of different versions of GTK because this package
 | 
			
		||||
              ;; provides IM module for GTK application to use input method.
 | 
			
		||||
              (define (split-immodule gtk-version output)
 | 
			
		||||
                (substitute* (string-append gtk-version "/CMakeLists.txt")
 | 
			
		||||
                  (("\\$\\{CMAKE_INSTALL_LIBDIR\\}")
 | 
			
		||||
                   (string-append output "/lib"))))
 | 
			
		||||
 | 
			
		||||
              (let ((gtk2 #$output:gtk2)
 | 
			
		||||
                    (gtk3 #$output:gtk3)
 | 
			
		||||
                    (gtk4 #$output:gtk4))
 | 
			
		||||
                (for-each split-immodule
 | 
			
		||||
                          '("gtk2" "gtk3" "gtk4")
 | 
			
		||||
                          (list gtk2 gtk3 gtk4))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("fcitx5" ,fcitx5)
 | 
			
		||||
       ("fmt" ,fmt)
 | 
			
		||||
       ("libxkbcommon" ,libxkbcommon)
 | 
			
		||||
       ("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("gtk2" ,gtk+-2)
 | 
			
		||||
       ("gtk3" ,gtk+)
 | 
			
		||||
       ("glib" ,glib)
 | 
			
		||||
       ("libx11" ,libx11)
 | 
			
		||||
       ("gettext" ,gettext-minimal)))
 | 
			
		||||
     (list fcitx5
 | 
			
		||||
           fmt
 | 
			
		||||
           libx11
 | 
			
		||||
           libxkbcommon
 | 
			
		||||
           gettext-minimal
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
           gtk+-2
 | 
			
		||||
           gtk+
 | 
			
		||||
           gtk
 | 
			
		||||
           glib))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list extra-cmake-modules pkg-config
 | 
			
		||||
           `(,glib "bin")))           ;for glib-genmarshal
 | 
			
		||||
    ;; TODO: Add "lib" output to reduce the closure size of "gtk2".
 | 
			
		||||
    (outputs '("out" "gtk2"))
 | 
			
		||||
    (outputs '("out" "gtk2" "gtk3" "gtk4"))
 | 
			
		||||
    (home-page "https://github.com/fcitx/fcitx5-gtk")
 | 
			
		||||
    (synopsis "Glib based D-Bus client and GTK IM module for Fcitx 5")
 | 
			
		||||
    (description "Fcitx5-gtk provides a Glib based D-Bus client and IM module
 | 
			
		||||
for GTK+2/GTK+3 application.")
 | 
			
		||||
    (synopsis "GLib-based D-Bus client and GTK IM module for Fcitx 5")
 | 
			
		||||
    (description "Fcitx5-gtk provides the following functionality in the
 | 
			
		||||
corresponding output:
 | 
			
		||||
 | 
			
		||||
@table @code
 | 
			
		||||
@item out
 | 
			
		||||
GLib-based D-Bus client of Fcitx5.
 | 
			
		||||
@item gtk2
 | 
			
		||||
IM module for GTK+2 applications.
 | 
			
		||||
@item gtk3
 | 
			
		||||
IM module for GTK+3 applications.
 | 
			
		||||
@item gtk4
 | 
			
		||||
IM module for GTK4 applications.
 | 
			
		||||
@end table")
 | 
			
		||||
    (license license:lgpl2.1+)))
 | 
			
		||||
 | 
			
		||||
(define-public fcitx5-qt
 | 
			
		||||
| 
						 | 
				
			
			@ -270,6 +290,30 @@ for Qt based application.")
 | 
			
		|||
                   ;; and qt5/platforminputcontext.
 | 
			
		||||
                   license:bsd-3))))
 | 
			
		||||
 | 
			
		||||
(define-public fcitx5-anthy
 | 
			
		||||
  (package
 | 
			
		||||
    (name "fcitx5-anthy")
 | 
			
		||||
    (version "5.0.9")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://download.fcitx-im.org/fcitx5"
 | 
			
		||||
                           "/fcitx5-anthy/fcitx5-anthy-"
 | 
			
		||||
                           version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0i2ahfp1vh0cs3brcsfblzqwszal2qj1ncgb1hbc9v03s1j6bybk"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f)) ;; no tests
 | 
			
		||||
    (inputs (list fcitx5 anthy gettext-minimal fmt))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list extra-cmake-modules pkg-config))
 | 
			
		||||
    (home-page "https://github.com/fcitx/fcitx5-anthy")
 | 
			
		||||
    (synopsis "Anthy Japanese language input for Fcitx 5")
 | 
			
		||||
    (description "Fcitx5-Anthy provides Japanese input support to Fcitx5 using
 | 
			
		||||
the Anthy input method.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public fcitx5-chinese-addons
 | 
			
		||||
  (package
 | 
			
		||||
    (name "fcitx5-chinese-addons")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -405,8 +405,8 @@ from a mounted file system.")
 | 
			
		|||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public bcachefs-tools
 | 
			
		||||
  (let ((commit "b19d9f92e12c2e78d6e306e6cb7f8a7d9a7875f3")
 | 
			
		||||
        (revision "13"))
 | 
			
		||||
  (let ((commit "fd1b84975b960d5e42963bed2c18b8c63d8abce7")
 | 
			
		||||
        (revision "14"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "bcachefs-tools")
 | 
			
		||||
      (version (git-version "0.1" revision commit))
 | 
			
		||||
| 
						 | 
				
			
			@ -418,7 +418,7 @@ from a mounted file system.")
 | 
			
		|||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "1ixb1fk58yjk8alpcf9a7h0fnkvpbsjxd766iz9h7qa6r1r77a6c"))))
 | 
			
		||||
          (base32 "08vh0pg2sj833062y4vvnvzqchhflcvysp3xdh0zjk121r3iqm0s"))))
 | 
			
		||||
      (build-system gnu-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
       (list #:make-flags
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1724,7 +1724,9 @@ that allows you to run services and through them access the Bitcoin Cash network
 | 
			
		|||
           (lambda _
 | 
			
		||||
             (substitute* "setup.py"
 | 
			
		||||
               (("'google-api-python-client',") ""))
 | 
			
		||||
             #t)))))
 | 
			
		||||
             #t))
 | 
			
		||||
         ;; No module named 'google_auth_oauthlib'
 | 
			
		||||
         (delete 'sanity-check))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list python-beautifulsoup4
 | 
			
		||||
           python-bottle
 | 
			
		||||
| 
						 | 
				
			
			@ -1942,3 +1944,37 @@ providing common functions for the technical analysis of financial market data."
 | 
			
		|||
     "TA-Lib is a library providing common functions for the technical
 | 
			
		||||
analysis of financial market data.")
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public python-mt-940
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-mt-940")
 | 
			
		||||
    (version "4.23.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/WoLpH/mt940.git")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0z9w1qalcphsck3j6vkrs7k47ah9zq2rv0lm9nmcsgwpyp59qkyf"))))
 | 
			
		||||
    (properties '(("upstream-name" #{.}# "mt-940")))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases (modify-phases %standard-phases
 | 
			
		||||
                  (replace 'check
 | 
			
		||||
                    (lambda* (#:key tests? inputs outputs #:allow-other-keys)
 | 
			
		||||
                      (when tests?
 | 
			
		||||
                        ;; Remove custom --cov flags.
 | 
			
		||||
                        (delete-file "pytest.ini")
 | 
			
		||||
                        (invoke "pytest" "-vv")))))))
 | 
			
		||||
    (native-inputs (list python-flake8
 | 
			
		||||
                         python-pytest
 | 
			
		||||
                         python-pyyaml))
 | 
			
		||||
    (home-page "https://mt940.readthedocs.io/")
 | 
			
		||||
    (synopsis "Python parser for MT940-encoded SWIFT data")
 | 
			
		||||
    (description
 | 
			
		||||
     "A library to parse MT940 files, a bank account statement exchange
 | 
			
		||||
format used by SWIFT.  It returns smart Python collections for statistics
 | 
			
		||||
and manipulation.")
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,9 @@
 | 
			
		|||
;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
 | 
			
		||||
;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
 | 
			
		||||
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
 | 
			
		||||
;;; Copyright © 2022 Kitzman <kitzman@disroot.org>
 | 
			
		||||
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
 | 
			
		||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -1496,7 +1499,7 @@ programming.  Iosevka is completely generated from its source code.")
 | 
			
		|||
(define-public font-sarasa-gothic
 | 
			
		||||
  (package
 | 
			
		||||
    (name "font-sarasa-gothic")
 | 
			
		||||
    (version "0.31.2")
 | 
			
		||||
    (version "0.36.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1504,7 +1507,7 @@ programming.  Iosevka is completely generated from its source code.")
 | 
			
		|||
                           "/releases/download/v" version
 | 
			
		||||
                           "/sarasa-gothic-ttc-" version ".7z"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0p67qyhm266s6q17islqvwch807fy5slgp2symrl0z665vp6hycj"))))
 | 
			
		||||
        (base32 "0rr6qrf49zx3cl1pv7063l12nnj2nm9p4di3frp0p4ci9l7b4xmw"))))
 | 
			
		||||
    (build-system font-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases (modify-phases %standard-phases
 | 
			
		||||
| 
						 | 
				
			
			@ -2463,4 +2466,98 @@ converted from the Type 1 originals by Matthew Butterick.")
 | 
			
		|||
         "Bitstream contributed the Charter family "
 | 
			
		||||
         "to the X Consortium in 1992.  "
 | 
			
		||||
         "The license is also embedded in the font metadata."))))))
 | 
			
		||||
/
 | 
			
		||||
 | 
			
		||||
(define-public font-termsyn
 | 
			
		||||
  (package
 | 
			
		||||
    (name "font-termsyn")
 | 
			
		||||
    (version "1.8.7")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://sourceforge/termsyn/termsyn-"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "15vsmc3nmzl0pkgdpr2993da7p38fiw2rvcg01pwldzmpqrmkpn6"))))
 | 
			
		||||
    (build-system font-build-system)
 | 
			
		||||
    (outputs '("out" "psf" "otf"))
 | 
			
		||||
    (native-inputs (list fontforge))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases (modify-phases %standard-phases
 | 
			
		||||
                  (add-before 'install 'build
 | 
			
		||||
                    (lambda _
 | 
			
		||||
                      (use-modules (ice-9 regex)
 | 
			
		||||
                                   (ice-9 match))
 | 
			
		||||
                      (define (pcf2 name ext)
 | 
			
		||||
                        (invoke "fontforge" "-lang=ff" "-c"
 | 
			
		||||
                                (string-append "Open('"
 | 
			
		||||
                                               name
 | 
			
		||||
                                               "');"
 | 
			
		||||
                                               "Generate('"
 | 
			
		||||
                                               (basename name "pcf")
 | 
			
		||||
                                               ext
 | 
			
		||||
                                               "','ttf')")))
 | 
			
		||||
                      (for-each (lambda (pcf)
 | 
			
		||||
                                  (pcf2 pcf "otf"))
 | 
			
		||||
                                (find-files "." "\\.pcf$")) #t))
 | 
			
		||||
                  (replace 'install
 | 
			
		||||
                    (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
                      (let* ((pcf (assoc-ref outputs "out")) (psf (assoc-ref
 | 
			
		||||
                                                                   outputs
 | 
			
		||||
                                                                   "psf"))
 | 
			
		||||
                             (otf (assoc-ref outputs "otf"))
 | 
			
		||||
                             (pcf-font-dir (string-append pcf
 | 
			
		||||
                                            "/share/fonts/termsyn"))
 | 
			
		||||
                             (otf-font-dir (string-append otf
 | 
			
		||||
                                            "/share/fonts/termsyn-otf"))
 | 
			
		||||
                             (psf-font-dir (string-append psf
 | 
			
		||||
                                            "/share/kbd/consolefonts")))
 | 
			
		||||
                        (mkdir-p pcf-font-dir)
 | 
			
		||||
                        (mkdir-p otf-font-dir)
 | 
			
		||||
                        (mkdir-p psf-font-dir)
 | 
			
		||||
                        (for-each (lambda (pcf)
 | 
			
		||||
                                    (install-file pcf pcf-font-dir))
 | 
			
		||||
                                  (find-files "." "\\.pcf$"))
 | 
			
		||||
                        (for-each (lambda (psfu)
 | 
			
		||||
                                    (install-file psfu psf-font-dir))
 | 
			
		||||
                                  (find-files "." "\\.psfu$"))
 | 
			
		||||
                        (for-each (lambda (otf)
 | 
			
		||||
                                    (install-file otf otf-font-dir))
 | 
			
		||||
                                  (find-files "." "\\.otf$"))) #t)))))
 | 
			
		||||
    (home-page "https://sourceforge.net/projects/termsyn/")
 | 
			
		||||
    (synopsis "Monospaced font based on terminus and tamsyn")
 | 
			
		||||
    (description
 | 
			
		||||
     "Termsyn is a clean monospaced bitmap font based on Terminus and Tamsyn.
 | 
			
		||||
 | 
			
		||||
This package contains the following outputs:
 | 
			
		||||
@enumerate
 | 
			
		||||
@item out: pcf font
 | 
			
		||||
@item otf: otf font
 | 
			
		||||
@item psf: psfu font
 | 
			
		||||
@end enumerate
 | 
			
		||||
")
 | 
			
		||||
    (license license:gpl2)))
 | 
			
		||||
 | 
			
		||||
(define-public font-atui-feather
 | 
			
		||||
  (let ((version "0")
 | 
			
		||||
        (commit "c51fe7cedbcf2cbf4f1b993cef5d8def612dec1d")
 | 
			
		||||
        (revision "1"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "font-atui-feather")
 | 
			
		||||
      (version (git-version version revision commit))
 | 
			
		||||
      (source (origin
 | 
			
		||||
                (method git-fetch)
 | 
			
		||||
                (uri (git-reference
 | 
			
		||||
                      (commit commit)
 | 
			
		||||
                      (url "https://github.com/AT-UI/feather-font/")))
 | 
			
		||||
                (file-name (git-file-name name version))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "0hk12bjlsh0j6kd0sz3nwax259afdi6dxws4x88yz5ssxic1ng2j"))))
 | 
			
		||||
      (build-system font-build-system)
 | 
			
		||||
      (home-page "https://at-ui.github.io/feather-font/")
 | 
			
		||||
      (synopsis "Iconfont version of Feather")
 | 
			
		||||
      (description
 | 
			
		||||
       "Feather is a collection of simply beautiful icons.  Each
 | 
			
		||||
icon is designed on a 24x24 grid with an emphasis on simplicity, consistency,
 | 
			
		||||
and readability.  This package bundles those icons into a font.")
 | 
			
		||||
      (license license:expat))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,7 @@
 | 
			
		|||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
			
		||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 | 
			
		||||
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -835,7 +836,7 @@ maintain the Noto Fonts project.")
 | 
			
		|||
(define-public fcft
 | 
			
		||||
  (package
 | 
			
		||||
    (name "fcft")
 | 
			
		||||
    (version "2.5.1")
 | 
			
		||||
    (version "3.0.1")
 | 
			
		||||
    (home-page "https://codeberg.org/dnkl/fcft")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -843,7 +844,7 @@ maintain the Noto Fonts project.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0dn0ic2ddi5qz6nqscsn7nlih67ad8vpclppbqwas6xavdfq6va2"))))
 | 
			
		||||
                "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list check pkg-config scdoc))
 | 
			
		||||
| 
						 | 
				
			
			@ -904,6 +905,7 @@ generated list of fallback fonts are checked.")
 | 
			
		|||
   (inputs
 | 
			
		||||
    `(("fonconfig" ,fontconfig)
 | 
			
		||||
      ("freetype" ,freetype)
 | 
			
		||||
      ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
 | 
			
		||||
      ("gtk+" ,gtk+)
 | 
			
		||||
      ("json-glib" ,json-glib)
 | 
			
		||||
      ("libsoup" ,libsoup-minimal-2)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@
 | 
			
		|||
;;; Copyright © 2015-2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 | 
			
		||||
;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 | 
			
		||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
 | 
			
		||||
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
 | 
			
		||||
| 
						 | 
				
			
			@ -585,11 +585,15 @@ the freedesktop.org XDG Base Directory specification.")
 | 
			
		|||
                 (sysconf (string-append out "/etc"))
 | 
			
		||||
                 (libexec (string-append out "/libexec/elogind"))
 | 
			
		||||
                 (dbuspolicy (string-append out "/etc/dbus-1/system.d"))
 | 
			
		||||
                 (kexec-tools #$(this-package-input "kexec-tools"))
 | 
			
		||||
                 #$@(if (not (target-riscv64?))
 | 
			
		||||
                      #~((kexec-tools #$(this-package-input "kexec-tools")))
 | 
			
		||||
                      #~())
 | 
			
		||||
                 (shadow #$(this-package-input "shadow"))
 | 
			
		||||
                 (shepherd #$(this-package-input "shepherd"))
 | 
			
		||||
                 (halt-path (string-append shepherd "/sbin/halt"))
 | 
			
		||||
                 (kexec-path (string-append kexec-tools "/sbin/kexec"))
 | 
			
		||||
                 #$@(if (not (target-riscv64?))
 | 
			
		||||
                      #~((kexec-path (string-append kexec-tools "/sbin/kexec")))
 | 
			
		||||
                      #~())
 | 
			
		||||
                 (nologin-path (string-append shadow "/sbin/nologin"))
 | 
			
		||||
                 (poweroff-path (string-append shepherd "/sbin/shutdown"))
 | 
			
		||||
                 (reboot-path (string-append shepherd "/sbin/reboot")))
 | 
			
		||||
| 
						 | 
				
			
			@ -601,7 +605,9 @@ the freedesktop.org XDG Base Directory specification.")
 | 
			
		|||
             (string-append "-Dc_link_args=-Wl,-rpath=" libexec)
 | 
			
		||||
             (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
 | 
			
		||||
             (string-append "-Dhalt-path=" halt-path)
 | 
			
		||||
             (string-append "-Dkexec-path=" kexec-path)
 | 
			
		||||
             #$@(if (not (target-riscv64?))
 | 
			
		||||
                  #~((string-append "-Dkexec-path=" kexec-path))
 | 
			
		||||
                  #~())
 | 
			
		||||
             (string-append "-Dpoweroff-path=" poweroff-path)
 | 
			
		||||
             (string-append "-Dreboot-path=" reboot-path)
 | 
			
		||||
             (string-append "-Dnologin-path=" nologin-path)
 | 
			
		||||
| 
						 | 
				
			
			@ -675,15 +681,18 @@ the freedesktop.org XDG Base Directory specification.")
 | 
			
		|||
       ("python" ,python)
 | 
			
		||||
       ("xsltproc" ,libxslt)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list kexec-tools
 | 
			
		||||
           linux-pam
 | 
			
		||||
           libcap
 | 
			
		||||
           shadow ;for 'nologin'
 | 
			
		||||
           shepherd ;for 'halt' and 'reboot', invoked
 | 
			
		||||
           ;when pressing the power button
 | 
			
		||||
           dbus
 | 
			
		||||
           eudev
 | 
			
		||||
           acl))           ;to add individual users to ACLs on /dev nodes
 | 
			
		||||
     (append
 | 
			
		||||
       (if (not (target-riscv64?))
 | 
			
		||||
         (list kexec-tools)
 | 
			
		||||
         '())
 | 
			
		||||
       (list linux-pam
 | 
			
		||||
             libcap
 | 
			
		||||
             shadow         ; for 'nologin'
 | 
			
		||||
             shepherd       ; for 'halt' and 'reboot', invoked
 | 
			
		||||
                            ; when pressing the power button
 | 
			
		||||
             dbus
 | 
			
		||||
             eudev
 | 
			
		||||
             acl)))         ; to add individual users to ACLs on /dev nodes
 | 
			
		||||
    (home-page "https://github.com/elogind/elogind")
 | 
			
		||||
    (synopsis "User, seat, and session management service")
 | 
			
		||||
    (description "Elogind is the systemd project's \"logind\" service,
 | 
			
		||||
| 
						 | 
				
			
			@ -1201,6 +1210,29 @@ sent to a Wayland window, such as key presses.  It is analogous to the X11 tool
 | 
			
		|||
XEv.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public wtype
 | 
			
		||||
  (package
 | 
			
		||||
    (name "wtype")
 | 
			
		||||
    (version "0.4")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/atx/wtype.git")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0bpix92vzip9vlhzihj3k8h9flrlna231x3y8ah7p4965l177yjd"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list pkg-config wayland libxkbcommon))
 | 
			
		||||
    (synopsis "Xdotool type for Wayland")
 | 
			
		||||
    (description "Wtype lets you simulate keyboard input and mouse activity,
 | 
			
		||||
move and resize windows, etc.")
 | 
			
		||||
    (home-page "https://github.com/atx/wtype")
 | 
			
		||||
    ;; MIT License
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public exempi
 | 
			
		||||
  (package
 | 
			
		||||
    (name "exempi")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@
 | 
			
		|||
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
 | 
			
		||||
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
 | 
			
		||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -173,14 +174,14 @@ as required.")
 | 
			
		|||
(define-public libfilezilla
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libfilezilla")
 | 
			
		||||
    (version "0.35.0")
 | 
			
		||||
    (version "0.36.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://download.filezilla-project.org/"
 | 
			
		||||
                           "libfilezilla/libfilezilla-" version ".tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1s1a165kc1gkdmhzmvm91ddj3cbxmh7s27fwfgm921ixrq6m3qpf"))))
 | 
			
		||||
        (base32 "0wm8acwbrsblilfwj5asxr26gy8grg175j91df1bryz7xlc1q9y0"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
| 
						 | 
				
			
			@ -213,14 +214,14 @@ output.
 | 
			
		|||
(define-public filezilla
 | 
			
		||||
  (package
 | 
			
		||||
    (name "filezilla")
 | 
			
		||||
    (version "3.57.0")
 | 
			
		||||
    (version "3.58.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://download.filezilla-project.org/client/"
 | 
			
		||||
                           "FileZilla_" version "_src.tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1iwrr08rik0afaxf88bghw2fw97ia8wlcsrm94jh24yafxq6rgw2"))))
 | 
			
		||||
        (base32 "122x72rvd178y2rffvidyvzr33kf325q2rk4l2x44xqzw1r7zznh"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
      ;; Don't let filezilla phone home to check for updates.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 | 
			
		||||
;;; Copyright © 2021 Andy Tai <atai@atai.org>
 | 
			
		||||
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
 | 
			
		||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -513,7 +514,7 @@ formats such as PNG.")
 | 
			
		|||
(define-public tiled
 | 
			
		||||
  (package
 | 
			
		||||
    (name "tiled")
 | 
			
		||||
    (version "1.7.2")
 | 
			
		||||
    (version "1.8.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -522,7 +523,7 @@ formats such as PNG.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1ifxh3sv6gz32gahgi7ba0ivcw5mfgwnrw6iycpav150w9xla43i"))))
 | 
			
		||||
                "05gczsywkk45bh0z1vv8l6cmrlncc2qj8agavj5ryxpnxkzy69r1"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list qtbase-5 qtdeclarative qtsvg zlib))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -821,37 +821,37 @@ Quizzes: arithmetic and quiz.")
 | 
			
		|||
(define-public bzflag
 | 
			
		||||
  (package
 | 
			
		||||
    (name "bzflag")
 | 
			
		||||
    (version "2.4.22")
 | 
			
		||||
    (version "2.4.24")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://download.bzflag.org/bzflag/source/"
 | 
			
		||||
                           version "/bzflag-" version ".tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0kba0011nswc2csqlzkd7bas307zm5813zlnby5vsmxn08rnar4y"))))
 | 
			
		||||
        (base32 "1i73ijlnxsz52fhqgkj2qcvibfgav3byq1is68gab2zwnyz330az"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'install 'install-desktop-file-and-icons
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let* ((share (string-append (assoc-ref outputs "out") "/share"))
 | 
			
		||||
                    (data (string-append share "/bzflag"))
 | 
			
		||||
                    (hicolor (string-append share "/icons/hicolor"))
 | 
			
		||||
                    (applications (string-append share "/applications")))
 | 
			
		||||
               ;; Move desktop file.
 | 
			
		||||
               (install-file (string-append data "/bzflag.desktop")
 | 
			
		||||
                             applications)
 | 
			
		||||
               ;; Install icons.
 | 
			
		||||
               (for-each (lambda (size)
 | 
			
		||||
                           (let* ((dim (string-append size "x" size))
 | 
			
		||||
                                  (dir (string-append hicolor "/" dim "/apps")))
 | 
			
		||||
                             (mkdir-p dir)
 | 
			
		||||
                             (copy-file
 | 
			
		||||
                              (string-append data "/bzflag-" dim ".png")
 | 
			
		||||
                              (string-append dir "/bzflag.png"))))
 | 
			
		||||
                         '("48" "256")))
 | 
			
		||||
             #t)))))
 | 
			
		||||
     (list
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'install 'install-desktop-file-and-icons
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (let* ((share (string-append #$output "/share"))
 | 
			
		||||
                     (data (string-append share "/bzflag"))
 | 
			
		||||
                     (hicolor (string-append share "/icons/hicolor"))
 | 
			
		||||
                     (applications (string-append share "/applications")))
 | 
			
		||||
                ;; Move desktop file.
 | 
			
		||||
                (install-file (string-append data "/bzflag.desktop")
 | 
			
		||||
                              applications)
 | 
			
		||||
                ;; Install icons.
 | 
			
		||||
                (for-each (lambda (size)
 | 
			
		||||
                            (let* ((dim (string-append size "x" size))
 | 
			
		||||
                                   (dir (string-append hicolor "/" dim "/apps")))
 | 
			
		||||
                              (mkdir-p dir)
 | 
			
		||||
                              (copy-file
 | 
			
		||||
                               (string-append data "/bzflag-" dim ".png")
 | 
			
		||||
                               (string-append dir "/bzflag.png"))))
 | 
			
		||||
                          '("48" "256"))))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list pkg-config))
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -4582,6 +4582,40 @@ images, etc.)")
 | 
			
		|||
    ;; regarding assets.
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public openriichi
 | 
			
		||||
  (package
 | 
			
		||||
    (name "openriichi")
 | 
			
		||||
    (version "0.2.1.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/FluffyStuff/OpenRiichi")
 | 
			
		||||
                    (commit (string-append "v" version))
 | 
			
		||||
                    (recursive? #t)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1x6m4mli92chns5dky9aq9w4r4pnycvlpa2q0giydapm5q9fkslf"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:configure-flags (list "--buildtype=release")
 | 
			
		||||
       #:glib-or-gtk? #t))
 | 
			
		||||
    (inputs (list glew
 | 
			
		||||
                  gtk+
 | 
			
		||||
                  libgee
 | 
			
		||||
                  sdl2
 | 
			
		||||
                  sdl2-image
 | 
			
		||||
                  sdl2-mixer))
 | 
			
		||||
    (native-inputs (list pkg-config vala))
 | 
			
		||||
    (home-page "https://github.com/FluffyStuff/OpenRiichi")
 | 
			
		||||
    (synopsis "Japanese Mahjong client")
 | 
			
		||||
    (description
 | 
			
		||||
     "OpenRiichi is a client for playing Japanese Mahjong, and it supports
 | 
			
		||||
singleplayer and multiplayer, with or without bots.  It features all the
 | 
			
		||||
standard riichi rules, as well as some optional ones.  It also supports game
 | 
			
		||||
logging, so games can be viewed again.")
 | 
			
		||||
    (license license:gpl3)))
 | 
			
		||||
 | 
			
		||||
(define-public pinball
 | 
			
		||||
  (package
 | 
			
		||||
    (name "pinball")
 | 
			
		||||
| 
						 | 
				
			
			@ -5821,7 +5855,7 @@ for Un*x systems with X11.")
 | 
			
		|||
(define-public freeciv
 | 
			
		||||
  (package
 | 
			
		||||
   (name "freeciv")
 | 
			
		||||
   (version "2.6.6")
 | 
			
		||||
   (version "3.0.0")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -5831,9 +5865,9 @@ for Un*x systems with X11.")
 | 
			
		|||
                (string-append
 | 
			
		||||
                  "mirror://sourceforge/freeciv/Freeciv%20"
 | 
			
		||||
                  (version-major+minor version) "/" version
 | 
			
		||||
                  "/freeciv-" version ".tar.bz2")))
 | 
			
		||||
                  "/freeciv-" version ".tar.xz")))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32 "04aq2v1ima87sap6yjb7jrm1ss63ax7v5kg7rpkj44887kfybkvv"))))
 | 
			
		||||
      (base32 "1cm0530xmbqdhqkr89xb845cd756nillbdq53r3z5zpxsj18fapa"))))
 | 
			
		||||
   (build-system gnu-build-system)
 | 
			
		||||
   (inputs
 | 
			
		||||
    (list curl cyrus-sasl gtk+ sdl-mixer zlib))
 | 
			
		||||
| 
						 | 
				
			
			@ -9174,43 +9208,41 @@ and also provides the base for the FlightGear Flight Simulator.")
 | 
			
		|||
           ;; There are some bundled libraries.
 | 
			
		||||
           (for-each delete-file-recursively
 | 
			
		||||
                     '("3rdparty/sqlite3/"
 | 
			
		||||
                       "3rdparty/cppunit/"))
 | 
			
		||||
           #t))))
 | 
			
		||||
                       "3rdparty/cppunit/"))))))
 | 
			
		||||
    (build-system qt-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
       (list "-DSYSTEM_SQLITE=ON"
 | 
			
		||||
             "-DSYSTEM_CPPUNIT=ON"
 | 
			
		||||
             (string-append "-DFG_DATA_DIR="
 | 
			
		||||
                            (assoc-ref %outputs "out")
 | 
			
		||||
                            "/share/flightgear"))
 | 
			
		||||
       ;; TODO: test suite segfaults.
 | 
			
		||||
       #:tests? #f
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'skip-some-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "test_suite/unit_tests/Instrumentation/test_gps.hxx"
 | 
			
		||||
               (("CPPUNIT_TEST\\(testLongLegWestbound\\);" all)
 | 
			
		||||
                (string-append "// " all))
 | 
			
		||||
               (("CPPUNIT_TEST\\(testFinalLegCourse\\);" all)
 | 
			
		||||
                (string-append "// " all)))))
 | 
			
		||||
         (add-after 'build 'build-test-suite
 | 
			
		||||
           (lambda* args
 | 
			
		||||
             ((assoc-ref %standard-phases 'build)
 | 
			
		||||
              #:make-flags (list "fgfs_test_suite"))))
 | 
			
		||||
         ;; Test suite needs access to FGData so run it after 'install.
 | 
			
		||||
         (delete 'check)
 | 
			
		||||
         (add-after 'install-data 'check
 | 
			
		||||
           (assoc-ref %standard-phases 'check))
 | 
			
		||||
         (add-after 'install 'install-data
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (let ((share (string-append (assoc-ref outputs "out") "/share/flightgear")))
 | 
			
		||||
               (mkdir-p share)
 | 
			
		||||
               (with-directory-excursion share
 | 
			
		||||
                 (invoke "tar" "xf" (assoc-ref inputs "flightgear-data")
 | 
			
		||||
                         "--strip-components=1")))
 | 
			
		||||
             #t)))))
 | 
			
		||||
     (list #:configure-flags
 | 
			
		||||
           #~(list "-DSYSTEM_SQLITE=ON"
 | 
			
		||||
                   "-DSYSTEM_CPPUNIT=ON"
 | 
			
		||||
                   (string-append "-DFG_DATA_DIR=" #$output "/share/flightgear"))
 | 
			
		||||
           ;; TODO: test suite segfaults.
 | 
			
		||||
           #:tests? #f
 | 
			
		||||
           #:phases
 | 
			
		||||
           #~(modify-phases %standard-phases
 | 
			
		||||
               (add-after 'unpack 'skip-some-tests
 | 
			
		||||
                 (lambda _
 | 
			
		||||
                   (substitute*
 | 
			
		||||
                       "test_suite/unit_tests/Instrumentation/test_gps.hxx"
 | 
			
		||||
                     (("CPPUNIT_TEST\\(testLongLegWestbound\\);" all)
 | 
			
		||||
                      (string-append "// " all))
 | 
			
		||||
                     (("CPPUNIT_TEST\\(testFinalLegCourse\\);" all)
 | 
			
		||||
                      (string-append "// " all)))))
 | 
			
		||||
               (add-after 'build 'build-test-suite
 | 
			
		||||
                 (lambda* args
 | 
			
		||||
                   ((assoc-ref %standard-phases 'build)
 | 
			
		||||
                    #:make-flags (list "fgfs_test_suite"))))
 | 
			
		||||
               ;; Test suite needs access to FGData so run it after 'install.
 | 
			
		||||
               (delete 'check)
 | 
			
		||||
               (add-after 'install-data 'check
 | 
			
		||||
                 (assoc-ref %standard-phases 'check))
 | 
			
		||||
               (add-after 'install 'install-data
 | 
			
		||||
                 (lambda _
 | 
			
		||||
                   (let ((share (string-append #$output "/share/flightgear")))
 | 
			
		||||
                     (mkdir-p share)
 | 
			
		||||
                     (with-directory-excursion share
 | 
			
		||||
                       (invoke "tar" "xf"
 | 
			
		||||
                               #$(this-package-native-input "flightgear-data")
 | 
			
		||||
                               "--strip-components=1"))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list boost
 | 
			
		||||
           dbus
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
 | 
			
		||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +50,7 @@
 | 
			
		|||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix utils)
 | 
			
		||||
  #:use-module (srfi srfi-1)
 | 
			
		||||
  #:use-module (ice-9 match)
 | 
			
		||||
  #:use-module (ice-9 regex))
 | 
			
		||||
 | 
			
		||||
(define %gcc-infrastructure
 | 
			
		||||
| 
						 | 
				
			
			@ -293,6 +294,16 @@ where the OS part is overloaded to denote a specific ABI---into GCC
 | 
			
		|||
                    (substitute* "gcc/config/aarch64/t-aarch64-linux"
 | 
			
		||||
                      (("lib64") "lib")))
 | 
			
		||||
 | 
			
		||||
                  ;; TODO: Make this unconditional in core-updates.
 | 
			
		||||
                  ;; The STARTFILE_PREFIX_SPEC prevents gcc from finding the
 | 
			
		||||
                  ;; gcc:lib output, which causes ld to not find -lgcc_s.
 | 
			
		||||
                  ,@(if (target-riscv64?)
 | 
			
		||||
                     `((when (file-exists? "gcc/config/riscv")
 | 
			
		||||
                         (substitute* "gcc/config/riscv/linux.h"
 | 
			
		||||
                           (("define STARTFILE_PREFIX_SPEC")
 | 
			
		||||
                           "define __STARTFILE_PREFIX_SPEC"))))
 | 
			
		||||
                     '())
 | 
			
		||||
 | 
			
		||||
                  (when (file-exists? "libbacktrace")
 | 
			
		||||
                    ;; GCC 4.8+ comes with libbacktrace.  By default it builds
 | 
			
		||||
                    ;; with -Werror, which fails with a -Wcast-qual error in glibc
 | 
			
		||||
| 
						 | 
				
			
			@ -664,12 +675,108 @@ It also includes runtime support libraries for these languages.")
 | 
			
		|||
            (patches (search-patches "gcc-9-strmov-store-file-names.patch"
 | 
			
		||||
                                     "gcc-5.0-libvtv-runpath.patch"))
 | 
			
		||||
            (modules '((guix build utils)))
 | 
			
		||||
            (snippet gcc-canadian-cross-objdump-snippet)))))
 | 
			
		||||
            (snippet gcc-canadian-cross-objdump-snippet)))
 | 
			
		||||
 | 
			
		||||
   ;; TODO: Add newly supported micro-architectures.
 | 
			
		||||
   (properties (package-properties gcc-10))))
 | 
			
		||||
 | 
			
		||||
;; Note: When changing the default gcc version, update
 | 
			
		||||
;;       the gcc-toolchain-* definitions.
 | 
			
		||||
(define-public gcc gcc-10)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;;
 | 
			
		||||
;;; Historical version.
 | 
			
		||||
;;;
 | 
			
		||||
 | 
			
		||||
(define-public gcc-2.95
 | 
			
		||||
  ;; Note: 'gcc-core-mesboot0' in commencement.scm provides 2.95 as well, but
 | 
			
		||||
  ;; with additional tricks to support compilation with TinyCC and Mes-libc.
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit gcc)
 | 
			
		||||
    (version "2.95.3")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnu/gcc/gcc-2.95.3/gcc-core-"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
                  ;; Do not build the bundled Texinfo.
 | 
			
		||||
                  (delete-file-recursively "texinfo")
 | 
			
		||||
                  (substitute* "configure"
 | 
			
		||||
                    (("host_tools=(.*)texinfo" _ before)
 | 
			
		||||
                     (string-append "host_tools=" before)))))))
 | 
			
		||||
    (supported-systems (fold delete %supported-systems
 | 
			
		||||
                             '("powerpc64le-linux" "riscv64-linux")))
 | 
			
		||||
    (native-inputs (list texinfo dejagnu))
 | 
			
		||||
    (inputs '())
 | 
			
		||||
    (propagated-inputs '())
 | 
			
		||||
    (outputs '("out"))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (let ((matching-system
 | 
			
		||||
             (match (%current-system)
 | 
			
		||||
               ;; This package predates our 64-bit architectures.
 | 
			
		||||
               ;; Force a 32-bit build targeting a similar architecture.
 | 
			
		||||
               ("aarch64-linux"
 | 
			
		||||
                "armhf-linux")
 | 
			
		||||
               ("x86_64-linux"
 | 
			
		||||
                "i686-linux")
 | 
			
		||||
               (_
 | 
			
		||||
                (%current-system)))))
 | 
			
		||||
       (list #:system matching-system
 | 
			
		||||
             #:configure-flags #~'("--disable-werror")
 | 
			
		||||
 | 
			
		||||
             #:phases
 | 
			
		||||
             #~(modify-phases %standard-phases
 | 
			
		||||
                 (add-before 'configure 'set-dynamic-linker-file-name
 | 
			
		||||
                   (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
                     ;; Tell GCC what the real loader file name is.
 | 
			
		||||
                     (substitute* '("gcc/config/alpha/linux-elf.h"
 | 
			
		||||
                                    "gcc/config/m68k/linux.h"
 | 
			
		||||
                                    "gcc/config/mips/linux.h"
 | 
			
		||||
                                    "gcc/config/rs6000/linux.h")
 | 
			
		||||
                       (("/lib/ld\\.so\\.1")
 | 
			
		||||
                        (search-input-file
 | 
			
		||||
                          inputs #$(glibc-dynamic-linker matching-system))))
 | 
			
		||||
                     (substitute* '("gcc/config/alpha/linux-elf.h"
 | 
			
		||||
                                    "gcc/config/arm/linux-elf.h"
 | 
			
		||||
                                    "gcc/config/i386/linux.h"
 | 
			
		||||
                                    "gcc/config/m68k/linux.h"
 | 
			
		||||
                                    "gcc/config/sparc/linux.h"
 | 
			
		||||
                                    "gcc/config/sparc/linux64.h")
 | 
			
		||||
                       (("/lib(64)?/ld-linux\\.so\\.[12]")
 | 
			
		||||
                        (search-input-file
 | 
			
		||||
                          inputs #$(glibc-dynamic-linker matching-system))))))
 | 
			
		||||
                 (replace 'configure
 | 
			
		||||
                   (lambda* (#:key outputs build configure-flags
 | 
			
		||||
                             #:allow-other-keys)
 | 
			
		||||
                     ;; It's an old 'configure' script so it needs some help.
 | 
			
		||||
                     (setenv "CONFIG_SHELL" (which "sh"))
 | 
			
		||||
                     (apply invoke "./configure"
 | 
			
		||||
                            (string-append "--prefix=" #$output)
 | 
			
		||||
                            (string-append "--build=" build)
 | 
			
		||||
                            (string-append "--host=" build)
 | 
			
		||||
                            configure-flags)))
 | 
			
		||||
                 (add-before 'configure 'remove-bundled-texinfo
 | 
			
		||||
                   (lambda _
 | 
			
		||||
                     ;; Go ahead despite the many warnings.
 | 
			
		||||
                     (substitute* '("Makefile.in" "gcc/Makefile.in")
 | 
			
		||||
                       (("^MAKEINFOFLAGS =.*")
 | 
			
		||||
                        "MAKEINFOFLAGS = --force\n"))))))))
 | 
			
		||||
    (native-search-paths
 | 
			
		||||
     ;; This package supports nothing but the C language.
 | 
			
		||||
     (list (search-path-specification
 | 
			
		||||
            (variable "C_INCLUDE_PATH")
 | 
			
		||||
            (files '("include")))
 | 
			
		||||
           (search-path-specification
 | 
			
		||||
            (variable "LIBRARY_PATH")
 | 
			
		||||
            (files '("lib")))))))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
(define-public (make-libstdc++ gcc)
 | 
			
		||||
  "Return a libstdc++ package based on GCC.  The primary use case is when
 | 
			
		||||
using compilers other than GCC."
 | 
			
		||||
| 
						 | 
				
			
			@ -791,42 +898,6 @@ as the 'native-search-paths' field."
 | 
			
		|||
                (find-files (string-append (assoc-ref outputs "out") "/bin")
 | 
			
		||||
                            ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
 | 
			
		||||
 | 
			
		||||
(define* (custom-gcc-gccgo gcc name languages
 | 
			
		||||
                           #:optional
 | 
			
		||||
                           (search-paths (package-native-search-paths gcc))
 | 
			
		||||
                           #:key (separate-lib-output? #t))
 | 
			
		||||
  ;; TODO: remove CUSTOM-GCC-GCCGO when regex changes for CUSTOM-GCC are
 | 
			
		||||
  ;; merged into master <https://issues.guix.gnu.org/49010>
 | 
			
		||||
  "Return a custom version of GCC that supports LANGUAGES.  Use SEARCH-PATHS
 | 
			
		||||
as the 'native-search-paths' field."
 | 
			
		||||
  (package (inherit gcc)
 | 
			
		||||
    (name name)
 | 
			
		||||
    (outputs (if separate-lib-output?
 | 
			
		||||
                 (package-outputs gcc)
 | 
			
		||||
                 (delete "lib" (package-outputs gcc))))
 | 
			
		||||
    (native-search-paths search-paths)
 | 
			
		||||
    (properties (alist-delete 'hidden? (package-properties gcc)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (substitute-keyword-arguments (package-arguments gcc)
 | 
			
		||||
       ((#:modules modules %gnu-build-system-modules)
 | 
			
		||||
        `(,@modules
 | 
			
		||||
          (srfi srfi-1)
 | 
			
		||||
          (srfi srfi-26)
 | 
			
		||||
          (ice-9 regex)))
 | 
			
		||||
       ((#:configure-flags flags)
 | 
			
		||||
        `(cons (string-append "--enable-languages="
 | 
			
		||||
                              ,(string-join languages ","))
 | 
			
		||||
               (remove (cut string-match "--enable-languages.*" <>)
 | 
			
		||||
                       ,flags)))
 | 
			
		||||
       ((#:phases phases)
 | 
			
		||||
        `(modify-phases ,phases
 | 
			
		||||
           (add-after 'install 'remove-broken-or-conflicting-files
 | 
			
		||||
             (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
               (for-each
 | 
			
		||||
                delete-file
 | 
			
		||||
                (find-files (string-append (assoc-ref outputs "out") "/bin")
 | 
			
		||||
                            ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
 | 
			
		||||
 | 
			
		||||
(define %generic-search-paths
 | 
			
		||||
  ;; This is the language-neutral search path for GCC.  Entries in $CPATH are
 | 
			
		||||
  ;; not considered "system headers", which means GCC can raise warnings for
 | 
			
		||||
| 
						 | 
				
			
			@ -898,7 +969,7 @@ misnomer.")))
 | 
			
		|||
 | 
			
		||||
(define (make-gccgo gcc)
 | 
			
		||||
  "Return a gccgo package based on GCC."
 | 
			
		||||
  (let ((gccgo (custom-gcc-gccgo gcc "gccgo" '("go") %generic-search-paths)))
 | 
			
		||||
  (let ((gccgo (custom-gcc gcc "gccgo" '("go") %generic-search-paths)))
 | 
			
		||||
    (package
 | 
			
		||||
      (inherit gccgo)
 | 
			
		||||
      (synopsis "Go frontend to GCC")
 | 
			
		||||
| 
						 | 
				
			
			@ -951,6 +1022,9 @@ provides the GNU compiler for the Go programming language."))
 | 
			
		|||
(define-public gccgo-10
 | 
			
		||||
  (make-gccgo gcc-10))
 | 
			
		||||
 | 
			
		||||
(define-public gccgo-11
 | 
			
		||||
  (make-gccgo gcc-11))
 | 
			
		||||
 | 
			
		||||
(define %objc-search-paths
 | 
			
		||||
  (list (search-path-specification
 | 
			
		||||
         (variable "OBJC_INCLUDE_PATH")
 | 
			
		||||
| 
						 | 
				
			
			@ -1097,12 +1171,11 @@ provides the GNU compiler for the Go programming language."))
 | 
			
		|||
    (version "0.23")
 | 
			
		||||
    (source (origin
 | 
			
		||||
             (method url-fetch)
 | 
			
		||||
             (uri (list (string-append
 | 
			
		||||
                         "http://isl.gforge.inria.fr/isl-"
 | 
			
		||||
                         version
 | 
			
		||||
                         ".tar.bz2")
 | 
			
		||||
             ;; Used to be at isl.gforge.inria.fr.
 | 
			
		||||
             (uri (list (string-append "mirror://sourceforge/libisl/isl-"
 | 
			
		||||
                                       version ".tar.bz2")
 | 
			
		||||
                        (string-append %gcc-infrastructure
 | 
			
		||||
                                       name "-" version ".tar.bz2")))
 | 
			
		||||
                                       "isl-" version ".tar.bz2")))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "0k91zck10zxs9sk3yrbb92y1j3w981w3fbwkfwd7kl779b0j52f5"))))
 | 
			
		||||
| 
						 | 
				
			
			@ -1126,7 +1199,8 @@ provides the GNU compiler for the Go programming language."))
 | 
			
		|||
                          (("^old_library=.*")
 | 
			
		||||
                           "old_library=''\n"))))))))
 | 
			
		||||
    (inputs (list gmp))
 | 
			
		||||
    (home-page "http://isl.gforge.inria.fr/")
 | 
			
		||||
    (home-page "https://libisl.sourceforge.io/") ;https://repo.or.cz/w/isl.git
 | 
			
		||||
    (properties `((release-monitoring-url . ,home-page)))
 | 
			
		||||
    (synopsis
 | 
			
		||||
     "Manipulating sets and relations of integer points \
 | 
			
		||||
bounded by linear constraints")
 | 
			
		||||
| 
						 | 
				
			
			@ -1147,7 +1221,7 @@ dependence analysis and bounds on piecewise step-polynomials.")
 | 
			
		|||
    (version "0.18")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (list (string-append "http://isl.gforge.inria.fr/isl-"
 | 
			
		||||
              (uri (list (string-append "mirror://sourceforge/libisl/isl-"
 | 
			
		||||
                                        version ".tar.bz2")
 | 
			
		||||
                         (string-append %gcc-infrastructure
 | 
			
		||||
                                        "isl-" version ".tar.bz2")))
 | 
			
		||||
| 
						 | 
				
			
			@ -1162,12 +1236,10 @@ dependence analysis and bounds on piecewise step-polynomials.")
 | 
			
		|||
    (version "0.11.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
             (method url-fetch)
 | 
			
		||||
             (uri (list (string-append
 | 
			
		||||
                         "http://isl.gforge.inria.fr/isl-"
 | 
			
		||||
                         version
 | 
			
		||||
                         ".tar.bz2")
 | 
			
		||||
             (uri (list (string-append "mirror://sourceforge/libisl/isl-"
 | 
			
		||||
                                       version ".tar.bz2")
 | 
			
		||||
                        (string-append %gcc-infrastructure
 | 
			
		||||
                                       name "-" version ".tar.bz2")))
 | 
			
		||||
                                       "isl-" version ".tar.bz2")))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,11 +82,14 @@
 | 
			
		|||
  #:use-module (gnu packages graphics)
 | 
			
		||||
  #:use-module (gnu packages gtk)
 | 
			
		||||
  #:use-module (gnu packages haskell-apps)
 | 
			
		||||
  #:use-module (gnu packages haskell-xyz)
 | 
			
		||||
  #:use-module (gnu packages image)
 | 
			
		||||
  #:use-module (gnu packages image-processing)
 | 
			
		||||
  #:use-module (gnu packages icu4c)
 | 
			
		||||
  #:use-module (gnu packages java)
 | 
			
		||||
  #:use-module (gnu packages kde)
 | 
			
		||||
  #:use-module (gnu packages libusb)
 | 
			
		||||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages lua)
 | 
			
		||||
  #:use-module (gnu packages maths)
 | 
			
		||||
  #:use-module (gnu packages multiprecision)
 | 
			
		||||
| 
						 | 
				
			
			@ -1178,7 +1181,7 @@ to create databases that are optimized for rendering/tile/map-services.")
 | 
			
		|||
(define-public libosmium
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libosmium")
 | 
			
		||||
    (version "2.17.2")
 | 
			
		||||
    (version "2.18.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1187,7 +1190,7 @@ to create databases that are optimized for rendering/tile/map-services.")
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0xgwicnzlyr8pcpgx528xrzh7g6rjfd7f80bi30478fnp8mq8rzr"))))
 | 
			
		||||
        (base32 "0fh57mpii1ksacwfx5rz213j896aklib53jbybld2i517q2mmxr0"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list boost
 | 
			
		||||
| 
						 | 
				
			
			@ -1209,6 +1212,35 @@ to create databases that are optimized for rendering/tile/map-services.")
 | 
			
		|||
OpenStreetMap data.")
 | 
			
		||||
    (license license:boost1.0)))
 | 
			
		||||
 | 
			
		||||
(define-public osmium-tool
 | 
			
		||||
  (package
 | 
			
		||||
    (name "osmium-tool")
 | 
			
		||||
    (version "1.14.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/osmcode/osmium-tool")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0zgyqyrs89vch0qnkh9m5xq079sr2wmydy5zz4l8xbysbjf6xry5"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        ;; Remove bundled libraries.
 | 
			
		||||
        '(delete-file-recursively "include/rapidjson"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list libosmium
 | 
			
		||||
           rapidjson))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list pandoc))
 | 
			
		||||
    (home-page "https://osmcode.org/osmium-tool/")
 | 
			
		||||
    (synopsis "Osmium command-line tool")
 | 
			
		||||
    (description "Command line tool for working with OpenStreetMap data
 | 
			
		||||
based on the Osmium library.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public osm2pgsql
 | 
			
		||||
  (package
 | 
			
		||||
    (name "osm2pgsql")
 | 
			
		||||
| 
						 | 
				
			
			@ -1982,30 +2014,35 @@ exchanged form one Spatial DBMS and the other.")
 | 
			
		|||
(define-public opencpn
 | 
			
		||||
  (package
 | 
			
		||||
    (name "opencpn")
 | 
			
		||||
    (version "5.2.4")
 | 
			
		||||
    (version "5.6.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/OpenCPN/OpenCPN")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
             (commit (string-append "Release_" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0ffx0lmz1mp5433zqyxigy4qqav32xprpagd66krvihkyvqp2y6y"))))
 | 
			
		||||
        (base32 "0g5x45wv3djfjmigk6kgs0i63yp8rs1fbmm4pb15wb3z6dml624y"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gettext" ,gettext-minimal)
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list bzip2
 | 
			
		||||
     (list alsa-utils
 | 
			
		||||
           bzip2
 | 
			
		||||
           cairo
 | 
			
		||||
           curl
 | 
			
		||||
           eudev
 | 
			
		||||
           glu
 | 
			
		||||
           gtk+
 | 
			
		||||
           jasper
 | 
			
		||||
           libarchive
 | 
			
		||||
           libelf
 | 
			
		||||
           libexif
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           libsndfile
 | 
			
		||||
           libusb
 | 
			
		||||
           lz4
 | 
			
		||||
           mesa
 | 
			
		||||
           pango
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,7 +13,7 @@
 | 
			
		|||
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
 | 
			
		||||
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
 | 
			
		||||
;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li>
 | 
			
		||||
;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
 | 
			
		||||
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -291,7 +291,7 @@ that caches clipboard history.")
 | 
			
		|||
(define-public gnome-shell-extension-customize-ibus
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gnome-shell-extension-customize-ibus")
 | 
			
		||||
    (version "78")
 | 
			
		||||
    (version "82")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -300,7 +300,7 @@ that caches clipboard history.")
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1hnnsjriq7xaakk8biwz55mn077lnm9nsmi4wz5zk7clgxmasvq9"))))
 | 
			
		||||
        (base32 "00brnyahphl4ql9yh74wpb9kmzyb4b5k4rkw40hvxvqw4qwgs24r"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:make-flags
 | 
			
		||||
| 
						 | 
				
			
			@ -403,8 +403,7 @@ faster window switching.")
 | 
			
		|||
(define-public gnome-shell-extension-gsconnect
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gnome-shell-extension-gsconnect")
 | 
			
		||||
    ;; v33 is the last version to support GNOME 3.34
 | 
			
		||||
    (version "33")
 | 
			
		||||
    (version "48")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -414,10 +413,11 @@ faster window switching.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1q03axhn75i864vgmd6myhmgwrmnpf01gsd1wl0di5x9q8mic2zn"))))
 | 
			
		||||
                "15agblnm7k1wqnnz6gwhwym992fzqkdz8mkm04805783bx60b8bh"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
     `(#:tests? #f ;; every test fails
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       (let* ((out (assoc-ref %outputs "out"))
 | 
			
		||||
              (name+version (strip-store-file-name out))
 | 
			
		||||
              (gschema-dir (string-append out
 | 
			
		||||
| 
						 | 
				
			
			@ -442,7 +442,7 @@ faster window switching.")
 | 
			
		|||
             (let* ((glib (assoc-ref inputs "glib:bin"))
 | 
			
		||||
                    (gapplication (string-append glib "/bin/gapplication"))
 | 
			
		||||
                    (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
 | 
			
		||||
               (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop"
 | 
			
		||||
               (substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop.in"
 | 
			
		||||
                 (("gapplication") gapplication))
 | 
			
		||||
               (for-each
 | 
			
		||||
                (lambda (file)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 | 
			
		||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 | 
			
		||||
;;; Copyright © 2014, 2016, 2020 Eric Bavier <bavier@posteo.net>
 | 
			
		||||
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +51,7 @@
 | 
			
		|||
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
			
		||||
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
 | 
			
		||||
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 | 
			
		||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@
 | 
			
		|||
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
 | 
			
		||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
 | 
			
		||||
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
 | 
			
		||||
;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
 | 
			
		||||
| 
						 | 
				
			
			@ -689,23 +689,20 @@ of writing test cases for asynchronous interactions.")
 | 
			
		|||
               (substitute* "dee-1.0-docs.sgml"
 | 
			
		||||
                 (("http://www.oasis-open.org/docbook/xml/4.3/")
 | 
			
		||||
                  (string-append (assoc-ref inputs "docbook-xml")
 | 
			
		||||
                                 "/xml/dtd/docbook/"))))
 | 
			
		||||
             #t))
 | 
			
		||||
                                 "/xml/dtd/docbook/"))))))
 | 
			
		||||
         (add-after 'patch-docbook-xml 'disable-failing-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "tests/test-icu.c"
 | 
			
		||||
               (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
 | 
			
		||||
                "")
 | 
			
		||||
               (("setup, test_ascii_folder, teardown\\);")
 | 
			
		||||
                ""))
 | 
			
		||||
             #t))
 | 
			
		||||
                ""))))
 | 
			
		||||
         (add-before 'check 'pre-check
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; Tests require a running dbus-daemon.
 | 
			
		||||
             (system "dbus-daemon &")
 | 
			
		||||
             ;; For missing '/etc/machine-id'.
 | 
			
		||||
             (setenv "DBUS_FATAL_WARNINGS" "0")
 | 
			
		||||
             #t)))))
 | 
			
		||||
             (setenv "DBUS_FATAL_WARNINGS" "0"))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("dbus" ,dbus)
 | 
			
		||||
       ("dbus-test-runner" ,dbus-test-runner)
 | 
			
		||||
| 
						 | 
				
			
			@ -717,7 +714,7 @@ of writing test cases for asynchronous interactions.")
 | 
			
		|||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("pygobject" ,python-pygobject)
 | 
			
		||||
       ("python" ,python-wrapper)
 | 
			
		||||
       ("vala" ,vala)))
 | 
			
		||||
       ("vala" ,vala-0.52)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("icu" ,icu4c)))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -737,7 +734,7 @@ of known objects without needing a central registrar.")
 | 
			
		|||
(define-public zeitgeist
 | 
			
		||||
  (package
 | 
			
		||||
    (name "zeitgeist")
 | 
			
		||||
    (version "1.0.3")
 | 
			
		||||
    (version "1.0.4")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -749,7 +746,7 @@ of known objects without needing a central registrar.")
 | 
			
		|||
       (file-name
 | 
			
		||||
        (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0y6fyzxl5np4yskcxibd0p03h619w9ir907nhf40h02y0pk1kgkp"))))
 | 
			
		||||
        (base32 "07b1ahj3vd3m8srwkrh7dl3ymr7d55xiiszny44q13g06pq4svch"))))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags
 | 
			
		||||
| 
						 | 
				
			
			@ -765,8 +762,7 @@ of known objects without needing a central registrar.")
 | 
			
		|||
               (substitute* "zeitgeist-gtkdoc-index.sgml"
 | 
			
		||||
                 (("http://www.oasis-open.org/docbook/xml/4.3/")
 | 
			
		||||
                  (string-append (assoc-ref inputs "docbook-xml")
 | 
			
		||||
                                 "/xml/dtd/docbook/"))))
 | 
			
		||||
             #t))
 | 
			
		||||
                                 "/xml/dtd/docbook/"))))))
 | 
			
		||||
         (add-after 'patch-docbook-xml 'disable-failing-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "test/direct/Makefile.am"
 | 
			
		||||
| 
						 | 
				
			
			@ -774,13 +770,11 @@ of known objects without needing a central registrar.")
 | 
			
		|||
                ""))
 | 
			
		||||
             (substitute* "test/c/Makefile.am"
 | 
			
		||||
               (("	test-log ")
 | 
			
		||||
                ""))
 | 
			
		||||
             #t))
 | 
			
		||||
                ""))))
 | 
			
		||||
         (add-before 'bootstrap 'remove-autogen-script
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; To honor `autoreconf -vif` by build-system.
 | 
			
		||||
             (delete-file "autogen.sh")
 | 
			
		||||
             #t)))))
 | 
			
		||||
             (delete-file "autogen.sh"))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("autoconf" ,autoconf)
 | 
			
		||||
       ("automake" ,automake)
 | 
			
		||||
| 
						 | 
				
			
			@ -1856,7 +1850,7 @@ either on a local, or remote machine via a number of methods.")
 | 
			
		|||
(define-public gnome-commander
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gnome-commander")
 | 
			
		||||
    (version "1.12.3.1")
 | 
			
		||||
    (version "1.14.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1864,10 +1858,11 @@ either on a local, or remote machine via a number of methods.")
 | 
			
		|||
                           (version-major+minor version)  "/"
 | 
			
		||||
                           "gnome-commander-" version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0fhmfxh6kbchggvpbin7d4g4fq5vc49y0w48wdkyxln5dswidss2"))))
 | 
			
		||||
        (base32 "1zdz82j7vpxiqa188zmsxliqk60g331ycaxfbhx5bzyqfjgrh7gd"))))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list desktop-file-utils
 | 
			
		||||
           flex
 | 
			
		||||
           gettext-minimal
 | 
			
		||||
           `(,glib "bin")
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
| 
						 | 
				
			
			@ -1877,7 +1872,7 @@ either on a local, or remote machine via a number of methods.")
 | 
			
		|||
           libtool
 | 
			
		||||
           pkg-config))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list gconf gnome-vfs gtk+-2 libxml2))
 | 
			
		||||
     (list gconf glib gtk+-2 libxml2))
 | 
			
		||||
    (home-page "https://gcmd.github.io/")
 | 
			
		||||
    (synopsis "Two-pane graphical file manager for the GNOME desktop")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -2934,7 +2929,7 @@ database is translated at Transifex.")
 | 
			
		|||
(define-public system-config-printer
 | 
			
		||||
  (package
 | 
			
		||||
    (name "system-config-printer")
 | 
			
		||||
    (version "1.5.15")
 | 
			
		||||
    (version "1.5.16")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -2943,45 +2938,50 @@ database is translated at Transifex.")
 | 
			
		|||
             "download/v" version
 | 
			
		||||
             "/system-config-printer-" version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "12d6xx51vizc476zfnsga9q09nflp51ipn6y7lhi9w2v4772dlpv"))))
 | 
			
		||||
        (base32 "1z9pvgifj5c87csnqz10qybbcayh3ak9m606f63ifkvyjh4q9jnb"))))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:imported-modules ((guix build python-build-system)
 | 
			
		||||
     (list
 | 
			
		||||
      #:imported-modules `((guix build python-build-system)
 | 
			
		||||
                           ,@%glib-or-gtk-build-system-modules)
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-Makefile.am
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; The Makefile generates some scripts, so set a valid shebang
 | 
			
		||||
             (substitute* "Makefile.am"
 | 
			
		||||
               (("/bin/bash") (which "bash")))
 | 
			
		||||
             (delete-file "configure")
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'unpack 'patch-docbook-xml
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             ;; Modify the man XML otherwise xmlto tries to access the network
 | 
			
		||||
             (substitute* "man/system-config-printer.xml"
 | 
			
		||||
               (("http://www.oasis-open.org/docbook/xml/4.1.2/")
 | 
			
		||||
                (string-append (assoc-ref inputs "docbook-xml")
 | 
			
		||||
                               "/xml/dtd/docbook/")))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'install 'wrap-for-python
 | 
			
		||||
           (@@ (guix build python-build-system) wrap))
 | 
			
		||||
         (add-after 'install 'wrap
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out               (assoc-ref outputs "out"))
 | 
			
		||||
                   (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
 | 
			
		||||
               (for-each
 | 
			
		||||
                (lambda (program)
 | 
			
		||||
                  (wrap-program program
 | 
			
		||||
                    `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
 | 
			
		||||
                (map (lambda (name)
 | 
			
		||||
                       (string-append out "/bin/" name))
 | 
			
		||||
                     '("system-config-printer"
 | 
			
		||||
                       "system-config-printer-applet"
 | 
			
		||||
                       "install-printerdriver"
 | 
			
		||||
                       "scp-dbus-service"))))
 | 
			
		||||
             #t)))))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'patch-build-files
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "configure.ac"
 | 
			
		||||
                (("AC_INIT.*" all)
 | 
			
		||||
                 (string-append all "\nAC_CONFIG_MACRO_DIR([m4])\n"))
 | 
			
		||||
                ;; XXX: AX macros appear unavailable
 | 
			
		||||
                (("AX_REQUIRE_DEFINED.*") ""))
 | 
			
		||||
              ;; The Makefile generates some scripts, so set a valid shebang
 | 
			
		||||
              (substitute* "Makefile.am"
 | 
			
		||||
                (("/bin/bash") (which "bash")))
 | 
			
		||||
              (delete-file "configure")))
 | 
			
		||||
          (add-after 'unpack 'patch-docbook-xml
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              ;; Modify the man XML otherwise xmlto tries to access the network
 | 
			
		||||
              (substitute* "man/system-config-printer.xml"
 | 
			
		||||
                (("http://www.oasis-open.org/docbook/xml/4.1.2/")
 | 
			
		||||
                 (string-append (assoc-ref inputs "docbook-xml")
 | 
			
		||||
                                "/xml/dtd/docbook/")))))
 | 
			
		||||
          (add-after 'install 'add-install-to-pythonpath
 | 
			
		||||
            (@@ (guix build python-build-system) add-install-to-pythonpath))
 | 
			
		||||
          (add-after 'add-install-to-pythonpath 'wrap-for-python
 | 
			
		||||
            (@@ (guix build python-build-system) wrap))
 | 
			
		||||
          (add-after 'install 'wrap
 | 
			
		||||
            (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
              (let ((out               (assoc-ref outputs "out"))
 | 
			
		||||
                    (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
 | 
			
		||||
                (for-each
 | 
			
		||||
                 (lambda (program)
 | 
			
		||||
                   (wrap-program program
 | 
			
		||||
                     `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
 | 
			
		||||
                 (map (lambda (name)
 | 
			
		||||
                        (string-append out "/bin/" name))
 | 
			
		||||
                      '("system-config-printer"
 | 
			
		||||
                        "system-config-printer-applet"
 | 
			
		||||
                        "install-printerdriver"
 | 
			
		||||
                        "scp-dbus-service")))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list gsettings-desktop-schemas
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
| 
						 | 
				
			
			@ -3001,7 +3001,7 @@ database is translated at Transifex.")
 | 
			
		|||
           glib
 | 
			
		||||
           autoconf
 | 
			
		||||
           automake
 | 
			
		||||
           intltool
 | 
			
		||||
           gettext-minimal
 | 
			
		||||
           xmlto
 | 
			
		||||
           docbook-xml-4.1.2
 | 
			
		||||
           docbook-xsl
 | 
			
		||||
| 
						 | 
				
			
			@ -5175,13 +5175,14 @@ once.")
 | 
			
		|||
             (substitute* "build-aux/post_install.py"
 | 
			
		||||
               (("gtk-update-icon-cache") (which "true"))))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("pkg-config" ,pkg-config)
 | 
			
		||||
       ("desktop-file-utils" ,desktop-file-utils)
 | 
			
		||||
       ("glib:bin" ,glib "bin") ; for glib-compile-resources
 | 
			
		||||
       ("intltool" ,intltool)
 | 
			
		||||
       ("itstool" ,itstool)
 | 
			
		||||
       ("vala" ,vala)
 | 
			
		||||
       ("xmllint" ,libxml2)))
 | 
			
		||||
     (list pkg-config
 | 
			
		||||
           python                             ;for 'build-aux/post_install.py'
 | 
			
		||||
           desktop-file-utils
 | 
			
		||||
           `(,glib "bin")                         ;for glib-compile-resources
 | 
			
		||||
           intltool
 | 
			
		||||
           itstool
 | 
			
		||||
           vala
 | 
			
		||||
           libxml2))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list gtk+ json-glib libgee librsvg qqwing))
 | 
			
		||||
    (home-page "https://wiki.gnome.org/Apps/Sudoku")
 | 
			
		||||
| 
						 | 
				
			
			@ -5433,55 +5434,47 @@ faster results and to avoid unnecessary server load.")
 | 
			
		|||
(define-public upower
 | 
			
		||||
  (package
 | 
			
		||||
    (name "upower")
 | 
			
		||||
    (version "0.99.13")
 | 
			
		||||
    (version "0.99.15")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://gitlab.freedesktop.org/upower/upower")
 | 
			
		||||
             (commit (string-append "UPOWER_"
 | 
			
		||||
                                    (string-map (match-lambda (#\. #\_)
 | 
			
		||||
                                                              (chr chr))
 | 
			
		||||
                                                version)))))
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0khwg6jpq81dcylkpi7cn75bjzif0q9qscwvirrk41krma23iddj"))
 | 
			
		||||
       (patches (search-patches "upower-builddir.patch"))
 | 
			
		||||
        (base32 "1zk7w7pw8dhlnxhxzcbk33gmxmg8f32mppd67556v9z2qgcg4lhs"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        '(begin
 | 
			
		||||
           ;; Upstream commit
 | 
			
		||||
           ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
 | 
			
		||||
           ;; moved 'dbus-1/system.d' from etc/ to share/.  However,
 | 
			
		||||
           ;; 'dbus-configuration-directory' in (gnu services dbus)
 | 
			
		||||
           ;; expects it in etc/.  Thus, move it back to its previous
 | 
			
		||||
           ;; location.
 | 
			
		||||
           (substitute* "src/Makefile.am"
 | 
			
		||||
             (("^dbusconfdir =.*$")
 | 
			
		||||
              "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))))))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
         ;; Upstream commit
 | 
			
		||||
         ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
 | 
			
		||||
         ;; moved 'dbus-1/system.d' from etc/ to share/.  However,
 | 
			
		||||
         ;; 'dbus-configuration-directory' in (gnu services dbus)
 | 
			
		||||
         ;; expects it in etc/.  Thus, move it back to its previous
 | 
			
		||||
         ;; location.
 | 
			
		||||
         #~(substitute* "src/meson.build"
 | 
			
		||||
            (("dbusdir / 'system.d'")
 | 
			
		||||
              "get_option('sysconfdir') / 'dbus-1/system.d'")
 | 
			
		||||
            ;; Avoid writing to /var during the build, this is
 | 
			
		||||
            ;; not possible in Guix!
 | 
			
		||||
            (("^install_subdir\\('does-not-exist'.*$") "")))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before 'check 'pre-check
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             (let ((umockdev (string-append (assoc-ref inputs "umockdev")
 | 
			
		||||
                                            "/lib")))
 | 
			
		||||
               (setenv "LD_LIBRARY_PATH" umockdev)))))
 | 
			
		||||
       #:configure-flags (list "--localstatedir=/var"
 | 
			
		||||
                               (string-append "--with-udevrulesdir="
 | 
			
		||||
                                              (assoc-ref %outputs "out")
 | 
			
		||||
                                              "/lib/udev/rules.d"))))
 | 
			
		||||
      (list
 | 
			
		||||
       #:glib-or-gtk? #t
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       #~(list "-Dsystemdsystemunitdir=no"
 | 
			
		||||
               ;; If not specified, udev will try putting history information
 | 
			
		||||
               ;; in /gnu/store.
 | 
			
		||||
               "-Dhistorydir=/var/lib/upower"
 | 
			
		||||
               (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d"))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list autoconf
 | 
			
		||||
           automake
 | 
			
		||||
     (list `(,glib "bin") ; for gdbus-codegen
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
           gtk-doc
 | 
			
		||||
           intltool
 | 
			
		||||
           libtool
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python
 | 
			
		||||
           which ; for ./autogen.sh
 | 
			
		||||
           ;; For tests.
 | 
			
		||||
           python-dbus
 | 
			
		||||
           python-dbusmock
 | 
			
		||||
| 
						 | 
				
			
			@ -5504,7 +5497,11 @@ faster results and to avoid unnecessary server load.")
 | 
			
		|||
listening to device events and querying history and statistics.  Any
 | 
			
		||||
application or service on the system can access the org.freedesktop.UPower
 | 
			
		||||
service via the system message bus.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
    (license license:gpl2+)
 | 
			
		||||
    ;; Old versions of upower are tagged as UPOWER_0_99_13, which confuses
 | 
			
		||||
    ;; the 'generic-git' updater.  Give it a little help.
 | 
			
		||||
    (properties '((release-tag-prefix . "v")
 | 
			
		||||
                  (release-tag-version-delimiter . ".")))))
 | 
			
		||||
 | 
			
		||||
(define-public libgweather
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			@ -6423,7 +6420,8 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
 | 
			
		|||
            (patches (search-patches "eog-update-libportal-usage.patch"))))
 | 
			
		||||
   (build-system meson-build-system)
 | 
			
		||||
   (arguments
 | 
			
		||||
    `(#:configure-flags
 | 
			
		||||
    `(#:glib-or-gtk? #t
 | 
			
		||||
      #:configure-flags
 | 
			
		||||
      ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
 | 
			
		||||
      (list (string-append "-Dc_link_args=-Wl,-rpath="
 | 
			
		||||
                           (assoc-ref %outputs "out") "/lib/eog"))
 | 
			
		||||
| 
						 | 
				
			
			@ -6470,7 +6468,7 @@ supports image conversion, rotation, and slideshows.")
 | 
			
		|||
 | 
			
		||||
(define-public eog-plugins
 | 
			
		||||
  ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
 | 
			
		||||
  ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
 | 
			
		||||
  ;; $DATA/eog/plugins, where DATA is one of the entries in
 | 
			
		||||
  ;; $XDG_DATA_DIRS.  Thus, for EOG to find these, you have to have
 | 
			
		||||
  ;; 'XDG_DATA_DIRS' appropriately set.
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			@ -6485,6 +6483,17 @@ supports image conversion, rotation, and slideshows.")
 | 
			
		|||
               (base32
 | 
			
		||||
                "1dcxdjp7x092wn0iq7975f9b05ksb5kl5mxmyiqmydrja91ryw40"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'install 'fix-plugins-path
 | 
			
		||||
           ;; XXX: EOG looks its plugins in "share/eog/plugins", not in
 | 
			
		||||
           ;; "lib/eog/plugins".
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                    (plugins (string-append out "/share/eog/plugins")))
 | 
			
		||||
               (mkdir (dirname plugins))
 | 
			
		||||
               (symlink (string-append out "/lib/eog/plugins") plugins)))))))
 | 
			
		||||
    (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
 | 
			
		||||
    (synopsis "Extensions for the Eye of GNOME image viewer")
 | 
			
		||||
    (native-inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -11132,7 +11141,8 @@ functionality.")
 | 
			
		|||
       ("gtk+:bin" ,gtk+ "bin")                   ; for gtk-update-icon-cache
 | 
			
		||||
       ("intltool" ,intltool)
 | 
			
		||||
       ("itstool" ,itstool)
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("python" ,python)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("clutter" ,clutter)
 | 
			
		||||
       ("clutter-gst" ,clutter-gst)
 | 
			
		||||
| 
						 | 
				
			
			@ -11342,58 +11352,42 @@ higher level porcelain stuff.")
 | 
			
		|||
(define-public gitg
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gitg")
 | 
			
		||||
    (version "3.32.1")
 | 
			
		||||
    (version "41")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnome/sources/" name "/"
 | 
			
		||||
                                  (version-major+minor version) "/"
 | 
			
		||||
                                  (version-major version) "/"
 | 
			
		||||
                                  name "-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
 | 
			
		||||
                "0aa6djcf7rjw0q688mfy47k67bbjpnx6aw1xs94abfhgn6gipdkz"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:glib-or-gtk? #t
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'disable-post-install-partially
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "meson_post_install.py"
 | 
			
		||||
               (("'python'") ; there are no python sources to compile
 | 
			
		||||
                (string-append "'" (which "true") "'"))
 | 
			
		||||
               (("gtk-update-icon-cache") (which "true")))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'unpack 'fix-test-sources
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "tests/libgitg/test-commit.vala"
 | 
			
		||||
               (("/bin/bash") (which "bash")))
 | 
			
		||||
             #t))
 | 
			
		||||
         ;; XXX: Remove upon next version bump
 | 
			
		||||
         (add-after 'unpack 'harden
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; See <https://gitlab.gnome.org/GNOME/gitg/-/issues/337>
 | 
			
		||||
             (substitute* "libgitg/gitg-date.vala"
 | 
			
		||||
               (("(val\|tzs) == null" all val)
 | 
			
		||||
                (string-append val " == null || " val " == \"\""))
 | 
			
		||||
               (("(val\|tzs) != null" all val)
 | 
			
		||||
                (string-append val " != null && " val " != \"\"")))
 | 
			
		||||
             ;; See <https://gitlab.gnome.org/GNOME/gitg/-/merge_requests/159>
 | 
			
		||||
             (substitute* "gitg/gitg-action-support.vala"
 | 
			
		||||
               (("stash_if_needed\\((.*), Gitg.Ref head" all other)
 | 
			
		||||
                (string-append "stash_if_needed(" other ", Gitg.Ref? head")))))
 | 
			
		||||
         (add-after 'glib-or-gtk-wrap 'wrap-typelib
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((prog (string-append (assoc-ref outputs "out")
 | 
			
		||||
                                        "/bin/gitg")))
 | 
			
		||||
               (wrap-program prog
 | 
			
		||||
                 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
 | 
			
		||||
               #t))))))
 | 
			
		||||
     (list
 | 
			
		||||
      #:glib-or-gtk? #t
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'disable-post-install-partially
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "meson_post_install.py"
 | 
			
		||||
                (("'python'") ; there are no python sources to compile
 | 
			
		||||
                 (string-append "'" (which "true") "'"))
 | 
			
		||||
                (("gtk-update-icon-cache") (which "true")))))
 | 
			
		||||
          (add-after 'unpack 'fix-test-sources
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "tests/libgitg/test-commit.vala"
 | 
			
		||||
                (("/bin/bash") (which "bash")))))
 | 
			
		||||
          (add-after 'glib-or-gtk-wrap 'wrap-typelib
 | 
			
		||||
            (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
              (let ((prog (string-append #$output "/bin/gitg")))
 | 
			
		||||
                (wrap-program prog
 | 
			
		||||
                  `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list glib
 | 
			
		||||
           gsettings-desktop-schemas
 | 
			
		||||
           gspell
 | 
			
		||||
           gtk+
 | 
			
		||||
           gtkspell3
 | 
			
		||||
           gtksourceview-3
 | 
			
		||||
           gtksourceview
 | 
			
		||||
           json-glib
 | 
			
		||||
           libdazzle
 | 
			
		||||
           libgee
 | 
			
		||||
| 
						 | 
				
			
			@ -11403,12 +11397,13 @@ higher level porcelain stuff.")
 | 
			
		|||
           libsoup-minimal-2
 | 
			
		||||
           libxml2))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("glib:bin" ,glib "bin")
 | 
			
		||||
       ("gtk+:bin" ,gtk+ "bin")
 | 
			
		||||
       ("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("intltool" ,intltool)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("vala" ,vala)))
 | 
			
		||||
     (list `(,glib "bin")
 | 
			
		||||
           `(,gtk+ "bin")
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
           intltool
 | 
			
		||||
           pkg-config
 | 
			
		||||
           python
 | 
			
		||||
           vala))
 | 
			
		||||
    (synopsis "Graphical user interface for git")
 | 
			
		||||
    (description
 | 
			
		||||
     "gitg is a graphical user interface for git.  It aims at being a small,
 | 
			
		||||
| 
						 | 
				
			
			@ -12411,7 +12406,7 @@ profiler via Sysprof, debugging support, and more.")
 | 
			
		|||
(define-public komikku
 | 
			
		||||
  (package
 | 
			
		||||
    (name "komikku")
 | 
			
		||||
    (version "0.36.1")
 | 
			
		||||
    (version "0.37.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -12421,7 +12416,7 @@ profiler via Sysprof, debugging support, and more.")
 | 
			
		|||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0iqis1b248gj1jb1yzw5dcs99bm078hixg9ir0vb961ymwzv2mmc"))))
 | 
			
		||||
         "1ab17xjpfy9ks6dzgcnh2p5n9hl82mi6f8zbaz7s36115dmp4fbf"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:glib-or-gtk? #t
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -716,8 +716,8 @@ in C/C++.")
 | 
			
		|||
;; XXXX: Workaround 'snippet' limitations.
 | 
			
		||||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
 | 
			
		||||
 | 
			
		||||
(define %icecat-version "91.6.0-guix0-preview1")
 | 
			
		||||
(define %icecat-build-id "20220208000000") ;must be of the form YYYYMMDDhhmmss
 | 
			
		||||
(define %icecat-version "91.7.0-guix0-preview1")
 | 
			
		||||
(define %icecat-build-id "20220307000000") ;must be of the form YYYYMMDDhhmmss
 | 
			
		||||
 | 
			
		||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 | 
			
		||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
 | 
			
		||||
| 
						 | 
				
			
			@ -739,11 +739,11 @@ in C/C++.")
 | 
			
		|||
                  "firefox-" upstream-firefox-version ".source.tar.xz"))
 | 
			
		||||
            (sha256
 | 
			
		||||
             (base32
 | 
			
		||||
              "1889p8si83dglyblmyj8z5mh600v1klr50swka5mhf9c2lr2i03y"))))
 | 
			
		||||
              "0npf1w6ic14zjn2h5zp8il4l0s61l9mykgnbcinxc47gw6myjflw"))))
 | 
			
		||||
 | 
			
		||||
         (upstream-icecat-base-version "91.6.0") ; maybe older than base-version
 | 
			
		||||
         (upstream-icecat-base-version "91.7.0") ; maybe older than base-version
 | 
			
		||||
         ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
 | 
			
		||||
         (gnuzilla-commit "6c4accb674d2df8be0aabfa03f7679f66bbf70f5")
 | 
			
		||||
         (gnuzilla-commit "76e23c5f1bcebc22f7936baa29f75c6c9415935e")
 | 
			
		||||
         (gnuzilla-source
 | 
			
		||||
          (origin
 | 
			
		||||
            (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -755,7 +755,7 @@ in C/C++.")
 | 
			
		|||
                                      (string-take gnuzilla-commit 8)))
 | 
			
		||||
            (sha256
 | 
			
		||||
             (base32
 | 
			
		||||
              "14yivx4zwap2z02gj9waaccigji8ibyq40dxw5smk9w2cmcsdvic"))))
 | 
			
		||||
              "1qvhpyws73f5is7l5isiag6lbqj9gkbdkc9gj29lhhhgla8j6qyg"))))
 | 
			
		||||
 | 
			
		||||
         ;; 'search-patch' returns either a valid file name or #f, so wrap it
 | 
			
		||||
         ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
 | 
			
		||||
| 
						 | 
				
			
			@ -1338,11 +1338,11 @@ standards of the IceCat project.")
 | 
			
		|||
       (cpe-version . ,(first (string-split version #\-)))))))
 | 
			
		||||
 | 
			
		||||
;; Update this together with icecat!
 | 
			
		||||
(define %icedove-build-id "20220208000000") ;must be of the form YYYYMMDDhhmmss
 | 
			
		||||
(define %icedove-build-id "20220308000000") ;must be of the form YYYYMMDDhhmmss
 | 
			
		||||
(define-public icedove
 | 
			
		||||
  (package
 | 
			
		||||
    (name "icedove")
 | 
			
		||||
    (version "91.6")
 | 
			
		||||
    (version "91.7")
 | 
			
		||||
    (source icecat-source)
 | 
			
		||||
    (properties
 | 
			
		||||
     `((cpe-name . "thunderbird_esr")))
 | 
			
		||||
| 
						 | 
				
			
			@ -1628,7 +1628,7 @@ standards of the IceCat project.")
 | 
			
		|||
        ;; in the Thunderbird release tarball.  We don't use the release
 | 
			
		||||
        ;; tarball because it duplicates the Icecat sources and only adds the
 | 
			
		||||
        ;; "comm" directory, which is provided by this repository.
 | 
			
		||||
        ,(let ((changeset "676bfbddd4b3ed77f818b6b07d9d8a79c61be4da"))
 | 
			
		||||
        ,(let ((changeset "39ccd0b9ea033f3292af90667e470b98a79eb8c9"))
 | 
			
		||||
           (origin
 | 
			
		||||
             (method hg-fetch)
 | 
			
		||||
             (uri (hg-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -1637,7 +1637,7 @@ standards of the IceCat project.")
 | 
			
		|||
             (file-name (string-append "thunderbird-" version "-checkout"))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "1laif9h51s7v8vlqjsd6y2y9267kr7l208xjs00z6462r6kzjvab")))))
 | 
			
		||||
               "0zk6f3yxqq5dn4dh96jmip3xy66n4lnai5fan31kl2l63vfcm1ag")))))
 | 
			
		||||
       ("cargo" ,rust "cargo")
 | 
			
		||||
       ("clang" ,clang-11)
 | 
			
		||||
       ("llvm" ,llvm-11)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -460,13 +460,13 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
			
		|||
            `(("gold" ,binutils-gold)))
 | 
			
		||||
           (_ `()))
 | 
			
		||||
       ,@(package-native-inputs go-1.4)))
 | 
			
		||||
    (supported-systems %supported-systems)))
 | 
			
		||||
    (supported-systems (delete "powerpc-linux" %supported-systems))))
 | 
			
		||||
 | 
			
		||||
(define-public go-1.16
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit go-1.14)
 | 
			
		||||
    (name "go")
 | 
			
		||||
    (version "1.16.13")
 | 
			
		||||
    (version "1.16.14")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -476,10 +476,10 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
			
		|||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "03f37dspn4h5kqf0nqwmnl858wx6hngnlvbnrjl1ll6ihc5j66jz"))))
 | 
			
		||||
         "16pn7avzmlw28sldx6yv38a1afdwj7jz3x7kjvlagysqrsh5lwwl"))))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (substitute-keyword-arguments (package-arguments go-1.14)
 | 
			
		||||
       ((#:tests? _) #t)
 | 
			
		||||
     (substitute-keyword-arguments
 | 
			
		||||
         (strip-keyword-arguments '(#:tests?) (package-arguments go-1.14))
 | 
			
		||||
       ((#:phases phases)
 | 
			
		||||
        `(modify-phases ,phases
 | 
			
		||||
           (add-after 'unpack 'remove-unused-sourcecode-generators
 | 
			
		||||
| 
						 | 
				
			
			@ -625,7 +625,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
			
		|||
  (package
 | 
			
		||||
    (inherit go-1.16)
 | 
			
		||||
    (name "go")
 | 
			
		||||
    (version "1.17.6")
 | 
			
		||||
    (version "1.17.7")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -635,7 +635,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
			
		|||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "05k292i9qayfy5wh96z4kjmx1mfd5birnr25vb0blzaam72mcsgw"))))
 | 
			
		||||
         "0d0xybn7sy4za3f0s2ffb6yfv6pjabnk4jyvz7dn3hjqhd5lks7m"))))
 | 
			
		||||
    (outputs '("out" "tests")) ; 'tests' contains distribution tests.
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((ice-9 match)
 | 
			
		||||
| 
						 | 
				
			
			@ -1158,6 +1158,28 @@ terminals.")
 | 
			
		|||
proxy protocol.")
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-schachmat-ingo
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github-com-schachmat-ingo")
 | 
			
		||||
    (version "0.0.0-20170403011506-a4bdc0729a3f")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method git-fetch)
 | 
			
		||||
        (uri (git-reference
 | 
			
		||||
               (url "https://github.com/schachmat/ingo")
 | 
			
		||||
               (commit (go-version->git-ref version))))
 | 
			
		||||
        (file-name (git-file-name name version))
 | 
			
		||||
        (sha256
 | 
			
		||||
          (base32 "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49"))))
 | 
			
		||||
    (build-system go-build-system)
 | 
			
		||||
    (arguments '(#:import-path "github.com/schachmat/ingo"))
 | 
			
		||||
    (home-page "https://github.com/schachmat/ingo")
 | 
			
		||||
    (synopsis "Go library to persist flags in a INI-like configuration file")
 | 
			
		||||
    (description
 | 
			
		||||
      "Ingo is a Go library helping you to persist flags in a INI-like
 | 
			
		||||
configuration file.")
 | 
			
		||||
    (license license:isc)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-riobard-go-bloom
 | 
			
		||||
  (let ((commit "cdc8013cb5b3eb0efebec85f0e904efccac42df9")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
| 
						 | 
				
			
			@ -2107,7 +2129,7 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
 | 
			
		|||
(define-public go-github.com-jessevdk-go-flags
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github.com-jessevdk-go-flags")
 | 
			
		||||
    (version "1.3.0")
 | 
			
		||||
    (version "1.5.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -2115,11 +2137,19 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
 | 
			
		|||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
 | 
			
		||||
               (base32 "13ixw1yx4bvcj66lkc8zgwf9j7gkvj686g991gycdsafvdvca0lj"))))
 | 
			
		||||
    (build-system go-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:import-path "github.com/jessevdk/go-flags"))
 | 
			
		||||
     '(#:import-path "github.com/jessevdk/go-flags"
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'fix-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; SOURCE_DATE_EPOCH messes with the date on the man page test.
 | 
			
		||||
             (substitute* "src/github.com/jessevdk/go-flags/help_test.go"
 | 
			
		||||
               (("TestMan") "DisabledTestMan")))))))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list go-golang-org-x-sys))
 | 
			
		||||
    (synopsis "Go library for parsing command line arguments")
 | 
			
		||||
    (description
 | 
			
		||||
     "The @code{flags} package provides a command line option parser.  The
 | 
			
		||||
| 
						 | 
				
			
			@ -3884,6 +3914,28 @@ the Go language.  In particular it provides tools to deal with network address
 | 
			
		|||
translation (NAT), proxies, sockets, and transport layer security (TLS).")
 | 
			
		||||
      (license license:asl2.0))))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-docker-go-units
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github-com-docker-go-units")
 | 
			
		||||
    (version "0.4.0")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method git-fetch)
 | 
			
		||||
        (uri (git-reference
 | 
			
		||||
               (url "https://github.com/docker/go-units")
 | 
			
		||||
               (commit (string-append "v" version))))
 | 
			
		||||
        (file-name (git-file-name name version))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32 "0k8gja8ql4pqg5rzmqvka42vjfs6rzablak87whcnqba6qxpimvz"))))
 | 
			
		||||
    (build-system go-build-system)
 | 
			
		||||
    (arguments '(#:import-path "github.com/docker/go-units"))
 | 
			
		||||
    (home-page "https://github.com/docker/go-units")
 | 
			
		||||
    (synopsis "Parse and print size and time units in human-readable format")
 | 
			
		||||
    (description
 | 
			
		||||
     "@code{go-units} is a library to transform human friendly measurements into
 | 
			
		||||
machine friendly values.")
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-docker-machine
 | 
			
		||||
  (let ((commit "7b7a141da84480342357c51838be142bf183b095")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
| 
						 | 
				
			
			@ -7859,6 +7911,80 @@ and @code{ioutil} packages that is easy to test.")
 | 
			
		|||
@uref{freedesktop.org}.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-xdg-go-stringprep
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github-com-xdg-go-stringprep")
 | 
			
		||||
    (version "1.0.2")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method git-fetch)
 | 
			
		||||
        (uri (git-reference
 | 
			
		||||
               (url "https://github.com/xdg-go/stringprep")
 | 
			
		||||
               (commit (string-append "v" version))))
 | 
			
		||||
        (file-name (git-file-name name version))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32 "1df0l5n3c520y9filzz83j42wa5c056jcygmfwhjyf1pq8f6jkv9"))))
 | 
			
		||||
    (build-system go-build-system)
 | 
			
		||||
    (arguments '(#:import-path "github.com/xdg-go/stringprep"))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list go-golang-org-x-text))
 | 
			
		||||
    (home-page "https://github.com/xdg-go/stringprep")
 | 
			
		||||
    (synopsis "Go implementation of RFC-3454 stringprep and RFC-4013 SASLprep")
 | 
			
		||||
    (description
 | 
			
		||||
     "Package stringprep provides data tables and algorithms for RFC-3454,
 | 
			
		||||
including errata.  It also provides a profile for SASLprep as defined in
 | 
			
		||||
RFC-4013.")
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-xdg-go-pbkdf2
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github-com-xdg-go-pbkdf2")
 | 
			
		||||
    (version "1.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method git-fetch)
 | 
			
		||||
        (uri (git-reference
 | 
			
		||||
               (url "https://github.com/xdg-go/pbkdf2")
 | 
			
		||||
               (commit (string-append "v" version))))
 | 
			
		||||
        (file-name (git-file-name name version))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32 "1nipijy5xkdnfyhkp5ryrjzm14si1i2v2xyfmblf84binwkbr8jh"))))
 | 
			
		||||
    (build-system go-build-system)
 | 
			
		||||
    (arguments '(#:import-path "github.com/xdg-go/pbkdf2"))
 | 
			
		||||
    (home-page "https://github.com/xdg-go/pbkdf2")
 | 
			
		||||
    (synopsis "Go implementation of PBKDF2")
 | 
			
		||||
    (description
 | 
			
		||||
     "Package pbkdf2 implements password-based key derivation using the PBKDF2
 | 
			
		||||
algorithm described in @url{https://rfc-editor.org/rfc/rfc2898.html,RFC 2898}
 | 
			
		||||
and @url{https://rfc-editor.org/rfc/rfc8018.html,RFC 8018}.")
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-xdg-go-scram
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github-com-xdg-go-scram")
 | 
			
		||||
    (version "1.0.2")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method git-fetch)
 | 
			
		||||
        (uri (git-reference
 | 
			
		||||
               (url "https://github.com/xdg-go/scram")
 | 
			
		||||
               (commit (string-append "v" version))))
 | 
			
		||||
        (file-name (git-file-name name version))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32 "1jyv4qgc1dgh3v96pazmgljpp9ij25k8hwn0v4fck18g16i0nccm"))))
 | 
			
		||||
    (build-system go-build-system)
 | 
			
		||||
    (arguments '(#:import-path "github.com/xdg-go/scram"))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list go-github-com-xdg-go-stringprep
 | 
			
		||||
           go-github-com-xdg-go-pbkdf2))
 | 
			
		||||
    (home-page "https://github.com/xdg-go/scram")
 | 
			
		||||
    (synopsis "Go implementation of RFC-5802")
 | 
			
		||||
    (description
 | 
			
		||||
     "Package scram provides client and server implementations of the
 | 
			
		||||
@acronym{Salted Challenge Response Authentication Mechanism, SCRAM} described in
 | 
			
		||||
RFC-5802 and RFC-7677.")
 | 
			
		||||
    (license license:asl2.0)))
 | 
			
		||||
 | 
			
		||||
(define-public go-github-com-godbus-dbus
 | 
			
		||||
  (package
 | 
			
		||||
    (name "go-github-com-godbus-dbus")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,13 +21,15 @@
 | 
			
		|||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 | 
			
		||||
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
			
		||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 | 
			
		||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
 | 
			
		||||
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
 | 
			
		||||
;;; Copyright © 2021 Andy Tai <atai@atai.org>
 | 
			
		||||
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
 | 
			
		||||
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
 | 
			
		||||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
 | 
			
		||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 | 
			
		||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -80,11 +82,13 @@
 | 
			
		|||
  #:use-module (gnu packages kde-frameworks)
 | 
			
		||||
  #:use-module (gnu packages libusb)
 | 
			
		||||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages logging)
 | 
			
		||||
  #:use-module (gnu packages llvm)
 | 
			
		||||
  #:use-module (gnu packages lua)
 | 
			
		||||
  #:use-module (gnu packages maths)
 | 
			
		||||
  #:use-module (gnu packages mp3)
 | 
			
		||||
  #:use-module (gnu packages multiprecision)
 | 
			
		||||
  #:use-module (gnu packages pciutils)
 | 
			
		||||
  #:use-module (gnu packages pdf)
 | 
			
		||||
  #:use-module (gnu packages perl)
 | 
			
		||||
  #:use-module (gnu packages photo)
 | 
			
		||||
| 
						 | 
				
			
			@ -102,6 +106,7 @@
 | 
			
		|||
  #:use-module (gnu packages stb)
 | 
			
		||||
  #:use-module (gnu packages swig)
 | 
			
		||||
  #:use-module (gnu packages tbb)
 | 
			
		||||
  #:use-module (gnu packages toolkits)
 | 
			
		||||
  #:use-module (gnu packages upnp)
 | 
			
		||||
  #:use-module (gnu packages video)
 | 
			
		||||
  #:use-module (gnu packages vulkan)
 | 
			
		||||
| 
						 | 
				
			
			@ -116,6 +121,7 @@
 | 
			
		|||
  #:use-module (guix build-system python)
 | 
			
		||||
  #:use-module (guix build-system qt)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix hg-download)
 | 
			
		||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
			
		||||
| 
						 | 
				
			
			@ -491,6 +497,7 @@ typically encountered in feature film production.")
 | 
			
		|||
       ("libtiff" ,libtiff)
 | 
			
		||||
       ("ffmpeg" ,ffmpeg)
 | 
			
		||||
       ("fftw" ,fftw)
 | 
			
		||||
       ("gmp" ,gmp) ;; needed for boolean operations on meshes
 | 
			
		||||
       ("jack" ,jack-1)
 | 
			
		||||
       ("libsndfile" ,libsndfile)
 | 
			
		||||
       ("freetype" ,freetype)
 | 
			
		||||
| 
						 | 
				
			
			@ -549,7 +556,7 @@ and export to various formats including the format used by Magicavoxel.")
 | 
			
		|||
(define-public assimp
 | 
			
		||||
  (package
 | 
			
		||||
    (name "assimp")
 | 
			
		||||
    (version "4.1.0")
 | 
			
		||||
    (version "5.2.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -558,7 +565,7 @@ and export to various formats including the format used by Magicavoxel.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1rhyqfhzifdj7yibyanph3rh13ykw3i98dnn8mz65j780472hw28"))))
 | 
			
		||||
                "1kjifakjnpm89410pw27wq21fn975gfq46kn9zs3h8bryldvvlgk"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list zlib))
 | 
			
		||||
| 
						 | 
				
			
			@ -838,76 +845,6 @@ other vector formats such as:
 | 
			
		|||
@end itemize")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public dear-imgui
 | 
			
		||||
  (package
 | 
			
		||||
    (name "dear-imgui")
 | 
			
		||||
    (version "1.79")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/ocornut/imgui")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0x26igynxp6rlpp2wfc5dr7x6yh583ajb7p23pgycn9vqikn318q"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:make-flags
 | 
			
		||||
       (list (string-append "CC=" ,(cc-for-target))
 | 
			
		||||
             (string-append "PREFIX=" (assoc-ref %outputs "out"))
 | 
			
		||||
             (string-append "VERSION=" ,version))
 | 
			
		||||
       #:tests? #f                      ; no test suite
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'unpack-debian-files
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             (invoke "tar" "xvf" (assoc-ref inputs "debian-files"))
 | 
			
		||||
             (apply invoke "patch" "-Np1" "-i"
 | 
			
		||||
                    (find-files "debian/patches" "\\.patch$"))
 | 
			
		||||
             (substitute* "Makefile"
 | 
			
		||||
               (("<stb/") "<")          ; Guix doesn't use this subdirectory
 | 
			
		||||
               ;; Don't build or install the static library.
 | 
			
		||||
               (("^all: .*") "all: $(SHLIB) $(PCFILE)"))
 | 
			
		||||
             (substitute* (list "imgui.pc.in"
 | 
			
		||||
                                "Makefile")
 | 
			
		||||
               ;; Don't link against a non-existent library.
 | 
			
		||||
               (("-lstb") ""))
 | 
			
		||||
             #t))
 | 
			
		||||
         (delete 'configure)            ; no configure script
 | 
			
		||||
         (replace 'install
 | 
			
		||||
           ;; The default ‘install’ target installs the static library.  Don't.
 | 
			
		||||
           (lambda* (#:key make-flags #:allow-other-keys)
 | 
			
		||||
             (apply invoke "make" "install-shared" "install-header"
 | 
			
		||||
                    make-flags))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("debian-files"
 | 
			
		||||
        ;; Upstream doesn't provide a build system.  Use Debian's.
 | 
			
		||||
        ,(origin
 | 
			
		||||
           (method url-fetch)
 | 
			
		||||
           (uri (string-append "mirror://debian/pool/main/i/imgui/imgui_"
 | 
			
		||||
                               version "+ds-1.debian.tar.xz"))
 | 
			
		||||
           (sha256
 | 
			
		||||
            (base32 "1xhk34pzpha6k5l2j150capq66y8czhmsi04ib09wvb34ahqxpby"))))
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list freetype stb-rect-pack stb-truetype))
 | 
			
		||||
    (home-page "https://github.com/ocornut/imgui")
 | 
			
		||||
    (synopsis "Immediate-mode C++ GUI library with minimal dependencies")
 | 
			
		||||
    (description
 | 
			
		||||
     "Dear ImGui is a @acronym{GUI, graphical user interface} library for C++.
 | 
			
		||||
It creates optimized vertex buffers that you can render anytime in your
 | 
			
		||||
3D-pipeline-enabled application.  It's portable, renderer-agnostic, and
 | 
			
		||||
self-contained, without external dependencies.
 | 
			
		||||
 | 
			
		||||
Dear ImGui is aimed at content creation, visualization, and debugging tools as
 | 
			
		||||
opposed to average end-user interfaces.  Hence it favors simplicity and
 | 
			
		||||
productivity but lacks certain features often found in higher-level libraries.
 | 
			
		||||
It is particularly suited to integration in game engine tooling, real-time 3D
 | 
			
		||||
applications, full-screen applications, and embedded platforms without standard
 | 
			
		||||
operating system features.")
 | 
			
		||||
    (license license:expat)))           ; some examples/ use the zlib licence
 | 
			
		||||
 | 
			
		||||
(define-public alembic
 | 
			
		||||
  (package
 | 
			
		||||
    (name "alembic")
 | 
			
		||||
| 
						 | 
				
			
			@ -932,10 +869,90 @@ operating system features.")
 | 
			
		|||
distills complex, animated scenes into a set of baked geometric results.")
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public mangohud
 | 
			
		||||
  (package
 | 
			
		||||
    (name "mangohud")
 | 
			
		||||
    (version "0.6.6-1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/flightlessmango/MangoHud/")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0ka004wxkajmvs5vy60r4ckm7f169c61rrd46w6gywkaqf5yp1ab"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:build-type "release"
 | 
			
		||||
      #:configure-flags
 | 
			
		||||
      #~(list "-Duse_system_vulkan=enabled"
 | 
			
		||||
              "-Duse_system_spdlog=enabled"
 | 
			
		||||
              "-Dwith_xnvctrl=disabled"
 | 
			
		||||
              "-Dappend_libdir_mangohud=false"
 | 
			
		||||
              (string-append "-Dvulkan_datadir="
 | 
			
		||||
                             #$(this-package-input "vulkan-headers") "/share"))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          ;; Mangohud tries to build the imgui library as a meson submodule,
 | 
			
		||||
          ;; so we change the dependency to the imgui input instead.
 | 
			
		||||
          (add-after 'unpack 'unbundle-imgui
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (substitute* "meson.build"
 | 
			
		||||
                (("dearimgui_sp = .*")
 | 
			
		||||
                 "")
 | 
			
		||||
                (("dearimgui_sp.get_variable\\('imgui_dep'\\)")
 | 
			
		||||
                 (string-append
 | 
			
		||||
                  "declare_dependency(dependencies: "
 | 
			
		||||
                  "cpp.find_library('imgui'), include_directories: '"
 | 
			
		||||
                  #$(this-package-input "imgui") "/include/imgui')")))))
 | 
			
		||||
          (add-after 'unpack 'patch-paths
 | 
			
		||||
            (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
              (substitute* "src/meson.build"
 | 
			
		||||
                (("\\\\\\$LIB")
 | 
			
		||||
                 "lib"))
 | 
			
		||||
              (substitute* "src/loaders/loader_libdrm.cpp"
 | 
			
		||||
                (("libdrm.so.2")
 | 
			
		||||
                 (search-input-file inputs "lib/libdrm.so.2"))
 | 
			
		||||
                (("libdrm_amdgpu.so.1")
 | 
			
		||||
                 (search-input-file inputs "lib/libdrm_amdgpu.so.1")))
 | 
			
		||||
              (substitute* "src/overlay.cpp"
 | 
			
		||||
                (("glxinfo")
 | 
			
		||||
                 (search-input-file inputs "bin/glxinfo")))
 | 
			
		||||
              (substitute* "src/loaders/loader_x11.cpp"
 | 
			
		||||
                (("libX11.so.6")
 | 
			
		||||
                 (search-input-file inputs "lib/libX11.so.6")))
 | 
			
		||||
              (substitute* "src/pci_ids.cpp"
 | 
			
		||||
                (("/usr/share/hwdata/pci.ids")
 | 
			
		||||
                 (search-input-file inputs "share/hwdata/pci.ids")))
 | 
			
		||||
              (substitute* "src/dbus.cpp"
 | 
			
		||||
                (("libdbus-1.so.3")
 | 
			
		||||
                 (search-input-file inputs "lib/libdbus-1.so.3"))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list dbus
 | 
			
		||||
           glslang
 | 
			
		||||
           `(,hwdata "pci")
 | 
			
		||||
           imgui-1.86
 | 
			
		||||
           libdrm
 | 
			
		||||
           libx11
 | 
			
		||||
           mesa
 | 
			
		||||
           mesa-utils
 | 
			
		||||
           python-mako
 | 
			
		||||
           spdlog
 | 
			
		||||
           vulkan-headers
 | 
			
		||||
           vulkan-loader))
 | 
			
		||||
    (native-inputs (list pkg-config python))
 | 
			
		||||
    (home-page "https://github.com/flightlessmango/MangoHud/")
 | 
			
		||||
    (synopsis "Vulkan and OpenGL overlay for monitoring performance and hardware")
 | 
			
		||||
    (description "MangoHud is a Vulkan and OpenGL overlay for monitoring
 | 
			
		||||
frames per second (FPS), temperatures, CPU/GPU load and more.")
 | 
			
		||||
    (license license:expat)))
 | 
			
		||||
 | 
			
		||||
(define-public ogre
 | 
			
		||||
  (package
 | 
			
		||||
    (name "ogre")
 | 
			
		||||
    (version "1.12.9")
 | 
			
		||||
    (version "13.3.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -944,24 +961,22 @@ distills complex, animated scenes into a set of baked geometric results.")
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0b0pwh31nykrfhka6jqwclfx1pxzhj11vkl91951d63kwr5bbzms"))))
 | 
			
		||||
        (base32 "157vpfzivg2wf349glyd0cpbyaw1j3fm4nggban70pghql3x48kb"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before 'configure 'unpack-dear-imgui
 | 
			
		||||
         (add-before 'configure 'unpack-imgui
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             (copy-recursively (assoc-ref inputs "dear-imgui-source")
 | 
			
		||||
                               "../dear-imgui-source")
 | 
			
		||||
             #t))
 | 
			
		||||
             (copy-recursively (assoc-ref inputs "imgui-source")
 | 
			
		||||
                               "../imgui-source")))
 | 
			
		||||
         (add-before 'configure 'pre-configure
 | 
			
		||||
           ;; CMakeLists.txt forces a CMAKE_INSTALL_RPATH value.  As
 | 
			
		||||
           ;; a consequence, we cannot suggest ours in configure flags.  Fix
 | 
			
		||||
           ;; it.
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (substitute* "CMakeLists.txt"
 | 
			
		||||
               (("set\\(CMAKE_INSTALL_RPATH .*") ""))
 | 
			
		||||
             #t)))
 | 
			
		||||
               (("set\\(CMAKE_INSTALL_RPATH .*") "")))))
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       (let* ((out (assoc-ref %outputs "out"))
 | 
			
		||||
              (runpath
 | 
			
		||||
| 
						 | 
				
			
			@ -969,29 +984,26 @@ distills complex, animated scenes into a set of baked geometric results.")
 | 
			
		|||
                                  (string-append out "/lib/OGRE"))
 | 
			
		||||
                            ";")))
 | 
			
		||||
         (list (string-append "-DCMAKE_INSTALL_RPATH=" runpath)
 | 
			
		||||
               "-DIMGUI_DIR=../dear-imgui-source"
 | 
			
		||||
               "-DIMGUI_DIR=../imgui-source"
 | 
			
		||||
               "-DOGRE_BUILD_DEPENDENCIES=OFF"
 | 
			
		||||
               "-DOGRE_BUILD_TESTS=TRUE"
 | 
			
		||||
               "-DOGRE_INSTALL_DOCS=TRUE"
 | 
			
		||||
               "-DOGRE_INSTALL_SAMPLES=TRUE"
 | 
			
		||||
               "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE"))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("boost" ,boost)
 | 
			
		||||
       ("dear-imgui-source" ,(package-source dear-imgui))
 | 
			
		||||
       ("doxygen" ,doxygen)
 | 
			
		||||
       ("googletest" ,googletest-1.8)
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     (list font-dejavu
 | 
			
		||||
           freeimage
 | 
			
		||||
           freetype
 | 
			
		||||
           glu
 | 
			
		||||
           libxaw
 | 
			
		||||
           libxrandr
 | 
			
		||||
           pugixml
 | 
			
		||||
           sdl2
 | 
			
		||||
           tinyxml
 | 
			
		||||
           zziplib))
 | 
			
		||||
    (native-inputs `(("doxygen" ,doxygen)
 | 
			
		||||
                     ("imgui-source" ,(package-source imgui-1.86))
 | 
			
		||||
                     ("googletest" ,googletest)
 | 
			
		||||
                     ("pkg-config" ,pkg-config)
 | 
			
		||||
                     ("python" ,python)))
 | 
			
		||||
    (inputs (list freeimage
 | 
			
		||||
                  freetype
 | 
			
		||||
                  libxaw
 | 
			
		||||
                  libxrandr
 | 
			
		||||
                  libxt
 | 
			
		||||
                  mesa
 | 
			
		||||
                  pugixml
 | 
			
		||||
                  sdl2
 | 
			
		||||
                  zlib))
 | 
			
		||||
    (synopsis "Scene-oriented, flexible 3D engine written in C++")
 | 
			
		||||
    (description
 | 
			
		||||
     "OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented,
 | 
			
		||||
| 
						 | 
				
			
			@ -1919,7 +1931,7 @@ Some feature highlights:
 | 
			
		|||
(define-public openxr
 | 
			
		||||
  (package
 | 
			
		||||
    (name "openxr")
 | 
			
		||||
    (version "1.0.20")
 | 
			
		||||
    (version "1.0.22")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1933,7 +1945,7 @@ Some feature highlights:
 | 
			
		|||
           ;; Delete bundled jsoncpp.
 | 
			
		||||
           (delete-file-recursively "src/external/jsoncpp")))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1jd7jjxlrdi8kjnmn3sad7dgb4h48dbxryfb9snf0kifn47bi20m"))))
 | 
			
		||||
        (base32 "1l6wygazgvd8lbhqk60iim2l2h35gxpsn0y9a9f8q72sqpfianky"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f))                    ; there are no tests
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@
 | 
			
		|||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 | 
			
		||||
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 | 
			
		||||
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2016, 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016, 2017, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
 | 
			
		||||
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 | 
			
		||||
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
 | 
			
		||||
| 
						 | 
				
			
			@ -2144,7 +2144,7 @@ and routines to assist in editing internationalized text.")
 | 
			
		|||
(define-public girara
 | 
			
		||||
  (package
 | 
			
		||||
    (name "girara")
 | 
			
		||||
    (version "0.3.6")
 | 
			
		||||
    (version "0.3.7")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -2153,9 +2153,9 @@ and routines to assist in editing internationalized text.")
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0whwwj31fxfaf4r4qvxb4kl3mj05xj3n9c6nzdn46r30bkg9z4dw"))))
 | 
			
		||||
        (base32 "0k93pi0lkf941vanvh1habm6n5wl1n63726j5kqxh34wdlv4mv4s"))))
 | 
			
		||||
    (native-inputs `(("pkg-config" ,pkg-config)
 | 
			
		||||
                     ("check" ,check-0.14)
 | 
			
		||||
                     ("check" ,check)
 | 
			
		||||
                     ("gettext" ,gettext-minimal)
 | 
			
		||||
                     ("glib:bin" ,glib "bin")
 | 
			
		||||
                     ("xorg-server" ,xorg-server-for-tests)))
 | 
			
		||||
| 
						 | 
				
			
			@ -2869,3 +2869,53 @@ excellent pavucontrol.")
 | 
			
		|||
    ;; XXX: 'setup.py' says "GPLv2" but nothing says "version 2 only".  Is
 | 
			
		||||
    ;; GPLv2+ intended?
 | 
			
		||||
    (license license:gpl2)))
 | 
			
		||||
 | 
			
		||||
(define-public gromit-mpx
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gromit-mpx")
 | 
			
		||||
    (version "1.4.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/bk138/gromit-mpx.git")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0p3jivard85cvand9c5ksy1qwp8zcaczfd55b4xppg4xliqfcafs"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments `(#:tests? #f)) ; No tests.
 | 
			
		||||
    (native-inputs (list pkg-config))
 | 
			
		||||
    (inputs (list gtk+ libappindicator))
 | 
			
		||||
    (home-page "https://github.com/bk138/gromit-mpx")
 | 
			
		||||
    (synopsis "On-screen annotation tool")
 | 
			
		||||
    (description
 | 
			
		||||
     "Gromit-MPX is an on-screen annotation tool that works with any
 | 
			
		||||
Unix desktop environment under X11 as well as Wayland.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public webp-pixbuf-loader
 | 
			
		||||
  (package
 | 
			
		||||
    (name "webp-pixbuf-loader")
 | 
			
		||||
    (version "0.0.4")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/aruiz/webp-pixbuf-loader")
 | 
			
		||||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1kshsz91mirjmnmv796nba1r8jg8a613anhgd38dhh2zmnladcwn"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:configure-flags
 | 
			
		||||
      #~(list (string-append "-Dgdk_pixbuf_moduledir="
 | 
			
		||||
                             #$output "/lib/gdk-pixbuf-2.0/2.10.0/loaders"))))
 | 
			
		||||
    (inputs (list gdk-pixbuf glib gtk+ libwebp))
 | 
			
		||||
    (native-inputs (list pkg-config))
 | 
			
		||||
    (home-page "https://github.com/aruiz/webp-pixbuf-loader")
 | 
			
		||||
    (synopsis "WebP GdkPixbuf loader library")
 | 
			
		||||
    (description "Webp-pixbuf-loader is a WebP format loader of GdkPixbuf.")
 | 
			
		||||
    (license license:lgpl2.0+)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show more
		Reference in a new issue