Archived
1
0
Fork 0

Merge branch 'master' into staging.

This commit is contained in:
Maxim Cournoyer 2022-03-21 21:38:19 -04:00
commit 49b350fafc
No known key found for this signature in database
GPG key ID: 1260E46482E63562
401 changed files with 271960 additions and 237919 deletions

View file

@ -52,6 +52,7 @@
(eval . (put 'test-equal 'scheme-indent-function 1)) (eval . (put 'test-equal 'scheme-indent-function 1))
(eval . (put 'test-eq '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-input-string 'scheme-indent-function 1))
(eval . (put 'call-with-port 'scheme-indent-function 1))
(eval . (put 'guard 'scheme-indent-function 1)) (eval . (put 'guard 'scheme-indent-function 1))
(eval . (put 'lambda* 'scheme-indent-function 1)) (eval . (put 'lambda* 'scheme-indent-function 1))
(eval . (put 'substitute* '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-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 ;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these. ;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'")) (eval . (modify-syntax-entry ?~ "'"))

View file

@ -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 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 Our Pledge
We as members, contributors, and leaders pledge to make participation in our
In the interest of fostering an open and welcoming environment, we as community a harassment-free experience for everyone, regardless of age, body
contributors and maintainers pledge to making participation in our project and size, visible or invisible disability, ethnicity, sex characteristics, gender
our community a harassment-free experience for everyone, regardless of age, body identity and expression, level of experience, education, socio-economic status,
size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, caste, color, religion, or sexual
education, socio-economic status, nationality, personal appearance, race, identity and orientation.
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 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 * Demonstrating empathy and kindness toward other people
include: * 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 * The use of sexualized language or imagery, and sexual attention or advances of
* Being respectful of differing viewpoints and experiences any kind
* Gracefully accepting constructive criticism * Trolling, insulting or derogatory comments, and personal or political attacks
* 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
* Public or private harassment * Public or private harassment
* Publishing others private information, such as a physical or electronic * Publishing others private information, such as a physical or email address,
address, without explicit permission without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a * Other conduct which could reasonably be considered inappropriate in a
professional setting professional setting
Enforcement Responsibilities
Our Responsibilities Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
Project maintainers are responsible for clarifying the standards of acceptable response to any behavior that they deem inappropriate, threatening, offensive,
behavior and are expected to take appropriate and fair corrective action in or harmful.
response to any instances of unacceptable behavior. Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
Project maintainers have the right and responsibility to remove, edit, or not aligned to this Code of Conduct, and will communicate reasons for moderation
reject comments, commits, code, wiki edits, issues, and other contributions decisions when appropriate.
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.
Scope Scope
This Code of Conduct applies within all community spaces, and also applies when
This Code of Conduct applies both within project spaces and in public spaces an individual is officially representing the community in public spaces.
when an individual is representing the project or its community. Examples of Examples of representing our community include using an official e-mail address,
representing a project or community include using an official project e-mail posting via an official social media account, or acting as an appointed
address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
Enforcement Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at guix-maintainers@gnu.org. All reported to the community leaders responsible for enforcement at
complaints will be reviewed and investigated and will result in a response that guix-maintainers@gnu.org.
is deemed necessary and appropriate to the circumstances. The project team is All complaints will be reviewed and investigated promptly and fairly.
obligated to maintain confidentiality with regard to the reporter of an incident. All community leaders are obligated to respect the privacy and security of the
Further details of specific enforcement policies may be posted separately. reporter of any incident.
Enforcement Guidelines
Project maintainers who do not follow or enforce the Code of Conduct in good Community leaders will follow these Community Impact Guidelines in determining
faith may face temporary or permanent repercussions as determined by other the consequences for any action they deem in violation of this Code of Conduct:
members of the projects leadership. 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 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
Mozillas 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

View file

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU # 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 © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com> # Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
@ -486,6 +486,7 @@ SCM_TESTS = \
tests/gremlin.scm \ tests/gremlin.scm \
tests/hackage.scm \ tests/hackage.scm \
tests/home-import.scm \ tests/home-import.scm \
tests/http-client.scm \
tests/import-git.scm \ tests/import-git.scm \
tests/import-github.scm \ tests/import-github.scm \
tests/import-utils.scm \ tests/import-utils.scm \
@ -1026,10 +1027,12 @@ assert-no-store-file-names:
exit 1 ; \ exit 1 ; \
fi 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) assert-binaries-available: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env \ $(AM_V_at)$(top_builddir)/pre-inst-env \
guix weather -m "$(top_srcdir)/etc/release-manifest.scm" \ guix weather -m "$(top_srcdir)/etc/release-manifest.scm" \
--substitute-urls="https://ci.guix.gnu.org" \
--display-missing --display-missing
# Make sure the final inputs don't refer to bootstrap tools. # Make sure the final inputs don't refer to bootstrap tools.

View file

@ -65,7 +65,7 @@
(define %languages (define %languages
;; The cookbook is not translated in the same languages as the manual ;; The cookbook is not translated in the same languages as the manual
(if (string=? %manual "guix-cookbook") (if (string=? %manual "guix-cookbook")
'("de" "en" "fr") '("de" "en" "fr" "sk")
'("de" "en" "es" "fr" "ru" "zh_CN"))) '("de" "en" "es" "fr" "ru" "zh_CN")))
(define (texinfo-manual-images source) (define (texinfo-manual-images source)

View file

@ -98,8 +98,14 @@ shell}:
guix shell -D guix help2man git strace --pure guix shell -D guix help2man git strace --pure
@end example @end example
Run @command{./bootstrap} to generate the build system infrastructure From there you can generate the build system infrastructure
using Autoconf and Automake. If you get an error like this one: using Autoconf and Automake:
@example
./bootstrap
@end example
If you get an error like this one:
@example @example
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES 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 @xref{Macro Search Path,,, automake, The GNU Automake Manual}, for
more information. more information.
Then, run @command{./configure --localstatedir=@var{directory}}, where Then, run:
@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}.
Finally, you have to invoke @code{make && make check} to build Guix and @example
run the tests (@pxref{Running the Test Suite}). If anything fails, take ./configure --localstatedir=/var
a look at installation instructions (@pxref{Installation}) or send a @end example
message to the @email{guix-devel@@gnu.org, mailing list}.
@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 From there on, you can authenticate all the commits included in your
checkout by running: checkout by running:

View file

@ -7,6 +7,9 @@
@settitle GNU Guix Cookbook @settitle GNU Guix Cookbook
@c %**end of header @c %**end of header
@c Onion service for ci.guix.gnu.org.
@set SUBSTITUTE-TOR-URL https://4zwzi66wwdaalbhgnix55ea3ab4pvvw66ll2ow53kjub6se4q2bclcyd.onion
@copying @copying
Copyright @copyright{} 2019 Ricardo Wurmus@* Copyright @copyright{} 2019 Ricardo Wurmus@*
Copyright @copyright{} 2019 Efraim Flashner@* Copyright @copyright{} 2019 Efraim Flashner@*
@ -2354,7 +2357,8 @@ follow:
config => (guix-configuration config => (guix-configuration
(inherit config) (inherit config)
;; ci.guix.gnu.org's Onion service ;; ci.guix.gnu.org's Onion service
(substitute-urls "https://bp7o7ckwlewr4slm.onion") (substitute-urls
"@value{SUBSTITUTE-TOR-URL}")
(http-proxy "http://localhost:9250"))))))) (http-proxy "http://localhost:9250")))))))
@end lisp @end lisp
@ -2372,7 +2376,8 @@ want to get a substitute from the Tor tunnel run:
@example @example
sudo herd set-http-proxy guix-daemon http://localhost:9250 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 @end example
@node Setting up NGINX with Lua @node Setting up NGINX with Lua

File diff suppressed because it is too large Load diff

View file

@ -23,7 +23,7 @@
# If adding a language, update the following variables, and info_TEXINFOS. # 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 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. # Arg1: A list of languages codes.
# Arg2: The file name stem. # Arg2: The file name stem.
@ -53,6 +53,7 @@ info_TEXINFOS = %D%/guix.texi \
%D%/guix-cookbook.pt_BR.texi \ %D%/guix-cookbook.pt_BR.texi \
%D%/guix-cookbook.ru.texi \ %D%/guix-cookbook.ru.texi \
%D%/guix-cookbook.sk.texi \ %D%/guix-cookbook.sk.texi \
%D%/guix-cookbook.uk.texi \
%D%/guix-cookbook.zh_Hans.texi %D%/guix-cookbook.zh_Hans.texi
%C%_guix_TEXINFOS = \ %C%_guix_TEXINFOS = \

View file

@ -25,6 +25,81 @@
(channel-news (channel-news
(version 0) (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") (entry (commit "96d7535b030c65b2d8cb0bea52c4bd96cbdefaf0")
(title (title
(en "ci.guix.gnu.org to stop offering Gzip substitutes") (en "ci.guix.gnu.org to stop offering Gzip substitutes")

View file

@ -389,8 +389,8 @@ improvement."
"/run/current-system") "/run/current-system")
(define (boot-time-system) (define (boot-time-system)
"Return the '--system' argument passed on the kernel command line." "Return the 'gnu.system' argument passed on the kernel command line."
(find-long-option "--system" (if (string-contains %host-type "linux-gnu") (find-long-option "gnu.system" (if (string-contains %host-type "linux-gnu")
(linux-command-line) (linux-command-line)
(command-line)))) (command-line))))

View file

@ -254,7 +254,7 @@ set."
"This procedure is meant to be called from an early RC script. "This procedure is meant to be called from an early RC script.
Install the relevant passive translators on the first boot. Then, run system 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. starting the Shepherd.
XXX TODO: see linux-boot.scm:boot-system. 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 "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 (call-with-error-handling
(lambda () (lambda ()
(let* ((args (command-line)) (let* ((args (command-line))
(system (find-long-option "--system" args)) (system (find-long-option "gnu.system" args))
(to-load (find-long-option "--load" args))) (to-load (find-long-option "gnu.load" args)))
(format #t "Setting-up essential translators...\n") (format #t "Setting-up essential translators...\n")
(setenv "PATH" (string-append system "/profile/bin")) (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")) (unless (zero? (system* "/hurd/mach-defpager"))
(format #t "FAILED...Good luck!\n")) (format #t "FAILED...Good luck!\n"))
(cond ((member "--repl" args) (cond ((member "gnu.repl" args)
(format #t "Starting repl...\n") (format #t "Starting repl...\n")
(start-repl)) (start-repl))
(to-load (to-load
@ -298,7 +298,7 @@ XXX TODO: use Linux xattr/setxattr to remove (settrans in) /libexec/RUNSYSTEM
(sleep 2) (sleep 2)
(reboot)) (reboot))
(else (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") (display "entering a warm and cozy REPL\n")
(start-repl))))) (start-repl)))))
#:on-error on-error)) #:on-error on-error))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017, 20192021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -93,7 +94,7 @@
get-string-all))) get-string-all)))
(define (find-long-option option arguments) (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." Return the value associated with OPTION, or #f on failure."
(let ((opt (string-append option "="))) (let ((opt (string-append option "=")))
(and=> (find (cut string-prefix? opt <>) (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 KEYMAP-FILE is true), then setting up QEMU guest networking if
QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems 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 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, Mount the root file system, specified by the 'root' command-line argument, if
if any. any.
MOUNTS must be a list of <file-system> objects. MOUNTS must be a list of <file-system> objects.
@ -515,33 +518,50 @@ upon error."
(string=? (file-system-mount-point fs) "/")) (string=? (file-system-mount-point fs) "/"))
(define (device-string->file-system-device device-string) (define (device-string->file-system-device device-string)
;; The "--root=SPEC" kernel command-line option always provides a ;; The "root=SPEC" kernel command-line option always provides a string,
;; string, but the string can represent a device, an nfs-root, a UUID, or a ;; but the string can represent a device, an nfs-root, a UUID, or a label.
;; label. So check for all four. ;; So check for all four.
(cond ((string-prefix? "/" device-string) device-string) (cond ((string-prefix? "/" device-string) device-string)
((string-contains device-string ":/") device-string) ; nfs-root ((string-contains device-string ":/") device-string) ; nfs-root
((uuid device-string) => identity) ((uuid device-string) => identity)
(else (file-system-label device-string)))) (else (file-system-label device-string))))
(display "Welcome, this is GNU's early boot Guile.\n") (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 (call-with-error-handling
(lambda () (lambda ()
(mount-essential-file-systems) (mount-essential-file-systems)
(let* ((args (linux-command-line)) (let* ((args (linux-command-line))
(to-load (find-long-option "--load" args)) (to-load (find-long-option "gnu.load" args))
;; If present, --root on the kernel command line takes precedence ;; If present, root on the kernel command line takes precedence
;; over the device field of the root <file-system> record. ;; 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)) device-string->file-system-device))
(root-fs (or (find root-mount-point? mounts) (rootfstype (find-long-option "rootfstype" args))
;; Fall back to fictitious defaults. (rootflags (find-long-option "rootflags" args))
(file-system (device (or root-device "/dev/root")) (root-fs* (find root-mount-point? mounts))
(mount-point "/")
(type "ext4"))))
(fsck.mode (find-long-option "fsck.mode" args))) (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) (define (check? fs)
(match fsck.mode (match fsck.mode
("skip" #f) ("skip" #f)
@ -562,7 +582,7 @@ upon error."
(_ 'preen)) (_ 'preen))
(file-system-repair fs)))) (file-system-repair fs))))
(when (member "--repl" args) (when (member "gnu.repl" args)
(start-repl)) (start-repl))
(display "loading kernel modules...\n") (display "loading kernel modules...\n")
@ -596,9 +616,8 @@ upon error."
(let ((root-delay (and=> (find-long-option "rootdelay" args) (let ((root-delay (and=> (find-long-option "rootdelay" args)
string->number))) string->number)))
(when root-delay (when root-delay
(format #t (format #t "Pausing for rootdelay=~a seconds before mounting \
"Pausing for rootdelay=~a seconds before mounting the root file system...\n" the root file system...\n" root-delay)
root-delay)
(sleep root-delay))) (sleep root-delay)))
;; Prepare the real root file system under /root. ;; Prepare the real root file system under /root.
@ -614,18 +633,18 @@ upon error."
(setenv "EXT2FS_NO_MTAB_OK" "1") (setenv "EXT2FS_NO_MTAB_OK" "1")
(if root-device ;; Mount the root file system.
(mount-root-file-system (canonicalize-device-spec root-device) (mount-root-file-system (canonicalize-device-spec
(file-system-type root-fs) (file-system-device root-fs))
#:volatile-root? volatile-root? (file-system-type root-fs)
#:flags (mount-flags->bit-mask #:volatile-root? volatile-root?
(file-system-flags root-fs)) #:flags (mount-flags->bit-mask
#:options (file-system-options root-fs) (file-system-flags root-fs))
#:check? (check? root-fs) #:options (file-system-options root-fs)
#:skip-check-if-clean? #:check? (check? root-fs)
(skip-check-if-clean? root-fs) #:skip-check-if-clean?
#:repair (repair root-fs)) (skip-check-if-clean? root-fs)
(mount "none" "/root" "tmpfs")) #:repair (repair root-fs))
;; Mount the specified non-root file systems. ;; Mount the specified non-root file systems.
(for-each (lambda (fs) (for-each (lambda (fs)
@ -651,7 +670,7 @@ upon error."
(sleep 2) (sleep 2)
(reboot)) (reboot))
(begin (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") (display "entering a warm and cozy REPL\n")
(start-repl))))) (start-repl)))))
#:on-error on-error)) #:on-error on-error))

View file

@ -38,11 +38,15 @@
home-profile-service-type home-profile-service-type
home-environment-variables-service-type home-environment-variables-service-type
home-files-service-type home-files-service-type
home-xdg-configuration-files-service-type
home-run-on-first-login-service-type home-run-on-first-login-service-type
home-activation-service-type home-activation-service-type
home-run-on-change-service-type home-run-on-change-service-type
home-provenance-service-type home-provenance-service-type
home-files-directory
xdg-configuration-files-directory
fold-home-service-types fold-home-service-types
home-provenance home-provenance
@ -74,12 +78,11 @@
;;; file (details described in the manual). ;;; file (details described in the manual).
;;; ;;;
;;; home-files-service-type is similar to etc-service-type, but doesn't extend ;;; 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 ;;; home-activation, because deploy mechanism for config files is pluggable
;;; can be different for different home environments: The default one is called ;;; and can be different for different home environments: The default one is
;;; symlink-manager (will be introudced in a separate patch series), which creates ;;; called symlink-manager, which creates links for various dotfiles and xdg
;;; links for various dotfiles (like $XDG_CONFIG_HOME/$APP/...) to store, but is ;;; configuration files to store, but is possible to implement alternative
;;; possible to implement alternative approaches like read-only home from Julien's ;;; approaches like read-only home from Julien's guix-home-manager.
;;; guix-home-manager.
;;; ;;;
;;; home-run-on-first-login-service-type provides an @file{on-first-login} guile ;;; 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 ;;; script, which runs provided gexps once, when user makes first login. It can
@ -262,11 +265,14 @@ esac
(file-union "files" files)) (file-union "files" files))
;; Used by symlink-manager
(define home-files-directory "files")
(define (files-entry files) (define (files-entry files)
"Return an entry for the @file{~/.guix-home/files} "Return an entry for the @file{~/.guix-home/files}
directory containing FILES." directory containing FILES."
(with-monad %store-monad (with-monad %store-monad
(return `(("files" ,(files->files-directory files)))))) (return `((,home-files-directory ,(files->files-directory files))))))
(define home-files-service-type (define home-files-service-type
(service-type (name 'home-files) (service-type (name 'home-files)
@ -276,8 +282,29 @@ directory containing FILES."
(compose concatenate) (compose concatenate)
(extend append) (extend append)
(default-value '()) (default-value '())
(description "Configuration files for programs that (description "Files that will be put in
will be put in @file{~/.guix-home/files}."))) @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 (define %initialize-gettext
#~(begin #~(begin

View file

@ -34,7 +34,7 @@
;;; Code: ;;; Code:
(define (add-fontconfig-config-file he-symlink-path) (define (add-fontconfig-config-file he-symlink-path)
`(("config/fontconfig/fonts.conf" `(("fontconfig/fonts.conf"
,(mixed-text-file ,(mixed-text-file
"fonts.conf" "fonts.conf"
"<?xml version='1.0'?> "<?xml version='1.0'?>
@ -51,7 +51,7 @@
(service-type (name 'home-fontconfig) (service-type (name 'home-fontconfig)
(extensions (extensions
(list (service-extension (list (service-extension
home-files-service-type home-xdg-configuration-files-service-type
add-fontconfig-config-file) add-fontconfig-config-file)
(service-extension (service-extension
home-run-on-change-service-type home-run-on-change-service-type

View file

@ -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 won't be read in some cases (if the shell terminates by exec'ing
another process for example).")) another process for example)."))
(define (add-zsh-configuration config) (define (zsh-filter-fields field)
(let* ((xdg-flavor? (home-zsh-configuration-xdg-flavor? config))) (filter-configuration-fields home-zsh-configuration-fields (list field)))
(define prefix-file (define (zsh-serialize-field config field)
(cut string-append (serialize-configuration config (zsh-filter-fields field)))
(if xdg-flavor?
"config/zsh/."
"") <>))
(define (filter-fields field) (define* (zsh-field-not-empty? config field)
(filter-configuration-fields home-zsh-configuration-fields (let ((file-name (symbol->string field))
(list field))) (field-obj (car (zsh-filter-fields field))))
(not (null? ((configuration-field-getter field-obj) config)))))
(define (serialize-field field) (define (zsh-file-zshenv config)
(serialize-configuration (mixed-text-file
config "zshenv"
(filter-fields field))) (zsh-serialize-field config 'zshenv)
(zsh-serialize-field config 'environment-variables)))
(define (file-if-not-empty field) (define (zsh-file-zprofile config)
(let ((file-name (symbol->string field)) (mixed-text-file
(field-obj (car (filter-fields field)))) "zprofile"
(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"
"\
# Setups system and user profiles and related variables # Setups system and user profiles and related variables
source /etc/profile source /etc/profile
# Setups home environment profile # Setups home environment profile
@ -229,11 +200,47 @@ source ~/.profile
# It's only necessary if zsh is a login shell, otherwise profiles will # It's only necessary if zsh is a login shell, otherwise profiles will
# be already sourced by bash # be already sourced by bash
" "
(serialize-field 'zprofile))) (zsh-serialize-field config 'zprofile)))
,@(list (file-if-not-empty 'zshrc) (define (zsh-file-by-field config field)
(file-if-not-empty 'zlogin) (match field
(file-if-not-empty 'zlogout)))))) ('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) (define (add-zsh-packages config)
(list (home-zsh-configuration-package config))) (list (home-zsh-configuration-package config)))
@ -291,7 +298,10 @@ source ~/.profile
(extensions (extensions
(list (service-extension (list (service-extension
home-files-service-type home-files-service-type
add-zsh-configuration) zsh-home-files)
(service-extension
home-xdg-configuration-files-service-type
zsh-xdg-configuration-files)
(service-extension (service-extension
home-profile-service-type home-profile-service-type
add-zsh-packages))) add-zsh-packages)))
@ -324,7 +334,7 @@ source ~/.profile
(guix-defaults? (guix-defaults?
(boolean #t) (boolean #t)
"Add sane defaults like reading @file{/etc/bashrc} and coloring the output of "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 (environment-variables
(alist '()) (alist '())
"Association list of environment variables to set for the Bash session. The "Association list of environment variables to set for the Bash session. The
@ -448,7 +458,7 @@ if [ -f ~/.bashrc ]; then source ~/.bashrc; fi
'bashrc 'bashrc
(if (home-bash-configuration-guix-defaults? config) (if (home-bash-configuration-guix-defaults? config)
(list (serialize-field 'aliases) guix-bashrc) (list (serialize-field 'aliases) guix-bashrc)
(list (serialize-field 'alises)))) (list (serialize-field 'aliases))))
(file-if-not-empty 'bash-logout))))) (file-if-not-empty 'bash-logout)))))
(define (add-bash-packages config) (define (add-bash-packages config)

View file

@ -24,12 +24,27 @@
#:use-module (guix sets) #:use-module (guix sets)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:export (home-shepherd-service-type #: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 #: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)) shepherd-action))
(define-record-type* <home-shepherd-configuration> (define-record-type* <home-shepherd-configuration>

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -20,219 +21,199 @@
(define-module (gnu home services symlink-manager) (define-module (gnu home services symlink-manager)
#:use-module (gnu home services) #:use-module (gnu home services)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix modules)
#:export (home-symlink-manager-service-type)) #:export (home-symlink-manager-service-type))
;;; Comment: ;;; Comment:
;;; ;;;
;;; symlink-manager cares about configuration files: it backs up files ;;; symlink-manager cares about xdg configurations and other files: it backs
;;; created by user, removes symlinks and directories created by a ;;; up files created by user, removes symlinks and directories created by a
;;; previous generation, and creates new directories and symlinks to ;;; previous generation, and creates new directories and symlinks to files
;;; configuration files according to the content of files/ directory ;;; according to the content of directories (created by home-files-service) of
;;; (created by home-files-service) of the current home environment ;;; the current home environment generation.
;;; generation.
;;; ;;;
;;; Code: ;;; Code:
(define (update-symlinks-script) (define (update-symlinks-script)
(program-file (program-file
"update-symlinks" "update-symlinks"
#~(begin (with-imported-modules (source-module-closure
(use-modules (ice-9 ftw) '((guix build utils)
(ice-9 curried-definitions) (guix i18n)))
(ice-9 match) #~(begin
(srfi srfi-1) (use-modules (ice-9 ftw)
(guix i18n)) (ice-9 match)
#$%initialize-gettext (srfi srfi-1)
(define ((simplify-file-tree parent) file) (guix i18n)
"Convert the result produced by `file-system-tree' to less (guix build utils))
verbose and more suitable for further processing format.
Extract dir/file info from stat and compose a relative path to the (define home-directory
root of the file tree. (getenv "HOME"))
Sample output: (define xdg-config-home
(or (getenv "XDG_CONFIG_HOME")
(string-append (getenv "HOME") "/.config")))
((dir . \".\") (define backup-directory
((dir . \"config\") (string-append home-directory "/" (number->string (current-time))
((dir . \"config/fontconfig\") "-guix-home-legacy-configs-backup"))
(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 ((file-tree-traverse preordering) node) (define (preprocess-file file)
"Traverses the file tree in different orders, depending on PREORDERING. "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 (define (target-file file)
before files located in those directories, otherwise directory will ;; Return the target of FILE, a config file name sans leading dot
appear only after all nested items already listed." ;; such as "config/fontconfig/fonts.conf" or "bashrc".
(let ((prepend (lambda (a b) (append b a)))) (string-append home-directory "/" (preprocess-file file)))
(match node
(('file . path) (list node))
((('dir . path) . rest)
((if preordering append prepend)
(list (cons 'dir path))
(append-map (file-tree-traverse preordering) rest))))))
(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") (define (backup-file file)
(string-append (getenv "HOME") "/.config"))) (define backup
(string-append backup-directory "/" (preprocess-file file)))
(he-path (string-append (getenv "HOME") "/.guix-home")) (mkdir-p backup-directory)
(new-he-path (string-append he-path ".new")) (format #t (G_ "Backing up ~a...") (target-file file))
(new-home (getenv "GUIX_NEW_HOME")) (mkdir-p (dirname backup))
(old-home (getenv "GUIX_OLD_HOME")) (rename-file (target-file file) backup)
(display (G_ " done\n")))
(new-files-path (string-append new-home "/files")) (define (cleanup-symlinks home-generation)
;; Trailing dot is required, because files itself is symlink and ;; Delete from $HOME files that originate in HOME-GENERATION, the
;; to make file-system-tree works it should be a directory. ;; store item containing a home generation.
(new-files-dir-path (string-append new-files-path "/.")) (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")) (define (strip file)
(backup-dir (string-append home-path "/" (string-drop file
(number->string (current-time)) (+ 1 (string-length config-file-directory))))
"-guix-home-legacy-configs-backup"))
(old-tree (if old-home (format #t (G_ "Cleaning up symlinks from previous home at ~a.~%")
((simplify-file-tree "") home-generation)
(file-system-tree (newline)
(string-append old-home "/files/.")))
#f))
(new-tree ((simplify-file-tree "")
(file-system-tree new-files-dir-path)))
(get-source-path (file-system-fold
(lambda (path) (const #t)
(readlink (string-append new-files-path "/" path)))) (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 (const #t) ;down
(lambda (path) (lambda (directory stat _) ;up
(string-append home-path "/." path))) (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 (display (G_ "Cleanup finished.\n\n")))
(lambda (path)
(string-append backup-dir "/." path)))
(directory? (define (create-symlinks home-generation)
(lambda (path) ;; Create in $HOME symlinks for the files in HOME-GENERATION.
(equal? (stat:type (stat path)) 'directory))) (define config-file-directory
;; Note: Trailing slash is needed because "files" is a symlink.
(string-append home-generation "/" #$home-files-directory "/"))
(empty-directory? (define (strip file)
(lambda (dir) (string-drop file
(equal? (scandir dir) '("." "..")))) (+ 1 (string-length config-file-directory))))
(symlink-to-store? (define (source-file file)
(lambda (path) (readlink (string-append config-file-directory file)))
(and
(equal? (stat:type (lstat path)) 'symlink)
(store-file-name? (readlink path)))))
(backup-file (file-system-fold
(lambda (path) (const #t) ;enter?
(mkdir-p backup-dir) (lambda (file stat result) ;leaf
(format #t (G_ "Backing up ~a...") (get-target-path path)) (let ((source (source-file (strip file)))
(mkdir-p (dirname (get-backup-path path))) (target (target-file (strip file))))
(rename-file (get-target-path path) (get-backup-path path)) (when (file-exists? target)
(display (G_ " done\n")))) (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 (catch 'system-error
(lambda () (lambda ()
(let ((to-delete ((file-tree-traverse #f) old-tree))) (mkdir target))
(display (lambda args
(G_ (let ((errno (system-error-errno args)))
"Cleaning up symlinks from previous home-environment.\n\n")) (unless (= EEXIST errno)
(map (format #t (G_ "failed to create directory ~a: ~s~%")
(match-lambda target (strerror errno))
(('dir . ".") (apply throw args))))))))
(display (G_ "Cleanup finished.\n\n"))) (const #t) ;up
(const #t) ;skip
(const #t) ;error
#t ;init
config-file-directory))
(('dir . path) #$%initialize-gettext
(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))))
(('file . path) (let* ((home (string-append home-directory "/.guix-home"))
(when (file-exists? (get-target-path path)) (pivot (string-append home ".new"))
;; DO NOT remove the file if it is no longer (new-home (getenv "GUIX_NEW_HOME"))
;; a symlink to the store, it will be backed (old-home (getenv "GUIX_OLD_HOME")))
;; up later during create-symlinks phase. (when old-home
(if (symlink-to-store? (get-target-path path)) (cleanup-symlinks old-home))
(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))))
(create-symlinks (create-symlinks new-home)
(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))
(('dir . path) (symlink new-home pivot)
(let ((target-path (get-target-path path))) (rename-file pivot home)
(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"))))))
(display (G_" done\nFinished updating symlinks.\n\n")))))))
(define (update-symlinks-gexp _) (define (update-symlinks-gexp _)
#~(primitive-load #$(update-symlinks-script))) #~(primitive-load #$(update-symlinks-script)))

View file

@ -190,11 +190,11 @@ pre-populated content.")
"Default directory for videos.")) "Default directory for videos."))
(define (home-xdg-user-directories-files-service config) (define (home-xdg-user-directories-files-service config)
`(("config/user-dirs.conf" `(("user-dirs.conf"
,(mixed-text-file ,(mixed-text-file
"user-dirs.conf" "user-dirs.conf"
"enabled=False\n")) "enabled=False\n"))
("config/user-dirs.dirs" ("user-dirs.dirs"
,(mixed-text-file ,(mixed-text-file
"user-dirs.dirs" "user-dirs.dirs"
(serialize-configuration (serialize-configuration
@ -218,7 +218,7 @@ pre-populated content.")
(service-type (name 'home-xdg-user-directories) (service-type (name 'home-xdg-user-directories)
(extensions (extensions
(list (service-extension (list (service-extension
home-files-service-type home-xdg-configuration-files-service-type
home-xdg-user-directories-files-service) home-xdg-user-directories-files-service)
(service-extension (service-extension
home-activation-service-type home-activation-service-type
@ -374,7 +374,7 @@ configuration."
"=" val "\n"))) "=" val "\n")))
(define (serialize-alist config) (define (serialize-alist config)
(generic-serialize-alist identity format-config config)) (generic-serialize-alist append format-config config))
(define (serialize-xdg-desktop-action action) (define (serialize-xdg-desktop-action action)
(match 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 "A list of XDG desktop entries to create. See
@code{xdg-desktop-entry}.")) @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) (define (add-xdg-desktop-entry-file entry)
(let ((file (first entry)) (let ((file (first entry))
(config (second entry))) (config (second entry)))
@ -425,16 +425,16 @@ that the application cannot open the specified MIME type.")
(apply mixed-text-file (apply mixed-text-file
(format #f "xdg-desktop-~a-entry" file) (format #f "xdg-desktop-~a-entry" file)
config)))) config))))
(map (compose add-xdg-desktop-entry-file serialize-xdg-desktop-entry)
(home-xdg-mime-applications-configuration-desktop-entries config)))
(append (define (home-xdg-mime-applications-xdg-files config)
`(("config/mimeapps.list" `(("mimeapps.list"
,(mixed-text-file ,(mixed-text-file
"xdg-mime-appplications" "xdg-mime-appplications"
(serialize-configuration (serialize-configuration
config config
home-xdg-mime-applications-configuration-fields)))) 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-extension old-config extension-configs) (define (home-xdg-mime-applications-extension old-config extension-configs)
(define (extract-fields config) (define (extract-fields config)
@ -469,7 +469,10 @@ that the application cannot open the specified MIME type.")
(extensions (extensions
(list (service-extension (list (service-extension
home-files-service-type 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) (compose identity)
(extend home-xdg-mime-applications-extension) (extend home-xdg-mime-applications-extension)
(default-value (home-xdg-mime-applications-configuration)) (default-value (home-xdg-mime-applications-configuration))

View file

@ -287,7 +287,7 @@ list so that each keys of a given technology are gathered in a separate list."
(define (connman-online?) (define (connman-online?)
(let ((state (connman-state))) (let ((state (connman-state)))
(eq? state 'online))) (memq state '(ready online))))
(define (connman-connect-with-auth service password-proc) (define (connman-connect-with-auth service password-proc)
"Connect to the given SERVICE with the password returned by calling "Connect to the given SERVICE with the password returned by calling

View file

@ -348,7 +348,7 @@ fail. See rereadpt function in wipefs.c of util-linux for an explanation."
(define (installer-root-partition-path) (define (installer-root-partition-path)
"Return the root partition path, or #f if it could not be detected." "Return the root partition path, or #f if it could not be detected."
(let* ((cmdline (linux-command-line)) (let* ((cmdline (linux-command-line))
(root (find-long-option "--root" cmdline))) (root (find-long-option "root" cmdline)))
(and root (and root
(or (and (access? root F_OK) root) (or (and (access? root F_OK) root)
(find-partition-by-label root) (find-partition-by-label root)

View file

@ -41,7 +41,7 @@
# Copyright © 2020 Vinicius Monego <monego@posteo.net> # Copyright © 2020 Vinicius Monego <monego@posteo.net>
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> # Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
# Copyright © 2021 Greg Hogan <code@greghogan.com> # 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 Arun Isaac <arunisaac@systemreboot.net>
# Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> # Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz> # Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
@ -122,6 +122,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/axoloti.scm \ %D%/packages/axoloti.scm \
%D%/packages/backup.scm \ %D%/packages/backup.scm \
%D%/packages/base.scm \ %D%/packages/base.scm \
%D%/packages/barrier.scm \
%D%/packages/bash.scm \ %D%/packages/bash.scm \
%D%/packages/batik.scm \ %D%/packages/batik.scm \
%D%/packages/bdw-gc.scm \ %D%/packages/bdw-gc.scm \
@ -603,6 +604,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/vulkan.scm \ %D%/packages/vulkan.scm \
%D%/packages/w3m.scm \ %D%/packages/w3m.scm \
%D%/packages/wdiff.scm \ %D%/packages/wdiff.scm \
%D%/packages/weather.scm \
%D%/packages/web.scm \ %D%/packages/web.scm \
%D%/packages/web-browsers.scm \ %D%/packages/web-browsers.scm \
%D%/packages/webkit.scm \ %D%/packages/webkit.scm \
@ -884,7 +886,6 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-4.3-fno-common.patch \ %D%/packages/patches/awesome-4.3-fno-common.patch \
%D%/packages/patches/aws-c-auth-install-private-headers.patch \ %D%/packages/patches/aws-c-auth-install-private-headers.patch \
%D%/packages/patches/azr3.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-completion-directories.patch \
%D%/packages/patches/bash-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-linux-pgrp-pipe.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.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/cabal-install-ghc8.10.patch \
%D%/packages/patches/cairo-CVE-2018-19876.patch \ %D%/packages/patches/cairo-CVE-2018-19876.patch \
%D%/packages/patches/cairo-CVE-2020-35492.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-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \
%D%/packages/patches/calibre-remove-test-unrar.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/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.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/dvd+rw-tools-add-include.patch \
%D%/packages/patches/dynaconf-unvendor-deps.patch \ %D%/packages/patches/dynaconf-unvendor-deps.patch \
%D%/packages/patches/ecl-16-format-directive-limit.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-ignore-stderr-write-error.patch \
%D%/packages/patches/ecl-16-libffi.patch \ %D%/packages/patches/ecl-16-libffi.patch \
%D%/packages/patches/efibootmgr-remove-extra-decl.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-remove-openmp-error-counting.patch \
%D%/packages/patches/eigen-stabilise-sparseqr-test.patch \ %D%/packages/patches/eigen-stabilise-sparseqr-test.patch \
%D%/packages/patches/einstein-build.patch \ %D%/packages/patches/einstein-build.patch \
@ -1043,7 +1041,6 @@ dist_patch_DATA = \
%D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/esmtp-add-lesmtp.patch \ %D%/packages/patches/esmtp-add-lesmtp.patch \
%D%/packages/patches/eudev-rules-directory.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/exercism-disable-self-update.patch \
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \ %D%/packages/patches/extempore-unbundle-external-dependencies.patch \
%D%/packages/patches/extundelete-e2fsprogs-1.44.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/fp16-system-libraries.patch \
%D%/packages/patches/fpc-reproducibility.patch \ %D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.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/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeglut-gcc-compat.patch \ %D%/packages/patches/freeglut-gcc-compat.patch \
%D%/packages/patches/freeimage-unbundle.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-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-testsuite-dlopen-pie.patch \ %D%/packages/patches/ghc-testsuite-dlopen-pie.patch \
%D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.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-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \
@ -1158,8 +1152,6 @@ dist_patch_DATA = \
%D%/packages/patches/glib-networking-gnutls-binding.patch \ %D%/packages/patches/glib-networking-gnutls-binding.patch \
%D%/packages/patches/glib-networking-32-bit-time.patch \ %D%/packages/patches/glib-networking-32-bit-time.patch \
%D%/packages/patches/glib-skip-failing-test.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-7309.patch \
%D%/packages/patches/glibc-CVE-2019-9169.patch \ %D%/packages/patches/glibc-CVE-2019-9169.patch \
%D%/packages/patches/glibc-CVE-2019-19126.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-clock_t_centiseconds.patch \
%D%/packages/patches/glibc-hurd-gettyent.patch \ %D%/packages/patches/glibc-hurd-gettyent.patch \
%D%/packages/patches/glibc-hurd-mach-print.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-hurd-signal-sa-siginfo.patch \
%D%/packages/patches/glibc-ldd-powerpc.patch \ %D%/packages/patches/glibc-ldd-powerpc.patch \
%D%/packages/patches/glibc-ldd-x86_64.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/grantlee-merge-theme-dirs.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/grfcodec-gcc-compat.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/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.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-3.0-relocatable.patch \
%D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-3.0-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-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \ %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.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-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \
%D%/packages/patches/guile-email-fix-tests.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-fix-builder-test.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.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/hueplusplus-mbedtls.patch \
%D%/packages/patches/hurd-cross.patch \ %D%/packages/patches/hurd-cross.patch \
%D%/packages/patches/hurd-xattr.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/i7z-gcc-10.patch \
%D%/packages/patches/icecat-makeicecat.patch \ %D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.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-ReadDCMImage-fix.patch \
%D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch \ %D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch \
%D%/packages/patches/imagemagick-WriteTHUMBNAILImage-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/instead-use-games-path.patch \
%D%/packages/patches/intel-xed-fix-nondeterminism.patch \ %D%/packages/patches/intel-xed-fix-nondeterminism.patch \
%D%/packages/patches/intltool-perl-compatibility.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/libffi-float128-powerpc64le.patch \
%D%/packages/patches/librime-fix-build-with-gcc10.patch \ %D%/packages/patches/librime-fix-build-with-gcc10.patch \
%D%/packages/patches/libvirt-add-install-prefix.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/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kdiagram-Fix-missing-link-libraries.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/linbox-fix-pkgconfig.patch \
%D%/packages/patches/linphone-desktop-without-sdk.patch \ %D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \ %D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
%D%/packages/patches/linux-libre-arm64-generic-pinebook-lcd.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/linuxdcpp-openssl-1.1.patch \ %D%/packages/patches/linuxdcpp-openssl-1.1.patch \
%D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-localstatedir.patch \
@ -1479,13 +1464,12 @@ dist_patch_DATA = \
%D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \ %D%/packages/patches/mailutils-variable-lookup.patch \
%D%/packages/patches/make-impure-dirs.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-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/mars-sfml-2.3.patch \
%D%/packages/patches/mathjax-disable-webpack.patch \ %D%/packages/patches/mathjax-disable-webpack.patch \
%D%/packages/patches/mathjax-no-a11y.patch \ %D%/packages/patches/mathjax-no-a11y.patch \
%D%/packages/patches/maxima-defsystem-mkdir.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-component-xml.patch \
%D%/packages/patches/maven-generate-javax-inject-named.patch \ %D%/packages/patches/maven-generate-javax-inject-named.patch \
%D%/packages/patches/mcrypt-CVE-2012-4409.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/mercurial-hg-extension-path.patch \
%D%/packages/patches/mesa-opencl-all-targets.patch \ %D%/packages/patches/mesa-opencl-all-targets.patch \
%D%/packages/patches/mesa-skip-tests.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/meson-allow-dirs-outside-of-prefix.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/minetest-add-MINETEST_MOD_PATH.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-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.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/nhc98-c-update.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/nix-dont-build-html-doc.diff \ %D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \ %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \
@ -1564,10 +1545,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \ %D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.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-add-unix-dependency.patch \
%D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \ %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
%D%/packages/patches/ocaml-dose3-dont-make-printconf.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-use-system-googletest.patch \
%D%/packages/patches/onnx-shared-libraries.patch \ %D%/packages/patches/onnx-shared-libraries.patch \
%D%/packages/patches/onnx-skip-model-downloads.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/openboardview-use-system-utf8.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.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/openmpi-mtl-priorities.patch \
%D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openssh-hurd.patch \
%D%/packages/patches/openresolv-restartcmd-guix.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \
%D%/packages/patches/openrgb-unbundle-hueplusplus.patch \ %D%/packages/patches/openrgb-unbundle-hueplusplus.patch \
%D%/packages/patches/opensles-add-license-file.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-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-3.0-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/open-zwave-hidapi.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \ %D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/osip-CVE-2017-7853.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/p7zip-remove-unused-code.patch \
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \ %D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pango-skip-libthai-test.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/password-store-tree-compat.patch \
%D%/packages/patches/pciutils-hurd-configure.patch \ %D%/packages/patches/pciutils-hurd-configure.patch \
%D%/packages/patches/pciutils-hurd-fix.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/strace-readlink-tests.patch \
%D%/packages/patches/sunxi-tools-remove-sys-io.patch \ %D%/packages/patches/sunxi-tools-remove-sys-io.patch \
%D%/packages/patches/p11-kit-hurd.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/patch-hurd-path-max.patch \
%D%/packages/patches/perl-5.14-autosplit-default-time.patch \ %D%/packages/patches/perl-5.14-autosplit-default-time.patch \
%D%/packages/patches/perl-5.14-module-pluggable-search.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/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/postgresql-disable-resolve_symlinks.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-ambiguous-getline-debian.patch \
%D%/packages/patches/procmail-CVE-2014-3618.patch \ %D%/packages/patches/procmail-CVE-2014-3618.patch \
%D%/packages/patches/procmail-CVE-2017-16844.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-fix-tests.patch \
%D%/packages/patches/python-3-hurd-configure.patch \ %D%/packages/patches/python-3-hurd-configure.patch \
%D%/packages/patches/python-3-no-static-lib.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-aionotify-0.2.0-py3.8.patch \
%D%/packages/patches/python-argcomplete-1.11.1-fish31.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/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-configobj-setuptools.patch \
%D%/packages/patches/python-docopt-pytest6-compat.patch \ %D%/packages/patches/python-docopt-pytest6-compat.patch \
%D%/packages/patches/python-execnet-read-only-fix.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-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-magic-python-bytecode.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-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-typing-inspect-fix.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/python-pyan3-fix-positional-arguments.patch \
%D%/packages/patches/python2-pygobject-2-deprecation.patch \ %D%/packages/patches/python2-pygobject-2-deprecation.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.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-runpath.patch \
%D%/packages/patches/python-pytorch-system-libraries.patch \ %D%/packages/patches/python-pytorch-system-libraries.patch \
%D%/packages/patches/python-pytorch-1.9.0-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-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-kde-test.patch \
%D%/packages/patches/python-seaborn-2690.patch \ %D%/packages/patches/python-seaborn-2690.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.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-versioneer-guix-support.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/python-werkzeug-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-build-info-manual.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-glibc-2.30.patch \ %D%/packages/patches/qemu-glibc-2.30.patch \
%D%/packages/patches/qemu-fix-agent-paths.patch \ %D%/packages/patches/qemu-fix-agent-paths.patch \
%D%/packages/patches/qpdfview-qt515-compat.patch \ %D%/packages/patches/qpdfview-qt515-compat.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.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-absolute-runpath.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \ %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-use-TZDIR.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/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.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/racket-minimal-sh-via-rktio.patch \
%D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.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/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/rustc-1.39.0-src.patch \ %D%/packages/patches/rustc-1.39.0-src.patch \
%D%/packages/patches/rust-adblock-ignore-live-tests.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/i3status-rust-enable-unstable-features.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-ndarray-0.13-remove-blas-src.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/scheme48-tests.patch \
%D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-integer-declarations.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/screen-hurd-path-max.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seed-webkit.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/spice-vdagent-glib-2.68.patch \
%D%/packages/patches/sssd-fix-samba.patch \ %D%/packages/patches/sssd-fix-samba.patch \
%D%/packages/patches/sssd-system-directories.patch \ %D%/packages/patches/sssd-system-directories.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/suitesparse-mongoose-cmake.patch \ %D%/packages/patches/suitesparse-mongoose-cmake.patch \
%D%/packages/patches/superlu-dist-awpm-grid.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-remove-wholesparse-check.patch \
%D%/packages/patches/tar-skip-unreliable-tests.patch \ %D%/packages/patches/tar-skip-unreliable-tests.patch \
%D%/packages/patches/tbb-fix-test-on-aarch64.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/tclxml-3.2-install.patch \
%D%/packages/patches/tcsh-fix-autotest.patch \ %D%/packages/patches/tcsh-fix-autotest.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teensy-loader-cli-help.patch \
@ -1893,6 +1859,7 @@ dist_patch_DATA = \
gnu/packages/patches/tootle-reason-phrase.patch \ gnu/packages/patches/tootle-reason-phrase.patch \
%D%/packages/patches/tor-sandbox-i686.patch \ %D%/packages/patches/tor-sandbox-i686.patch \
%D%/packages/patches/transcode-ffmpeg.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/transmission-honor-localedir.patch \
%D%/packages/patches/tremc-fix-decodestring.patch \ %D%/packages/patches/tremc-fix-decodestring.patch \
%D%/packages/patches/trytond-add-egg-modules-to-path.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-tests.patch \
%D%/packages/patches/util-linux-CVE-2021-3995.patch \ %D%/packages/patches/util-linux-CVE-2021-3995.patch \
%D%/packages/patches/util-linux-CVE-2021-3996.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/valgrind-enable-arm.patch \
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \
%D%/packages/patches/vboot-utils-fix-tests-show-contents.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-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
%D%/packages/patches/vtk-fix-freetypetools-build-failure.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/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-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/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \

View file

@ -422,7 +422,8 @@ of MACHINE's system profile, ordered from most recent to oldest."
(let* ((params (call-with-input-string serialized-params (let* ((params (call-with-input-string serialized-params
read-boot-parameters)) read-boot-parameters))
(root (boot-parameters-root-device params)) (root (boot-parameters-root-device params))
(label (boot-parameters-label params))) (label (boot-parameters-label params))
(version (boot-parameters-version params)))
(boot-parameters (boot-parameters
(inherit params) (inherit params)
(label (label
@ -433,7 +434,7 @@ of MACHINE's system profile, ordered from most recent to oldest."
"~Y-~m-~d ~H:~M")) "~Y-~m-~d ~H:~M"))
")")) ")"))
(kernel-arguments (kernel-arguments
(append (bootable-kernel-arguments system-path root) (append (bootable-kernel-arguments system-path root version)
(boot-parameters-kernel-arguments params)))))))) (boot-parameters-kernel-arguments params))))))))
generations)))) generations))))

View file

@ -30,7 +30,6 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages lisp) #:use-module (gnu packages lisp)
#:use-module (gnu packages base)
#:use-module (gnu packages ocaml) #:use-module (gnu packages ocaml)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages polkit) #:use-module (gnu packages polkit)
@ -174,7 +173,6 @@ terminals.")
flite flite
glib glib
gpm gpm
libiconv
icu4c icu4c
libbraille libbraille
pcre2 pcre2

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> ;;; 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> ;;; 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 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.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 © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; 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 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -876,10 +876,27 @@ hostname.")
"Shadow provides a number of authentication-related tools, including: "Shadow provides a number of authentication-related tools, including:
login, passwd, su, groupadd, and useradd.") login, passwd, su, groupadd, and useradd.")
(properties '((hidden? . #t))) ;see below
;; The `vipw' program is GPLv2+. ;; The `vipw' program is GPLv2+.
;; libmisc/salt.c is public domain. ;; libmisc/salt.c is public domain.
(license license:bsd-3))) (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 (define-public mingetty
(package (package
(name "mingetty") (name "mingetty")
@ -1166,7 +1183,7 @@ connection alive.")
(define-public isc-dhcp (define-public isc-dhcp
(let* ((bind-major-version "9") (let* ((bind-major-version "9")
(bind-minor-version "11") (bind-minor-version "11")
(bind-patch-version "36") (bind-patch-version "37")
(bind-release-type "") ; for patch release, use "-P" (bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6" (bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version (bind-version (string-append bind-major-version
@ -1297,7 +1314,7 @@ connection alive.")
(list inetutils net-tools coreutils sed)))))))))) (list inetutils net-tools coreutils sed))))))))))
(native-inputs (native-inputs
(list perl file)) (list config perl file))
(inputs `(("inetutils" ,inetutils) (inputs `(("inetutils" ,inetutils)
("bash" ,(canonical-package bash-minimal)) ;for wrap-program ("bash" ,(canonical-package bash-minimal)) ;for wrap-program
@ -1315,9 +1332,8 @@ connection alive.")
"/bind-" bind-version ".tar.gz")) "/bind-" bind-version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"108nh7hha4r0lb5hf1fn7lqaascvhsrghpz6afm5lf9vf2vgqly9")))) "1zsszgxs9043dfpxb6xs1iwk9jg7nxkl5pbawj8dlshnxkkzp3hd"))))
("config" ,config)
("coreutils*" ,coreutils) ("coreutils*" ,coreutils)
("sed*" ,sed))) ("sed*" ,sed)))
@ -1708,7 +1724,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.9.8p2") (version "1.9.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -1718,7 +1734,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0b8gd15l2g22w4fhhz0gzmq5c8370klanmy2c1p3px6yly6qnfwy")) "1x34k8sd2msfjjsahff1q143gr5j9z19jx2rmkkbiiz7k084d8a4"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1802,7 +1818,7 @@ commands and their arguments.")
(define-public opendoas (define-public opendoas
(package (package
(name "opendoas") (name "opendoas")
(version "6.8.1") (version "6.8.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1811,7 +1827,7 @@ commands and their arguments.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0gfcssm21vdfg6kcrcc7hz1h4jmhy2zv29rfqyrrj3a6r9b5ah8p")))) "1qrin7x9vcprk5pwjbr3w8z2qj8hk6xbvxicdhlk27xr6vcr1qzn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1820,7 +1836,7 @@ commands and their arguments.")
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(substitute* "GNUmakefile" (substitute* "GNUmakefile"
(("^\tchown.*$") "")) (("^\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”. ;; relative command, such as “permit keepenv :wheel cmd guix”.
(substitute* "doas.c" (substitute* "doas.c"
(("safepath =" match) (("safepath =" match)
@ -1828,8 +1844,7 @@ commands and their arguments.")
"/run/setuid-programs:" "/run/setuid-programs:"
"/run/current-system/profile/bin:" "/run/current-system/profile/bin:"
"/run/current-system/profile/sbin:" "/run/current-system/profile/sbin:"
"\" "))) "\" ")))))
#t))
(replace 'configure (replace 'configure
;; The configure script doesn't accept most of the default flags. ;; The configure script doesn't accept most of the default flags.
(lambda* (#:key configure-flags #:allow-other-keys) (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.") characters can be replaced as well, as can UTF-8 characters.")
(license license:bsd-3))) (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 (define-public tree
(package (package
(name "tree") (name "tree")
(version "2.0.1") (version "2.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://mama.indstate.edu/users/ice/tree/src/tree-" "http://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 "0f92vx6gpz7v29wi9clklzah57v7lgx5kv0m1w4b9xjc35d9qcz3")))) (base32 "1bzfkr3kmn2v5x7ljir691fr9hhjvjxqsfz0fc5fgi6ki0fklsbx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -3069,13 +3056,13 @@ platform-specific methods.")
(package (package
(name "audit") (name "audit")
(home-page "https://people.redhat.com/sgrubb/audit/") (home-page "https://people.redhat.com/sgrubb/audit/")
(version "3.0.6") (version "3.0.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append home-page "audit-" version ".tar.gz")) (uri (string-append home-page "audit-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0pnc9wzslks9p6kxw0llp1n8h8yg0frcxl3x84fl0hisa5vlvr63")))) "15r5lrrkv2zj3dvpqssd46w61hmrq27y7c2rz33s20ck59iphk4b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list "--with-python=no" `(#:configure-flags (list "--with-python=no"
@ -3898,7 +3885,8 @@ hard-coded.")
(let ((out (assoc-ref %outputs "out"))) (let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-dbus-sys-dir=" (list (string-append "--with-dbus-sys-dir="
out "/etc/dbus-1/system.d") out "/etc/dbus-1/system.d")
"--localstatedir=/var")) "--localstatedir=/var"
"--disable-werror"))
#:make-flags #:make-flags
(list "V=1") ; log build commands (list "V=1") ; log build commands
#:phases #:phases
@ -4912,23 +4900,20 @@ exit code reports successful or failed execution to
(define-public udpcast (define-public udpcast
(package (package
(name "udpcast") (name "udpcast")
(version "20200328") (version "20211207")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
;; XXX: Original server is at https://www.udpcast.linux.lu is not ;; XXX: Original server is at https://www.udpcast.linux.lu is not
;; reliable. ;; reliable.
(uri (list (string-append (uri (list (string-append
"http://sources.buildroot.net/udpcast/udpcast-"
version ".tar.gz")
(string-append
"https://fossies.org/linux/privat/udpcast-" "https://fossies.org/linux/privat/udpcast-"
version ".tar.gz") version ".tar.gz")
(string-append (string-append
"https://www.udpcast.linux.lu/download/udpcast-" "https://www.udpcast.linux.lu/download/udpcast-"
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 "06pj86nbi9hx7abbb0z2c5ynhfq0rv89b7nmy0kq3xz2lsxfw6cw")))) (base32 "0l6hck694szrrvz85nm48rwb7mzvg2z2bwa50v51pkvym3kvxkm3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf automake m4 perl)) (list autoconf automake m4 perl))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; 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 © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@ -69,6 +69,7 @@
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system r) #:use-module (guix build-system r)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix hg-download) #:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -328,7 +329,7 @@ precision.")
(define-public giac (define-public giac
(package (package
(name "giac") (name "giac")
(version "1.7.0-47") (version "1.7.0-51")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -340,42 +341,42 @@ precision.")
"~parisse/debian/dists/stable/main/source/" "~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz")) "giac_" version ".tar.gz"))
(sha256 (sha256
(base32 "1cbc0vm79q9z3ajn4m5sjg9931ah1wq3icj0m16jsxp52km1h7jx")))) (base32 "0wgqa2nxpv652348fxpchx5zvaj6ssc403jxwsdp5ky9pdpap2zs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:modules ((ice-9 ftw) (list
#:modules '((ice-9 ftw)
(guix build utils) (guix build utils)
(guix build gnu-build-system)) (guix build gnu-build-system))
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-bin-cp (add-after 'unpack 'patch-bin-cp
;; Some Makefiles contain hard-coded "/bin/cp". ;; Some Makefiles contain hard-coded "/bin/cp".
(lambda _ (lambda _
(substitute* (cons "micropython-1.12/xcas/Makefile" (substitute* (cons "micropython-1.12/xcas/Makefile"
(find-files "doc" "^Makefile")) (find-files "doc" "^Makefile"))
(("/bin/cp") (which "cp"))))) (("/bin/cp") (which "cp")))))
(add-after 'unpack 'disable-failing-test (add-after 'unpack 'disable-failing-test
;; FIXME: Test failing. Not sure why. ;; FIXME: Test failing. Not sure why.
(lambda _ (lambda _
(substitute* "check/Makefile.in" (substitute* "check/Makefile.in"
(("chk_fhan11") "")))) (("chk_fhan11") ""))))
(add-after 'install 'fix-doc (add-after 'install 'fix-doc
(lambda* (#:key outputs #:allow-other-keys) (lambda _
(let ((out (assoc-ref outputs "out"))) ;; Most French documentation has a non-commercial license, so we
;; Most French documentation has a non-commercial ;; need to remove it.
;; license, so we need to remove it. (with-directory-excursion
(with-directory-excursion (string-append out "/share/giac/doc/fr") (string-append #$output "/share/giac/doc/fr")
(for-each delete-file-recursively (for-each delete-file-recursively
'("cascas" "casexo" "casgeo" "casrouge" "cassim" '("cascas" "casexo" "casgeo" "casrouge" "cassim"
"castor"))) "castor")))
;; Remove duplicate documentation in ;; Remove duplicate documentation in "%out/share/doc/giac/",
;; "%out/share/doc/giac/", where Xcas does not expect ;; where Xcas does not expect to find it.
;; to find it. (delete-file-recursively
(delete-file-recursively (string-append out "/share/doc/giac"))))) (string-append #$output "/share/doc/giac"))))
(add-after 'install 'remove-unnecessary-executable (add-after 'install 'remove-unnecessary-executable
(lambda* (#:key outputs #:allow-other-keys) (lambda _
(let ((out (assoc-ref outputs "out"))) (delete-file (string-append #$output "/bin/xcasnew")))))))
(delete-file (string-append out "/bin/xcasnew"))))))))
(inputs (inputs
;; TODO: Add libnauty, unbundle "libmicropython.a". ;; TODO: Add libnauty, unbundle "libmicropython.a".
(list ao (list ao
@ -1139,7 +1140,7 @@ features, and more.")
(define-public xtensor (define-public xtensor
(package (package
(name "xtensor") (name "xtensor")
(version "0.20.10") (version "0.24.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1147,11 +1148,11 @@ features, and more.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"1fmv2hpx610xwhxrndfsfvlbqfyk4l3gi5q5d7pa9m82kblxjj9l")) "14fpzwdq26p2fqdrmc78hny9pp09k9c53jnwlh7f8x54ikzm23c2"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
(list googletest xtl)) (list doctest googletest xtl))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
'("-DBUILD_TESTS=ON") '("-DBUILD_TESTS=ON")
@ -1181,7 +1182,7 @@ xtensor provides:
(add-after 'unpack 'remove-march=native (add-after 'unpack 'remove-march=native
(lambda _ (lambda _
(substitute* "benchmark/CMakeLists.txt" (substitute* "benchmark/CMakeLists.txt"
(("-march=native") "")))) (("-march=native\"") "\""))))
(add-after 'unpack 'link-with-googlebenchmark (add-after 'unpack 'link-with-googlebenchmark
(lambda _ (lambda _
(substitute* "benchmark/CMakeLists.txt" (substitute* "benchmark/CMakeLists.txt"
@ -1348,14 +1349,14 @@ objects.")
(define-public gappa (define-public gappa
(package (package
(name "gappa") (name "gappa")
(version "1.3.5") (version "1.4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/latestfile/" (uri (string-append "https://gappa.gitlabpages.inria.fr/releases/"
"2699/gappa-" version ".tar.gz")) "gappa-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0q1wdiwqj6fsbifaayb1zkp20bz8a1my81sqjsail577jmzwi07w")))) "12x42z901pr05ldmparqdi8sq9s7fxbavhzk2dbq3l6hy247dwbb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list boost gmp mpfr)) (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 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 prover for the Why3 software verification platform or as an automatic tactic
for the Coq proof assistant.") 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 (define-public givaro
(package (package

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182021 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 © 2019 by Amar Singh <nly@disroot.org>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; 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 (define-public gnuastro
(package (package
(name "gnuastro") (name "gnuastro")
(version "0.16") (version "0.17")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -305,19 +305,19 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.")
version ".tar.lz")) version ".tar.lz"))
(sha256 (sha256
(base32 (base32
"07xr0r5dmjpnrz7ylf7k3vmjjna2jafi16lfvkqwxj9fyssmz207")))) "1gq37axs9l556pxxmnh47h088gbmp7sk3xjg59qzk2bsycg3dkgh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--disable-static"))) '(#:configure-flags '("--disable-static")))
(inputs (inputs
`(("cfitsio" ,cfitsio) (list cfitsio
("curl" ,curl-minimal) curl-minimal
("gsl" ,gsl) gsl
("libgit2" ,libgit2) libgit2
("libjpeg" ,libjpeg-turbo) libjpeg-turbo
("libtiff" ,libtiff) libtiff
("wcslib" ,wcslib) wcslib
("zlib" ,zlib))) zlib))
(native-inputs (native-inputs
(list libtool lzip)) (list libtool lzip))
(home-page "https://www.gnu.org/software/gnuastro/") (home-page "https://www.gnu.org/software/gnuastro/")
@ -614,13 +614,13 @@ accurately in real time at any rate desired.")
(define-public python-astropy (define-public python-astropy
(package (package
(name "python-astropy") (name "python-astropy")
(version "5.0") (version "5.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "astropy" version)) (uri (pypi-uri "astropy" version))
(sha256 (sha256
(base32 "09rr9z2kn5qw34fqpwxgcwsn9m5aw6f0dd0pm232aa8k3qakw83h")) (base32 "09wh589ywjsgjvi76v2d2zqd9sri0461rrnml0b0pah5lbkcv0k3"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -826,21 +826,20 @@ of astronomical sources.")
(define-public python-pyvo (define-public python-pyvo
(package (package
(name "python-pyvo") (name "python-pyvo")
(version "1.2") (version "1.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyvo" version)) (uri (pypi-uri "pyvo" version))
(sha256 (sha256
(base32 "1lap703wxbyxqlbk85myirp4pkdnc6cg10xhfajfsvz5k0hm5ffw")))) (base32 "1ri5yp6903386lkn79mdcmlax7zsfrrrjbcvb91wxydcc9yasc1n"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(when tests? (when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "-m" "pytest" "--pyargs" "pyvo" "-k" (invoke "python" "-m" "pytest" "--pyargs" "pyvo" "-k"
(string-append ; these tests use the network (string-append ; these tests use the network
"not test_access_with_string" "not test_access_with_string"

View file

@ -422,13 +422,13 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
(inputs (inputs
`(("alsa" ,alsa-lib) `(("alsa" ,alsa-lib)
("flac" ,flac) ("flac" ,flac)
("mpg123" ,mpg123)
("portaudio" ,portaudio) ("portaudio" ,portaudio)
("pulseaudio" ,pulseaudio) ("pulseaudio" ,pulseaudio)
("sdl2" ,sdl2) ("sdl2" ,sdl2)
("sndfile" ,libsndfile) ("sndfile" ,libsndfile)))
("vorbis" ,libvorbis) (propagated-inputs
("zlib" ,zlib))) ;; In Requires.private
(list libogg libvorbis mpg123 zlib))
(synopsis "Audio tracking library") (synopsis "Audio tracking library")
(description "LibOpenMPT is a cross-platform C++ and C module playback (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.") library. It is based on the player code of the Open ModPlug Tracker project.")

View file

@ -1,7 +1,13 @@
" This appends all of the vim plugins to the end of Vim's runtimepath. " 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" let vimplugins = directory . "/share/vim/vimfiles"
if isdirectory(vimplugins) if isdirectory(vimplugins)
let &rtp = join([&rtp,vimplugins], ',') let &rtp = join([&rtp,vimplugins], ',')
endif endif
endfor 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

View file

@ -9101,7 +9101,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9221,7 +9221,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9895,7 +9895,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9864,7 +9864,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9364,7 +9364,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9728,7 +9728,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -10159,7 +10159,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -10198,7 +10198,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9420,7 +9420,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -9819,7 +9819,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
CONFIG_IO_WQ=y CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -10238,7 +10238,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -10274,7 +10274,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 CONFIG_IO_WQ=y
# end of File systems # end of File systems

View file

@ -8697,7 +8697,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
# end of File systems # end of File systems
# #

View file

@ -8644,7 +8644,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set CONFIG_UNICODE=y
# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
# end of File systems # end of File systems
# #

View file

@ -9575,7 +9575,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 # end of File systems
# #

View file

@ -9496,7 +9496,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_DLM=m CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set # 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 # end of File systems
# #

68
gnu/packages/barrier.scm Normal file
View 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)))

View file

@ -85,14 +85,14 @@
(define-public hello (define-public hello
(package (package
(name "hello") (name "hello")
(version "2.11") (version "2.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version (uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1g84a3hqs4pgx3yzs99cysv3iq440ncdw77bf03fsi1w5mby174c")))) "1ayhp9v4m4rdhjmnl2bq3cibrbqqkgjbl3s7yk2nhlh8vj3ay16g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Hello, GNU world: An example GNU package") (synopsis "Hello, GNU world: An example GNU package")
(description (description
@ -1015,105 +1015,6 @@ with the Linux kernel.")
"glibc-reinstate-prlimit64-fallback.patch" "glibc-reinstate-prlimit64-fallback.patch"
"glibc-2.29-supported-locales.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) (define-public (make-gcc-libc base-gcc libc)
"Return a GCC that targets LIBC." "Return a GCC that targets LIBC."
(package (inherit base-gcc) (package (inherit base-gcc)
@ -1270,7 +1171,8 @@ test environments.")
(define-public glibc-locales (define-public glibc-locales
(make-glibc-locales glibc)) (make-glibc-locales glibc))
(define-public glibc-utf8-locales (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. ;; Packages provided to ease use of binaries linked against the previous libc.
(define-public glibc-locales-2.29 (define-public glibc-locales-2.29

View file

@ -8,7 +8,7 @@
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@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 © 2020 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
@ -31,22 +31,33 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages) #: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 check)
#:use-module (gnu packages compression) #: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 linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages opencl) #:use-module (gnu packages opencl)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-science) #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages xml)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public fio (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 devices. It only measures the peak metrics that can be achieved using
vector operations and does not represent a real-world use case.") vector operations and does not represent a real-world use case.")
(license license:unlicense)))) (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+)))

View file

@ -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.") "This package exposes an annotation database generated from Ensembl.")
(license license:artistic2.0))) (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 (define-public r-txdb-dmelanogaster-ucsc-dm6-ensgene
(package (package
(name "r-txdb-dmelanogaster-ucsc-dm6-ensgene") (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.") exploration of the results.")
(license license:gpl3+))) (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 (define-public r-dirichletmultinomial
(package (package
(name "r-dirichletmultinomial") (name "r-dirichletmultinomial")
@ -4349,6 +4425,43 @@ differential expression analysis, RNAseq data and related problems.")
;; Any version of the LGPL ;; Any version of the LGPL
(license license:lgpl3+))) (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 (define-public r-scdblfinder
(package (package
(name "r-scdblfinder") (name "r-scdblfinder")

View file

@ -4,8 +4,8 @@
;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2020, 2021 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2020, 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
@ -3340,7 +3340,7 @@ data and settings.")
texlive-latex-ms texlive-latex-ms
texlive-latex-natbib texlive-latex-natbib
texlive-bibtex ; style files used by natbib texlive-bibtex ; style files used by natbib
texlive-latex-pgf ; tikz texlive-pgf ; tikz
texlive-latex-verbatimbox))) texlive-latex-verbatimbox)))
("imagemagick" ,imagemagick))) ("imagemagick" ,imagemagick)))
(home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/") (home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/")
@ -11409,7 +11409,7 @@ version does count multisplits.")
(define-public minimap2 (define-public minimap2
(package (package
(name "minimap2") (name "minimap2")
(version "2.23") (version "2.24")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -11418,7 +11418,7 @@ version does count multisplits.")
"minimap2-" version ".tar.bz2")) "minimap2-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"00ngbz1swcgxk5apx9dz5xkh1z8abdpysx5lc7w8fbrfxp41w0j0")))) "05d6h2c1h95s5vblf1fijn9g0r4g69nsvkabji42j642y0gw7m4x"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; there are none `(#:tests? #f ; there are none
@ -11695,6 +11695,49 @@ including:
;; the GPL, but the license headers include the "or later" clause. ;; the GPL, but the license headers include the "or later" clause.
(license license:gpl3+))) (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 (define-public r-circus
(package (package
(name "r-circus") (name "r-circus")
@ -13840,6 +13883,35 @@ vast-tools, an RNA-Seq pipeline for alternative splicing analysis. The plots
are generated using @code{ggplot2}.") are generated using @code{ggplot2}.")
(license license:expat))) (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 (define-public vbz-compression
(package (package
(name "vbz-compression") (name "vbz-compression")
@ -14620,55 +14692,48 @@ alignments, trees and genomic annotations.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-gffutils (define-public python-gffutils
;; The latest release is older more than a year than the latest commit (package
(let ((commit "4034c54600813b1402945e12faa91b3a53162cf1") (name "python-gffutils")
(revision "1")) (version "0.10.1")
(package (source
(name "python-gffutils") (origin
(version (git-version "0.9" revision commit)) (method git-fetch)
(source (uri (git-reference
(origin (url "https://github.com/daler/gffutils")
(method git-fetch) (commit (string-append "v" version))))
(uri (git-reference (file-name (git-file-name name version))
(url "https://github.com/daler/gffutils") (sha256
(commit commit))) (base32
(file-name (git-file-name name version)) "1gkzk7ps6w3ai2r81js9s9bzpba0jmxychnd2da6n9ggdnf2xzqz"))))
(sha256 (build-system python-build-system)
(base32 (arguments
"1rwafjdnbir5wnk0ap06ww4lra3p5frhy7mfs03rlldgfnwxymsn")))) '(#:phases
(build-system python-build-system) (modify-phases %standard-phases
(arguments (replace 'check
`(#:phases (lambda* (#:key tests? #:allow-other-keys)
(modify-phases %standard-phases (when tests?
(replace 'check
(lambda _
;; Tests need to access the HOME directory ;; Tests need to access the HOME directory
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
(invoke "nosetests" "-a" "!slow"))) (invoke "nosetests" "-a" "!slow")))))))
(add-after 'unpack 'make-gz-files-writable (propagated-inputs
(lambda _ (list python-argcomplete
(for-each make-file-writable python-argh
(find-files "." "\\.gz")) python-biopython
#t))))) python-pybedtools
(propagated-inputs python-pyfaidx
(list python-argcomplete python-simplejson
python-argh python-six))
python-biopython (native-inputs
python-pybedtools (list python-nose))
python-pyfaidx (home-page "https://github.com/daler/gffutils")
python-simplejson (synopsis "Tool for manipulation of GFF and GTF files")
python-six)) (description
(native-inputs "python-gffutils is a Python package for working with and manipulating
(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 the GFF and GTF format files typically used for genomic annotations. The
files are loaded into a SQLite database, allowing much more complex files are loaded into a SQLite database, allowing much more complex
manipulation of hierarchical features (e.g., genes, transcripts, and exons) manipulation of hierarchical features (e.g., genes, transcripts, and exons)
than is possible with plain-text methods alone.") than is possible with plain-text methods alone.")
(license license:expat)))) (license license:expat)))
(define-public indelfixer (define-public indelfixer
(package (package

View file

@ -15,6 +15,7 @@
;;; Copyright © 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch> ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch>
;;; Copyright © 2022 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2022 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2022 Jacob Hart <hartja1@yahoo.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -477,7 +478,7 @@ desktops.")
(define-public qbittorrent (define-public qbittorrent
(package (package
(name "qbittorrent") (name "qbittorrent")
(version "4.4.0") (version "4.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -486,7 +487,7 @@ desktops.")
(commit (string-append "release-" version)))) (commit (string-append "release-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0aqrcwxi3s2alila3fa7fjs4hifkq7055wa4xvz17hajchs3l567")))) (base32 "00whc4p209g2krsggxyq4sna01djbk1rbzkyjbq4qczvya01xn0w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017, 2018, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; 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 © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@ -448,18 +448,21 @@ menu to select one of the installed operating systems.")
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://kernel.org/software/utils/dtc/" "mirror://kernel.org/software/utils/dtc/"
"dtc-" version ".tar.xz")) "dtc-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0wrl43rvd8nnm1v1wyfdr17vk8q7ymib62vli6da8n9ni4lwbkk5")))) "0xm38h31jb29xfh2sfyk48d8wdfq4b8lmb412zx9vjr35izjb9iq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list bison (append
flex (list bison
libyaml flex
pkg-config libyaml
swig pkg-config
valgrind)) swig)
(if (member (%current-system) (package-supported-systems valgrind))
(list valgrind)
'())))
(inputs (inputs
(list python)) (list python))
(arguments (arguments
@ -480,10 +483,7 @@ menu to select one of the installed operating systems.")
(substitute* '("Makefile" (substitute* '("Makefile"
"tests/run_tests.sh") "tests/run_tests.sh")
(("pkg-config") (("pkg-config")
(or (which "pkg-config") ,(pkg-config-for-target)))))
(string-append ,(%current-target-system)
"-pkg-config"))))
#t))
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
(home-page "https://www.devicetree.org") (home-page "https://www.devicetree.org")
(synopsis "Compiles device tree source files") (synopsis "Compiles device tree source files")

View file

@ -51,7 +51,7 @@ supported content to the Kodi media center.")
(define ublock-origin (define ublock-origin
(package (package
(name "ublock-origin") (name "ublock-origin")
(version "1.41.2") (version "1.41.6")
(home-page "https://github.com/gorhill/uBlock") (home-page "https://github.com/gorhill/uBlock")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -62,7 +62,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ga8yj2zkyngah0li3la3gslhjdayp0barch5w3y2jp9i14df9k2")))) "05flr4jksa3l4cwi0fgkzmzn46rg5znaqd73615lwnxmnpr4va9d"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium")) (outputs '("xpi" "firefox" "chromium"))
(arguments (arguments

View file

@ -38,6 +38,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix store)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bootstrap) #: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") (home-page "https://github.com/awslabs/aws-c-mqtt")
(license license:asl2.0))) (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 (define-public utf8-h
;; The latest tag is used as there is no release. ;; The latest tag is used as there is no release.
(let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734") (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734")

View file

@ -313,37 +313,37 @@ format, commonly used for VCDs or disks with subchannel data.")
(string-append (string-append
"actual_os := $(shell uname -o)\n" "actual_os := $(shell uname -o)\n"
"actual_arch := $(shell uname -m)\n" "actual_arch := $(shell uname -m)\n"
"VERSION_OS = _$(actual_os)_$(actual_arch)\n"))) "VERSION_OS = _$(actual_os)_$(actual_arch)\n")))))
#t))
(patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch")))) (patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia. ;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia.
(arguments (arguments
`(#:make-flags (list #:make-flags
(list "RM=rm" "LN=ln" "SYMLINK=ln -s" #~(list "RM=rm" "LN=ln" "SYMLINK=ln -s"
"CONFIG_SHELL=sh" "CCOM=gcc" "CONFIG_SHELL=sh"
(string-append "INS_BASE=" (assoc-ref %outputs "out")) (string-append "CCOM=" #$(cc-for-target))
(string-append "INS_RBASE=" (assoc-ref %outputs "out"))) "LINKMODE=dynamic"
;; Parallel builds appear to be unsafe, see (string-append "INS_BASE=" #$output)
;; https://hydra.gnu.org/build/3346840/log/raw (string-append "INS_RBASE=" #$output))
#:parallel-build? #f ;; Parallel builds appear to be unsafe, see
#:phases ;; https://hydra.gnu.org/build/3346840/log/raw
(modify-phases %standard-phases #:parallel-build? #f
(delete 'configure) #:phases
(add-before 'build 'set-linux-headers #~(modify-phases %standard-phases
(lambda _ (delete 'configure)
(substitute* "autoconf/configure" (add-before 'build 'set-linux-headers
(("/usr/src/linux") (lambda _
(assoc-ref %build-inputs "kernel-headers"))) (substitute* "autoconf/configure"
#t)) (("/usr/src/linux")
(add-before 'build 'substitute-dirs (assoc-ref %build-inputs "kernel-headers")))))
(lambda _ (add-before 'build 'avoid-bogus-RPATH-entry
(substitute* (append (find-files "DEFAULTS" "^Defaults\\.") (lambda _
(find-files "DEFAULTS_ENG" "^Defaults\\.") (substitute* (append (find-files "DEFAULTS" "^Defaults\\.")
(find-files "TEMPLATES" "^Defaults\\.")) (find-files "DEFAULTS_ENG" "^Defaults\\.")
(("/opt/schily") (assoc-ref %outputs "out"))) (find-files "TEMPLATES" "^Defaults\\."))
#t))) (("/opt/schily")
#:tests? #f)) ; no tests #$output)))))
#:tests? #f)) ; no tests
(synopsis "Command line utilities to manipulate and burn CD/DVD/BD images") (synopsis "Command line utilities to manipulate and burn CD/DVD/BD images")
(description "cdrtools is a collection of command line utilities to create (description "cdrtools is a collection of command line utilities to create
CD's, DVD's or Blue Ray discs. The most important components are CD's, DVD's or Blue Ray discs. The most important components are

View file

@ -37,6 +37,7 @@
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr> ;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -93,7 +94,7 @@
(define-public pict (define-public pict
(package (package
(name "pict") (name "pict")
(version "3.7.2") (version "3.7.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -103,7 +104,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hpff8x49ixlh71sbyhj1rircf0mg95v5q9y0ys52rhiph99wy3n")))) "0bpyl0zklw2fyxgynrc7shg0xamw8rr68zmh528niscrpavsmfpi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -2885,13 +2886,27 @@ provides a simple way to achieve this.")
"0xmi24ckpps32k7hc139psgbsnsf4g106sv4l9m445m46amkxggd")))) "0xmi24ckpps32k7hc139psgbsnsf4g106sv4l9m445m46amkxggd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (list #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-test (add-after 'unpack 'fix-test
(lambda _ (lambda _
(substitute* "tests/test-umockdev.c" (substitute* "tests/test-umockdev.c"
(("/run") "/tmp")) (("/run") "/tmp"))))
#t))))) ;; 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 (native-inputs
(list vala (list vala
gobject-introspection gobject-introspection
@ -2901,7 +2916,9 @@ provides a simple way to achieve this.")
python python
which)) which))
(inputs (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/") (home-page "https://github.com/martinpitt/umockdev/")
(synopsis "Mock hardware devices for creating unit tests") (synopsis "Mock hardware devices for creating unit tests")
(description "umockdev mocks hardware devices for creating integration (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.") skipped if any of the dependencies did fail or has been skipped.")
(license license:asl2.0))) (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 (define-public python-pytest-datadir
(package (package
(name "python-pytest-datadir") (name "python-pytest-datadir")

File diff suppressed because it is too large Load diff

View file

@ -310,7 +310,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB. ;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests")) '("third_party/blink/perf_tests"))
(define %chromium-version "98.0.4758.80") (define %chromium-version "98.0.4758.102")
(define %ungoogled-revision (string-append %chromium-version "-1")) (define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/90.0.4430.85-1") (define %debian-revision "debian/90.0.4430.85-1")
@ -322,7 +322,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256 (sha256
(base32 (base32
"0a8y9yz6xyh025gk3dr0ndrdwmrslhd1ph2f8nivmqk61j7c2g8h")))) "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0"))))
(define* (debian-patch name hash #:optional (revision %debian-revision)) (define* (debian-patch name hash #:optional (revision %debian-revision))
(origin (origin
@ -451,7 +451,7 @@
%chromium-version ".tar.xz")) %chromium-version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8")) "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet)))) (snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system) (build-system gnu-build-system)

View file

@ -1265,7 +1265,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
(install-file "gawk" bin) (install-file "gawk" bin)
(symlink "gawk" (string-append bin "/awk")))))))))) (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 ;; 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 ;; using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
;; gcc. ;; gcc.
@ -1359,7 +1359,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
"SHELL = " shell " "SHELL = " shell "
BASH = "))))))))))) BASH = ")))))))))))
(define-public gcc-mesboot0 (define gcc-mesboot0
(package (package
(inherit gcc-core-mesboot0) (inherit gcc-core-mesboot0)
(name "gcc-mesboot0") (name "gcc-mesboot0")
@ -1403,63 +1403,6 @@ ac_cv_c_float_format='IEEE (little-endian)'
,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include") ,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include")
"LANGUAGES=c"))))))) "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) (define (%boot-mesboot0-inputs)
`(("gcc" ,gcc-mesboot0) `(("gcc" ,gcc-mesboot0)
("kernel-headers" ,%bootstrap-linux-libre-headers) ("kernel-headers" ,%bootstrap-linux-libre-headers)
@ -2050,7 +1993,7 @@ exec " gcc "/bin/" program
(lambda _ (lambda _
(invoke "./hello")))))))) (invoke "./hello"))))))))
(define-public binutils-mesboot (define binutils-mesboot
(package (package
(inherit binutils) (inherit binutils)
(name "binutils-mesboot") (name "binutils-mesboot")
@ -3636,9 +3579,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define (%boot3-inputs) (define (%boot3-inputs)
;; 4th stage inputs. ;; 4th stage inputs.
`(("gcc" ,gcc-final) `(("gcc" ,gcc-final)
,@(if (target-riscv64?)
`(("gcc:lib" ,gcc-final "lib"))
'())
("ld-wrapper" ,ld-wrapper-boot3) ("ld-wrapper" ,ld-wrapper-boot3)
,@(alist-delete "gcc" (%boot2-inputs)))) ,@(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") ("libc:static" ,glibc-final "static")
("locales" ,glibc-utf8-locales-final)))) ("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 (define-public canonical-package
(let ((name->package (fold (lambda (input result) (let ((name->package (fold (lambda (input result)
(match input (match input

View file

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; 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 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20162021 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) (build-system gnu-build-system)
(outputs (list "out" "static")) (outputs (list "out" "static"))
(native-inputs (native-inputs
(list ;; For tests. (append
python valgrind)) (list python) ;; For tests.
(if (member (%current-system) (package-supported-systems valgrind))
(list valgrind)
'())))
(arguments (arguments
`(;; Not designed for parallel testing. `(;; Not designed for parallel testing.
;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821 ;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821
@ -873,7 +876,7 @@ time for compression ratio.")
"LZO_SUPPORT=1" "LZO_SUPPORT=1"
"LZ4_SUPPORT=1" "LZ4_SUPPORT=1"
"ZSTD_SUPPORT=1" "ZSTD_SUPPORT=1"
(string-append "INSTALL_DIR=" %output "/bin")) (string-append "INSTALL_DIR=" (assoc-ref %outputs "out") "/bin"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
@ -2093,7 +2096,7 @@ single-member files which can't be decompressed in parallel.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) `(#:tests? #f))
(inputs (list boost libiconv xz)) (inputs (list boost xz))
(native-inputs (list pkg-config)) (native-inputs (list pkg-config))
(home-page "https://constexpr.org/innoextract/") (home-page "https://constexpr.org/innoextract/")
(synopsis "Tool for extracting Inno Setup installers") (synopsis "Tool for extracting Inno Setup installers")

View file

@ -111,7 +111,7 @@ performance).
(define-public picom (define-public picom
(package (package
(name "picom") (name "picom")
(version "9") (version "9.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -120,7 +120,7 @@ performance).
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"0s3rf0lmkhhprx6vd5wsz1n0n55nprq6l1245pj525hrwxc1yvna")) "0q7j6kh9k7i201cwhnfc3bmp0hqrx7ngk3v4qsp8k0qfy1n3ma8n"))
(file-name (string-append "picom-" version)))) (file-name (string-append "picom-" version))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs

View file

@ -3,7 +3,7 @@
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; 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 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
@ -25,6 +25,10 @@
;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -50,6 +54,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (guix gexp) #:use-module (guix gexp)
@ -171,6 +176,10 @@ development effort.")
(sha256 (sha256
(base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh")))) (base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DRANGES_NATIVE=OFF")))
(native-inputs (native-inputs
(list doxygen gcc-9 perl)) (list doxygen gcc-9 perl))
(inputs (inputs
@ -222,6 +231,53 @@ use by the C++ Core Guidelines maintained by the Standard C++ Foundation.")
(home-page "https://github.com/microsoft/GSL/") (home-page "https://github.com/microsoft/GSL/")
(license license:expat))) (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 (define-public libzen
(package (package
(name "libzen") (name "libzen")
@ -350,7 +406,7 @@ combination of these streams.")
(define-public xsimd (define-public xsimd
(package (package
(name "xsimd") (name "xsimd")
(version "7.5.0") (version "8.0.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -358,7 +414,7 @@ combination of these streams.")
(url "https://github.com/QuantStack/xsimd") (url "https://github.com/QuantStack/xsimd")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0c9pq5vz43j99z83w3b9qylfi66mn749k1afpv5cwfxggbxvy63f")) (base32 "0fph1gzrj13knfkl3fvg098ccvqkbzs0jb8n323m7pnxajpzhzij"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -566,7 +622,7 @@ intuitive syntax and trivial integration.")
(define-public xtl (define-public xtl
(package (package
(name "xtl") (name "xtl")
(version "0.6.23") (version "0.7.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (uri
@ -575,20 +631,19 @@ intuitive syntax and trivial integration.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"1kd9zl4h6nrsg29hq13vwp4zhfj8sa90vj40726lpw6vxz48k4di")) "134pgvmf9cx5dxs0m0m3qhp3m3r1gl86ic3xax21zc4sdj8sdq46"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(native-inputs (native-inputs
(list googletest json-modern-cxx)) (list doctest googletest json-modern-cxx))
(arguments (arguments
`(#:configure-flags '(#:configure-flags
'("-DBUILD_TESTS=ON") '("-DBUILD_TESTS=ON")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda* _ (lambda* _
(with-directory-excursion "test" (with-directory-excursion "test"
(invoke "./test_xtl") (invoke "./test_xtl")))))))
#t))))))
(home-page "https://github.com/QuantStack/xtl") (home-page "https://github.com/QuantStack/xtl")
(build-system cmake-build-system) (build-system cmake-build-system)
(synopsis "C++ template library providing some basic tools") (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")) (supported-systems '("aarch64-linux" "x86_64-linux"))
(license license:asl2.0))) (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 (define-public aws-crt-cpp
(let* ((commit "b6d311d76b504bf8ace5134d3fca0e672c36c9c3") (let* ((commit "b6d311d76b504bf8ace5134d3fca0e672c36c9c3")
(revision "1")) (revision "1"))
@ -1188,6 +1276,44 @@ provides a number of utilities to make coding with expected cleaner.")
(home-page "https://tl.tartanllama.xyz/") (home-page "https://tl.tartanllama.xyz/")
(license license:cc0))) (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 (define-public magic-enum
(package (package
(name "magic-enum") (name "magic-enum")
@ -1717,3 +1843,24 @@ concepts (like dates and times), and building blocks for developing
multi-threaded applications and network applications.") multi-threaded applications and network applications.")
(home-page "https://github.com/bloomberg/bde") (home-page "https://github.com/bloomberg/bde")
(license license:asl2.0)))) (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

View file

@ -8,7 +8,7 @@
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; 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 © 2020 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
@ -102,23 +102,25 @@ shapes, lines and text to buffers.")
(define-public rust-ansi-colours-1 (define-public rust-ansi-colours-1
(package (package
(name "rust-ansi-colours") (name "rust-ansi-colours")
(version "1.0.1") (version "1.1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "ansi_colours" version)) (uri (crate-uri "ansi_colours" version))
(file-name (file-name
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1dnqmpk68mzvncj37jlv0362kdgsgjxg010c6psagimgh4m303qx")))) "03b2365y0ffkvqw61bc4imz6661jvi39vcs4q6q5d43znqrq4rrj"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
(("rust-cc" ,rust-cc-1)) (("rust-rgb" ,rust-rgb-0.8))
#:cargo-development-inputs #:cargo-development-inputs
(("rust-delta-e" ,rust-delta-e-0.2) (("rust-crc64" ,rust-crc64-1)
("rust-lab" ,rust-lab-0.4)))) ("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") (home-page "https://github.com/mina86/ansi_colours")
(synopsis "Palette converter between true-colour and ANSI terminal") (synopsis "Palette converter between true-colour and ANSI terminal")
(description (description

File diff suppressed because it is too large Load diff

View file

@ -42,7 +42,6 @@
#:export (cross-binutils #:export (cross-binutils
cross-libc cross-libc
cross-gcc cross-gcc
cross-newlib?
cross-kernel-headers)) cross-kernel-headers))
(define-syntax %xgcc (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=" `((string-append "--with-toolexeclibdir="
(assoc-ref %outputs "lib") (assoc-ref %outputs "lib")
"/" ,target "/lib")) "/" ,target "/lib"))
'())
;; For a newlib (non-glibc) target
,@(if (cross-newlib? target)
'("--with-newlib")
'())) '()))
,(if libc ,(if libc
@ -489,10 +484,11 @@ target that libc."
(xheaders (cross-kernel-headers target))) (xheaders (cross-kernel-headers target)))
"Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
and the cross tool chain." and the cross tool chain."
(if (cross-newlib? target libc) (if (target-mingw? target)
(native-libc target libc (let ((machine (substring target 0 (string-index target #\-))))
#:xgcc xgcc (make-mingw-w64 machine
#:xbinutils xbinutils) #:xgcc xgcc
#:xbinutils xbinutils))
(package (package
(inherit libc) (inherit libc)
(name (string-append "glibc-cross-" target)) (name (string-append "glibc-cross-" target))
@ -553,24 +549,6 @@ and the cross tool chain."
,@(package-inputs libc) ;FIXME: static-bash ,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc)))))) ,@(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: ;;; Concrete cross tool chains are instantiated like this:
;; ;;

View file

@ -21,7 +21,8 @@
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
;;; Copyright © 2021 Ellis Kenyő <me@elken.dev> ;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -73,6 +74,7 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-check) #:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages search) #:use-module (gnu packages search)
#:use-module (gnu packages serialization) #: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++ (define-public crypto++
(package (package
(name "crypto++") (name "crypto++")
(version "8.5.0") (version "8.6.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3")))) "1vm821wpx59ccz6gr4xplqpxj3f1qq3jijyybj2g4npqmmldhx3b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -871,6 +873,11 @@ BLAKE.")
(add-before 'build 'change-directory (add-before 'build 'change-directory
(lambda _ (lambda _
(chdir "b2sum"))) (chdir "b2sum")))
;; Produce generic binaries
(add-after 'change-directory 'de-tune
(lambda _
(substitute* "makefile"
((" -march=native") ""))))
(delete 'configure)))) ; No ./configure script (delete 'configure)))) ; No ./configure script
(home-page "https://www.blake2.net/") (home-page "https://www.blake2.net/")
(synopsis "BLAKE2 checksum tool") (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.") 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 ;; You may also choose to redistribute this program as Apache 2.0 or the
;; OpenSSL license. See 'b2sum/b2sum.c' in the source distribution. ;; 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 (define-public rhash
(package (package
@ -1459,7 +1470,7 @@ non-encrypted files.")
(define-public cryfs (define-public cryfs
(package (package
(name "cryfs") (name "cryfs")
(version "0.11.0") (version "0.11.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1467,7 +1478,7 @@ non-encrypted files.")
"https://github.com/cryfs/cryfs/releases/download/" "https://github.com/cryfs/cryfs/releases/download/"
version "/cryfs-" version ".tar.xz")) version "/cryfs-" version ".tar.xz"))
(sha256 (sha256
(base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm")))) (base32 "1ggizlacm4fccsw9syy2763ihxnby6cdh3mhhraxy8bmsdjza7lm"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:modules ((guix build cmake-build-system) '(#:modules ((guix build cmake-build-system)
@ -1483,7 +1494,7 @@ non-encrypted files.")
"/cmake-utils/DependenciesFromLocalSystem.cmake")) "/cmake-utils/DependenciesFromLocalSystem.cmake"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'fix-configure (add-before 'configure 'fix-up
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
;; Remove junk directory that breaks the build ;; Remove junk directory that breaks the build
(chdir "..") (delete-file-recursively ".circleci") (chdir "..") (delete-file-recursively ".circleci")
@ -1494,7 +1505,14 @@ non-encrypted files.")
(when tests? (when tests?
(substitute* "CMakeLists.txt" (substitute* "CMakeLists.txt"
(("option.BUILD_TESTING .build test cases. OFF.") (("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 (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(when tests? (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 ;; Users may choose between these two licenses when redistributing the
;; program provided by this package. ;; program provided by this package.
(license (list license:cc0 license:asl2.0)))) (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)))

View file

@ -341,16 +341,17 @@ curl to obtain exactly that HTTP request.")
(define-public coeurl (define-public coeurl
(package (package
(name "coeurl") (name "coeurl")
(version "0.1.1") (version "0.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://nheko.im/nheko-reborn/coeurl") (url "https://nheko.im/nheko-reborn/coeurl")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0sqciagagyc0qv90g0qw8fkyvy4l8h7nbaz04chiz9gnv89hg28p")))) "0kbazvrb4hzc9jr7yywd36ack1yy7bh8sh1kc4jzv6jfzvxjb0i0"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list doctest pkg-config)) (list doctest pkg-config))

View file

@ -28,7 +28,7 @@
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.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 © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
@ -36,7 +36,7 @@
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.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 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
@ -993,6 +993,14 @@ Language.")
#:parallel-tests? ,(target-x86-64?) #:parallel-tests? ,(target-x86-64?)
#:phases #:phases
(modify-phases %standard-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 (add-after 'unpack 'adjust-output-references
(lambda _ (lambda _
;; The build system invariably prepends $CMAKE_INSTALL_PREFIX ;; The build system invariably prepends $CMAKE_INSTALL_PREFIX
@ -1143,7 +1151,13 @@ Language.")
(("-lssl -lcrypto" all) (("-lssl -lcrypto" all)
(string-append "-L" openssl "/lib " all))))))))) (string-append "-L" openssl "/lib " all)))))))))
(native-inputs (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 (inputs
`(("jemalloc" ,jemalloc) `(("jemalloc" ,jemalloc)
("libaio" ,libaio) ("libaio" ,libaio)
@ -1216,14 +1230,14 @@ and high-availability (HA).")
(define-public postgresql-14 (define-public postgresql-14
(package (package
(name "postgresql") (name "postgresql")
(version "14.1") (version "14.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"07x45iycqpps0qh3ingc09jgn9rpnmc3gixx0qprhf5flwg10g2d")) "0ylpka64wli72jvjyqcayvlw44zk1hsbapb93l8gh4l98qp8pxrc"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1285,44 +1299,33 @@ pictures, sounds, or video.")
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s")))))) "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s"))
(patches (search-patches "postgresql-riscv-spinlocks.patch"))))))
(define-public postgresql-11 (define-public postgresql-11
(package (package
(inherit postgresql-13) (inherit postgresql-13)
(name "postgresql") (name "postgresql")
(version "11.13") (version "11.15")
(source (origin (source (origin
(inherit (package-source postgresql-13)) (inherit (package-source postgresql-13))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0j5wnscnxa3sx8d39s55654df8aikmvkihfb0a02hrgmyygnihx0")))))) "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8"))))))
(define-public postgresql-10 (define-public postgresql-10
(package (package
(inherit postgresql-11) (inherit postgresql-11)
(version "10.18") (version "10.20")
(source (origin (source (origin
(inherit (package-source postgresql-11)) (inherit (package-source postgresql-11))
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"009qpb02bq0rx0aaw5ck70gk07xwparhfxvlfimgihw2vhp7qisp")))))) "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7"))))))
(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"))))))
(define-public postgresql postgresql-13) (define-public postgresql postgresql-13)
@ -2646,7 +2649,7 @@ trees (LSM), for sustained throughput under random insert workloads.")
(inputs (inputs
(list wiredtiger-3 guile-2.2)) (list wiredtiger-3 guile-2.2))
(propagated-inputs (propagated-inputs
(list guile-bytestructures)) (list guile2.2-bytestructures))
(synopsis "WiredTiger bindings for GNU Guile") (synopsis "WiredTiger bindings for GNU Guile")
(description (description
"This package provides Guile bindings to the WiredTiger ``NoSQL'' "This package provides Guile bindings to the WiredTiger ``NoSQL''
@ -3561,7 +3564,8 @@ PickleShare.")
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'build (replace 'build
(lambda _ (lambda _
(invoke "python" "setup.py" "build" "--enable-all-extensions") (invoke "python" "setup.py" "build" "--enable-all-extensions"
"--enable=load_extension")
#t)) #t))
(add-after 'build 'build-test-helper (add-after 'build 'build-test-helper
(lambda _ (lambda _
@ -4137,7 +4141,7 @@ the SQL language using a syntax that reflects the resulting query.")
(define-public apache-arrow (define-public apache-arrow
(package (package
(name "apache-arrow") (name "apache-arrow")
(version "6.0.1") (version "7.0.0")
(source (source
(origin (origin
(method git-fetch) (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0mcw361akqw4sxnnpnr9c9v1zk4hphk6gcq763pcb19yzljh88ig")))) "19xx6mlddca79q6d3wga574m4y32ixmxx2rmk6j3f22i5c37mjzw"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f
@ -4580,18 +4584,21 @@ a Gtk.Grid Widget.")
(snippet (snippet
'(begin '(begin
(delete-file-recursively "libs/qcustomplot-source/") (delete-file-recursively "libs/qcustomplot-source/")
(delete-file-recursively "libs/qhexedit/")
(delete-file-recursively "libs/qscintilla"))))) (delete-file-recursively "libs/qscintilla")))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
(list #:configure-flags (list #:configure-flags
;; TODO: Unbundle QHexEdit. ;; TODO: Unbundle json (json-modern-cxx).
#~(list (string-append "-DQSCINTILLA_INCLUDE_DIR=" #~(list (string-append "-DQSCINTILLA_INCLUDE_DIR="
#$(this-package-input "qscintilla") #$(this-package-input "qscintilla")
"/include/Qsci") "/include/Qsci")
"-DFORCE_INTERNAL_QCUSTOMPLOT=OFF" "-DFORCE_INTERNAL_QCUSTOMPLOT=OFF"
"-DFORCE_INTERNAL_QHEXEDIT=OFF"
"-DENABLE_TESTING=ON"))) "-DENABLE_TESTING=ON")))
(inputs (inputs
(list qcustomplot (list qcustomplot
qhexedit
qscintilla qscintilla
qtbase-5 qtbase-5
sqlite)) sqlite))

View file

@ -83,7 +83,7 @@ contains the archive keys used for that.")
(define-public debian-ports-archive-keyring (define-public debian-ports-archive-keyring
(package (package
(name "debian-ports-archive-keyring") (name "debian-ports-archive-keyring")
(version "2021.12.30") (version "2022.02.15")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -92,7 +92,7 @@ contains the archive keys used for that.")
"/debian-ports-archive-keyring_" version ".tar.xz")) "/debian-ports-archive-keyring_" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"14f9hklr8gdlp782j5ijmm0nh061zcfw9vwpr8smb7rdfzk4wk70")))) "096m45l7g8vbk67gwc6bmkzpx8mhn6xfglgrzlg9xkgcs5gxqyc0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; No test suite. '(#:tests? #f ; No test suite.

View file

@ -199,6 +199,11 @@ tools that process C/C++ code.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-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 (add-before 'build 'hardcode-paths
(lambda _ (lambda _
(substitute* "cvise.py" (substitute* "cvise.py"
@ -755,9 +760,25 @@ use than similar tools like @command{mtrace}.")
(base32 "1w8ib2vg3pg68d9hh97fw5042c73i9nqavdddc87n9bpscjbaf0d")))) (base32 "1w8ib2vg3pg68d9hh97fw5042c73i9nqavdddc87n9bpscjbaf0d"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list ncurses readline)) (list bash-minimal ncurses readline gdb))
(native-inputs (native-inputs
(list flex texinfo)) (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") (home-page "https://cgdb.github.io")
(synopsis "Console front-end to the GNU debugger") (synopsis "Console front-end to the GNU debugger")
(description (description

View file

@ -74,7 +74,7 @@
(define-public diffoscope (define-public diffoscope
(package (package
(name "diffoscope") (name "diffoscope")
(version "199") (version "207")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -83,7 +83,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0wy1nd52a4rzqhhdcdi3pfgrixz3w3q7qfc9mpc9zraq5cj94l7n")) (base32 "0djpkq9fpw8dpiqaghbbg5dshl27xgkqrifalx9nq87dix5c1y6d"))
(patches (patches
(search-patches "diffoscope-fix-llvm-test.patch")))) (search-patches "diffoscope-fix-llvm-test.patch"))))
(build-system python-build-system) (build-system python-build-system)

View file

@ -22,6 +22,8 @@
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li> ;;; 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -63,6 +65,7 @@
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nss) #:use-module (gnu packages nss)
@ -81,6 +84,7 @@
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages terminals) #:use-module (gnu packages terminals)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages vim) #:use-module (gnu packages vim)
#:use-module (gnu packages w3m) #:use-module (gnu packages w3m)
#:use-module (gnu packages web) #: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+. ;; The home page says GPLv2, but the source code says GPLv2+.
(license license:gpl2+))) (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 (define-public pydf
(package (package
(name "pydf") (name "pydf")

View file

@ -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. ;; When updating, check whether isc-dhcp's bundled copy should be as well.
;; The BIND release notes are available here: ;; The BIND release notes are available here:
;; https://www.isc.org/bind/ ;; https://www.isc.org/bind/
(version "9.16.25") (version "9.16.27")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.isc.org/isc/bind9/" version (uri (string-append "https://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.xz")) "/bind-" version ".tar.xz"))
(sha256 (sha256
(base32 "1wqzbq7jfd8zlidkfgx3fc1132xn5hrga7xznzw3x1421y2ji8wz")) (base32 "0rpmighbbim9wi24p2bg814x5z20xkvv5y6nfnfh30ac22pjm44h"))
(patches (patches
(search-patches "bind-re-add-attr-constructor-priority.patch")))) (search-patches "bind-re-add-attr-constructor-priority.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -870,7 +870,7 @@ Extensions} (DNSSEC).")
(define-public knot (define-public knot
(package (package
(name "knot") (name "knot")
(version "3.1.5") (version "3.1.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -879,7 +879,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "145fnz740y1g0h2m07kpcimf2rx37saq2l905bl6vwa5ifybrgcq")) (base32 "0rwcp55fvmm0vhad1368knfn0ri642sigh8nykvvikdlx06d21cj"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -473,7 +473,11 @@ the in DocBook SGML DTDs.")
texlive-latex-footmisc texlive-latex-footmisc
texlive-hyperref texlive-hyperref
texlive-latex-jknapltx texlive-latex-jknapltx
;; TODO: Use non-deprecated name on
;; next rebuild cycle.
texlive-latex-listings texlive-latex-listings
texlive-latex-multirow texlive-latex-multirow
texlive-latex-overpic texlive-latex-overpic
texlive-latex-pdfpages texlive-latex-pdfpages

View file

@ -5,6 +5,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -40,7 +41,7 @@
(define-public dunst (define-public dunst
(package (package
(name "dunst") (name "dunst")
(version "1.7.3") (version "1.8.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -49,8 +50,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ra0ii805w3rrs0qqbjxzl6i79ksz42lnvbglw18h4igkza21kzj")) "19bh5789whlc0n5wbyx3yx8px93hccn42f1p6i1dz96hdkk5mjb8"))))
(patches (search-patches "dunst-1.7.3-fix-crash.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target

View file

@ -6,7 +6,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; 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 © 2020 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org> ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
@ -31,6 +31,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -39,6 +40,7 @@
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
@ -56,6 +58,7 @@
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages javascript) #:use-module (gnu packages javascript)
#:use-module (gnu packages language)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages libreoffice) #:use-module (gnu packages libreoffice)
#:use-module (gnu packages music) #:use-module (gnu packages music)
@ -120,218 +123,218 @@ with Microsoft Compiled HTML (CHM) files")
(define-public calibre (define-public calibre
(package (package
(name "calibre") (name "calibre")
(version "5.21.0") (version "5.36.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://download.calibre-ebook.com/" (uri (string-append "http://download.calibre-ebook.com/"
version "/calibre-" version "/calibre-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0mq2w8blq6ykaml812axakwkqcw85qcpfwijdikn7kvbrhnnp2s5")) "1c036qmn7lxq0899c2xzzs6whz7z0557frnfqisbvfxa13b2sadk"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; Unbundle python2-odfpy. ;; Unbundle python2-odfpy.
(delete-file-recursively "src/odf") (delete-file-recursively "src/odf")
;; Disable test that attempts to load it. ;; Disable test that attempts to load it.
(substitute* "setup/test.py" (substitute* "setup/test.py"
((".*SRC, 'odf'.*") ((".*SRC, 'odf'.*") ""))
"")) ;; Remove unneeded resources.
(delete-file "resources/mozilla-ca-certs.pem")
;; Remove unneeded resources. (delete-file "resources/calibre-portable.bat")
(delete-file "resources/mozilla-ca-certs.pem") (delete-file "resources/calibre-portable.sh")))
(delete-file "resources/calibre-portable.bat") (patches (search-patches "calibre-no-updates-dialog.patch"
(delete-file "resources/calibre-portable.sh") "calibre-remove-test-sqlite.patch" ; TODO: fix test.
#t)) "calibre-remove-test-unrar.patch"))))
(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"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
(list pkg-config (list bash-minimal
qtbase-5 ; for qmake pkg-config
python-flake8 python-flake8
python-pyqt-builder python-pyqt-builder
qtbase-5 ; for qmake
xdg-utils)) xdg-utils))
(inputs (inputs
`(("fontconfig" ,fontconfig) (list fontconfig
("font-liberation" ,font-liberation) font-liberation
("glib" ,glib) glib
("hunspell" ,hunspell) hunspell
("hyphen" ,hyphen) hyphen
("icu4c" ,icu4c) icu4c
("libmtp" ,libmtp) libmtp
("libpng" ,libpng) libpng
("libjpeg" ,libjpeg-turbo) libjpeg-turbo
("libjxr" ,libjxr) libjxr
("libusb" ,libusb) libstemmer
("openssl" ,openssl) libusb
("optipng" ,optipng) openssl
("podofo" ,podofo) optipng
("poppler" ,poppler) podofo
("python-apsw" ,python-apsw) poppler
("python-beautifulsoup4" ,python-beautifulsoup4) python-apsw
("python-cchardet" ,python-cchardet) python-beautifulsoup4
("python-css-parser" ,python-css-parser) python-cchardet
("python-cssselect" ,python-cssselect) python-css-parser
("python-dateutil" ,python-dateutil) python-cssselect
("python-dbus" ,python-dbus) python-dateutil
("python-dnspython" ,python-dnspython-1.16) python-dnspython-1.16
("python-dukpy" ,python-dukpy) python-feedparser
("python-feedparser" ,python-feedparser) python-html2text
("python-html2text" ,python-html2text) python-html5-parser
("python-html5-parser" ,python-html5-parser) python-html5lib
("python-html5lib" ,python-html5lib) python-jeepney
("python-lxml" ,python-lxml) python-lxml
("python-markdown" ,python-markdown) python-markdown
("python-mechanize" ,python-mechanize) python-mechanize
;; python-msgpack is needed for the network content server to work. ;; python-msgpack is needed for the network content server to work.
("python-msgpack" ,python-msgpack) python-msgpack
("python-netifaces" ,python-netifaces) python-netifaces
("python-odfpy" ,python-odfpy) python-odfpy
("python-pillow" ,python-pillow) python-pillow
("python-psutil" ,python-psutil) python-psutil
("python-py7zr" ,python-py7zr) python-py7zr
("python-pychm" ,python-pychm) python-pychm
("python-pycryptodome" ,python-pycryptodome) python-pygments
("python-pygments" ,python-pygments) python-pyqt-without-qtwebkit
("python-pyqt-without-qtwebkit" ,python-pyqt-without-qtwebkit) python-pyqtwebengine
("python-pyqtwebengine" ,python-pyqtwebengine) python-regex
("python-regex" ,python-regex) speech-dispatcher
("python-speechd" ,speech-dispatcher) python-zeroconf
("python-zeroconf" ,python-zeroconf) qtwebengine
("qtwebengine" ,qtwebengine) sqlite))
("sqlite" ,sqlite)))
(arguments (arguments
`(;; Calibre is using setuptools by itself, but the setup.py is not (list
;; compatible with the shim wrapper (taken from pip) we are using. ;; Calibre is using setuptools by itself, but the setup.py is not
#:use-setuptools? #f ;; compatible with the shim wrapper (taken from pip) we are using.
#:phases #:use-setuptools? #f
(modify-phases %standard-phases #:phases
(add-after 'unpack 'patch-source #~(modify-phases %standard-phases
(lambda _ (add-after 'unpack 'patch-source
(substitute* "src/calibre/linux.py" (lambda _
;; We can't use the uninstaller in Guix. Don't build it. (substitute* "src/calibre/linux.py"
(("self\\.create_uninstaller()") "")) ;; We can't use the uninstaller in Guix. Don't build it.
#t)) (("self\\.create_uninstaller()") ""))))
(add-after 'patch-source-shebangs 'patch-more-shebangs (add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _ (lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Patch various inline shebangs. ;; Patch various inline shebangs.
(substitute* '("src/calibre/gui2/preferences/tweaks.py" (substitute* '("src/calibre/gui2/preferences/tweaks.py"
"src/calibre/gui2/dialogs/custom_recipes.py" "src/calibre/gui2/dialogs/custom_recipes.py"
"setup/install.py" "setup/install.py"
"setup/linux-installer.sh") "setup/linux-installer.sh")
(("#!/usr/bin/env python") (("#!/usr/bin/env python")
(string-append "#!" (which "python"))) (string-append "#!" (search-input-file inputs "/bin/python")))
(("#!/bin/sh") (("#!/bin/sh")
(string-append "#!" (which "sh")))) (string-append "#!"
#t)) (search-input-file native-inputs "/bin/sh"))))))
(add-after 'unpack 'dont-load-remote-icons (add-after 'unpack 'dont-load-remote-icons
(lambda _ (lambda _
(substitute* "setup/plugins_mirror.py" (substitute* "setup/plugins_mirror.py"
(("href=\"//calibre-ebook.com/favicon.ico\"") (("href=\"//calibre-ebook.com/favicon.ico\"")
"href=\"favicon.ico\"")) "href=\"favicon.ico\""))))
#t)) (add-before 'build 'configure
(add-before 'build 'configure (lambda* (#:key inputs #:allow-other-keys)
(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")))
(substitute* "setup/build.py" (substitute* "setup/build.py"
(("\\[tool.sip.bindings.pictureflow\\]") (("\\[tool.sip.bindings.pictureflow\\]")
"[tool.sip.bindings.pictureflow] "[tool.sip.bindings.pictureflow]
tags = [\"WS_X11\"]") tags = [\"WS_X11\"]")
(("\\[tool.sip.project\\]") (("\\[tool.sip.project\\]")
(string-append "[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" (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'") (("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") (string-append "PDFTOHTML = \""
"/bin/pdftohtml\""))) (search-input-file inputs "/bin/pdftohtml")
;; get_exe_path looks in poppler's output for these binaries. Make "\"")))
;; it not do that. ;; get_exe_path looks in poppler's output for these
;; binaries. Make it not do that.
(substitute* "src/calibre/utils/img.py" (substitute* "src/calibre/utils/img.py"
(("get_exe_path..jpegtran..") (string-append "'" (which "jpegtran") "'")) (("get_exe_path..jpegtran..")
(("get_exe_path..cjpeg..") (string-append "'" (which "cjpeg") "'")) (string-append "'"
(("get_exe_path..optipng..") (string-append "'" (which "optipng") "'")) (search-input-file inputs "/bin/jpegtran")
(("get_exe_path..JxrDecApp..") (string-append "'" (which "JxrDecApp") "'"))) "'"))
(("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 ;; Calibre thinks we are installing desktop files into a home
;; directory, but here we butcher the script in to installing ;; directory, but here we butcher the script in to installing
;; to calibres /share directory. ;; 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" (substitute* "src/calibre/linux.py"
(("'~/.local/share'") "''")) (("'~/.local/share'") "''"))
;; 'python setup.py rapydscript' uses QtWebEngine, which ;; 'python setup.py rapydscript' uses QtWebEngine, which
;; needs to create temporary files in $HOME. ;; needs to create temporary files in $HOME.
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
;; XXX: QtWebEngine will fail if no fonts are available. This ;; XXX: QtWebEngine will fail if no fonts are available. This
;; can likely be removed when fontconfig has been patched to ;; can likely be removed when fontconfig has been patched to
;; include TrueType fonts by default. ;; include TrueType fonts by default.
(symlink (string-append (assoc-ref inputs "font-liberation") (symlink (string-append #$(this-package-input "font-liberation")
"/share/fonts") "/share/fonts")
"/tmp/.fonts") "/tmp/.fonts")
(let ((podofo #$(this-package-input "podofo")))
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo")) (setenv "PODOFO_INC_DIR"
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")) (string-append podofo "/include/podofo"))
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")))
;; This informs the tests we are a continuous integration ;; This informs the tests we are a continuous integration
;; environment and thus have no networking. ;; environment and thus have no networking.
(setenv "CI" "true") (setenv "CI" "true")
;; The Qt test complains about being unable to load all image plugins, and I ;; The Qt test complains about being unable to load all image
;; notice the available plugins list it shows lacks 'svg'. Adding qtsvg doesn't ;; plugins, and I notice the available plugins list it shows
;; fix it, so I'm not sure how to fix it. TODO: Fix test and remove this. ;; lacks 'svg'. Adding qtsvg doesn't fix it, so I'm not sure how
(setenv "SKIP_QT_BUILD_TEST" "true") ;; to fix it. TODO: Fix test and remove this.
#t))) (setenv "SKIP_QT_BUILD_TEST" "true")))
(add-after 'install 'install-rapydscript (add-after 'install 'install-rapydscript
(lambda* (#:key inputs #:allow-other-keys) (lambda _
;; Unset so QtWebengine doesn't dump temporary files here. ;; Unset so QtWebengine doesn't dump temporary files here.
(unsetenv "XDG_DATA_HOME") (unsetenv "XDG_DATA_HOME")
(invoke "python" "setup.py" "rapydscript") (invoke "python" "setup.py" "rapydscript")))
#t)) (add-after 'install 'install-man-pages
(add-after 'install 'install-man-pages (lambda _
(lambda* (#:key outputs #:allow-other-keys) (copy-recursively "man-pages"
(copy-recursively (string-append #$output "/share/man"))))
"man-pages" ;; The font TTF files are used in some miscellaneous tests, so we
(string-append (assoc-ref outputs "out") "/share/man")) ;; unbundle them here to avoid patching the tests.
#t)) (add-after 'install 'unbundle-font-liberation
;; The font TTF files are used in some miscellaneous tests, so we (lambda _
;; unbundle them here to avoid patching the tests. (let ((font-dest
(add-after 'install 'unbundle-font-liberation (string-append #$output "/share/calibre/fonts/liberation"))
(lambda* (#:key inputs outputs #:allow-other-keys) (font-src
(let ((font-dest (string-append (assoc-ref outputs "out") (string-append #$(this-package-input "font-liberation")
"/share/calibre/fonts/liberation")) "/share/fonts/truetype")))
(font-src (string-append (assoc-ref inputs "font-liberation") (delete-file-recursively font-dest)
"/share/fonts/truetype"))) (symlink font-src font-dest))))
(delete-file-recursively font-dest) ;; Make run-time dependencies available to the binaries.
(symlink font-src font-dest)) (add-after 'wrap 'wrap-program
#t)) (lambda* (#:key inputs #:allow-other-keys)
;; Make run-time dependencies available to the binaries. (with-directory-excursion (string-append #$output "/bin")
(add-after 'wrap 'wrap-program (for-each
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda (binary)
(let ((out (assoc-ref outputs "out")) (wrap-program binary
(qtwebengine (assoc-ref inputs "qtwebengine"))) ;; Make QtWebEngineProcess available.
(with-directory-excursion (string-append out "/bin") `("QTWEBENGINEPROCESS_PATH" =
(for-each ,(list
(lambda (binary) (search-input-file
(wrap-program binary inputs "/lib/qt5/libexec/QtWebEngineProcess")))))
;; Make QtWebEngineProcess available. ;; Wrap all the binaries shipping with the package, except
`("QTWEBENGINEPROCESS_PATH" = ;; for the wrappings created during the 'wrap standard
,(list (string-append ;; phase. This extends existing .calibre-real wrappers
qtwebengine ;; rather than create ..calibre-real-real-s. For more
"/lib/qt5/libexec/QtWebEngineProcess"))))) ;; information see: https://issues.guix.gnu.org/43249.
;; Wrap all the binaries shipping with the package, except (find-files "." (lambda (file stat)
;; for the wrappings created during the 'wrap standard (not (wrapped-program? file)))))))))))
;; 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)))))
(home-page "https://calibre-ebook.com/") (home-page "https://calibre-ebook.com/")
(synopsis "E-book library management software") (synopsis "E-book library management software")
(description "Calibre is an e-book library manager. It can view, convert (description "Calibre is an e-book library manager. It can view, convert
@ -515,7 +518,7 @@ following formats:
(define-public cozy (define-public cozy
(package (package
(name "cozy") (name "cozy")
(version "1.1.2") (version "1.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -524,7 +527,7 @@ following formats:
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0hifzzhhf0ww6iar9gswjfndy3i54s6jc41zaazlx4scc7r6fhs0")))) (base32 "0igqf9b77i13sxlk4ziw549h379hmz1slrb3vvf8irk94gxabsaw"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t
@ -559,15 +562,16 @@ following formats:
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib))))))))) `("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib)))))))))
(native-inputs (native-inputs
`(("desktop-file-utils" ,desktop-file-utils) (list desktop-file-utils
("gettext" ,gettext-minimal) gettext-minimal
("glib:bin" ,glib "bin") `(,glib "bin")
("gobject-introspection" ,gobject-introspection) gobject-introspection
("gtk+:bin" ,gtk+ "bin") `(,gtk+ "bin")
("pkg-config" ,pkg-config) pkg-config
("python" ,python-wrapper))) python-wrapper))
(inputs (inputs
(list file (list bash-minimal
file
granite granite
gsettings-desktop-schemas gsettings-desktop-schemas
gst-libav gst-libav
@ -608,7 +612,7 @@ Some of the current features:
@item Mpris integration (Media keys & playback info for desktop environment) @item Mpris integration (Media keys & playback info for desktop environment)
@end itemize") @end itemize")
;; TODO: Unbundle python-inject. ;; TODO: Unbundle python-inject.
(license (list license:gpl3+ ;cozy (license (list license:gpl3+ ;cozy
license:asl2.0)))) ;python-inject (bundled dependency) license:asl2.0)))) ;python-inject (bundled dependency)
(define-public xchm (define-public xchm

View file

@ -142,7 +142,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt (define-public gcompris-qt
(package (package
(name "gcompris-qt") (name "gcompris-qt")
(version "2.1") (version "2.3")
(source (source
(origin (origin
(method url-fetch) (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-" "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "02j3xv8sa3s5g50zs15wy2giabmhg1q0b8ar73q3fpwvxkz9hcwn")))) (base32 "0qncknaaf168anh4cjp7dqz6qzgx948kvgr32j2vga8mjakqn1aj"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -56,7 +56,8 @@
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages stb)) #:use-module (gnu packages stb)
#:use-module (gnu packages toolkits))
(define-public libserialport (define-public libserialport
(package (package
@ -251,7 +252,7 @@ supported devices, as well as input/output file format support.")
(define-public openboardview (define-public openboardview
(package (package
(name "openboardview") (name "openboardview")
(version "8.95.1") (version "8.95.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -264,19 +265,17 @@ supported devices, as well as input/output file format support.")
(guix build utils))) (guix build utils)))
(snippet (snippet
'(with-directory-excursion "src" '(with-directory-excursion "src"
;; Keep the bundled ImGui for now, as in the current version (define keep (list "." ".." "openboardview"))
;; (~1.79), it requires the glad loader generated at build
;; time as an input.
(define keep (list "." ".." "imgui" "openboardview"))
(for-each (lambda (f) (for-each (lambda (f)
(when (eq? 'directory (stat:type (lstat f))) (when (eq? 'directory (stat:type (lstat f)))
(delete-file-recursively f))) (delete-file-recursively f)))
(scandir "." (negate (cut member <> keep)))))) (scandir "." (negate (cut member <> keep))))))
(patches (patches
(search-patches "openboardview-use-system-utf8.patch")) (search-patches "openboardview-use-system-imgui.patch"
"openboardview-use-system-utf8.patch"))
(sha256 (sha256
(base32 (base32
"16mrs7bimwp8a8lb2wqhfisy6j0hl9574l4h9yb66v46aglvmd3h")))) "1n2yfi8wpky0y231kq2zdgwn7f7kff8m53m904hxi5ppmwhx1d6q"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -288,17 +287,6 @@ supported devices, as well as input/output file format support.")
((guix build glib-or-gtk-build-system) #:prefix gtk:)) ((guix build glib-or-gtk-build-system) #:prefix gtk:))
#:phases #:phases
#~(modify-phases %standard-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 (add-before 'configure 'configure-glad
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/CMakeLists.txt" (substitute* "src/CMakeLists.txt"
@ -340,6 +328,7 @@ supported devices, as well as input/output file format support.")
(inputs (inputs
(list fontconfig (list fontconfig
gtk+ gtk+
imgui
sdl2 sdl2
sqlite sqlite
zlib)) zlib))

View file

@ -60,17 +60,15 @@
(for-each make-file-writable (find-files ".")))) (for-each make-file-writable (find-files "."))))
(add-after 'make-git-checkout-writable 'replace-paths (add-after 'make-git-checkout-writable 'replace-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* '("lib/elixir/lib/system.ex" ;; Note: references end up obfuscated in binary BEAM files where
"lib/mix/lib/mix/scm/git.ex") ;; they may be invisible to the GC and graft code:
(("(cmd\\(['\"])git" _ prefix) ;; <https://issues.guix.gnu.org/54304#11>.
(string-append prefix
(search-input-file inputs "/bin/git"))))
(substitute* '("lib/mix/lib/mix/release.ex" (substitute* '("lib/mix/lib/mix/release.ex"
"lib/mix/lib/mix/tasks/release.init.ex") "lib/mix/lib/mix/tasks/release.init.ex")
(("#!/bin/sh") (("#!/bin/sh")
(string-append "#!" (search-input-file inputs "sh")))) (string-append "#!" (search-input-file inputs "/bin/sh"))))
(substitute* "bin/elixir" (substitute* "bin/elixir"
(("^ERTS_BIN=$") (("ERTS_BIN=\n")
(string-append (string-append
"ERTS_BIN=" "ERTS_BIN="
;; Elixir Releases will prepend to ERTS_BIN the path of ;; Elixir Releases will prepend to ERTS_BIN the path of

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; 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 © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; ;;;
@ -56,12 +56,14 @@
#:use-module (gnu packages libftdi) #:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages messaging) #:use-module (gnu packages messaging)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages version-control) #: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 (define-public ucsim
(package (package
(name "ucsim") (name "ucsim")
(version "0.6-pre68") (version "0.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://mazsola.iit.uni-miskolc.hu/ucsim/download/unix/" "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 (sha256
(base32 (base32
"1bfj21f5pcfcg1xqqynlcfr8mn6qj5705cgc2lfr2s3n97qsd9df")))) "080471wvkjdzxz5j3zdaq1apjcj84ql50kn26b7p4ansixnimml4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--enable-avr-port" `(#:phases
"--enable-m6809-port"
"--enable-p1516-port"
"--enable-st7-port")
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-makefiles (add-after 'unpack 'patch-makefiles
(lambda _ (lambda _
(substitute* (find-files "." "(\\.mk$|\\.in$)") (substitute* (find-files "." "(\\.mk$|\\.in$)")
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh"))))))))
#t)) (inputs
(add-after 'install 'remove-empty-directory (list ncurses))
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively
(string-append (assoc-ref outputs "out") "/share/man"))
#t)))))
(native-inputs (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/") (home-page "http://mazsola.iit.uni-miskolc.hu/ucsim/")
(synopsis "Simulators for various microcontroller families") (synopsis "Simulators for various microcontroller families")
(description "μCsim is a collection of software simulators for (description "μCsim is a collection of software simulators for
microcontrollers in the Atmel AVR; Intel MCS-51 (8051); Motorola 68HC08 and microcontrollers in the Atmel AVR; Intel MCS-51 (8051); MOS Technology 6502;
6809; P1516; Padauk PDK13, PDK14 and PDK15; STMicroelectronics ST7 and STM8; Motorola 6800, 68HC08 and 6809; P1516; Padauk PDK13, PDK14 and PDK15;
and Zilog Z80 families, plus many of their variants.") STMicroelectronics ST7 and STM8; Xilinx PicoBlaze; and Zilog Z80 families,
plus many of their variants.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public sdcc (define-public sdcc
(package (package
(name "sdcc") (name "sdcc")
(version "4.1.0") (version "4.2.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1534,7 +1534,7 @@ and Zilog Z80 families, plus many of their variants.")
"/" version "/sdcc-src-" version ".tar.bz2")) "/" version "/sdcc-src-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0gskzli17ghnn5qllvn4d56qf9bvvclqjh63nnj63p52smvggvc1")) "0ly0m3q9vzjb9kcfjh79s77wpl4w7xhybzy4h9x0bmmw4cfsx6xl"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1545,13 +1545,10 @@ and Zilog Z80 families, plus many of their variants.")
#t)) #t))
(patches (search-patches "sdcc-disable-non-free-code.patch")))) (patches (search-patches "sdcc-disable-non-free-code.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs
(list readline))
(native-inputs (native-inputs
`(("bison" ,bison) (list bison boost flex python-2 texinfo zlib))
("boost" ,boost)
("flex" ,flex)
("python-2" ,python-2)
("texinfo" ,texinfo)
("zlib" ,zlib)))
(arguments (arguments
`(;; GPUTILS is required for the PIC ports, but the licensing status of `(;; GPUTILS is required for the PIC ports, but the licensing status of
;; some of the files contained in its distribution is unclear (see ;; 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") (home-page "http://sdcc.sourceforge.net")
(synopsis "C compiler suite for 8-bit microcontrollers") (synopsis "C compiler suite for 8-bit microcontrollers")
(description "SDCC is a retargetable, optimizing Standard C compiler suite (description "SDCC is a retargetable, optimizing Standard C compiler suite
that targets 8-bit microcontrollers in the Intel MCS-51 (8051); Motorola that targets 8-bit microcontrollers in the Intel MCS-51 (8051); MOS Technology
68HC08; Padauk PDK13, PDK14 and PDK15; STMicroelectronics STM8; and Zilog Z80 6502; Motorola 68HC08; Padauk PDK13, PDK14 and PDK15; STMicroelectronics STM8;
families, plus many of their variants.") and Zilog Z80 families, plus many of their variants.")
(license (list license:gpl2+ (license (list license:gpl2+
license:gpl3+ license:gpl3+
license:lgpl2.0+ license:lgpl2.0+

View file

@ -73,6 +73,7 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages libedit) #:use-module (gnu packages libedit)
@ -1711,7 +1712,7 @@ This is a part of the TiLP project.")
(define-public mame (define-public mame
(package (package
(name "mame") (name "mame")
(version "0.240") (version "0.241")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1720,7 +1721,7 @@ This is a part of the TiLP project.")
(commit (apply string-append "mame" (string-split version #\.))))) (commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "141mj5kzafnbw6nqlc3ariwxqn8lq3s13dzypax6igpy4wfy75rm")) (base32 "13bm81qyzvpllzmrak5nb87cdyyvsv4hcnznnrz4jyx1bd8ky6ap"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove bundled libraries. ;; Remove bundled libraries.
@ -1890,7 +1891,7 @@ functions. The source code to MAME serves as this documentation.")
(define-public gnome-arcade (define-public gnome-arcade
(package (package
(name "gnome-arcade") (name "gnome-arcade")
(version "0.218.2") (version "0.240")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1900,7 +1901,7 @@ functions. The source code to MAME serves as this documentation.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1qc01a62p65qb6mwjfmxqsd6n3rglsfwrjhsp25nr7q54107n55l")))) "110dpbbcj73s3i2zcnay0kdpsngcpq8mif88279pdc2967ld0a6r"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -1944,6 +1945,42 @@ functions. The source code to MAME serves as this documentation.")
arcade and console emulator.") arcade and console emulator.")
(license license:gpl3+))) (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 (define-public pcsxr
;; No release since 2017. ;; No release since 2017.
(let ((commit "6484236cb0281e8040ff6c8078c87899a3407534")) (let ((commit "6484236cb0281e8040ff6c8078c87899a3407534"))

View file

@ -19,7 +19,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2020, 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; 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 © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com> ;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
@ -28,6 +28,7 @@
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2022 Olivier Dion <olivier.dion@polymtl.ca>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1270,24 +1271,24 @@ use on a given system.")
(define-public libredwg (define-public libredwg
(package (package
(name "libredwg") (name "libredwg")
(version "0.12.4") (version "0.12.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/libredwg/libredwg-" (uri (string-append "mirror://gnu/libredwg/libredwg-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "05v5k8fkx4z1p81x9kna7nlzmyx09dn686rj2zprnkf337qmg24i")))) (base32 "1gginbl76vmpccjwx93cmg8ibap8l40swly3bjv7rhmdwv6ikpnk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--disable-bindings"))) `(#:configure-flags '("--disable-bindings")))
(native-inputs (native-inputs
`(("libxml2" ,libxml2) (list libxml2
("parallel" ,parallel) parallel
("perl" ,perl) perl
("pkg-config" ,pkg-config) pkg-config
("python" ,python-wrapper) python-wrapper
("python-libxml2" ,python-libxml2))) python-libxml2))
(inputs (inputs
(list pcre2)) (list pcre2))
(home-page "https://www.gnu.org/software/libredwg/") (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 (define-public capstone
(package (package
(name "capstone") (name "capstone")
(version "3.0.5") (version "4.0.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/aquynh/capstone") (url "https://github.com/capstone-engine/capstone")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0dgf82kxj4rs45d6s8sr984c38sll1n5scpypjlyh21gh2yl4qfw")))) "0y5g74yjyliciawpn16zhdwya7bd3d7b1cccpcccc2wg8vni1k2w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f `(#: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. ;; cstool's Makefile +=s LDFLAGS, so we cannot pass it as a make flag.
(add-before 'build 'fix-cstool-ldflags (add-before 'build 'fix-cstool-ldflags
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS" (string-append "-Wl,-rpath=" (setenv "LDFLAGS"
(assoc-ref outputs "out") "/lib")) (string-append "-Wl,-rpath="
#t))))) (assoc-ref outputs "out") "/lib")))))))
(home-page "https://www.capstone-engine.org") (home-page "https://github.com/capstone-engine/capstone")
(synopsis "Lightweight multi-platform, multi-architecture disassembly framework") (synopsis "Lightweight multi-platform, multi-architecture disassembly framework")
(description (description
"Capstone is a lightweight multi-platform, multi-architecture disassembly "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>. ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
(package (package
(name "libngspice") (name "libngspice")
(version "35") (version "36")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1755,7 +1756,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
"old-releases/" version "old-releases/" version
"/ngspice-" version ".tar.gz"))) "/ngspice-" version ".tar.gz")))
(sha256 (sha256
(base32 "1v3ra9p2sc6ash1bbjm6i4i3dd6ymxjgnyha7z5rlmyvfv1gbdy1")))) (base32 "133za6m9grpnnlb46sijkda7ky41mrbvfdb60i0m695sxy3q50ag"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; No tests for libngspice exist. `(;; No tests for libngspice exist.
@ -1788,8 +1789,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(native-inputs (native-inputs
(list bison flex)) (list bison flex))
(inputs (inputs
`(("libxaw" ,libxaw) (list libxaw openmpi))
("mpi" ,openmpi)))
(home-page "http://ngspice.sourceforge.net/") (home-page "http://ngspice.sourceforge.net/")
(synopsis "Mixed-level/mixed-signal circuit simulator") (synopsis "Mixed-level/mixed-signal circuit simulator")
(description (description
@ -2399,127 +2399,110 @@ OpenSCAD code. It supports syntax highlighting, indenting and refilling of
comments."))) comments.")))
(define-public freecad (define-public freecad
(package ;; FIXME: We use a commit directly because upstream has compatibility fixes
(name "freecad") ;; that are not in a release yet for boost, opencascade-occt-7.6 and vtk-9.
(version "0.19.3") ;; Switch back to a regular version (probably 0.20) when it is released.
(source (let ((commit "09a05a9cd0c4692a57a3e038268b4389b4657fc6")
(origin (revision "0"))
(method git-fetch) (package
(uri (git-reference (name "freecad")
(url "https://github.com/FreeCAD/FreeCAD") (version (git-version "0.19.3" revision commit))
(commit version))) (source
(file-name (git-file-name name version)) (origin
(sha256 (method git-fetch)
(base32 "1dkiwnqr6bhi2d90hz7ijqd872144c9n9xxpd1vbrmxr2x8cfl88")) (uri (git-reference
(patches (search-patches "freecad-vtk9.patch" (url "https://github.com/FreeCAD/FreeCAD")
"freecad-boost-serialization.patch")))) (commit commit)))
(build-system qt-build-system) (file-name (git-file-name name version))
(native-inputs (sha256
(list doxygen (base32 "0818basym0n44dsgix0yv1l00xgv9igrr7wkszd8x74lh1rr591r"))))
graphviz (build-system qt-build-system)
qttools (native-inputs
pkg-config (list doxygen
python-pyside-2-tools graphviz
swig)) qttools
(inputs pkg-config
(list boost python-pyside-2-tools
coin3D swig))
double-conversion (inputs
eigen (list boost
freetype coin3D
gl2ps double-conversion
glew eigen
hdf5-1.10 freetype
jsoncpp gl2ps
libarea glew
libjpeg-turbo hdf5-1.10
libmedfile jsoncpp
libspnav libarea
libtheora libjpeg-turbo
libtiff libmedfile
libxi libspnav
libxml++ libtheora
libxmu libtiff
lz4 libxi
netcdf libxml++
opencascade-occt libxmu
openmpi lz4
proj netcdf
python-gitpython opencascade-occt
python-matplotlib openmpi
python-pivy proj
python-ply python-gitpython
python-pyside-2 python-matplotlib
python-pyyaml python-pivy
python-shiboken-2 python-ply
python-wrapper python-pyside-2
qtbase-5 python-pyyaml
qtdeclarative python-shiboken-2
qtsvg python-wrapper
qtwebchannel qtbase-5
qtwebengine qtdeclarative
qtx11extras qtsvg
qtxmlpatterns qtwebchannel
sqlite qtwebengine
tbb qtx11extras
vtk qtxmlpatterns
xerces-c sqlite
zlib)) tbb-2020 ; Same version as opencascade-occt
(arguments vtk
`(#:tests? #f ; Project has no tests xerces-c
#:configure-flags zlib))
,#~(list (arguments
"-DBUILD_QT5=ON" `(#:tests? #f ; Project has no tests
"-DBUILD_FLAT_MESH:BOOL=ON" #:configure-flags
"-DBUILD_ENABLE_CXX_STD:STRING=C++17" ,#~(list
(string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib") "-DBUILD_QT5=ON"
(string-append "-DPYSIDE2UICBINARY=" "-DBUILD_FLAT_MESH:BOOL=ON"
#$(this-package-native-input "-DBUILD_ENABLE_CXX_STD:STRING=C++17"
"python-pyside-2-tools") (string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib"))
"/bin/uic") #:phases
(string-append "-DPYSIDE2RCCBINARY=" (modify-phases %standard-phases
#$(this-package-native-input (add-before 'configure 'restore-pythonpath
"python-pyside-2-tools") (lambda _
"/bin/rcc") (substitute* "src/Main/MainGui.cpp"
"-DPYSIDE_LIBRARY=PySide2::pyside2" (("_?putenv\\(\"PYTHONPATH=\"\\);") ""))))
(string-append (add-after 'install 'wrap-pythonpath
"-DPYSIDE_INCLUDE_DIR=" (lambda* (#:key outputs #:allow-other-keys)
#$(this-package-input "python-pyside-2") "/include;" (let ((out (assoc-ref outputs "out")))
#$(this-package-input "python-pyside-2") "/include/PySide2;" (wrap-program (string-append out "/bin/FreeCAD")
#$(this-package-input "python-pyside-2") "/include/PySide2/QtCore;" (list "GUIX_PYTHONPATH"
#$(this-package-input "python-pyside-2") "/include/PySide2/QtWidgets;" 'prefix (list (getenv "GUIX_PYTHONPATH"))))))))))
#$(this-package-input "python-pyside-2") "/include/PySide2/QtGui;") (home-page "https://www.freecadweb.org/")
"-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken" (synopsis "Your Own 3D Parametric Modeler")
(string-append "-DSHIBOKEN_INCLUDE_DIR=" (description
#$(this-package-input "python-shiboken-2") "FreeCAD is a general purpose feature-based, parametric 3D modeler for
"/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
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and 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 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+ architecture or other engineering specialties. It is 100% Open Source (LGPL2+
license) and extremely modular, allowing for very advanced extension and license) and extremely modular, allowing for very advanced extension and
customization.") customization.")
(license (license
(list (list
license:lgpl2.1+ license:lgpl2.1+
license:lgpl2.0+ license:lgpl2.0+
license:gpl3+ license:gpl3+
license:bsd-3)))) license:bsd-3)))))
(define-public libmedfile (define-public libmedfile
(package (package

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -20,10 +21,12 @@
(define-module (gnu packages fcitx5) (define-module (gnu packages fcitx5)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages anthy)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages datastructures) #:use-module (gnu packages datastructures)
@ -196,43 +199,60 @@ editors.")
(base32 "07ip4sxf3q895pp7mivv2bdwcmqjnwrmv9pg99jk73cw9bgyq00n")))) (base32 "07ip4sxf3q895pp7mivv2bdwcmqjnwrmv9pg99jk73cw9bgyq00n"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ;No test (list
#:configure-flags #:tests? #f ;No test
(list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR=" #:configure-flags
%output "/share/gir-1.0") #~(list (string-append "-DGOBJECT_INTROSPECTION_GIRDIR="
(string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR=" #$output "/share/gir-1.0")
%output "/lib/girepository-1.0") (string-append "-DGOBJECT_INTROSPECTION_TYPELIBDIR="
;; TODO: Enable it when Guix has GTK4. #$output "/lib/girepository-1.0"))
"-DENABLE_GTK4_IM_MODULE=Off") #:phases
#:phases #~(modify-phases %standard-phases
(modify-phases %standard-phases (add-before 'configure 'patch-install-prefix
(add-before 'configure 'patch-install-prefix (lambda _
(lambda* (#:key outputs #:allow-other-keys) ;; Take care of different versions of GTK because this package
(let ((out (assoc-ref outputs "out")) ;; provides IM module for GTK application to use input method.
(gtk2 (assoc-ref outputs "gtk2"))) (define (split-immodule gtk-version output)
;; Install GTK+ 2 input method module to its own output. (substitute* (string-append gtk-version "/CMakeLists.txt")
(substitute* "gtk2/CMakeLists.txt" (("\\$\\{CMAKE_INSTALL_LIBDIR\\}")
(("\\$\\{CMAKE_INSTALL_LIBDIR\\}") (string-append output "/lib"))))
(string-append gtk2 "/lib")))))))))
(let ((gtk2 #$output:gtk2)
(gtk3 #$output:gtk3)
(gtk4 #$output:gtk4))
(for-each split-immodule
'("gtk2" "gtk3" "gtk4")
(list gtk2 gtk3 gtk4))))))))
(inputs (inputs
`(("fcitx5" ,fcitx5) (list fcitx5
("fmt" ,fmt) fmt
("libxkbcommon" ,libxkbcommon) libx11
("gobject-introspection" ,gobject-introspection) libxkbcommon
("gtk2" ,gtk+-2) gettext-minimal
("gtk3" ,gtk+) gobject-introspection
("glib" ,glib) gtk+-2
("libx11" ,libx11) gtk+
("gettext" ,gettext-minimal))) gtk
glib))
(native-inputs (native-inputs
(list extra-cmake-modules pkg-config (list extra-cmake-modules pkg-config
`(,glib "bin"))) ;for glib-genmarshal `(,glib "bin"))) ;for glib-genmarshal
;; TODO: Add "lib" output to reduce the closure size of "gtk2". (outputs '("out" "gtk2" "gtk3" "gtk4"))
(outputs '("out" "gtk2"))
(home-page "https://github.com/fcitx/fcitx5-gtk") (home-page "https://github.com/fcitx/fcitx5-gtk")
(synopsis "Glib based D-Bus client and GTK IM module for Fcitx 5") (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 (description "Fcitx5-gtk provides the following functionality in the
for GTK+2/GTK+3 application.") 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+))) (license license:lgpl2.1+)))
(define-public fcitx5-qt (define-public fcitx5-qt
@ -270,6 +290,30 @@ for Qt based application.")
;; and qt5/platforminputcontext. ;; and qt5/platforminputcontext.
license:bsd-3)))) 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 (define-public fcitx5-chinese-addons
(package (package
(name "fcitx5-chinese-addons") (name "fcitx5-chinese-addons")

View file

@ -405,8 +405,8 @@ from a mounted file system.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public bcachefs-tools (define-public bcachefs-tools
(let ((commit "b19d9f92e12c2e78d6e306e6cb7f8a7d9a7875f3") (let ((commit "fd1b84975b960d5e42963bed2c18b8c63d8abce7")
(revision "13")) (revision "14"))
(package (package
(name "bcachefs-tools") (name "bcachefs-tools")
(version (git-version "0.1" revision commit)) (version (git-version "0.1" revision commit))
@ -418,7 +418,7 @@ from a mounted file system.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1ixb1fk58yjk8alpcf9a7h0fnkvpbsjxd766iz9h7qa6r1r77a6c")))) (base32 "08vh0pg2sj833062y4vvnvzqchhflcvysp3xdh0zjk121r3iqm0s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:make-flags (list #:make-flags

View file

@ -1724,7 +1724,9 @@ that allows you to run services and through them access the Bitcoin Cash network
(lambda _ (lambda _
(substitute* "setup.py" (substitute* "setup.py"
(("'google-api-python-client',") "")) (("'google-api-python-client',") ""))
#t))))) #t))
;; No module named 'google_auth_oauthlib'
(delete 'sanity-check))))
(inputs (inputs
(list python-beautifulsoup4 (list python-beautifulsoup4
python-bottle 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 "TA-Lib is a library providing common functions for the technical
analysis of financial market data.") analysis of financial market data.")
(license license:bsd-3))) (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)))

View file

@ -44,6 +44,9 @@
;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info> ;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> ;;; 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. ;;; 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 (define-public font-sarasa-gothic
(package (package
(name "font-sarasa-gothic") (name "font-sarasa-gothic")
(version "0.31.2") (version "0.36.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1504,7 +1507,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version "/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z")) "/sarasa-gothic-ttc-" version ".7z"))
(sha256 (sha256
(base32 "0p67qyhm266s6q17islqvwch807fy5slgp2symrl0z665vp6hycj")))) (base32 "0rr6qrf49zx3cl1pv7063l12nnj2nm9p4di3frp0p4ci9l7b4xmw"))))
(build-system font-build-system) (build-system font-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -2463,4 +2466,98 @@ converted from the Type 1 originals by Matthew Butterick.")
"Bitstream contributed the Charter family " "Bitstream contributed the Charter family "
"to the X Consortium in 1992. " "to the X Consortium in 1992. "
"The license is also embedded in the font metadata.")))))) "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))))

View file

@ -15,6 +15,7 @@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -835,7 +836,7 @@ maintain the Noto Fonts project.")
(define-public fcft (define-public fcft
(package (package
(name "fcft") (name "fcft")
(version "2.5.1") (version "3.0.1")
(home-page "https://codeberg.org/dnkl/fcft") (home-page "https://codeberg.org/dnkl/fcft")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -843,7 +844,7 @@ maintain the Noto Fonts project.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0dn0ic2ddi5qz6nqscsn7nlih67ad8vpclppbqwas6xavdfq6va2")))) "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list check pkg-config scdoc)) (list check pkg-config scdoc))
@ -904,6 +905,7 @@ generated list of fallback fonts are checked.")
(inputs (inputs
`(("fonconfig" ,fontconfig) `(("fonconfig" ,fontconfig)
("freetype" ,freetype) ("freetype" ,freetype)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("json-glib" ,json-glib) ("json-glib" ,json-glib)
("libsoup" ,libsoup-minimal-2) ("libsoup" ,libsoup-minimal-2)

View file

@ -5,7 +5,7 @@
;;; Copyright © 2015-2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015-2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; 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 © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; 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")) (sysconf (string-append out "/etc"))
(libexec (string-append out "/libexec/elogind")) (libexec (string-append out "/libexec/elogind"))
(dbuspolicy (string-append out "/etc/dbus-1/system.d")) (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")) (shadow #$(this-package-input "shadow"))
(shepherd #$(this-package-input "shepherd")) (shepherd #$(this-package-input "shepherd"))
(halt-path (string-append shepherd "/sbin/halt")) (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")) (nologin-path (string-append shadow "/sbin/nologin"))
(poweroff-path (string-append shepherd "/sbin/shutdown")) (poweroff-path (string-append shepherd "/sbin/shutdown"))
(reboot-path (string-append shepherd "/sbin/reboot"))) (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 "-Dc_link_args=-Wl,-rpath=" libexec)
(string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
(string-append "-Dhalt-path=" halt-path) (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 "-Dpoweroff-path=" poweroff-path)
(string-append "-Dreboot-path=" reboot-path) (string-append "-Dreboot-path=" reboot-path)
(string-append "-Dnologin-path=" nologin-path) (string-append "-Dnologin-path=" nologin-path)
@ -675,15 +681,18 @@ the freedesktop.org XDG Base Directory specification.")
("python" ,python) ("python" ,python)
("xsltproc" ,libxslt))) ("xsltproc" ,libxslt)))
(inputs (inputs
(list kexec-tools (append
linux-pam (if (not (target-riscv64?))
libcap (list kexec-tools)
shadow ;for 'nologin' '())
shepherd ;for 'halt' and 'reboot', invoked (list linux-pam
;when pressing the power button libcap
dbus shadow ; for 'nologin'
eudev shepherd ; for 'halt' and 'reboot', invoked
acl)) ;to add individual users to ACLs on /dev nodes ; when pressing the power button
dbus
eudev
acl))) ; to add individual users to ACLs on /dev nodes
(home-page "https://github.com/elogind/elogind") (home-page "https://github.com/elogind/elogind")
(synopsis "User, seat, and session management service") (synopsis "User, seat, and session management service")
(description "Elogind is the systemd project's \"logind\" 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.") XEv.")
(license license:expat))) (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 (define-public exempi
(package (package
(name "exempi") (name "exempi")

View file

@ -6,6 +6,7 @@
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -173,14 +174,14 @@ as required.")
(define-public libfilezilla (define-public libfilezilla
(package (package
(name "libfilezilla") (name "libfilezilla")
(version "0.35.0") (version "0.36.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.filezilla-project.org/" (uri (string-append "https://download.filezilla-project.org/"
"libfilezilla/libfilezilla-" version ".tar.bz2")) "libfilezilla/libfilezilla-" version ".tar.bz2"))
(sha256 (sha256
(base32 "1s1a165kc1gkdmhzmvm91ddj3cbxmh7s27fwfgm921ixrq6m3qpf")))) (base32 "0wm8acwbrsblilfwj5asxr26gy8grg175j91df1bryz7xlc1q9y0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -213,14 +214,14 @@ output.
(define-public filezilla (define-public filezilla
(package (package
(name "filezilla") (name "filezilla")
(version "3.57.0") (version "3.58.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/" (uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2")) "FileZilla_" version "_src.tar.bz2"))
(sha256 (sha256
(base32 "1iwrr08rik0afaxf88bghw2fw97ia8wlcsrm94jh24yafxq6rgw2")))) (base32 "122x72rvd178y2rffvidyvzr33kf325q2rk4l2x44xqzw1r7zznh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Don't let filezilla phone home to check for updates. ;; Don't let filezilla phone home to check for updates.

View file

@ -26,6 +26,7 @@
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -513,7 +514,7 @@ formats such as PNG.")
(define-public tiled (define-public tiled
(package (package
(name "tiled") (name "tiled")
(version "1.7.2") (version "1.8.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -522,7 +523,7 @@ formats such as PNG.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ifxh3sv6gz32gahgi7ba0ivcw5mfgwnrw6iycpav150w9xla43i")))) "05gczsywkk45bh0z1vv8l6cmrlncc2qj8agavj5ryxpnxkzy69r1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list qtbase-5 qtdeclarative qtsvg zlib)) (list qtbase-5 qtdeclarative qtsvg zlib))

View file

@ -821,37 +821,37 @@ Quizzes: arithmetic and quiz.")
(define-public bzflag (define-public bzflag
(package (package
(name "bzflag") (name "bzflag")
(version "2.4.22") (version "2.4.24")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.bzflag.org/bzflag/source/" (uri (string-append "https://download.bzflag.org/bzflag/source/"
version "/bzflag-" version ".tar.bz2")) version "/bzflag-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0kba0011nswc2csqlzkd7bas307zm5813zlnby5vsmxn08rnar4y")))) (base32 "1i73ijlnxsz52fhqgkj2qcvibfgav3byq1is68gab2zwnyz330az"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(add-after 'install 'install-desktop-file-and-icons #~(modify-phases %standard-phases
(lambda* (#:key outputs #:allow-other-keys) (add-after 'install 'install-desktop-file-and-icons
(let* ((share (string-append (assoc-ref outputs "out") "/share")) (lambda _
(data (string-append share "/bzflag")) (let* ((share (string-append #$output "/share"))
(hicolor (string-append share "/icons/hicolor")) (data (string-append share "/bzflag"))
(applications (string-append share "/applications"))) (hicolor (string-append share "/icons/hicolor"))
;; Move desktop file. (applications (string-append share "/applications")))
(install-file (string-append data "/bzflag.desktop") ;; Move desktop file.
applications) (install-file (string-append data "/bzflag.desktop")
;; Install icons. applications)
(for-each (lambda (size) ;; Install icons.
(let* ((dim (string-append size "x" size)) (for-each (lambda (size)
(dir (string-append hicolor "/" dim "/apps"))) (let* ((dim (string-append size "x" size))
(mkdir-p dir) (dir (string-append hicolor "/" dim "/apps")))
(copy-file (mkdir-p dir)
(string-append data "/bzflag-" dim ".png") (copy-file
(string-append dir "/bzflag.png")))) (string-append data "/bzflag-" dim ".png")
'("48" "256"))) (string-append dir "/bzflag.png"))))
#t))))) '("48" "256"))))))))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(inputs (inputs
@ -4582,6 +4582,40 @@ images, etc.)")
;; regarding assets. ;; regarding assets.
(license license:gpl3+))) (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 (define-public pinball
(package (package
(name "pinball") (name "pinball")
@ -5821,7 +5855,7 @@ for Un*x systems with X11.")
(define-public freeciv (define-public freeciv
(package (package
(name "freeciv") (name "freeciv")
(version "2.6.6") (version "3.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5831,9 +5865,9 @@ for Un*x systems with X11.")
(string-append (string-append
"mirror://sourceforge/freeciv/Freeciv%20" "mirror://sourceforge/freeciv/Freeciv%20"
(version-major+minor version) "/" version (version-major+minor version) "/" version
"/freeciv-" version ".tar.bz2"))) "/freeciv-" version ".tar.xz")))
(sha256 (sha256
(base32 "04aq2v1ima87sap6yjb7jrm1ss63ax7v5kg7rpkj44887kfybkvv")))) (base32 "1cm0530xmbqdhqkr89xb845cd756nillbdq53r3z5zpxsj18fapa"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list curl cyrus-sasl gtk+ sdl-mixer zlib)) (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. ;; There are some bundled libraries.
(for-each delete-file-recursively (for-each delete-file-recursively
'("3rdparty/sqlite3/" '("3rdparty/sqlite3/"
"3rdparty/cppunit/")) "3rdparty/cppunit/"))))))
#t))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
`(#:configure-flags (list #:configure-flags
(list "-DSYSTEM_SQLITE=ON" #~(list "-DSYSTEM_SQLITE=ON"
"-DSYSTEM_CPPUNIT=ON" "-DSYSTEM_CPPUNIT=ON"
(string-append "-DFG_DATA_DIR=" (string-append "-DFG_DATA_DIR=" #$output "/share/flightgear"))
(assoc-ref %outputs "out") ;; TODO: test suite segfaults.
"/share/flightgear")) #:tests? #f
;; TODO: test suite segfaults. #:phases
#:tests? #f #~(modify-phases %standard-phases
#:phases (add-after 'unpack 'skip-some-tests
(modify-phases %standard-phases (lambda _
(add-after 'unpack 'skip-some-tests (substitute*
(lambda _ "test_suite/unit_tests/Instrumentation/test_gps.hxx"
(substitute* "test_suite/unit_tests/Instrumentation/test_gps.hxx" (("CPPUNIT_TEST\\(testLongLegWestbound\\);" all)
(("CPPUNIT_TEST\\(testLongLegWestbound\\);" all) (string-append "// " all))
(string-append "// " all)) (("CPPUNIT_TEST\\(testFinalLegCourse\\);" all)
(("CPPUNIT_TEST\\(testFinalLegCourse\\);" all) (string-append "// " all)))))
(string-append "// " all))))) (add-after 'build 'build-test-suite
(add-after 'build 'build-test-suite (lambda* args
(lambda* args ((assoc-ref %standard-phases 'build)
((assoc-ref %standard-phases 'build) #:make-flags (list "fgfs_test_suite"))))
#:make-flags (list "fgfs_test_suite")))) ;; Test suite needs access to FGData so run it after 'install.
;; Test suite needs access to FGData so run it after 'install. (delete 'check)
(delete 'check) (add-after 'install-data 'check
(add-after 'install-data 'check (assoc-ref %standard-phases 'check))
(assoc-ref %standard-phases 'check)) (add-after 'install 'install-data
(add-after 'install 'install-data (lambda _
(lambda* (#:key inputs outputs #:allow-other-keys) (let ((share (string-append #$output "/share/flightgear")))
(let ((share (string-append (assoc-ref outputs "out") "/share/flightgear"))) (mkdir-p share)
(mkdir-p share) (with-directory-excursion share
(with-directory-excursion share (invoke "tar" "xf"
(invoke "tar" "xf" (assoc-ref inputs "flightgear-data") #$(this-package-native-input "flightgear-data")
"--strip-components=1"))) "--strip-components=1"))))))))
#t)))))
(inputs (inputs
(list boost (list boost
dbus dbus

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
@ -50,6 +50,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)) #:use-module (ice-9 regex))
(define %gcc-infrastructure (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" (substitute* "gcc/config/aarch64/t-aarch64-linux"
(("lib64") "lib"))) (("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") (when (file-exists? "libbacktrace")
;; GCC 4.8+ comes with libbacktrace. By default it builds ;; GCC 4.8+ comes with libbacktrace. By default it builds
;; with -Werror, which fails with a -Wcast-qual error in glibc ;; 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" (patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch")) "gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils))) (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 ;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions. ;; the gcc-toolchain-* definitions.
(define-public gcc gcc-10) (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) (define-public (make-libstdc++ gcc)
"Return a libstdc++ package based on GCC. The primary use case is when "Return a libstdc++ package based on GCC. The primary use case is when
using compilers other than GCC." using compilers other than GCC."
@ -791,42 +898,6 @@ as the 'native-search-paths' field."
(find-files (string-append (assoc-ref outputs "out") "/bin") (find-files (string-append (assoc-ref outputs "out") "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$")))))))))) ".*(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 (define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are ;; This is the language-neutral search path for GCC. Entries in $CPATH are
;; not considered "system headers", which means GCC can raise warnings for ;; not considered "system headers", which means GCC can raise warnings for
@ -898,7 +969,7 @@ misnomer.")))
(define (make-gccgo gcc) (define (make-gccgo gcc)
"Return a gccgo package based on 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 (package
(inherit gccgo) (inherit gccgo)
(synopsis "Go frontend to GCC") (synopsis "Go frontend to GCC")
@ -951,6 +1022,9 @@ provides the GNU compiler for the Go programming language."))
(define-public gccgo-10 (define-public gccgo-10
(make-gccgo gcc-10)) (make-gccgo gcc-10))
(define-public gccgo-11
(make-gccgo gcc-11))
(define %objc-search-paths (define %objc-search-paths
(list (search-path-specification (list (search-path-specification
(variable "OBJC_INCLUDE_PATH") (variable "OBJC_INCLUDE_PATH")
@ -1097,12 +1171,11 @@ provides the GNU compiler for the Go programming language."))
(version "0.23") (version "0.23")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append ;; Used to be at isl.gforge.inria.fr.
"http://isl.gforge.inria.fr/isl-" (uri (list (string-append "mirror://sourceforge/libisl/isl-"
version version ".tar.bz2")
".tar.bz2")
(string-append %gcc-infrastructure (string-append %gcc-infrastructure
name "-" version ".tar.bz2"))) "isl-" version ".tar.bz2")))
(sha256 (sha256
(base32 (base32
"0k91zck10zxs9sk3yrbb92y1j3w981w3fbwkfwd7kl779b0j52f5")))) "0k91zck10zxs9sk3yrbb92y1j3w981w3fbwkfwd7kl779b0j52f5"))))
@ -1126,7 +1199,8 @@ provides the GNU compiler for the Go programming language."))
(("^old_library=.*") (("^old_library=.*")
"old_library=''\n")))))))) "old_library=''\n"))))))))
(inputs (list gmp)) (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 (synopsis
"Manipulating sets and relations of integer points \ "Manipulating sets and relations of integer points \
bounded by linear constraints") bounded by linear constraints")
@ -1147,7 +1221,7 @@ dependence analysis and bounds on piecewise step-polynomials.")
(version "0.18") (version "0.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "http://isl.gforge.inria.fr/isl-" (uri (list (string-append "mirror://sourceforge/libisl/isl-"
version ".tar.bz2") version ".tar.bz2")
(string-append %gcc-infrastructure (string-append %gcc-infrastructure
"isl-" version ".tar.bz2"))) "isl-" version ".tar.bz2")))
@ -1162,12 +1236,10 @@ dependence analysis and bounds on piecewise step-polynomials.")
(version "0.11.1") (version "0.11.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append (uri (list (string-append "mirror://sourceforge/libisl/isl-"
"http://isl.gforge.inria.fr/isl-" version ".tar.bz2")
version
".tar.bz2")
(string-append %gcc-infrastructure (string-append %gcc-infrastructure
name "-" version ".tar.bz2"))) "isl-" version ".tar.bz2")))
(sha256 (sha256
(base32 (base32
"13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9")) "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))

View file

@ -82,11 +82,14 @@
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-apps)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing) #:use-module (gnu packages image-processing)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
#:use-module (gnu packages java) #:use-module (gnu packages java)
#:use-module (gnu packages kde) #:use-module (gnu packages kde)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
@ -1178,7 +1181,7 @@ to create databases that are optimized for rendering/tile/map-services.")
(define-public libosmium (define-public libosmium
(package (package
(name "libosmium") (name "libosmium")
(version "2.17.2") (version "2.18.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1187,7 +1190,7 @@ to create databases that are optimized for rendering/tile/map-services.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0xgwicnzlyr8pcpgx528xrzh7g6rjfd7f80bi30478fnp8mq8rzr")))) (base32 "0fh57mpii1ksacwfx5rz213j896aklib53jbybld2i517q2mmxr0"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(propagated-inputs (propagated-inputs
(list boost (list boost
@ -1209,6 +1212,35 @@ to create databases that are optimized for rendering/tile/map-services.")
OpenStreetMap data.") OpenStreetMap data.")
(license license:boost1.0))) (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 (define-public osm2pgsql
(package (package
(name "osm2pgsql") (name "osm2pgsql")
@ -1982,30 +2014,35 @@ exchanged form one Spatial DBMS and the other.")
(define-public opencpn (define-public opencpn
(package (package
(name "opencpn") (name "opencpn")
(version "5.2.4") (version "5.6.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/OpenCPN/OpenCPN") (url "https://github.com/OpenCPN/OpenCPN")
(commit (string-append "v" version)))) (commit (string-append "Release_" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ffx0lmz1mp5433zqyxigy4qqav32xprpagd66krvihkyvqp2y6y")))) (base32 "0g5x45wv3djfjmigk6kgs0i63yp8rs1fbmm4pb15wb3z6dml624y"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
(list bzip2 (list alsa-utils
bzip2
cairo cairo
curl curl
eudev
glu glu
gtk+ gtk+
jasper
libarchive libarchive
libelf libelf
libexif libexif
libjpeg-turbo
libsndfile libsndfile
libusb
lz4 lz4
mesa mesa
pango pango

View file

@ -13,7 +13,7 @@
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml> ;;; 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 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; ;;;
@ -291,7 +291,7 @@ that caches clipboard history.")
(define-public gnome-shell-extension-customize-ibus (define-public gnome-shell-extension-customize-ibus
(package (package
(name "gnome-shell-extension-customize-ibus") (name "gnome-shell-extension-customize-ibus")
(version "78") (version "82")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -300,7 +300,7 @@ that caches clipboard history.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1hnnsjriq7xaakk8biwz55mn077lnm9nsmi4wz5zk7clgxmasvq9")))) (base32 "00brnyahphl4ql9yh74wpb9kmzyb4b5k4rkw40hvxvqw4qwgs24r"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -403,8 +403,7 @@ faster window switching.")
(define-public gnome-shell-extension-gsconnect (define-public gnome-shell-extension-gsconnect
(package (package
(name "gnome-shell-extension-gsconnect") (name "gnome-shell-extension-gsconnect")
;; v33 is the last version to support GNOME 3.34 (version "48")
(version "33")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -414,10 +413,11 @@ faster window switching.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1q03axhn75i864vgmd6myhmgwrmnpf01gsd1wl0di5x9q8mic2zn")))) "15agblnm7k1wqnnz6gwhwym992fzqkdz8mkm04805783bx60b8bh"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:tests? #f ;; every test fails
#:configure-flags
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(name+version (strip-store-file-name out)) (name+version (strip-store-file-name out))
(gschema-dir (string-append out (gschema-dir (string-append out
@ -442,7 +442,7 @@ faster window switching.")
(let* ((glib (assoc-ref inputs "glib:bin")) (let* ((glib (assoc-ref inputs "glib:bin"))
(gapplication (string-append glib "/bin/gapplication")) (gapplication (string-append glib "/bin/gapplication"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (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)) (("gapplication") gapplication))
(for-each (for-each
(lambda (file) (lambda (file)

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; 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 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014, 2016, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014, 2016, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
@ -51,7 +51,7 @@
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; 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, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
@ -62,7 +62,7 @@
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Felix Gruber <felgru@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 Josselin Poiret <josselin.poiret@protonmail.ch>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> ;;; 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" (substitute* "dee-1.0-docs.sgml"
(("http://www.oasis-open.org/docbook/xml/4.3/") (("http://www.oasis-open.org/docbook/xml/4.3/")
(string-append (assoc-ref inputs "docbook-xml") (string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/")))) "/xml/dtd/docbook/"))))))
#t))
(add-after 'patch-docbook-xml 'disable-failing-tests (add-after 'patch-docbook-xml 'disable-failing-tests
(lambda _ (lambda _
(substitute* "tests/test-icu.c" (substitute* "tests/test-icu.c"
(("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,") (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
"") "")
(("setup, test_ascii_folder, teardown\\);") (("setup, test_ascii_folder, teardown\\);")
"")) ""))))
#t))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
;; Tests require a running dbus-daemon. ;; Tests require a running dbus-daemon.
(system "dbus-daemon &") (system "dbus-daemon &")
;; For missing '/etc/machine-id'. ;; For missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0") (setenv "DBUS_FATAL_WARNINGS" "0"))))))
#t)))))
(native-inputs (native-inputs
`(("dbus" ,dbus) `(("dbus" ,dbus)
("dbus-test-runner" ,dbus-test-runner) ("dbus-test-runner" ,dbus-test-runner)
@ -717,7 +714,7 @@ of writing test cases for asynchronous interactions.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("pygobject" ,python-pygobject) ("pygobject" ,python-pygobject)
("python" ,python-wrapper) ("python" ,python-wrapper)
("vala" ,vala))) ("vala" ,vala-0.52)))
(inputs (inputs
`(("icu" ,icu4c))) `(("icu" ,icu4c)))
(propagated-inputs (propagated-inputs
@ -737,7 +734,7 @@ of known objects without needing a central registrar.")
(define-public zeitgeist (define-public zeitgeist
(package (package
(name "zeitgeist") (name "zeitgeist")
(version "1.0.3") (version "1.0.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -749,7 +746,7 @@ of known objects without needing a central registrar.")
(file-name (file-name
(git-file-name name version)) (git-file-name name version))
(sha256 (sha256
(base32 "0y6fyzxl5np4yskcxibd0p03h619w9ir907nhf40h02y0pk1kgkp")))) (base32 "07b1ahj3vd3m8srwkrh7dl3ymr7d55xiiszny44q13g06pq4svch"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -765,8 +762,7 @@ of known objects without needing a central registrar.")
(substitute* "zeitgeist-gtkdoc-index.sgml" (substitute* "zeitgeist-gtkdoc-index.sgml"
(("http://www.oasis-open.org/docbook/xml/4.3/") (("http://www.oasis-open.org/docbook/xml/4.3/")
(string-append (assoc-ref inputs "docbook-xml") (string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/")))) "/xml/dtd/docbook/"))))))
#t))
(add-after 'patch-docbook-xml 'disable-failing-tests (add-after 'patch-docbook-xml 'disable-failing-tests
(lambda _ (lambda _
(substitute* "test/direct/Makefile.am" (substitute* "test/direct/Makefile.am"
@ -774,13 +770,11 @@ of known objects without needing a central registrar.")
"")) ""))
(substitute* "test/c/Makefile.am" (substitute* "test/c/Makefile.am"
((" test-log ") ((" test-log ")
"")) ""))))
#t))
(add-before 'bootstrap 'remove-autogen-script (add-before 'bootstrap 'remove-autogen-script
(lambda _ (lambda _
;; To honor `autoreconf -vif` by build-system. ;; To honor `autoreconf -vif` by build-system.
(delete-file "autogen.sh") (delete-file "autogen.sh"))))))
#t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -1856,7 +1850,7 @@ either on a local, or remote machine via a number of methods.")
(define-public gnome-commander (define-public gnome-commander
(package (package
(name "gnome-commander") (name "gnome-commander")
(version "1.12.3.1") (version "1.14.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1864,10 +1858,11 @@ either on a local, or remote machine via a number of methods.")
(version-major+minor version) "/" (version-major+minor version) "/"
"gnome-commander-" version ".tar.xz")) "gnome-commander-" version ".tar.xz"))
(sha256 (sha256
(base32 "0fhmfxh6kbchggvpbin7d4g4fq5vc49y0w48wdkyxln5dswidss2")))) (base32 "1zdz82j7vpxiqa188zmsxliqk60g331ycaxfbhx5bzyqfjgrh7gd"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
(list desktop-file-utils (list desktop-file-utils
flex
gettext-minimal gettext-minimal
`(,glib "bin") `(,glib "bin")
gobject-introspection gobject-introspection
@ -1877,7 +1872,7 @@ either on a local, or remote machine via a number of methods.")
libtool libtool
pkg-config)) pkg-config))
(inputs (inputs
(list gconf gnome-vfs gtk+-2 libxml2)) (list gconf glib gtk+-2 libxml2))
(home-page "https://gcmd.github.io/") (home-page "https://gcmd.github.io/")
(synopsis "Two-pane graphical file manager for the GNOME desktop") (synopsis "Two-pane graphical file manager for the GNOME desktop")
(description (description
@ -2934,7 +2929,7 @@ database is translated at Transifex.")
(define-public system-config-printer (define-public system-config-printer
(package (package
(name "system-config-printer") (name "system-config-printer")
(version "1.5.15") (version "1.5.16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2943,45 +2938,50 @@ database is translated at Transifex.")
"download/v" version "download/v" version
"/system-config-printer-" version ".tar.xz")) "/system-config-printer-" version ".tar.xz"))
(sha256 (sha256
(base32 "12d6xx51vizc476zfnsga9q09nflp51ipn6y7lhi9w2v4772dlpv")))) (base32 "1z9pvgifj5c87csnqz10qybbcayh3ak9m606f63ifkvyjh4q9jnb"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:imported-modules ((guix build python-build-system) (list
#:imported-modules `((guix build python-build-system)
,@%glib-or-gtk-build-system-modules) ,@%glib-or-gtk-build-system-modules)
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-Makefile.am (add-after 'unpack 'patch-build-files
(lambda _ (lambda _
;; The Makefile generates some scripts, so set a valid shebang (substitute* "configure.ac"
(substitute* "Makefile.am" (("AC_INIT.*" all)
(("/bin/bash") (which "bash"))) (string-append all "\nAC_CONFIG_MACRO_DIR([m4])\n"))
(delete-file "configure") ;; XXX: AX macros appear unavailable
#t)) (("AX_REQUIRE_DEFINED.*") ""))
(add-after 'unpack 'patch-docbook-xml ;; The Makefile generates some scripts, so set a valid shebang
(lambda* (#:key inputs #:allow-other-keys) (substitute* "Makefile.am"
;; Modify the man XML otherwise xmlto tries to access the network (("/bin/bash") (which "bash")))
(substitute* "man/system-config-printer.xml" (delete-file "configure")))
(("http://www.oasis-open.org/docbook/xml/4.1.2/") (add-after 'unpack 'patch-docbook-xml
(string-append (assoc-ref inputs "docbook-xml") (lambda* (#:key inputs #:allow-other-keys)
"/xml/dtd/docbook/"))) ;; Modify the man XML otherwise xmlto tries to access the network
#t)) (substitute* "man/system-config-printer.xml"
(add-after 'install 'wrap-for-python (("http://www.oasis-open.org/docbook/xml/4.1.2/")
(@@ (guix build python-build-system) wrap)) (string-append (assoc-ref inputs "docbook-xml")
(add-after 'install 'wrap "/xml/dtd/docbook/")))))
(lambda* (#:key outputs #:allow-other-keys) (add-after 'install 'add-install-to-pythonpath
(let ((out (assoc-ref outputs "out")) (@@ (guix build python-build-system) add-install-to-pythonpath))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (add-after 'add-install-to-pythonpath 'wrap-for-python
(for-each (@@ (guix build python-build-system) wrap))
(lambda (program) (add-after 'install 'wrap
(wrap-program program (lambda* (#:key outputs #:allow-other-keys)
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) (let ((out (assoc-ref outputs "out"))
(map (lambda (name) (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(string-append out "/bin/" name)) (for-each
'("system-config-printer" (lambda (program)
"system-config-printer-applet" (wrap-program program
"install-printerdriver" `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
"scp-dbus-service")))) (map (lambda (name)
#t))))) (string-append out "/bin/" name))
'("system-config-printer"
"system-config-printer-applet"
"install-printerdriver"
"scp-dbus-service")))))))))
(inputs (inputs
(list gsettings-desktop-schemas (list gsettings-desktop-schemas
gobject-introspection gobject-introspection
@ -3001,7 +3001,7 @@ database is translated at Transifex.")
glib glib
autoconf autoconf
automake automake
intltool gettext-minimal
xmlto xmlto
docbook-xml-4.1.2 docbook-xml-4.1.2
docbook-xsl docbook-xsl
@ -5175,13 +5175,14 @@ once.")
(substitute* "build-aux/post_install.py" (substitute* "build-aux/post_install.py"
(("gtk-update-icon-cache") (which "true")))))))) (("gtk-update-icon-cache") (which "true"))))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) (list pkg-config
("desktop-file-utils" ,desktop-file-utils) python ;for 'build-aux/post_install.py'
("glib:bin" ,glib "bin") ; for glib-compile-resources desktop-file-utils
("intltool" ,intltool) `(,glib "bin") ;for glib-compile-resources
("itstool" ,itstool) intltool
("vala" ,vala) itstool
("xmllint" ,libxml2))) vala
libxml2))
(inputs (inputs
(list gtk+ json-glib libgee librsvg qqwing)) (list gtk+ json-glib libgee librsvg qqwing))
(home-page "https://wiki.gnome.org/Apps/Sudoku") (home-page "https://wiki.gnome.org/Apps/Sudoku")
@ -5433,55 +5434,47 @@ faster results and to avoid unnecessary server load.")
(define-public upower (define-public upower
(package (package
(name "upower") (name "upower")
(version "0.99.13") (version "0.99.15")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://gitlab.freedesktop.org/upower/upower") (url "https://gitlab.freedesktop.org/upower/upower")
(commit (string-append "UPOWER_" (commit (string-append "v" version))))
(string-map (match-lambda (#\. #\_)
(chr chr))
version)))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0khwg6jpq81dcylkpi7cn75bjzif0q9qscwvirrk41krma23iddj")) (base32 "1zk7w7pw8dhlnxhxzcbk33gmxmg8f32mppd67556v9z2qgcg4lhs"))
(patches (search-patches "upower-builddir.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin ;; Upstream commit
;; Upstream commit ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa> ;; moved 'dbus-1/system.d' from etc/ to share/. However,
;; moved 'dbus-1/system.d' from etc/ to share/. However, ;; 'dbus-configuration-directory' in (gnu services dbus)
;; 'dbus-configuration-directory' in (gnu services dbus) ;; expects it in etc/. Thus, move it back to its previous
;; expects it in etc/. Thus, move it back to its previous ;; location.
;; location. #~(substitute* "src/meson.build"
(substitute* "src/Makefile.am" (("dbusdir / 'system.d'")
(("^dbusconfdir =.*$") "get_option('sysconfdir') / 'dbus-1/system.d'")
"dbusconfdir = $(sysconfdir)/dbus-1/system.d\n")))))) ;; Avoid writing to /var during the build, this is
(build-system glib-or-gtk-build-system) ;; not possible in Guix!
(("^install_subdir\\('does-not-exist'.*$") "")))))
(build-system meson-build-system)
(arguments (arguments
'(#:phases (list
(modify-phases %standard-phases #:glib-or-gtk? #t
(add-before 'check 'pre-check #:configure-flags
(lambda* (#:key inputs #:allow-other-keys) #~(list "-Dsystemdsystemunitdir=no"
(let ((umockdev (string-append (assoc-ref inputs "umockdev") ;; If not specified, udev will try putting history information
"/lib"))) ;; in /gnu/store.
(setenv "LD_LIBRARY_PATH" umockdev))))) "-Dhistorydir=/var/lib/upower"
#:configure-flags (list "--localstatedir=/var" (string-append "-Dudevrulesdir=" #$output "/bin/udev/rules.d"))))
(string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d"))))
(native-inputs (native-inputs
(list autoconf (list `(,glib "bin") ; for gdbus-codegen
automake
gobject-introspection gobject-introspection
gtk-doc gtk-doc
intltool intltool
libtool
pkg-config pkg-config
python python
which ; for ./autogen.sh
;; For tests. ;; For tests.
python-dbus python-dbus
python-dbusmock python-dbusmock
@ -5504,7 +5497,11 @@ faster results and to avoid unnecessary server load.")
listening to device events and querying history and statistics. Any listening to device events and querying history and statistics. Any
application or service on the system can access the org.freedesktop.UPower application or service on the system can access the org.freedesktop.UPower
service via the system message bus.") 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 (define-public libgweather
(package (package
@ -6423,7 +6420,8 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
(patches (search-patches "eog-update-libportal-usage.patch")))) (patches (search-patches "eog-update-libportal-usage.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:glib-or-gtk? #t
#:configure-flags
;; Otherwise, the RUNPATH will lack the final 'eog' path component. ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
(list (string-append "-Dc_link_args=-Wl,-rpath=" (list (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib/eog")) (assoc-ref %outputs "out") "/lib/eog"))
@ -6470,7 +6468,7 @@ supports image conversion, rotation, and slideshows.")
(define-public eog-plugins (define-public eog-plugins
;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as ;; 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. Thus, for EOG to find these, you have to have
;; 'XDG_DATA_DIRS' appropriately set. ;; 'XDG_DATA_DIRS' appropriately set.
(package (package
@ -6485,6 +6483,17 @@ supports image conversion, rotation, and slideshows.")
(base32 (base32
"1dcxdjp7x092wn0iq7975f9b05ksb5kl5mxmyiqmydrja91ryw40")))) "1dcxdjp7x092wn0iq7975f9b05ksb5kl5mxmyiqmydrja91ryw40"))))
(build-system gnu-build-system) (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") (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
(synopsis "Extensions for the Eye of GNOME image viewer") (synopsis "Extensions for the Eye of GNOME image viewer")
(native-inputs (native-inputs
@ -11132,7 +11141,8 @@ functionality.")
("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
("intltool" ,intltool) ("intltool" ,intltool)
("itstool" ,itstool) ("itstool" ,itstool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)
("python" ,python)))
(inputs (inputs
`(("clutter" ,clutter) `(("clutter" ,clutter)
("clutter-gst" ,clutter-gst) ("clutter-gst" ,clutter-gst)
@ -11342,58 +11352,42 @@ higher level porcelain stuff.")
(define-public gitg (define-public gitg
(package (package
(name "gitg") (name "gitg")
(version "3.32.1") (version "41")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/" (version-major version) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914")))) "0aa6djcf7rjw0q688mfy47k67bbjpnx6aw1xs94abfhgn6gipdkz"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t (list
#:phases #:glib-or-gtk? #t
(modify-phases %standard-phases #:phases
(add-after 'unpack 'disable-post-install-partially #~(modify-phases %standard-phases
(lambda _ (add-after 'unpack 'disable-post-install-partially
(substitute* "meson_post_install.py" (lambda _
(("'python'") ; there are no python sources to compile (substitute* "meson_post_install.py"
(string-append "'" (which "true") "'")) (("'python'") ; there are no python sources to compile
(("gtk-update-icon-cache") (which "true"))) (string-append "'" (which "true") "'"))
#t)) (("gtk-update-icon-cache") (which "true")))))
(add-after 'unpack 'fix-test-sources (add-after 'unpack 'fix-test-sources
(lambda _ (lambda _
(substitute* "tests/libgitg/test-commit.vala" (substitute* "tests/libgitg/test-commit.vala"
(("/bin/bash") (which "bash"))) (("/bin/bash") (which "bash")))))
#t)) (add-after 'glib-or-gtk-wrap 'wrap-typelib
;; XXX: Remove upon next version bump (lambda* (#:key outputs #:allow-other-keys)
(add-after 'unpack 'harden (let ((prog (string-append #$output "/bin/gitg")))
(lambda _ (wrap-program prog
;; See <https://gitlab.gnome.org/GNOME/gitg/-/issues/337> `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))))))))
(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))))))
(inputs (inputs
(list glib (list glib
gsettings-desktop-schemas gsettings-desktop-schemas
gspell
gtk+ gtk+
gtkspell3 gtksourceview
gtksourceview-3
json-glib json-glib
libdazzle libdazzle
libgee libgee
@ -11403,12 +11397,13 @@ higher level porcelain stuff.")
libsoup-minimal-2 libsoup-minimal-2
libxml2)) libxml2))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") (list `(,glib "bin")
("gtk+:bin" ,gtk+ "bin") `(,gtk+ "bin")
("gobject-introspection" ,gobject-introspection) gobject-introspection
("intltool" ,intltool) intltool
("pkg-config" ,pkg-config) pkg-config
("vala" ,vala))) python
vala))
(synopsis "Graphical user interface for git") (synopsis "Graphical user interface for git")
(description (description
"gitg is a graphical user interface for git. It aims at being a small, "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 (define-public komikku
(package (package
(name "komikku") (name "komikku")
(version "0.36.1") (version "0.37.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12421,7 +12416,7 @@ profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0iqis1b248gj1jb1yzw5dcs99bm078hixg9ir0vb961ymwzv2mmc")))) "1ab17xjpfy9ks6dzgcnh2p5n9hl82mi6f8zbaz7s36115dmp4fbf"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:glib-or-gtk? #t `(#:glib-or-gtk? #t

View file

@ -716,8 +716,8 @@ in C/C++.")
;; XXXX: Workaround 'snippet' limitations. ;; XXXX: Workaround 'snippet' limitations.
(define computed-origin-method (@@ (guix packages) computed-origin-method)) (define computed-origin-method (@@ (guix packages) computed-origin-method))
(define %icecat-version "91.6.0-guix0-preview1") (define %icecat-version "91.7.0-guix0-preview1")
(define %icecat-build-id "20220208000000") ;must be of the form YYYYMMDDhhmmss (define %icecat-build-id "20220307000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -739,11 +739,11 @@ in C/C++.")
"firefox-" upstream-firefox-version ".source.tar.xz")) "firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256 (sha256
(base32 (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 (string-append "v" upstream-icecat-base-version))
(gnuzilla-commit "6c4accb674d2df8be0aabfa03f7679f66bbf70f5") (gnuzilla-commit "76e23c5f1bcebc22f7936baa29f75c6c9415935e")
(gnuzilla-source (gnuzilla-source
(origin (origin
(method git-fetch) (method git-fetch)
@ -755,7 +755,7 @@ in C/C++.")
(string-take gnuzilla-commit 8))) (string-take gnuzilla-commit 8)))
(sha256 (sha256
(base32 (base32
"14yivx4zwap2z02gj9waaccigji8ibyq40dxw5smk9w2cmcsdvic")))) "1qvhpyws73f5is7l5isiag6lbqj9gkbdkc9gj29lhhhgla8j6qyg"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it ;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings. ;; 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 #\-))))))) (cpe-version . ,(first (string-split version #\-)))))))
;; Update this together with icecat! ;; 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 (define-public icedove
(package (package
(name "icedove") (name "icedove")
(version "91.6") (version "91.7")
(source icecat-source) (source icecat-source)
(properties (properties
`((cpe-name . "thunderbird_esr"))) `((cpe-name . "thunderbird_esr")))
@ -1628,7 +1628,7 @@ standards of the IceCat project.")
;; in the Thunderbird release tarball. We don't use the release ;; in the Thunderbird release tarball. We don't use the release
;; tarball because it duplicates the Icecat sources and only adds the ;; tarball because it duplicates the Icecat sources and only adds the
;; "comm" directory, which is provided by this repository. ;; "comm" directory, which is provided by this repository.
,(let ((changeset "676bfbddd4b3ed77f818b6b07d9d8a79c61be4da")) ,(let ((changeset "39ccd0b9ea033f3292af90667e470b98a79eb8c9"))
(origin (origin
(method hg-fetch) (method hg-fetch)
(uri (hg-reference (uri (hg-reference
@ -1637,7 +1637,7 @@ standards of the IceCat project.")
(file-name (string-append "thunderbird-" version "-checkout")) (file-name (string-append "thunderbird-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1laif9h51s7v8vlqjsd6y2y9267kr7l208xjs00z6462r6kzjvab"))))) "0zk6f3yxqq5dn4dh96jmip3xy66n4lnai5fan31kl2l63vfcm1ag")))))
("cargo" ,rust "cargo") ("cargo" ,rust "cargo")
("clang" ,clang-11) ("clang" ,clang-11)
("llvm" ,llvm-11) ("llvm" ,llvm-11)

View file

@ -460,13 +460,13 @@ in the style of communicating sequential processes (@dfn{CSP}).")
`(("gold" ,binutils-gold))) `(("gold" ,binutils-gold)))
(_ `())) (_ `()))
,@(package-native-inputs go-1.4))) ,@(package-native-inputs go-1.4)))
(supported-systems %supported-systems))) (supported-systems (delete "powerpc-linux" %supported-systems))))
(define-public go-1.16 (define-public go-1.16
(package (package
(inherit go-1.14) (inherit go-1.14)
(name "go") (name "go")
(version "1.16.13") (version "1.16.14")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -476,10 +476,10 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03f37dspn4h5kqf0nqwmnl858wx6hngnlvbnrjl1ll6ihc5j66jz")))) "16pn7avzmlw28sldx6yv38a1afdwj7jz3x7kjvlagysqrsh5lwwl"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments go-1.14) (substitute-keyword-arguments
((#:tests? _) #t) (strip-keyword-arguments '(#:tests?) (package-arguments go-1.14))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-after 'unpack 'remove-unused-sourcecode-generators (add-after 'unpack 'remove-unused-sourcecode-generators
@ -625,7 +625,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package (package
(inherit go-1.16) (inherit go-1.16)
(name "go") (name "go")
(version "1.17.6") (version "1.17.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -635,7 +635,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"05k292i9qayfy5wh96z4kjmx1mfd5birnr25vb0blzaam72mcsgw")))) "0d0xybn7sy4za3f0s2ffb6yfv6pjabnk4jyvz7dn3hjqhd5lks7m"))))
(outputs '("out" "tests")) ; 'tests' contains distribution tests. (outputs '("out" "tests")) ; 'tests' contains distribution tests.
(arguments (arguments
`(#:modules ((ice-9 match) `(#:modules ((ice-9 match)
@ -1158,6 +1158,28 @@ terminals.")
proxy protocol.") proxy protocol.")
(license license:asl2.0))) (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 (define-public go-github-com-riobard-go-bloom
(let ((commit "cdc8013cb5b3eb0efebec85f0e904efccac42df9") (let ((commit "cdc8013cb5b3eb0efebec85f0e904efccac42df9")
(revision "0")) (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 (define-public go-github.com-jessevdk-go-flags
(package (package
(name "go-github.com-jessevdk-go-flags") (name "go-github.com-jessevdk-go-flags")
(version "1.3.0") (version "1.5.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2115,11 +2137,19 @@ specified by @uref{https://tools.ietf.org/html/rfc2141, IETF RFC 2141}.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "13ixw1yx4bvcj66lkc8zgwf9j7gkvj686g991gycdsafvdvca0lj"))))
"1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (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") (synopsis "Go library for parsing command line arguments")
(description (description
"The @code{flags} package provides a command line option parser. The "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).") translation (NAT), proxies, sockets, and transport layer security (TLS).")
(license license:asl2.0)))) (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 (define-public go-github-com-docker-machine
(let ((commit "7b7a141da84480342357c51838be142bf183b095") (let ((commit "7b7a141da84480342357c51838be142bf183b095")
(revision "0")) (revision "0"))
@ -7859,6 +7911,80 @@ and @code{ioutil} packages that is easy to test.")
@uref{freedesktop.org}.") @uref{freedesktop.org}.")
(license license:expat))) (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 (define-public go-github-com-godbus-dbus
(package (package
(name "go-github-com-godbus-dbus") (name "go-github-com-godbus-dbus")

View file

@ -21,13 +21,15 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; 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 © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; Copyright © 2021 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; 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 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -80,11 +82,13 @@
#:use-module (gnu packages kde-frameworks) #:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages photo) #:use-module (gnu packages photo)
@ -102,6 +106,7 @@
#:use-module (gnu packages stb) #:use-module (gnu packages stb)
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages tbb) #:use-module (gnu packages tbb)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages upnp) #:use-module (gnu packages upnp)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages vulkan) #:use-module (gnu packages vulkan)
@ -116,6 +121,7 @@
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix hg-download) #:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -491,6 +497,7 @@ typically encountered in feature film production.")
("libtiff" ,libtiff) ("libtiff" ,libtiff)
("ffmpeg" ,ffmpeg) ("ffmpeg" ,ffmpeg)
("fftw" ,fftw) ("fftw" ,fftw)
("gmp" ,gmp) ;; needed for boolean operations on meshes
("jack" ,jack-1) ("jack" ,jack-1)
("libsndfile" ,libsndfile) ("libsndfile" ,libsndfile)
("freetype" ,freetype) ("freetype" ,freetype)
@ -549,7 +556,7 @@ and export to various formats including the format used by Magicavoxel.")
(define-public assimp (define-public assimp
(package (package
(name "assimp") (name "assimp")
(version "4.1.0") (version "5.2.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (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)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1rhyqfhzifdj7yibyanph3rh13ykw3i98dnn8mz65j780472hw28")))) "1kjifakjnpm89410pw27wq21fn975gfq46kn9zs3h8bryldvvlgk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
(list zlib)) (list zlib))
@ -838,76 +845,6 @@ other vector formats such as:
@end itemize") @end itemize")
(license license:gpl2+))) (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 (define-public alembic
(package (package
(name "alembic") (name "alembic")
@ -932,10 +869,90 @@ operating system features.")
distills complex, animated scenes into a set of baked geometric results.") distills complex, animated scenes into a set of baked geometric results.")
(license license:bsd-3))) (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 (define-public ogre
(package (package
(name "ogre") (name "ogre")
(version "1.12.9") (version "13.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -944,24 +961,22 @@ distills complex, animated scenes into a set of baked geometric results.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0b0pwh31nykrfhka6jqwclfx1pxzhj11vkl91951d63kwr5bbzms")))) (base32 "157vpfzivg2wf349glyd0cpbyaw1j3fm4nggban70pghql3x48kb"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'unpack-dear-imgui (add-before 'configure 'unpack-imgui
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "dear-imgui-source") (copy-recursively (assoc-ref inputs "imgui-source")
"../dear-imgui-source") "../imgui-source")))
#t))
(add-before 'configure 'pre-configure (add-before 'configure 'pre-configure
;; CMakeLists.txt forces a CMAKE_INSTALL_RPATH value. As ;; CMakeLists.txt forces a CMAKE_INSTALL_RPATH value. As
;; a consequence, we cannot suggest ours in configure flags. Fix ;; a consequence, we cannot suggest ours in configure flags. Fix
;; it. ;; it.
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "CMakeLists.txt" (substitute* "CMakeLists.txt"
(("set\\(CMAKE_INSTALL_RPATH .*") "")) (("set\\(CMAKE_INSTALL_RPATH .*") "")))))
#t)))
#:configure-flags #:configure-flags
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(runpath (runpath
@ -969,29 +984,26 @@ distills complex, animated scenes into a set of baked geometric results.")
(string-append out "/lib/OGRE")) (string-append out "/lib/OGRE"))
";"))) ";")))
(list (string-append "-DCMAKE_INSTALL_RPATH=" runpath) (list (string-append "-DCMAKE_INSTALL_RPATH=" runpath)
"-DIMGUI_DIR=../dear-imgui-source" "-DIMGUI_DIR=../imgui-source"
"-DOGRE_BUILD_DEPENDENCIES=OFF" "-DOGRE_BUILD_DEPENDENCIES=OFF"
"-DOGRE_BUILD_TESTS=TRUE" "-DOGRE_BUILD_TESTS=TRUE"
"-DOGRE_INSTALL_DOCS=TRUE" "-DOGRE_INSTALL_DOCS=TRUE"
"-DOGRE_INSTALL_SAMPLES=TRUE" "-DOGRE_INSTALL_SAMPLES=TRUE"
"-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE")))) "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE"))))
(native-inputs (native-inputs `(("doxygen" ,doxygen)
`(("boost" ,boost) ("imgui-source" ,(package-source imgui-1.86))
("dear-imgui-source" ,(package-source dear-imgui)) ("googletest" ,googletest)
("doxygen" ,doxygen) ("pkg-config" ,pkg-config)
("googletest" ,googletest-1.8) ("python" ,python)))
("pkg-config" ,pkg-config))) (inputs (list freeimage
(inputs freetype
(list font-dejavu libxaw
freeimage libxrandr
freetype libxt
glu mesa
libxaw pugixml
libxrandr sdl2
pugixml zlib))
sdl2
tinyxml
zziplib))
(synopsis "Scene-oriented, flexible 3D engine written in C++") (synopsis "Scene-oriented, flexible 3D engine written in C++")
(description (description
"OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, "OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented,
@ -1919,7 +1931,7 @@ Some feature highlights:
(define-public openxr (define-public openxr
(package (package
(name "openxr") (name "openxr")
(version "1.0.20") (version "1.0.22")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1933,7 +1945,7 @@ Some feature highlights:
;; Delete bundled jsoncpp. ;; Delete bundled jsoncpp.
(delete-file-recursively "src/external/jsoncpp"))) (delete-file-recursively "src/external/jsoncpp")))
(sha256 (sha256
(base32 "1jd7jjxlrdi8kjnmn3sad7dgb4h48dbxryfb9snf0kifn47bi20m")))) (base32 "1l6wygazgvd8lbhqk60iim2l2h35gxpsn0y9a9f8q72sqpfianky"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; there are no tests `(#:tests? #f)) ; there are no tests

View file

@ -9,7 +9,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; 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 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org> ;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
@ -2144,7 +2144,7 @@ and routines to assist in editing internationalized text.")
(define-public girara (define-public girara
(package (package
(name "girara") (name "girara")
(version "0.3.6") (version "0.3.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2153,9 +2153,9 @@ and routines to assist in editing internationalized text.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0whwwj31fxfaf4r4qvxb4kl3mj05xj3n9c6nzdn46r30bkg9z4dw")))) (base32 "0k93pi0lkf941vanvh1habm6n5wl1n63726j5kqxh34wdlv4mv4s"))))
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("check" ,check-0.14) ("check" ,check)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ("glib:bin" ,glib "bin")
("xorg-server" ,xorg-server-for-tests))) ("xorg-server" ,xorg-server-for-tests)))
@ -2869,3 +2869,53 @@ excellent pavucontrol.")
;; XXX: 'setup.py' says "GPLv2" but nothing says "version 2 only". Is ;; XXX: 'setup.py' says "GPLv2" but nothing says "version 2 only". Is
;; GPLv2+ intended? ;; GPLv2+ intended?
(license license:gpl2))) (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