mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
Merge branch 'master' into gnome-team
Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191
This commit is contained in:
commit
e38d6a9c2f
195 changed files with 14271 additions and 50096 deletions
|
@ -43,7 +43,7 @@
|
|||
(eval . (put 'eval-when 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-prompt 'scheme-indent-function 1))
|
||||
(eval . (put 'test-assert 'scheme-indent-function 1))
|
||||
(eval . (put 'test-assertm 'scheme-indent-function 2))
|
||||
(eval . (put 'test-assertm 'scheme-indent-function 1))
|
||||
(eval . (put 'test-equalm 'scheme-indent-function 1))
|
||||
(eval . (put 'test-equal 'scheme-indent-function 1))
|
||||
(eval . (put 'test-eq 'scheme-indent-function 1))
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -68,7 +68,6 @@
|
|||
/doc/version.texi
|
||||
/doc/version-*.texi
|
||||
/etc/committer.scm
|
||||
/etc/teams.scm
|
||||
/etc/gnu-store.mount
|
||||
/etc/guix-daemon.cil
|
||||
/etc/guix-daemon.conf
|
||||
|
|
1
.patman
1
.patman
|
@ -8,3 +8,4 @@ add_signoff: False
|
|||
# TODO: enable check_patch
|
||||
check_patch: False
|
||||
ignore_bad_tags: True
|
||||
keep_change_id: True
|
||||
|
|
22
Makefile.am
22
Makefile.am
|
@ -17,6 +17,7 @@
|
|||
# Copyright © 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
# Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
|
||||
# Copyright © 2021 Andrew Tropin <andrew@trop.in>
|
||||
# Copyright © 2023 Clément Lassieur <clement@lassieur.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -184,6 +185,7 @@ MODULES = \
|
|||
guix/build-system/texlive.scm \
|
||||
guix/build-system/tree-sitter.scm \
|
||||
guix/build-system/trivial.scm \
|
||||
guix/build-system/zig.scm \
|
||||
guix/ftp-client.scm \
|
||||
guix/http-client.scm \
|
||||
guix/gnupg.scm \
|
||||
|
@ -270,6 +272,7 @@ MODULES = \
|
|||
guix/build/graft.scm \
|
||||
guix/build/bournish.scm \
|
||||
guix/build/qt-utils.scm \
|
||||
guix/build/zig-build-system.scm \
|
||||
guix/build/make-bootstrap.scm \
|
||||
guix/search-paths.scm \
|
||||
guix/packages.scm \
|
||||
|
@ -414,10 +417,6 @@ AUX_FILES = \
|
|||
gnu/packages/aux-files/linux-libre/6.5-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.5-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.5-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.4-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.4-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.4-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.4-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.1-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.1-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/6.1-i686.conf \
|
||||
|
@ -1169,10 +1168,21 @@ cuirass-jobs: $(GOBJECTS)
|
|||
|
||||
.git/config: etc/git/gitconfig
|
||||
$(AM_V_at)if command -v git >/dev/null && test -d .git; then \
|
||||
git config --add include.path ../etc/git/gitconfig; \
|
||||
git config --fixed-value --replace-all include.path \
|
||||
../etc/git/gitconfig ../etc/git/gitconfig; \
|
||||
fi
|
||||
|
||||
nodist_noinst_DATA = .git/hooks/pre-push .git/config
|
||||
COMMIT_MSG_MAGIC = VGhpcyBpcyB0aGUgY29tbWl0LW1zZyBob29rIG9mIEd1aXg=
|
||||
.git/hooks/commit-msg: etc/git/commit-msg
|
||||
$(AM_V_at)if test -d .git; then \
|
||||
if test -f $@ && ! grep -qF $(COMMIT_MSG_MAGIC) $@; then \
|
||||
mkdir -p $@.d && mv $@ $@.d && \
|
||||
@ echo user commit-msg hook moved to $@.d/commit-msg; \
|
||||
fi; \
|
||||
cp etc/git/commit-msg $@; \
|
||||
fi
|
||||
|
||||
nodist_noinst_DATA = .git/hooks/pre-push .git/config .git/hooks/commit-msg
|
||||
|
||||
# Downloading up-to-date PO files.
|
||||
|
||||
|
|
|
@ -281,7 +281,6 @@ AC_CONFIG_FILES([Makefile
|
|||
guix/config.scm])
|
||||
|
||||
AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm])
|
||||
AC_CONFIG_FILES([etc/teams.scm], [chmod +x etc/teams.scm])
|
||||
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
|
||||
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
|
||||
[chmod +x pre-inst-env])
|
||||
|
|
|
@ -605,7 +605,7 @@ needed is to review and apply the patch.
|
|||
* Version Numbers:: When the name is not enough.
|
||||
* Synopses and Descriptions:: Helping users find the right package.
|
||||
* Snippets versus Phases:: Whether to use a snippet, or a build phase.
|
||||
* Cyclic Module Dependencies:: Going full circle.
|
||||
* Cyclic Module Dependencies:: Going full circle.
|
||||
* Emacs Packages:: Your Elisp fix.
|
||||
* Python Modules:: A touch of British comedy.
|
||||
* Perl Modules:: Little pearls.
|
||||
|
@ -1575,8 +1575,16 @@ different name or email just for commits in this repository, you can
|
|||
use @command{git config --local}, or edit @file{.git/config} in the
|
||||
repository instead of @file{~/.gitconfig}.
|
||||
|
||||
@cindex commit-msg hook
|
||||
Other important Git configuration will automatically be configured when
|
||||
building the project (@pxref{Building from Git}).
|
||||
building the project (@pxref{Building from Git}). A
|
||||
@file{.git/hooks/commit-msg} hook will be installed that embeds
|
||||
@samp{Change-Id} Git @emph{trailers} in your commit messages for
|
||||
traceability purposes. It is important to preserve these when editing
|
||||
your commit messages, particularly if a first version of your proposed
|
||||
changes was already submitted for review. If you have a
|
||||
@file{commit-msg} hook of your own you would like to use with Guix, you
|
||||
can place it under the @file{.git/hooks/commit-msg.d/} directory.
|
||||
|
||||
@node Sending a Patch Series
|
||||
@subsection Sending a Patch Series
|
||||
|
@ -1763,6 +1771,7 @@ patch submissions and topic branches.
|
|||
* Managing Patches and Branches:: How changes to Guix are managed.
|
||||
* Debbugs User Interfaces:: Ways to interact with Debbugs.
|
||||
* Debbugs Usertags:: Tag reports with custom labels.
|
||||
* Cuirass Build Notifications:: Be alerted of any breakage via RSS feeds.
|
||||
@end menu
|
||||
|
||||
@node The Issue Tracker
|
||||
|
@ -2012,6 +2021,43 @@ with the @code{guix} user. If the usertag proves useful to you,
|
|||
consider updating this section of the manual so that others will know
|
||||
what your usertag means.
|
||||
|
||||
@node Cuirass Build Notifications
|
||||
@subsection Cuirass Build Notifications
|
||||
|
||||
@cindex build event notifications, RSS feed
|
||||
@cindex notifications, build events
|
||||
Cuirass includes @acronym{RSS, Really Simple Syndication} feeds as one
|
||||
of its features (@pxref{Notifications,,,cuirass}). Since
|
||||
@url{https://ci.guix.gnu.org/, Berlin} runs an instance of Cuirass, this
|
||||
feature can be used to keep track of recently broken or fixed packages
|
||||
caused by changes pushed to the Guix git repository. Any RSS client can
|
||||
be used. A good one, included with Emacs, is @xref{Gnus,,,gnus}. To
|
||||
register the feed, copy its URL, then from the main Gnus buffer,
|
||||
@samp{*Group*}, do the following:
|
||||
|
||||
@cindex Gnus, configuration to read CI RSS feeds
|
||||
@cindex RSS feeds, Gnus configuration
|
||||
@example
|
||||
@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET
|
||||
Guix CI - master RET Build events for specification master. RET
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Then, back at the @samp{*Group*} buffer, press @kbd{s} to save the newly
|
||||
added RSS group. As for any other Gnus group, you can update its
|
||||
content by pressing the @kbd{g} key. You should now receive
|
||||
notifications that read like:
|
||||
|
||||
@example
|
||||
. [ ?: Cuirass ] Build tree-sitter-meson.aarch64-linux on master is fixed.
|
||||
. [ ?: Cuirass ] Build rust-pbkdf2.aarch64-linux on master is fixed.
|
||||
. [ ?: Cuirass ] Build rust-pbkdf2.x86_64-linux on master is fixed.
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
where each RSS entry contains a link to the Cuirass build details page
|
||||
of the associated build.
|
||||
|
||||
@node Commit Access
|
||||
@section Commit Access
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Copyright @copyright{} 2020 André Batista@*
|
|||
Copyright @copyright{} 2020 Christine Lemmer-Webber@*
|
||||
Copyright @copyright{} 2021 Joshua Branson@*
|
||||
Copyright @copyright{} 2022, 2023 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2023 Ludovic Courtès
|
||||
Copyright @copyright{} 2023 Ludovic Courtès@*
|
||||
Copyright @copyright{} 2023 Thomas Ieong
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
@ -78,6 +78,7 @@ manual}).
|
|||
* System Configuration:: Customizing the GNU System
|
||||
* Containers:: Isolated environments and nested systems
|
||||
* Advanced package management:: Power to the users!
|
||||
* Software Development:: Environments, continuous integration, etc.
|
||||
* Environment management:: Control environment
|
||||
* Installing Guix on a Cluster:: High-performance computing.
|
||||
|
||||
|
@ -4099,6 +4100,654 @@ mkdir -p "$GUIX_EXTRA_PROFILES/my-project"
|
|||
It's safe to delete the Guix channel profile you've just installed with the
|
||||
channel specification, the project profile does not depend on it.
|
||||
|
||||
@node Software Development
|
||||
@chapter Software Development
|
||||
|
||||
@cindex development, with Guix
|
||||
@cindex software development, with Guix
|
||||
Guix is a handy tool for developers; @command{guix shell}, in
|
||||
particular, gives a standalone development environment for your package,
|
||||
no matter what language(s) it's written in (@pxref{Invoking guix
|
||||
shell,,, guix, GNU Guix Reference Manual}). To benefit from it, you
|
||||
have to initially write a package definition and have it either in Guix
|
||||
proper, or in a channel, or directly in your project's source tree as a
|
||||
@file{guix.scm} file. This last option is appealing: all developers
|
||||
have to do to get set up is clone the project's repository and run
|
||||
@command{guix shell}, with no arguments.
|
||||
|
||||
Development needs go beyond development environments though. How can
|
||||
developers perform continuous integration of their code in Guix build
|
||||
environments? How can they deliver their code straight to adventurous
|
||||
users? This chapter describes a set of files developers can add to their
|
||||
repository to set up Guix-based development environments, continuous
|
||||
integration, and continuous delivery---all at once@footnote{This chapter
|
||||
is adapted from a
|
||||
@uref{https://guix.gnu.org/en/blog/2023/from-development-environments-to-continuous-integrationthe-ultimate-guide-to-software-development-with-guix/,
|
||||
blog post} published in June 2023 on the Guix web site.}.
|
||||
|
||||
@menu
|
||||
* Getting Started:: Step 0: using `guix shell'.
|
||||
* Building with Guix:: Step 1: building your code.
|
||||
* The Repository as a Channel:: Step 2: turning the repo in a channel.
|
||||
* Package Variants:: Bonus: Defining variants.
|
||||
* Setting Up Continuous Integration:: Step 3: continuous integration.
|
||||
* Build Manifest:: Bonus: Manifest.
|
||||
* Wrapping Up:: Recap.
|
||||
@end menu
|
||||
|
||||
@node Getting Started
|
||||
@section Getting Started
|
||||
|
||||
How do we go about ``Guixifying'' a repository? The first step, as we've
|
||||
seen, will be to add a @file{guix.scm} at the root of the repository in
|
||||
question. We'll take @uref{https://www.gnu.org/software/guile,Guile} as
|
||||
an example in this chapter: it's written in Scheme (mostly) and C, and
|
||||
has a number of dependencies---a C compilation tool chain, C libraries,
|
||||
Autoconf and its friends, LaTeX, and so on. The resulting
|
||||
@file{guix.scm} looks like the usual package definition (@pxref{Defining
|
||||
Packages,,, guix, GNU Guix Reference Manual}), just without the
|
||||
@code{define-public} bit:
|
||||
|
||||
@lisp
|
||||
;; The ‘guix.scm’ file for Guile, for use by ‘guix shell’.
|
||||
|
||||
(use-modules (guix)
|
||||
(guix build-system gnu)
|
||||
((guix licenses) #:prefix license:)
|
||||
(gnu packages autotools)
|
||||
(gnu packages base)
|
||||
(gnu packages bash)
|
||||
(gnu packages bdw-gc)
|
||||
(gnu packages compression)
|
||||
(gnu packages flex)
|
||||
(gnu packages gdb)
|
||||
(gnu packages gettext)
|
||||
(gnu packages gperf)
|
||||
(gnu packages libffi)
|
||||
(gnu packages libunistring)
|
||||
(gnu packages linux)
|
||||
(gnu packages pkg-config)
|
||||
(gnu packages readline)
|
||||
(gnu packages tex)
|
||||
(gnu packages texinfo)
|
||||
(gnu packages version-control))
|
||||
|
||||
(package
|
||||
(name "guile")
|
||||
(version "3.0.99-git") ;funky version number
|
||||
(source #f) ;no source
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(append (list autoconf
|
||||
automake
|
||||
libtool
|
||||
gnu-gettext
|
||||
flex
|
||||
texinfo
|
||||
texlive-base ;for "make pdf"
|
||||
texlive-epsf
|
||||
gperf
|
||||
git
|
||||
gdb
|
||||
strace
|
||||
readline
|
||||
lzip
|
||||
pkg-config)
|
||||
|
||||
;; When cross-compiling, a native version of Guile itself is
|
||||
;; needed.
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'())))
|
||||
(inputs
|
||||
(list libffi bash-minimal))
|
||||
(propagated-inputs
|
||||
(list libunistring libgc))
|
||||
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_LOAD_PATH")
|
||||
(files '("share/guile/site/3.0")))
|
||||
(search-path-specification
|
||||
(variable "GUILE_LOAD_COMPILED_PATH")
|
||||
(files '("lib/guile/3.0/site-ccache")))))
|
||||
(synopsis "Scheme implementation intended especially for extensions")
|
||||
(description
|
||||
"Guile is the GNU Ubiquitous Intelligent Language for Extensions,
|
||||
and it's actually a full-blown Scheme implementation!")
|
||||
(home-page "https://www.gnu.org/software/guile/")
|
||||
(license license:lgpl3+))
|
||||
@end lisp
|
||||
|
||||
Quite a bit of boilerplate, but now someone who'd like to hack on Guile
|
||||
now only needs to run:
|
||||
|
||||
@lisp
|
||||
guix shell
|
||||
@end lisp
|
||||
|
||||
That gives them a shell containing all the dependencies of Guile: those
|
||||
listed above, but also @emph{implicit dependencies} such as the GCC tool
|
||||
chain, GNU@ Make, sed, grep, and so on. @xref{Invoking guix shell,,,
|
||||
guix, GNU Guix Reference Manual}, for more info on @command{guix shell}.
|
||||
|
||||
@quotation The chef's recommendation
|
||||
Our suggestion is to create development environments like this:
|
||||
|
||||
@example
|
||||
guix shell --container --link-profile
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
... or, for short:
|
||||
|
||||
@example
|
||||
guix shell -CP
|
||||
@end example
|
||||
|
||||
That gives a shell in an isolated container, and all the dependencies
|
||||
show up in @code{$HOME/.guix-profile}, which plays well with caches such
|
||||
as @file{config.cache} (@pxref{Cache Files,,, autoconf, Autoconf}) and
|
||||
absolute file names recorded in generated @code{Makefile}s and the
|
||||
likes. The fact that the shell runs in a container brings peace of mind:
|
||||
nothing but the current directory and Guile's dependencies is visible
|
||||
inside the container; nothing from the system can possibly interfere
|
||||
with your development.
|
||||
@end quotation
|
||||
|
||||
@node Building with Guix
|
||||
@section Level 1: Building with Guix
|
||||
|
||||
Now that we have a package definition (@pxref{Getting Started}), why not
|
||||
also take advantage of it so we can build Guile with Guix? We had left
|
||||
the @code{source} field empty, because @command{guix shell} above only
|
||||
cares about the @emph{inputs} of our package---so it can set up the
|
||||
development environment---not about the package itself.
|
||||
|
||||
To build the package with Guix, we'll need to fill out the @code{source}
|
||||
field, along these lines:
|
||||
|
||||
@lisp
|
||||
(use-modules (guix)
|
||||
(guix git-download) ;for ‘git-predicate’
|
||||
@dots{})
|
||||
|
||||
(define vcs-file?
|
||||
;; Return true if the given file is under version control.
|
||||
(or (git-predicate (current-source-directory))
|
||||
(const #t))) ;not in a Git checkout
|
||||
|
||||
(package
|
||||
(name "guile")
|
||||
(version "3.0.99-git") ;funky version number
|
||||
(source (local-file "." "guile-checkout"
|
||||
#:recursive? #t
|
||||
#:select? vcs-file?))
|
||||
@dots{})
|
||||
@end lisp
|
||||
|
||||
Here's what we changed compared to the previous section:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
We added @code{(guix git-download)} to our set of imported modules, so
|
||||
we can use its @code{git-predicate} procedure.
|
||||
@item
|
||||
We defined @code{vcs-file?} as a procedure that returns true when passed
|
||||
a file that is under version control. For good measure, we add a
|
||||
fallback case for when we're not in a Git checkout: always return true.
|
||||
@item
|
||||
We set @code{source} to a
|
||||
@uref{https://guix.gnu.org/manual/devel/en/html_node/G_002dExpressions.html#index-local_002dfile,@code{local-file}}---a
|
||||
recursive copy of the current directory (@code{"."}), limited to files
|
||||
under version control (the @code{#:select?} bit).
|
||||
@end enumerate
|
||||
|
||||
From there on, our @file{guix.scm} file serves a second purpose: it lets
|
||||
us build the software with Guix. The whole point of building with Guix
|
||||
is that it's a ``clean'' build---you can be sure nothing from your
|
||||
working tree or system interferes with the build result---and it lets
|
||||
you test a variety of things. First, you can do a plain native build:
|
||||
|
||||
@example
|
||||
guix build -f guix.scm
|
||||
@end example
|
||||
|
||||
But you can also build for another system (possibly after setting up
|
||||
@pxref{Daemon Offload Setup, offloading,, guix, GNU Guix Reference Manual}
|
||||
or
|
||||
@pxref{Virtualization Services, transparent emulation,, guix, GNU Guix
|
||||
Reference Manual}):
|
||||
|
||||
@lisp
|
||||
guix build -f guix.scm -s aarch64-linux -s riscv64-linux
|
||||
@end lisp
|
||||
|
||||
@noindent
|
||||
@dots{} or cross-compile:
|
||||
|
||||
@lisp
|
||||
guix build -f guix.scm --target=x86_64-w64-mingw32
|
||||
@end lisp
|
||||
|
||||
You can also use @dfn{package transformations} to test package variants
|
||||
(@pxref{Package Transformations,,, guix, GNU Guix Reference Manual}):
|
||||
|
||||
@example
|
||||
# What if we built with Clang instead of GCC?
|
||||
guix build -f guix.scm \
|
||||
--with-c-toolchain=guile@@3.0.99-git=clang-toolchain
|
||||
|
||||
# What about that under-tested configure flag?
|
||||
guix build -f guix.scm \
|
||||
--with-configure-flag=guile@@3.0.99-git=--disable-networking
|
||||
@end example
|
||||
|
||||
Handy!
|
||||
|
||||
@node The Repository as a Channel
|
||||
@section Level 2: The Repository as a Channel
|
||||
|
||||
We now have a Git repository containing (among other things) a package
|
||||
definition (@pxref{Building with Guix}). Can't we turn it into a
|
||||
@dfn{channel} (@pxref{Channels,,, guix, GNU Guix Reference Manual})?
|
||||
After all, channels are designed to ship package definitions to users,
|
||||
and that's exactly what we're doing with our @file{guix.scm}.
|
||||
|
||||
Turns out we can indeed turn it into a channel, but with one caveat: we
|
||||
must create a separate directory for the @code{.scm} file(s) of our
|
||||
channel so that @command{guix pull} doesn't load unrelated @code{.scm}
|
||||
files when someone pulls the channel---and in Guile, there are lots of
|
||||
them! So we'll start like this, keeping a top-level @file{guix.scm}
|
||||
symlink for the sake of @command{guix shell}:
|
||||
|
||||
@lisp
|
||||
mkdir -p .guix/modules
|
||||
mv guix.scm .guix/modules/guile-package.scm
|
||||
ln -s .guix/modules/guile-package.scm guix.scm
|
||||
@end lisp
|
||||
|
||||
To make it usable as part of a channel, we need to turn our
|
||||
@file{guix.scm} file into a @dfn{package module} (@pxref{Package
|
||||
Modules,,, guix, GNU Guix Reference Manual}):
|
||||
we do that by changing the @code{use-modules} form at the top to a
|
||||
@code{define-module} form. We also need to actually @emph{export} a
|
||||
package variable, with @code{define-public}, while still returning the
|
||||
package value at the end of the file so we can still use
|
||||
@command{guix shell} and @command{guix build -f guix.scm}. The end result
|
||||
looks like this (not repeating things that haven't changed):
|
||||
|
||||
@lisp
|
||||
(define-module (guile-package)
|
||||
#:use-module (guix)
|
||||
#:use-module (guix git-download) ;for ‘git-predicate’
|
||||
@dots{})
|
||||
|
||||
(define vcs-file?
|
||||
;; Return true if the given file is under version control.
|
||||
(or (git-predicate (dirname (dirname (current-source-directory))))
|
||||
(const #t))) ;not in a Git checkout
|
||||
|
||||
(define-public guile
|
||||
(package
|
||||
(name "guile")
|
||||
(version "3.0.99-git") ;funky version number
|
||||
(source (local-file "../.." "guile-checkout"
|
||||
#:recursive? #t
|
||||
#:select? vcs-file?))
|
||||
@dots{}))
|
||||
|
||||
;; Return the package object define above at the end of the module.
|
||||
guile
|
||||
@end lisp
|
||||
|
||||
We need one last thing: a
|
||||
@uref{https://guix.gnu.org/manual/devel/en/html_node/Package-Modules-in-a-Sub_002ddirectory.html,@code{.guix-channel}
|
||||
file} so Guix knows where to look for package modules in our repository:
|
||||
|
||||
@lisp
|
||||
;; This file lets us present this repo as a Guix channel.
|
||||
|
||||
(channel
|
||||
(version 0)
|
||||
(directory ".guix/modules")) ;look for package modules under .guix/modules/
|
||||
@end lisp
|
||||
|
||||
To recap, we now have these files:
|
||||
|
||||
@lisp
|
||||
.
|
||||
├── .guix-channel
|
||||
├── guix.scm → .guix/modules/guile-package.scm
|
||||
└── .guix
|
||||
└── modules
|
||||
└── guile-package.scm
|
||||
@end lisp
|
||||
|
||||
And that's it: we have a channel! (We could do better and support
|
||||
@uref{https://guix.gnu.org/manual/devel/en/html_node/Specifying-Channel-Authorizations.html,@emph{channel
|
||||
authentication}} so users know they're pulling genuine code. We'll spare
|
||||
you the details here but it's worth considering!) Users can pull from
|
||||
this channel by
|
||||
@uref{https://guix.gnu.org/manual/devel/en/html_node/Specifying-Additional-Channels.html,adding
|
||||
it to @code{~/.config/guix/channels.scm}}, along these lines:
|
||||
|
||||
@lisp
|
||||
(append (list (channel
|
||||
(name 'guile)
|
||||
(url "https://git.savannah.gnu.org/git/guile.git")
|
||||
(branch "main")))
|
||||
%default-channels)
|
||||
@end lisp
|
||||
|
||||
After running @command{guix pull}, we can see the new package:
|
||||
|
||||
@example
|
||||
$ guix describe
|
||||
Generation 264 May 26 2023 16:00:35 (current)
|
||||
guile 36fd2b4
|
||||
repository URL: https://git.savannah.gnu.org/git/guile.git
|
||||
branch: main
|
||||
commit: 36fd2b4920ae926c79b936c29e739e71a6dff2bc
|
||||
guix c5bc698
|
||||
repository URL: https://git.savannah.gnu.org/git/guix.git
|
||||
commit: c5bc698e8922d78ed85989985cc2ceb034de2f23
|
||||
$ guix package -A ^guile$
|
||||
guile 3.0.99-git out,debug guile-package.scm:51:4
|
||||
guile 3.0.9 out,debug gnu/packages/guile.scm:317:2
|
||||
guile 2.2.7 out,debug gnu/packages/guile.scm:258:2
|
||||
guile 2.2.4 out,debug gnu/packages/guile.scm:304:2
|
||||
guile 2.0.14 out,debug gnu/packages/guile.scm:148:2
|
||||
guile 1.8.8 out gnu/packages/guile.scm:77:2
|
||||
$ guix build guile@@3.0.99-git
|
||||
[@dots{}]
|
||||
/gnu/store/axnzbl89yz7ld78bmx72vpqp802dwsar-guile-3.0.99-git-debug
|
||||
/gnu/store/r34gsij7f0glg2fbakcmmk0zn4v62s5w-guile-3.0.99-git
|
||||
@end example
|
||||
|
||||
That's how, as a developer, you get your software delivered directly
|
||||
into the hands of users! No intermediaries, yet no loss of transparency
|
||||
and provenance tracking.
|
||||
|
||||
With that in place, it also becomes trivial for anyone to create Docker
|
||||
images, Deb/RPM packages, or a plain tarball with @command{guix pack}
|
||||
(@pxref{Invoking guix pack,,, guix, GNU Guix Reference Manual}):
|
||||
|
||||
@example
|
||||
# How about a Docker image of our Guile snapshot?
|
||||
guix pack -f docker -S /bin=bin guile@@3.0.99-git
|
||||
|
||||
# And a relocatable RPM?
|
||||
guix pack -f rpm -R -S /bin=bin guile@@3.0.99-git
|
||||
@end example
|
||||
|
||||
@node Package Variants
|
||||
@section Bonus: Package Variants
|
||||
|
||||
We now have an actual channel, but it contains only one package
|
||||
(@pxref{The Repository as a Channel}). While we're at it, we can define
|
||||
@dfn{package variants} (@pxref{Defining Package Variants,,, guix, GNU
|
||||
Guix Reference Manual}) in our @file{guile-package.scm} file, variants
|
||||
that we want to be able to test as Guile developers---similar to what we
|
||||
did above with transformation options. We can add them like so:
|
||||
|
||||
@lisp
|
||||
;; This is the ‘.guix/modules/guile-package.scm’ file.
|
||||
|
||||
(define-module (guile-package)
|
||||
@dots{})
|
||||
|
||||
(define-public guile
|
||||
@dots{})
|
||||
|
||||
(define (package-with-configure-flags p flags)
|
||||
"Return P with FLAGS as additional 'configure' flags."
|
||||
(package/inherit p
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments p)
|
||||
((#:configure-flags original-flags #~(list))
|
||||
#~(append #$original-flags #$flags))))))
|
||||
|
||||
(define-public guile-without-threads
|
||||
(package
|
||||
(inherit (package-with-configure-flags guile
|
||||
#~(list "--without-threads")))
|
||||
(name "guile-without-threads")))
|
||||
|
||||
(define-public guile-without-networking
|
||||
(package
|
||||
(inherit (package-with-configure-flags guile
|
||||
#~(list "--disable-networking")))
|
||||
(name "guile-without-networking")))
|
||||
|
||||
|
||||
;; Return the package object defined above at the end of the module.
|
||||
guile
|
||||
@end lisp
|
||||
|
||||
We can build these variants as regular packages once we've pulled the
|
||||
channel. Alternatively, from a checkout of Guile, we can run a command
|
||||
like this one from the top level:
|
||||
|
||||
@lisp
|
||||
guix build -L $PWD/.guix/modules guile-without-threads
|
||||
@end lisp
|
||||
|
||||
@node Setting Up Continuous Integration
|
||||
@section Level 3: Setting Up Continuous Integration
|
||||
|
||||
@cindex continuous integration (CI)
|
||||
The channel we defined above (@pxref{The Repository as a Channel})
|
||||
becomes even more interesting once we set up
|
||||
@uref{https://en.wikipedia.org/wiki/Continuous_integration,
|
||||
@dfn{continuous integration}} (CI). There are several ways to do that.
|
||||
|
||||
You can use one of the mainstream continuous integration tools, such as
|
||||
GitLab-CI. To do that, you need to make sure you run jobs in a Docker
|
||||
image or virtual machine that has Guix installed. If we were to do that
|
||||
in the case of Guile, we'd have a job that runs a shell command like
|
||||
this one:
|
||||
|
||||
@lisp
|
||||
guix build -L $PWD/.guix/modules guile@@3.0.99-git
|
||||
@end lisp
|
||||
|
||||
Doing this works great and has the advantage of being easy to achieve on
|
||||
your favorite CI platform.
|
||||
|
||||
That said, you'll really get the most of it by using
|
||||
@uref{https://guix.gnu.org/en/cuirass,Cuirass}, a CI tool designed for
|
||||
and tightly integrated with Guix. Using it is more work than using a
|
||||
hosted CI tool because you first need to set it up, but that setup phase
|
||||
is greatly simplified if you use its Guix System service
|
||||
(@pxref{Continuous Integration,,, guix, GNU Guix Reference Manual}).
|
||||
Going back to our example, we give Cuirass a spec file that goes like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
;; Cuirass spec file to build all the packages of the ‘guile’ channel.
|
||||
(list (specification
|
||||
(name "guile")
|
||||
(build '(channels guile))
|
||||
(channels
|
||||
(append (list (channel
|
||||
(name 'guile)
|
||||
(url "https://git.savannah.gnu.org/git/guile.git")
|
||||
(branch "main")))
|
||||
%default-channels))))
|
||||
@end lisp
|
||||
|
||||
It differs from what you'd do with other CI tools in two important ways:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
Cuirass knows it's tracking @emph{two} channels, @code{guile} and
|
||||
@code{guix}. Indeed, our own @code{guile} package depends on many
|
||||
packages provided by the @code{guix} channel---GCC, the GNU libc,
|
||||
libffi, and so on. Changes to packages from the @code{guix} channel can
|
||||
potentially influence our @code{guile} build and this is something we'd
|
||||
like to see as soon as possible as Guile developers.
|
||||
@item
|
||||
Build results are not thrown away: they can be distributed as
|
||||
@dfn{substitutes} so that users of our @code{guile} channel
|
||||
transparently get pre-built binaries! (@pxref{Substitutes,,, guix, GNU
|
||||
Guix Reference Manual}, for background info on substitutes.)
|
||||
@end itemize
|
||||
|
||||
From a developer's viewpoint, the end result is this
|
||||
@uref{https://ci.guix.gnu.org/jobset/guile,status page} listing
|
||||
@emph{evaluations}: each evaluation is a combination of commits of the
|
||||
@code{guix} and @code{guile} channels providing a number of
|
||||
@emph{jobs}---one job per package defined in @file{guile-package.scm}
|
||||
times the number of target architectures.
|
||||
|
||||
As for substitutes, they come for free! As an example, since our
|
||||
@code{guile} jobset is built on ci.guix.gnu.org, which runs
|
||||
@command{guix publish} (@pxref{Invoking guix publish,,, guix, GNU Guix
|
||||
Reference Manual}) in addition to Cuirass, one automatically gets
|
||||
substitutes for @code{guile} builds from ci.guix.gnu.org; no additional
|
||||
work is needed for that.
|
||||
|
||||
@node Build Manifest
|
||||
@section Bonus: Build manifest
|
||||
|
||||
The Cuirass spec above is convenient: it builds every package in our
|
||||
channel, which includes a few variants (@pxref{Setting Up Continuous
|
||||
Integration}). However, this might be insufficiently expressive in some
|
||||
cases: one might want specific cross-compilation jobs, transformations,
|
||||
Docker images, RPM/Deb packages, or even system tests.
|
||||
|
||||
To achieve that, you can write a @dfn{manifest} (@pxref{Writing
|
||||
Manifests,,, guix, GNU Guix Reference Manual}). The one we have for
|
||||
Guile has entries for the package variants we defined above, as well as
|
||||
additional variants and cross builds:
|
||||
|
||||
@lisp
|
||||
;; This is ‘.guix/manifest.scm’.
|
||||
|
||||
(use-modules (guix)
|
||||
(guix profiles)
|
||||
(guile-package)) ;import our own package module
|
||||
|
||||
(define* (package->manifest-entry* package system
|
||||
#:key target)
|
||||
"Return a manifest entry for PACKAGE on SYSTEM, optionally cross-compiled to
|
||||
TARGET."
|
||||
(manifest-entry
|
||||
(inherit (package->manifest-entry package))
|
||||
(name (string-append (package-name package) "." system
|
||||
(if target
|
||||
(string-append "." target)
|
||||
"")))
|
||||
(item (with-parameters ((%current-system system)
|
||||
(%current-target-system target))
|
||||
package))))
|
||||
|
||||
(define native-builds
|
||||
(manifest
|
||||
(append (map (lambda (system)
|
||||
(package->manifest-entry* guile system))
|
||||
|
||||
'("x86_64-linux" "i686-linux"
|
||||
"aarch64-linux" "armhf-linux"
|
||||
"powerpc64le-linux"))
|
||||
(map (lambda (guile)
|
||||
(package->manifest-entry* guile "x86_64-linux"))
|
||||
(cons (package
|
||||
(inherit (package-with-c-toolchain
|
||||
guile
|
||||
`(("clang-toolchain"
|
||||
,(specification->package
|
||||
"clang-toolchain")))))
|
||||
(name "guile-clang"))
|
||||
(list guile-without-threads
|
||||
guile-without-networking
|
||||
guile-debug
|
||||
guile-strict-typing))))))
|
||||
|
||||
(define cross-builds
|
||||
(manifest
|
||||
(map (lambda (target)
|
||||
(package->manifest-entry* guile "x86_64-linux"
|
||||
#:target target))
|
||||
'("i586-pc-gnu"
|
||||
"aarch64-linux-gnu"
|
||||
"riscv64-linux-gnu"
|
||||
"i686-w64-mingw32"
|
||||
"x86_64-linux-gnu"))))
|
||||
|
||||
(concatenate-manifests (list native-builds cross-builds))
|
||||
@end lisp
|
||||
|
||||
We won't go into the details of this manifest; suffice to say that it
|
||||
provides additional flexibility. We now need to tell Cuirass to build
|
||||
this manifest, which is done with a spec slightly different from the
|
||||
previous one:
|
||||
|
||||
@lisp
|
||||
;; Cuirass spec file to build all the packages of the ‘guile’ channel.
|
||||
(list (specification
|
||||
(name "guile")
|
||||
(build '(manifest ".guix/manifest.scm"))
|
||||
(channels
|
||||
(append (list (channel
|
||||
(name 'guile)
|
||||
(url "https://git.savannah.gnu.org/git/guile.git")
|
||||
(branch "main")))
|
||||
%default-channels))))
|
||||
@end lisp
|
||||
|
||||
We changed the @code{(build @dots{})} part of the spec to
|
||||
@code{'(manifest ".guix/manifest.scm")} so that it would pick our
|
||||
manifest, and that's it!
|
||||
|
||||
@node Wrapping Up
|
||||
@section Wrapping Up
|
||||
|
||||
We picked Guile as the running example in this chapter and you can see
|
||||
the result here:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
@uref{https://git.savannah.gnu.org/cgit/guile.git/tree/.guix-channel?id=cd57379b3df636198d8cd8e76c1bfbc523762e79,@code{.guix-channel}};
|
||||
@item
|
||||
@uref{https://git.savannah.gnu.org/cgit/guile.git/tree/.guix/modules/guile-package.scm?id=cd57379b3df636198d8cd8e76c1bfbc523762e79,@code{.guix/modules/guile-package.scm}}
|
||||
with the top-level @file{guix.scm} symlink;
|
||||
@item
|
||||
@uref{https://git.savannah.gnu.org/cgit/guile.git/tree/.guix/manifest.scm?id=cd57379b3df636198d8cd8e76c1bfbc523762e79,@code{.guix/manifest.scm}}.
|
||||
@end itemize
|
||||
|
||||
These days, repositories are commonly peppered with dot files for
|
||||
various tools: @code{.envrc}, @code{.gitlab-ci.yml},
|
||||
@code{.github/workflows}, @code{Dockerfile}, @code{.buildpacks},
|
||||
@code{Aptfile}, @code{requirements.txt}, and whatnot. It may sound like
|
||||
we're proposing a bunch of @emph{additional} files, but in fact those
|
||||
files are expressive enough to @emph{supersede} most or all of those
|
||||
listed above.
|
||||
|
||||
With a couple of files, we get support for:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
development environments (@command{guix shell});
|
||||
@item
|
||||
pristine test builds, including for package variants and for
|
||||
cross-compilation (@command{guix build});
|
||||
@item
|
||||
continuous integration (with Cuirass or with some other tool);
|
||||
@item
|
||||
continuous delivery to users (@emph{via} the channel and with pre-built
|
||||
binaries);
|
||||
@item
|
||||
generation of derivative build artifacts such as Docker images or
|
||||
Deb/RPM packages (@command{guix pack}).
|
||||
@end itemize
|
||||
|
||||
This a nice (in our view!) unified tool set for reproducible software
|
||||
deployment, and an illustration of how you as a developer can benefit
|
||||
from it!
|
||||
|
||||
|
||||
@c *********************************************************************
|
||||
@node Environment management
|
||||
@chapter Environment management
|
||||
|
|
204
doc/guix.texi
204
doc/guix.texi
|
@ -7314,9 +7314,12 @@ specified binaries and symlinks.
|
|||
@item docker
|
||||
This produces a tarball that follows the
|
||||
@uref{https://github.com/docker/docker/blob/master/image/spec/v1.2.md,
|
||||
Docker Image Specification}. The ``repository name'' as it appears in
|
||||
the output of the @command{docker images} command is computed from
|
||||
package names passed on the command line or in the manifest file.
|
||||
Docker Image Specification}. By default, the ``repository name'' as it
|
||||
appears in the output of the @command{docker images} command is computed
|
||||
from package names passed on the command line or in the manifest file.
|
||||
Alternatively, the ``repository name'' can also be configured via the
|
||||
@option{--image-tag} option. Refer to @option{--help-docker-format} for
|
||||
more information on such advanced options.
|
||||
|
||||
@item squashfs
|
||||
This produces a SquashFS image containing all the specified binaries and
|
||||
|
@ -8530,9 +8533,81 @@ support of the Mercurial version control system.
|
|||
Return a fixed-output derivation that fetches @var{ref}, a
|
||||
@code{<hg-reference>} object. The output is expected to have recursive
|
||||
hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
|
||||
the file name, or a generic name if @code{#false}.
|
||||
the file name, or a generic name if @code{#f}.
|
||||
@end deffn
|
||||
|
||||
@deftp {Data Type} hg-reference
|
||||
This data type represents a Mercurial reference for @code{hg-fetch} to
|
||||
retrieve.
|
||||
|
||||
@table @asis
|
||||
@item @code{url}
|
||||
The URL of the Mercurial repository to clone.
|
||||
|
||||
@item @code{revision}
|
||||
This string denotes revision to fetch specified as a number.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
For Subversion repositories, the module @code{(guix svn-download)}
|
||||
defines the @code{svn-fetch} origin method and @code{svn-reference} data
|
||||
type for support of the Subversion version control system.
|
||||
|
||||
@deffn {Procedure} svn-fetch ref hash-algo hash [name]
|
||||
Return a fixed-output derivation that fetches @var{ref}, a
|
||||
@code{<svn-reference>} object. The output is expected to have recursive
|
||||
hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
|
||||
the file name, or a generic name if @code{#f}.
|
||||
@end deffn
|
||||
|
||||
@deftp {Data Type} svn-reference
|
||||
This data type represents a Subversion reference for @code{svn-fetch} to
|
||||
retrieve.
|
||||
|
||||
@table @asis
|
||||
@item @code{url}
|
||||
The URL of the Subversion repository to clone.
|
||||
|
||||
@item @code{revision}
|
||||
This string denotes revision to fetch specified as a number.
|
||||
|
||||
@item @code{recursive?} (default: @code{#f})
|
||||
This Boolean indicates whether to recursively fetch Subversion
|
||||
``externals''.
|
||||
|
||||
@item @code{user-name} (default: @code{#f})
|
||||
The name of an account that has read-access to the repository, if the
|
||||
repository isn't public.
|
||||
|
||||
@item @code{password} (default: @code{#f})
|
||||
Password to access the Subversion repository, if required.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
For Bazaar repositories, the module @code{(guix bzr-download)}
|
||||
defines the @code{bzr-fetch} origin method and @code{bzr-reference} data
|
||||
type for support of the Bazaar version control system.
|
||||
|
||||
@deffn {Procedure} bzr-fetch ref hash-algo hash [name]
|
||||
Return a fixed-output derivation that fetches @var{ref}, a
|
||||
@code{<bzr-reference>} object. The output is expected to have recursive
|
||||
hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
|
||||
the file name, or a generic name if @code{#f}.
|
||||
@end deffn
|
||||
|
||||
@deftp {Data Type} bzr-reference
|
||||
This data type represents a Bazaar reference for @code{bzr-fetch} to
|
||||
retrieve.
|
||||
|
||||
@table @asis
|
||||
@item @code{url}
|
||||
The URL of the Bazaar repository to clone.
|
||||
|
||||
@item @code{revision}
|
||||
This string denotes revision to fetch specified as a number.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Defining Package Variants
|
||||
@section Defining Package Variants
|
||||
|
||||
|
@ -10144,6 +10219,27 @@ Python package is used to run the script can be specified with the
|
|||
@code{#:python} parameter.
|
||||
@end defvar
|
||||
|
||||
@defvar zig-build-system
|
||||
This variable is exported by @code{(guix build-system zig)}. It implements
|
||||
the build procedures for the @uref{https://ziglang.org/, Zig}
|
||||
build system (@command{zig build} command).
|
||||
|
||||
Selecting this build system adds @code{zig} to the package inputs, in
|
||||
addition to the packages of @code{gnu-build-system}.
|
||||
|
||||
There is no @code{configure} phase because Zig packages typically do not
|
||||
need to be configured. The @code{#:zig-build-flags} parameter is a list of
|
||||
flags that are passed to the @code{zig} command during the build. The
|
||||
@code{#:zig-test-flags} parameter is a list of flags that are passed to the
|
||||
@code{zig test} command during the @code{check} phase. The default compiler
|
||||
package can be overridden with the @code{#:zig} argument.
|
||||
|
||||
The optional @code{zig-release-type} parameter declares the type of release.
|
||||
Possible values are: @code{safe}, @code{fast}, or @code{small}. The default
|
||||
value is @code{#f}, which causes the release flag to be omitted from the
|
||||
@code{zig} command. That results in a @code{debug} build.
|
||||
@end defvar
|
||||
|
||||
@defvar scons-build-system
|
||||
This variable is exported by @code{(guix build-system scons)}. It
|
||||
implements the build procedure used by the SCons software construction
|
||||
|
@ -11403,7 +11499,7 @@ directory in the store, but may produce more.
|
|||
@item
|
||||
@cindex build-time dependencies
|
||||
@cindex dependencies, build-time
|
||||
The inputs of the derivations---i.e., its build-time dependencies---which may
|
||||
The inputs of the derivation---i.e., its build-time dependencies---which may
|
||||
be other derivations or plain files in the store (patches, build scripts,
|
||||
etc.).
|
||||
|
||||
|
@ -16944,6 +17040,23 @@ version:
|
|||
%base-packages)))
|
||||
@end lisp
|
||||
|
||||
@findex specification->package+output
|
||||
When a package has more than one output it can be a challenge to refer to a
|
||||
specific output instead of just to the standard @code{out} output. For these
|
||||
situations one can use the @code{specification->package+output} procedure from
|
||||
the @code{(gnu packages)} module. For example:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu packages))
|
||||
|
||||
(operating-system
|
||||
;; ...
|
||||
(packages (append (map specification->package+output
|
||||
'("nss-certs" "git" "git:send-email"))
|
||||
%base-packages)))
|
||||
|
||||
@end lisp
|
||||
|
||||
@unnumberedsubsec System Services
|
||||
|
||||
@cindex services
|
||||
|
@ -20488,20 +20601,75 @@ IP address (a string) through which traffic is routed.
|
|||
|
||||
@deftp {Data Type} network-link
|
||||
Data type for a network link (@pxref{Link,,, guile-netlink,
|
||||
Guile-Netlink Manual}).
|
||||
Guile-Netlink Manual}). During startup, network links are employed to
|
||||
construct or modify existing or virtual ethernet links. These ethernet
|
||||
links can be identified by their @var{name} or @var{mac-address}. If
|
||||
there is a need to create virtual interface, @var{name} and @var{type}
|
||||
fields are required.
|
||||
|
||||
@table @code
|
||||
@item name
|
||||
The name of the link---e.g., @code{"v0p0"}.
|
||||
The name of the link---e.g., @code{"v0p0"} (default: @code{#f}).
|
||||
|
||||
@item type
|
||||
A symbol denoting the type of the link---e.g., @code{'veth}.
|
||||
A symbol denoting the type of the link---e.g., @code{'veth} (default: @code{#f}).
|
||||
|
||||
@item mac-address
|
||||
The mac-address of the link---e.g., @code{"98:11:22:33:44:55"} (default: @code{#f}).
|
||||
|
||||
@item arguments
|
||||
List of arguments for this type of link.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
Consider a scenario where a server equipped with a network interface
|
||||
which has multiple ports. These ports are connected to a switch, which
|
||||
supports @uref{https://en.wikipedia.org/wiki/Link_aggregation, link
|
||||
aggregation} (also known as bonding or NIC teaming). The switch uses
|
||||
port channels to consolidate multiple physical interfaces into one
|
||||
logical interface to provide higher bandwidth, load balancing, and link
|
||||
redundancy. When a port is added to a LAG (or link aggregation group),
|
||||
it inherits the properties of the port-channel. Some of these
|
||||
properties are VLAN membership, trunk status, and so on.
|
||||
|
||||
@uref{https://en.wikipedia.org/wiki/Virtual_LAN, VLAN} (or virtual local
|
||||
area network) is a logical network that is isolated from other VLANs on
|
||||
the same physical network. This can be used to segregate traffic,
|
||||
improve security, and simplify network management.
|
||||
|
||||
With all that in mind let's configure our static network for the server.
|
||||
We will bond two existing interfaces together using 802.3ad schema and on
|
||||
top of it, build a VLAN interface with id 1055. We assign a static ip
|
||||
to our new VLAN interface.
|
||||
|
||||
@lisp
|
||||
(static-networking
|
||||
(links (list (network-link
|
||||
(name "bond0")
|
||||
(type 'bond)
|
||||
(arguments '((mode . "802.3ad")
|
||||
(miimon . 100)
|
||||
(lacp-active . "on")
|
||||
(lacp-rate . "fast"))))
|
||||
|
||||
(network-link
|
||||
(mac-address "98:11:22:33:44:55")
|
||||
(arguments '((master . "bond0"))))
|
||||
|
||||
(network-link
|
||||
(mac-address "98:11:22:33:44:56")
|
||||
(arguments '((master . "bond0"))))
|
||||
|
||||
(network-link
|
||||
(name "bond0.1055")
|
||||
(type 'vlan)
|
||||
(arguments '((id . 1055)
|
||||
(link . "bond0"))))))
|
||||
(addresses (list (network-address
|
||||
(value "192.168.1.4/24")
|
||||
(device "bond0.1055")))))
|
||||
@end lisp
|
||||
|
||||
@cindex loopback device
|
||||
@defvar %loopback-static-networking
|
||||
This is the @code{static-networking} record representing the ``loopback
|
||||
|
@ -31970,11 +32138,12 @@ A service type for the @code{certbot} Let's Encrypt client. Its value
|
|||
must be a @code{certbot-configuration} record as in this example:
|
||||
|
||||
@lisp
|
||||
(define %nginx-deploy-hook
|
||||
(program-file
|
||||
"nginx-deploy-hook"
|
||||
#~(let ((pid (call-with-input-file "/var/run/nginx/pid" read)))
|
||||
(kill pid SIGHUP))))
|
||||
(define %certbot-deploy-hook
|
||||
(program-file "certbot-deploy-hook.scm"
|
||||
(with-imported-modules '((gnu services herd))
|
||||
#~(begin
|
||||
(use-modules (gnu services herd))
|
||||
(with-shepherd-action 'nginx ('reload) result result)))))
|
||||
|
||||
(service certbot-service-type
|
||||
(certbot-configuration
|
||||
|
@ -31983,7 +32152,7 @@ must be a @code{certbot-configuration} record as in this example:
|
|||
(list
|
||||
(certificate-configuration
|
||||
(domains '("example.net" "www.example.net"))
|
||||
(deploy-hook %nginx-deploy-hook))
|
||||
(deploy-hook %certbot-deploy-hook))
|
||||
(certificate-configuration
|
||||
(domains '("bar.example.net")))))))
|
||||
@end lisp
|
||||
|
@ -33802,6 +33971,10 @@ Location of the log file.
|
|||
@item @code{cache} (default: @code{"/var/cache/cuirass/remote"})
|
||||
Use @var{cache} directory to cache build log files.
|
||||
|
||||
@item @code{log-expiry} (default: 6 months)
|
||||
The duration in seconds after which build logs collected by
|
||||
@command{cuirass remote-worker} may be deleted.
|
||||
|
||||
@item @code{trigger-url} (default: @code{#f})
|
||||
Once a substitute is successfully fetched, trigger substitute baking at
|
||||
@var{trigger-url}.
|
||||
|
@ -45604,7 +45777,8 @@ there is no offset applied.
|
|||
@item @code{file-system} (default: @code{"ext4"})
|
||||
The partition file system as a string, defaulting to @code{"ext4"}. The
|
||||
supported values are @code{"vfat"}, @code{"fat16"}, @code{"fat32"} and
|
||||
@code{"ext4"}.
|
||||
@code{"ext4"}. @code{"vfat"}, @code{"fat16"} and @code{"fat32"}
|
||||
partitions without the @code{'esp} flag are by default LBA compatible.
|
||||
|
||||
@item @code{file-system-options} (default: @code{'()})
|
||||
The partition file system creation options that should be passed to the
|
||||
|
|
94
etc/git/commit-msg
Executable file
94
etc/git/commit-msg
Executable file
|
@ -0,0 +1,94 @@
|
|||
#!/bin/sh
|
||||
# From Gerrit Code Review 3.6.1
|
||||
#
|
||||
# Part of Gerrit Code Review (https://www.gerritcodereview.com/)
|
||||
#
|
||||
# Copyright (C) 2009 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
### Guix modifications start
|
||||
COMMIT_MSG_MAGIC=VGhpcyBpcyB0aGUgY29tbWl0LW1zZyBob29rIG9mIEd1aXg=
|
||||
top=$(git rev-parse --show-toplevel)
|
||||
if test -d "$top/.git/hooks/commit-msg.d/"; then
|
||||
for msg_hook in "$top/.git/hooks/commit-msg.d/"*; do
|
||||
if ! sh "$msg_hook"; then
|
||||
echo "error while running $msg_hook"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
### Guix modifications end
|
||||
|
||||
set -u
|
||||
|
||||
# avoid [[ which is not POSIX sh.
|
||||
if test "$#" != 1 ; then
|
||||
echo "$0 requires an argument."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test ! -f "$1" ; then
|
||||
echo "file does not exist: $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Do not create a change id if requested
|
||||
if test "false" = "$(git config --bool --get gerrit.createChangeId)" ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if git rev-parse --verify HEAD >/dev/null 2>&1; then
|
||||
refhash="$(git rev-parse HEAD)"
|
||||
else
|
||||
refhash="$(git hash-object -t tree /dev/null)"
|
||||
fi
|
||||
|
||||
random=$({ git var GIT_COMMITTER_IDENT ; echo "$refhash" ; cat "$1"; } | git hash-object --stdin)
|
||||
dest="$1.tmp.${random}"
|
||||
|
||||
trap 'rm -f "${dest}"' EXIT
|
||||
|
||||
if ! git stripspace --strip-comments < "$1" > "${dest}" ; then
|
||||
echo "cannot strip comments from $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test ! -s "${dest}" ; then
|
||||
echo "file is empty: $1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
reviewurl="$(git config --get gerrit.reviewUrl)"
|
||||
if test -n "${reviewurl}" ; then
|
||||
if ! git interpret-trailers --parse < "$1" | grep -q '^Link:.*/id/I[0-9a-f]\{40\}$' ; then
|
||||
if ! git interpret-trailers \
|
||||
--trailer "Link: ${reviewurl%/}/id/I${random}" < "$1" > "${dest}" ; then
|
||||
echo "cannot insert link footer in $1"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# Avoid the --in-place option which only appeared in Git 2.8
|
||||
# Avoid the --if-exists option which only appeared in Git 2.15
|
||||
if ! git -c trailer.ifexists=doNothing interpret-trailers \
|
||||
--trailer "Change-Id: I${random}" < "$1" > "${dest}" ; then
|
||||
echo "cannot insert change-id line in $1"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! mv "${dest}" "$1" ; then
|
||||
echo "cannot mv ${dest} to $1"
|
||||
exit 1
|
||||
fi
|
|
@ -18,32 +18,32 @@ scheme-mode
|
|||
"(origin"
|
||||
n> "(method " (p "url-fetch" method) ")"
|
||||
n> "(uri " (cl-case (and method (intern method))
|
||||
('git-fetch "git-reference...")
|
||||
('svn-fetch "svn-reference...")
|
||||
('hg-fetch "hg-reference...")
|
||||
('cvs-fetch "cvs-reference...")
|
||||
('bzr-fetch "bzr-reference...")
|
||||
(t "\"https://...\""))
|
||||
(git-fetch "git-reference...")
|
||||
(svn-fetch "svn-reference...")
|
||||
(hg-fetch "hg-reference...")
|
||||
(cvs-fetch "cvs-reference...")
|
||||
(bzr-fetch "bzr-reference...")
|
||||
(otherwise "\"https://...\""))
|
||||
")"
|
||||
n>
|
||||
(cl-case (and method (intern method))
|
||||
('git-fetch
|
||||
(git-fetch
|
||||
(insert "(file-name (git-file-name name version))")
|
||||
(newline)
|
||||
(indent-according-to-mode))
|
||||
('hg-fetch
|
||||
(hg-fetch
|
||||
(insert "(file-name (hg-file-name name version))")
|
||||
(newline)
|
||||
(indent-according-to-mode))
|
||||
('svn-fetch
|
||||
(svn-fetch
|
||||
(insert "(file-name (string-append name \"-\" version \"-checkout\"))")
|
||||
(newline)
|
||||
(indent-according-to-mode))
|
||||
('cvs-fetch
|
||||
(cvs-fetch
|
||||
(insert "(file-name (string-append name \"-\" version \"-checkout\"))")
|
||||
(newline)
|
||||
(indent-according-to-mode))
|
||||
('bzr-fetch
|
||||
(bzr-fetch
|
||||
(insert "(file-name (string-append name \"-\" version \"-checkout\"))")
|
||||
(newline)
|
||||
(indent-according-to-mode))
|
||||
|
|
|
@ -43,8 +43,9 @@
|
|||
"scons-build-system"
|
||||
"texlive-build-system"
|
||||
"trivial-build-system"
|
||||
"waf-build-system")})
|
||||
"waf-build-system"
|
||||
"zig-build-system")})
|
||||
(home-page "$4")
|
||||
(synopsis "$5")
|
||||
(description "$6")
|
||||
(license $7)))
|
||||
(license $7)))
|
||||
|
|
21
etc/teams.scm.in → etc/teams.scm
Normal file → Executable file
21
etc/teams.scm.in → etc/teams.scm
Normal file → Executable file
|
@ -1,5 +1,9 @@
|
|||
#!@GUILE@ \
|
||||
--no-auto-compile -s
|
||||
#!/bin/sh
|
||||
# Extra care is taken here to ensure this script can run in most environments,
|
||||
# since it is invoked by 'git send-email'.
|
||||
pre_inst_env_maybe=
|
||||
command -v guix > /dev/null || pre_inst_env_maybe=./pre-inst-env
|
||||
exec $pre_inst_env_maybe guix repl -- "$0" "$@"
|
||||
!#
|
||||
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
|
@ -770,13 +774,16 @@ (define (diff-revisions rev-start rev-end)
|
|||
files))
|
||||
|
||||
(define (git-patch->commit-id file)
|
||||
"Parse the commit ID from the first line of FILE, a patch produced with git."
|
||||
"Parse the commit ID from FILE, a patch produced with git."
|
||||
(call-with-input-file file
|
||||
(lambda (port)
|
||||
(let ((m (string-match "^From ([0-9a-f]{40})" (read-line port))))
|
||||
(unless m
|
||||
(error "invalid patch file:" file))
|
||||
(match:substring m 1)))))
|
||||
(let loop ((line (read-line port)))
|
||||
(when (eof-object? line)
|
||||
(error "could not find 'from' commit in patch" file))
|
||||
(let ((m (string-match "^From ([0-9a-f]{40})" line)))
|
||||
(if m
|
||||
(match:substring m 1)
|
||||
(loop (read-line port))))))))
|
||||
|
||||
(define (git-patch->revisions file)
|
||||
"Return the start and end revisions of FILE, a patch file produced with git."
|
|
@ -526,7 +526,7 @@ (define previous-entry
|
|||
|
||||
(define now
|
||||
;; On machines without a real-time clock (typically Arm SBCs), the system
|
||||
;; clock may be at 1970-01-01 while booting, while would lead us to define
|
||||
;; clock may be at 1970-01-01 while booting, which would lead us to define
|
||||
;; NOW as zero.
|
||||
;;
|
||||
;; However, the 'isexpired' function in Shadow interprets the combination
|
||||
|
|
70
gnu/build/icecat-extension.scm
Normal file
70
gnu/build/icecat-extension.scm
Normal file
|
@ -0,0 +1,70 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.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 build icecat-extension)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:export (make-icecat-extension))
|
||||
|
||||
(define* (make-icecat-extension pkg #:optional (pkg-output "out"))
|
||||
"Create an Icecat extension from package PKG and return a package that,
|
||||
when installed, will make the extension contained in PKG available as an
|
||||
Icecat browser extension. PKG-OUTPUT specifies which output of PKG to use."
|
||||
(package
|
||||
(inherit pkg)
|
||||
(name (string-append (package-name pkg) "-icecat"))
|
||||
(native-inputs '())
|
||||
(inputs '())
|
||||
(propagated-inputs (package-propagated-inputs pkg))
|
||||
(outputs '("out"))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build utils))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((addon-id #$(assq-ref (package-properties pkg) 'addon-id))
|
||||
(moz-app-id "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}")
|
||||
(search-dir (string-append #$output "/lib/icecat/extensions/"
|
||||
moz-app-id)))
|
||||
;; Icecat's iterates over `search-dir` for directories. If a
|
||||
;; directory's name is not a valid add-on ID, it is ignored. See
|
||||
;; `DirectoryLocation::readAddons()` in XPIProvider.jsm.
|
||||
|
||||
;; This directory has to be a symlink, because Icecat's
|
||||
;; `_readLinkFile(aFile)` calls `normalize()` only if `aFile` is a
|
||||
;; symlink.
|
||||
|
||||
;; Normalizing is required because Icecat compares the add-on path
|
||||
;; against its local database to know if there is an extension
|
||||
;; update. We want the add-on path to be the package store path,
|
||||
;; so that a path change is detected every time the package is
|
||||
;; updated. See `updateExistingAddon()` in XPIDatabase.jsm, with
|
||||
;; our patch `icecat-compare-paths.patch`.
|
||||
|
||||
;; We don't want the add-on path to be the profile store path,
|
||||
;; which would change too often. We don't want the add-on path to
|
||||
;; be hard-coded either because it would never change (but it
|
||||
;; wouldn't make sense anyway).
|
||||
|
||||
(mkdir-p search-dir)
|
||||
(symlink (in-vicinity (ungexp pkg pkg-output) addon-id)
|
||||
(in-vicinity search-dir addon-id))))))))
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2014, 2016, 2018, 2019, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -208,7 +209,7 @@ (define (strip-extension filename)
|
|||
(string-take filename extension)
|
||||
filename)))
|
||||
|
||||
(define (dot-ko name compression)
|
||||
(define* (dot-ko name #:optional compression)
|
||||
(let ((suffix (match compression
|
||||
('xz ".ko.xz")
|
||||
('gzip ".ko.gz")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2021-2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2022-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2023 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -412,20 +413,29 @@ (define (compute-on-first-login-script _ gexps)
|
|||
#~(begin
|
||||
(use-modules (guix i18n)
|
||||
(guix diagnostics))
|
||||
|
||||
(define (claim-first-run file)
|
||||
(catch #t
|
||||
(lambda ()
|
||||
;; This incantation raises an error if FILE already exists, and
|
||||
;; creates it otherwise.
|
||||
(close-fdes
|
||||
(open-fdes file (logior O_CREAT O_EXCL O_CLOEXEC)))
|
||||
#t)
|
||||
(const #f)))
|
||||
|
||||
#$%initialize-gettext
|
||||
|
||||
(let* ((xdg-runtime-dir (or (getenv "XDG_RUNTIME_DIR")
|
||||
(format #f "/run/user/~a" (getuid))))
|
||||
(flag-file-path (string-append
|
||||
xdg-runtime-dir "/on-first-login-executed"))
|
||||
(touch (lambda (file-name)
|
||||
(call-with-output-file file-name (const #t)))))
|
||||
xdg-runtime-dir "/on-first-login-executed")))
|
||||
;; XDG_RUNTIME_DIR dissapears on logout, that means such trick
|
||||
;; allows to launch on-first-login script on first login only
|
||||
;; after complete logout/reboot.
|
||||
(if (file-exists? xdg-runtime-dir)
|
||||
(unless (file-exists? flag-file-path)
|
||||
(begin #$@gexps (touch flag-file-path)))
|
||||
(when (claim-first-run flag-file-path)
|
||||
(begin #$@gexps)) ;GEXPS can be empty, hence 'begin'
|
||||
;; TRANSLATORS: 'on-first-login' is the name of a service and
|
||||
;; shouldn't be translated
|
||||
(warning (G_ "XDG_RUNTIME_DIR doesn't exists, on-first-login script
|
||||
|
|
21
gnu/local.mk
21
gnu/local.mk
|
@ -303,6 +303,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/gnu-pw-mgr.scm \
|
||||
%D%/packages/gobby.scm \
|
||||
%D%/packages/golang.scm \
|
||||
%D%/packages/golang-check.scm \
|
||||
%D%/packages/gperf.scm \
|
||||
%D%/packages/gpodder.scm \
|
||||
%D%/packages/gps.scm \
|
||||
|
@ -762,6 +763,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/build/chromium-extension.scm \
|
||||
%D%/build/cross-toolchain.scm \
|
||||
%D%/build/dbus-service.scm \
|
||||
%D%/build/icecat-extension.scm \
|
||||
%D%/build/image.scm \
|
||||
%D%/build/jami-service.scm \
|
||||
%D%/build/file-systems.scm \
|
||||
|
@ -1034,9 +1036,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
|
||||
%D%/packages/patches/combinatorial-blas-awpm.patch \
|
||||
%D%/packages/patches/combinatorial-blas-io-fix.patch \
|
||||
%D%/packages/patches/connman-CVE-2022-32292.patch \
|
||||
%D%/packages/patches/connman-CVE-2022-32293-pt1.patch \
|
||||
%D%/packages/patches/connman-CVE-2022-32293-pt2.patch \
|
||||
%D%/packages/patches/connman-add-missing-libppp-compat.h.patch \
|
||||
%D%/packages/patches/containerd-create-pid-file.patch \
|
||||
%D%/packages/patches/converseen-hide-updates-checks.patch \
|
||||
%D%/packages/patches/converseen-hide-non-free-pointers.patch \
|
||||
|
@ -1127,6 +1127,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/enblend-enfuse-reproducible.patch \
|
||||
%D%/packages/patches/enjarify-setup-py.patch \
|
||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||
%D%/packages/patches/ergodox-firmware-fix-json-target.patch \
|
||||
%D%/packages/patches/ergodox-firmware-fix-numpad.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
%D%/packages/patches/esmini-no-clutter-log.patch \
|
||||
%D%/packages/patches/esmini-use-pkgconfig.patch \
|
||||
|
@ -1284,6 +1286,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/glibc-CVE-2019-7309.patch \
|
||||
%D%/packages/patches/glibc-CVE-2019-9169.patch \
|
||||
%D%/packages/patches/glibc-CVE-2019-19126.patch \
|
||||
%D%/packages/patches/glibc-2.35-CVE-2023-4911.patch \
|
||||
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
|
||||
%D%/packages/patches/glibc-boot-2.16.0.patch \
|
||||
%D%/packages/patches/glibc-boot-2.2.5.patch \
|
||||
|
@ -1417,8 +1420,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/icecat-makeicecat.patch \
|
||||
%D%/packages/patches/icecat-102-makeicecat.patch \
|
||||
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
||||
%D%/packages/patches/icecat-compare-paths.patch \
|
||||
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
|
||||
%D%/packages/patches/icecat-use-system-media-libs.patch \
|
||||
%D%/packages/patches/icecat-use-system-wide-dir.patch \
|
||||
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
|
||||
%D%/packages/patches/icedtea-7-hotspot-pointer-comparison.patch \
|
||||
%D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \
|
||||
|
@ -1902,11 +1907,13 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/qtbase-absolute-runpath.patch \
|
||||
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
|
||||
%D%/packages/patches/qtbase-qmake-use-libname.patch \
|
||||
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
|
||||
%D%/packages/patches/quilt-grep-compat.patch \
|
||||
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
|
||||
%D%/packages/patches/qtwayland-dont-recreate-callbacks.patch \
|
||||
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \
|
||||
%D%/packages/patches/ragel-char-signedness.patch \
|
||||
|
@ -1946,6 +1953,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ruby-nokogiri.patch \
|
||||
%D%/packages/patches/rustc-1.54.0-src.patch \
|
||||
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
|
||||
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
|
||||
%D%/packages/patches/rust-ring-0.16-missing-files.patch \
|
||||
%D%/packages/patches/rust-ring-0.16-test-files.patch \
|
||||
%D%/packages/patches/i3status-rust-enable-unstable-features.patch \
|
||||
|
@ -1953,7 +1961,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \
|
||||
%D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \
|
||||
%D%/packages/patches/rust-nettle-disable-vendor.patch \
|
||||
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \
|
||||
%D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \
|
||||
%D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \
|
||||
%D%/packages/patches/rw-igraph-0.10.patch \
|
||||
|
@ -2028,6 +2035,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/texinfo-5-perl-compat.patch \
|
||||
%D%/packages/patches/telegram-desktop-allow-disable-libtgvoip.patch \
|
||||
%D%/packages/patches/telegram-purple-adjust-test.patch \
|
||||
%D%/packages/patches/teuchos-remove-duplicate-using.patch \
|
||||
%D%/packages/patches/texi2html-document-encoding.patch \
|
||||
%D%/packages/patches/texi2html-i18n.patch \
|
||||
%D%/packages/patches/thefuck-test-environ.patch \
|
||||
|
@ -2038,8 +2046,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tla2tools-build-xml.patch \
|
||||
%D%/packages/patches/tlf-support-hamlib-4.2+.patch \
|
||||
%D%/packages/patches/tofi-32bit-compat.patch \
|
||||
%D%/packages/patches/tootle-glib-object-naming.patch \
|
||||
%D%/packages/patches/tootle-reason-phrase.patch \
|
||||
%D%/packages/patches/tpetra-remove-duplicate-using.patch \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
|
||||
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
|
||||
|
@ -2053,6 +2060,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/u-boot-fix-build-python-3.10.patch \
|
||||
%D%/packages/patches/u-boot-fix-u-boot-lib-build.patch \
|
||||
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
|
||||
%D%/packages/patches/u-boot-patman-change-id.patch \
|
||||
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
|
||||
%D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \
|
||||
%D%/packages/patches/u-boot-rk3399-enable-emmc-phy.patch \
|
||||
|
@ -2063,7 +2071,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-system-ffmpeg.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
|
||||
%D%/packages/patches/unison-fix-ocaml-4.08.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
|
|
|
@ -1479,14 +1479,18 @@ (define-public isc-dhcp
|
|||
(("^RELEASEVER=.*")
|
||||
(format #f "RELEASEVER=~a\n" ,bind-release-version)))))
|
||||
,@(if (%current-target-system)
|
||||
'((add-before 'configure 'fix-bind-cross-compilation
|
||||
`((add-before 'configure 'fix-bind-cross-compilation
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("--host=\\$host")
|
||||
"--host=$host_alias"))
|
||||
;; BIND needs a native compiler because the DHCP
|
||||
;; build system uses the built 'gen' executable.
|
||||
(setenv "BUILD_CC" "gcc"))))
|
||||
(setenv "BUILD_CC" "gcc")
|
||||
;; powerpc-linux needs to be told to use -latomic.
|
||||
,@(if (target-ppc32?)
|
||||
`((setenv "LIBS" "-latomic"))
|
||||
'()))))
|
||||
'())
|
||||
(add-before 'configure 'update-config-scripts
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
|
@ -1549,7 +1553,6 @@ (define-public isc-dhcp
|
|||
(coreutils (assoc-ref inputs "coreutils*"))
|
||||
(inetutils (assoc-ref inputs "inetutils"))
|
||||
(grep (assoc-ref inputs "grep*"))
|
||||
(net-tools (assoc-ref inputs "net-tools"))
|
||||
(sed (assoc-ref inputs "sed*")))
|
||||
(substitute* "client/scripts/linux"
|
||||
(("/sbin/ip")
|
||||
|
@ -1565,16 +1568,16 @@ (define-public isc-dhcp
|
|||
,(map (lambda (dir)
|
||||
(string-append dir "/bin:"
|
||||
dir "/sbin"))
|
||||
(list inetutils net-tools coreutils grep sed))))))))))
|
||||
(list inetutils coreutils grep sed))))))))))
|
||||
|
||||
(native-inputs
|
||||
(list config perl file))
|
||||
|
||||
(inputs `(("inetutils" ,inetutils)
|
||||
("bash" ,bash-minimal)
|
||||
,@(if (target-hurd?) '()
|
||||
`(("net-tools" ,net-tools)
|
||||
("iproute" ,iproute)))
|
||||
,@(if (target-hurd?)
|
||||
'()
|
||||
`(("iproute" ,iproute)))
|
||||
|
||||
;; isc-dhcp bundles a copy of BIND, which has proved vulnerable
|
||||
;; in the past. Use a BIND-VERSION of our choosing instead.
|
||||
|
@ -3506,7 +3509,7 @@ (define-public dstat
|
|||
(define-public dool
|
||||
(package
|
||||
(name "dool")
|
||||
(version "1.1.0")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3515,7 +3518,7 @@ (define-public dool
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "dool" version))
|
||||
(sha256
|
||||
(base32 "13qq52lq7z3pl2mgrhwqh8c69p9x5rkyjqjswszd6vdbzm7zk7yq"))))
|
||||
(base32 "1728wxy338gf2l06b0b4j9j8vihadw5whzzj7mi9p3by633h5s8m"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -5488,7 +5491,7 @@ (define-public greetd-pam-mount
|
|||
(define-public wlgreet
|
||||
(package
|
||||
(name "wlgreet")
|
||||
(version "0.4")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -5497,25 +5500,24 @@ (define-public wlgreet
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00grp63n9nrgqls3knxfv9wjbc7p0jwr7i2vzxy750dz85gi2kzn"))))
|
||||
"1k0jmgh0rjbnb49gkvs0a4d7z9xb6pad8v5w5f7my4s0rfpk7wd9"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list #:cargo-inputs
|
||||
`(("rust-chrono" ,rust-chrono-0.4)
|
||||
("rust-getopts" ,rust-getopts-0.2)
|
||||
("rust-greetd-ipc" ,rust-greetd-ipc-0.8)
|
||||
("rust-greetd-ipc" ,rust-greetd-ipc-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-memmap2" ,rust-memmap2-0.3)
|
||||
("rust-nix" ,rust-nix-0.15)
|
||||
("rust-os-pipe" ,rust-os-pipe-0.8)
|
||||
("rust-rusttype" ,rust-rusttype-0.7)
|
||||
("rust-nix" ,rust-nix-0.25)
|
||||
("rust-os-pipe" ,rust-os-pipe-1)
|
||||
("rust-rusttype" ,rust-rusttype-0.9)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-smithay-client-toolkit"
|
||||
,rust-smithay-client-toolkit-0.15)
|
||||
("rust-toml" ,rust-toml-0.5)
|
||||
("rust-wayland-client" ,rust-wayland-client-0.29)
|
||||
("rust-wayland-protocols" ,rust-wayland-protocols-0.29)
|
||||
("rust-xml-rs" ,rust-xml-rs-0.8))
|
||||
("rust-wayland-protocols" ,rust-wayland-protocols-0.29))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-bundled-fonts
|
||||
|
@ -5907,34 +5909,54 @@ (define (install-completion shell file)
|
|||
(define-public du-dust
|
||||
(package
|
||||
(name "du-dust")
|
||||
(version "0.8.3")
|
||||
(version "0.8.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "du-dust" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1daif13rdd7wb8m5fbp6zif5b8znqcvmkxrjpp2w2famsp36sahx"))))
|
||||
"1w52xdz1vi6awsvf4lph791zv13phjvz4ypmxr7f6pgxd3crr77c"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
|
||||
("rust-clap" ,rust-clap-3)
|
||||
`(#:cargo-test-flags
|
||||
(list "--release" "--"
|
||||
"--skip=test_apparent_size")
|
||||
#:install-source? #f
|
||||
#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
|
||||
("rust-atty" ,rust-atty-0.2)
|
||||
("rust-clap" ,rust-clap-3)
|
||||
("rust-clap-complete" ,rust-clap-complete-3)
|
||||
("rust-clap-mangen" ,rust-clap-mangen-0.1)
|
||||
("rust-config-file" ,rust-config-file-0.2)
|
||||
("rust-directories" ,rust-directories-4)
|
||||
("rust-lscolors" ,rust-lscolors-0.7)
|
||||
("rust-lscolors" ,rust-lscolors-0.13)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-stfu8" ,rust-stfu8-0.2)
|
||||
("rust-sysinfo" ,rust-sysinfo-0.15)
|
||||
("rust-terminal-size" ,rust-terminal-size-0.1)
|
||||
("rust-sysinfo" ,rust-sysinfo-0.27)
|
||||
("rust-terminal-size" ,rust-terminal-size-0.2)
|
||||
("rust-thousands" ,rust-thousands-0.2)
|
||||
("rust-unicode-width" ,rust-unicode-width-0.1)
|
||||
("rust-winapi-util" ,rust-winapi-util-0.1))
|
||||
#:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
#:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-2)
|
||||
("rust-tempfile" ,rust-tempfile-3))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-extras
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share")))
|
||||
(install-file "man-page/dust.1"
|
||||
(string-append share "/man/man1"))
|
||||
(mkdir-p (string-append out "/etc/bash_completion.d"))
|
||||
(copy-file "completions/dust.bash"
|
||||
(string-append out "/etc/bash_completion.d/dust"))
|
||||
(install-file "completions/dust.fish"
|
||||
(string-append share "/fish/vendor_completions.d"))
|
||||
(install-file "completions/_dust"
|
||||
(string-append share "/zsh/site-fuctions"))))))))
|
||||
(home-page "https://github.com/bootandy/dust")
|
||||
(synopsis "Graphical disk usage analyzer")
|
||||
(description "This package provides a graphical disk usage analyzer in
|
||||
|
|
|
@ -270,6 +270,7 @@ (define-public agda-cubical
|
|||
(uri (git-reference
|
||||
(url "https://github.com/agda/cubical.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yfg7gr55n08ly1qgzpcp16s15k1abycppbcdi9lzg1hjryqxcg3"))))
|
||||
|
|
|
@ -28,8 +28,11 @@ (define-module (gnu packages apl)
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages readline)
|
||||
|
@ -120,3 +123,86 @@ (define-public font-apl2741-unicode
|
|||
including both uppercase and lowercase underscored alphabets, as-of-yet unused
|
||||
symbols, and almost all Latin-1 accented letters.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public dzaima-apl
|
||||
(package
|
||||
(name "dzaima-apl")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dzaima/APL.git")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1hnrq0mlff6b9c9129afphcnmzd05wdyyfs905n421diyd5xa0il"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list bash-minimal openjdk18))
|
||||
(native-inputs (list `(,openjdk18 "jdk") zip))
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%gnu-build-system-modules
|
||||
(guix build ant-build-system))
|
||||
#:modules `((guix build gnu-build-system)
|
||||
((guix build ant-build-system) #:prefix ant:)
|
||||
(guix build utils)
|
||||
(ice-9 ftw)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
`(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((javac (search-input-file inputs "/bin/javac"))
|
||||
(jar (search-input-file inputs "/bin/jar")))
|
||||
(mkdir-p "src/build")
|
||||
(apply invoke javac "-encoding" "UTF-8" "-d" "src/build"
|
||||
(let ((files '()))
|
||||
(ftw "src/APL/"
|
||||
(lambda (filename statinfo flags)
|
||||
(if (string-match ".*\\.java" filename)
|
||||
(set! files (cons filename files)))
|
||||
#t))
|
||||
files))
|
||||
(with-directory-excursion "src/build"
|
||||
(invoke jar "--create" "--verbose"
|
||||
"--file=dzaima-apl.jar"
|
||||
"--main-class=APL.Main"
|
||||
"APL")))))
|
||||
(delete 'check) ;; Upstream implements no tests
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share/java"))
|
||||
(wrapper (string-append bin "/dzaima-apl")))
|
||||
(mkdir-p share)
|
||||
(mkdir-p bin)
|
||||
(install-file "src/build/dzaima-apl.jar" share)
|
||||
(with-output-to-file wrapper
|
||||
(lambda _
|
||||
(display (string-append
|
||||
"#!" (search-input-file inputs "/bin/sh") "\n"
|
||||
(search-input-file inputs "/bin/java")
|
||||
" -jar " share "/dzaima-apl.jar \"$@\""))))
|
||||
(chmod wrapper #o555))))
|
||||
(add-after 'install 'reorder-jar-content
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(apply (assoc-ref ant:%standard-phases 'reorder-jar-content)
|
||||
#:outputs (list outputs))))
|
||||
(add-after 'reorder-jar-content 'generate-jar-indices
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(apply (assoc-ref ant:%standard-phases 'generate-jar-indices)
|
||||
#:outputs (list outputs))))
|
||||
(add-after 'generate-jar-indices 'reorder-jar-content
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(apply (assoc-ref ant:%standard-phases 'reorder-jar-content)
|
||||
#:outputs (list outputs)))))))
|
||||
(home-page "https://github.com/dzaima/APL")
|
||||
(synopsis "Implementation of the APL programming language in Java")
|
||||
(description
|
||||
"This package provides an implementation of APL in Java, extended from
|
||||
Dyalog APL.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2018–2023 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
|
||||
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
|
||||
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
|
@ -186,7 +186,7 @@ (define-public aocommon
|
|||
(define-public calceph
|
||||
(package
|
||||
(name "calceph")
|
||||
(version "3.5.2")
|
||||
(version "3.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -194,7 +194,7 @@ (define-public calceph
|
|||
"https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rnjlaiii4j0agbj4k242p212bqqmqdqa0lni6c3bnhgfnrbjfp4"))))
|
||||
(base32 "12apl806h8qx1kq74malq3828jqapwfi27cn05pvvxfiq7gfpllx"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list gfortran))
|
||||
|
@ -711,9 +711,10 @@ (define-public wcslib
|
|||
(uri (string-append "https://www.atnf.csiro.au/people/mcalabre/WCS/"
|
||||
"wcslib-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "17hjnkwn2rd5d9krw2n637q4y8ma4nzk2i55zzn8l2yimdpkxwib"))))
|
||||
(inputs
|
||||
(list cfitsio))
|
||||
(base32 "17hjnkwn2rd5d9krw2n637q4y8ma4nzk2i55zzn8l2yimdpkxwib"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "C/flexed")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -731,6 +732,10 @@ (define-public wcslib
|
|||
(("/bin/sh") "sh")))))))
|
||||
;; TODO: Fix build with gfortran and pack missing optional pgplot.
|
||||
;; (inputs (list gfortran pgplot))
|
||||
(inputs
|
||||
(list cfitsio))
|
||||
(native-inputs
|
||||
(list flex))
|
||||
(home-page "https://www.atnf.csiro.au/people/mcalabre/WCS")
|
||||
(synopsis "Library which implements the FITS WCS standard")
|
||||
(description "The FITS \"World Coordinate System\" (@dfn{WCS}) standard
|
||||
|
@ -751,7 +756,10 @@ (define-public wcslib-7.12
|
|||
(uri (string-append "https://www.atnf.csiro.au/people/mcalabre/WCS/"
|
||||
"wcslib-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1m3bx6gh5w3c7vvsqcki0x20mg8lilg13m0i8nh7za89w58dxy4w"))))
|
||||
(base32 "1m3bx6gh5w3c7vvsqcki0x20mg8lilg13m0i8nh7za89w58dxy4w"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(delete-file-recursively "C/flexed")))))
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(define-public wcstools
|
||||
|
@ -876,7 +884,7 @@ (define-public glnemo2
|
|||
(define-public gnuastro
|
||||
(package
|
||||
(name "gnuastro")
|
||||
(version "0.20")
|
||||
(version "0.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -884,7 +892,7 @@ (define-public gnuastro
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05bkad0xbax9k0m2g2507mdmjg2109sfg72dsx16f44yj55llh2n"))))
|
||||
"1zyk764pmfrsfj45gnc3qp4z1zfmgrv7kcsji2bxfzvs9inzzq4c"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")))
|
||||
|
@ -1020,7 +1028,7 @@ (define-public sextractor
|
|||
(define-public siril
|
||||
(package
|
||||
(name "siril")
|
||||
(version "1.0.6")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1028,16 +1036,18 @@ (define-public siril
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0iqxb5zmjyygg4b6lwlq8z82mngxg7kjjpahhzk52m0cypfq0l18"))
|
||||
"0ss1m9w4cz1752vp5738057nzmqc6k7fc9pi6kr9cwgspi1haall"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list cmake git glib libconfig pkg-config))
|
||||
(inputs (list cfitsio
|
||||
exiv2
|
||||
ffms2
|
||||
fftwf
|
||||
gsl
|
||||
gtk+
|
||||
json-glib
|
||||
libheif
|
||||
libraw
|
||||
librtprocess
|
||||
opencv))
|
||||
|
@ -1202,7 +1212,7 @@ (define-public stackistry
|
|||
(define-public stellarium
|
||||
(package
|
||||
(name "stellarium")
|
||||
(version "23.2")
|
||||
(version "23.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1211,7 +1221,7 @@ (define-public stellarium
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0fkiibc6m8kfmyf5my7ynfrpdlrcri14cl26swpgv3bhzxpmx27h"))))
|
||||
(base32 "15kl8kn5fmmppbm93w5ki7lpjn09lhyhn245v3jc335xifcwd2vd"))))
|
||||
(build-system cmake-build-system)
|
||||
;; TODO: Complete documentation build and split into dedicated outputs.
|
||||
(arguments
|
||||
|
@ -1720,7 +1730,7 @@ (define-public python-ccdproc
|
|||
(define-public python-cdflib
|
||||
(package
|
||||
(name "python-cdflib")
|
||||
(version "1.1.0")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ; no tests in pypi archive
|
||||
|
@ -1729,7 +1739,7 @@ (define-public python-cdflib
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qxf13vmfiblcazxdk2b765b02ys57amawvrwlkj9d5x9f5s6061"))))
|
||||
(base32 "0v73fl69pxbk52ilhj2593zmn3qhqy4hrrwby8m9z2sq3fd5xk0v"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
@ -1769,13 +1779,13 @@ (define-public python-cdflib
|
|||
(define-public python-crds
|
||||
(package
|
||||
(name "python-crds")
|
||||
(version "11.17.4")
|
||||
(version "11.17.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "crds" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bk6cyd2il7ibqwky6m5kkgs9shrlzyfpnp2rh9jx0xa9habf7zm"))))
|
||||
"1sbfl45rx21g622vm8baqv0ydcdixf1jdjgydn07sxl7kn15fa4g"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1888,48 +1898,43 @@ (define-public python-drms
|
|||
(define-public python-drizzle
|
||||
(package
|
||||
(name "python-drizzle")
|
||||
(version "1.13.7")
|
||||
(source (origin
|
||||
(method git-fetch) ;PyPi doesn't have the test data sets
|
||||
(uri (git-reference
|
||||
(url "https://github.com/spacetelescope/drizzle")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x591d9gjasds91fvwcf37bhxp5nra28g0vq5zkykczpc70ywiy8"))))
|
||||
(version "1.14.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;PyPi doesn't have the test data sets
|
||||
(uri (git-reference
|
||||
(url "https://github.com/spacetelescope/drizzle")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04gncwg76yivcaq7rwgsw5k8w4h3c4wcrjcamb53h0d5s820z7dl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; XXX: 2 of 26 tests failed with AssertionError, disable them for now.
|
||||
;; Consider mention it in upstream.
|
||||
#:test-flags #~(list "-k"
|
||||
(string-append "not test_square_with_point"
|
||||
" and not test_square_with_grid"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-env-version
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
|
||||
#$version)))
|
||||
(add-before 'check 'build-extensions
|
||||
(lambda _
|
||||
;; Cython extensions have to be built before running
|
||||
;; the tests.
|
||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||
(propagated-inputs (list python-astropy python-numpy))
|
||||
(native-inputs (list python-coverage python-flake8 python-pytest
|
||||
python-pytest-cov python-setuptools-scm))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'set-env-version
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
|
||||
(add-before 'check 'build-extensions
|
||||
(lambda _
|
||||
;; Cython extensions have to be built before running the tests.
|
||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||
(propagated-inputs
|
||||
(list python-astropy python-numpy))
|
||||
(native-inputs
|
||||
(list python-flake8 python-pytest python-setuptools-scm))
|
||||
(home-page "https://github.com/spacetelescope/drizzle")
|
||||
(synopsis
|
||||
"Astronomical tool for combining dithered images into a single image")
|
||||
(description
|
||||
"The drizzle library is a Python package for combining dithered images into
|
||||
a single image. This library is derived from code used in DrizzlePac. Like
|
||||
DrizzlePac, most of the code is implemented in the C language. The biggest
|
||||
change from DrizzlePac is that this code passes an array that maps the input to
|
||||
output image into the C code, while the DrizzlePac code computes the mapping by
|
||||
using a Python callback. Switching to using an array allowed the code to be
|
||||
greatly simplified.")
|
||||
"The drizzle library is a Python package for combining dithered images
|
||||
into a single image. This library is derived from code used in DrizzlePac.
|
||||
Like DrizzlePac, most of the code is implemented in the C language. The
|
||||
biggest change from DrizzlePac is that this code passes an array that maps the
|
||||
input to output image into the C code, while the DrizzlePac code computes the
|
||||
mapping by using a Python callback. Switching to using an array allowed the
|
||||
code to be greatly simplified.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-ephem
|
||||
|
@ -2225,13 +2230,13 @@ (define-public python-regions
|
|||
(define-public python-reproject
|
||||
(package
|
||||
(name "python-reproject")
|
||||
(version "0.11.0")
|
||||
(version "0.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "reproject" version))
|
||||
(sha256
|
||||
(base32 "0p07qlqinb826m4n5b5invyfyv4z750sai2caqaf598mgj04l61p"))))
|
||||
(base32 "1cjdfv7wd4c0ia63vqakxf9w8hd5dfz6jzi520scd37rliy1xgld"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -2241,6 +2246,9 @@ (define-public python-reproject
|
|||
;; from .deforest import map_coordinates
|
||||
;; E ModuleNotFoundError: No module named 'reproject.adaptive.deforest'
|
||||
;;
|
||||
;; Project removed setup.py and there is no alternative to `python
|
||||
;; setup.py build_ext'
|
||||
;; See: https://github.com/pypa/setuptools/discussions/3388
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
@ -2315,13 +2323,13 @@ (define-public python-sgp4
|
|||
(define-public python-sunpy
|
||||
(package
|
||||
(name "python-sunpy")
|
||||
(version "5.0.0")
|
||||
(version "5.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sunpy" version))
|
||||
(sha256
|
||||
(base32 "1w75yc8az86pwbf79h083j4kc2ycfk76ky5kzlmcwgp0ih23mhym"))))
|
||||
(base32 "1r4phc91k527kvpa2jd1d417x97wqyrm3ydayr9hshwz1k5v5ngf"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -2577,27 +2585,38 @@ (define-public python-stsci-stimage
|
|||
(define-public python-stcal
|
||||
(package
|
||||
(name "python-stcal")
|
||||
(version "1.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "stcal" version))
|
||||
(sha256
|
||||
(base32
|
||||
"163vyqcd9qv2knf8jik8y449z7ljl2lvbd7im82bq61prgi3z2hj"))))
|
||||
(version "1.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "stcal" version))
|
||||
(sha256
|
||||
(base32 "031ldihdmsdrwz4wl49bfk2bxmzbp1i3kidrw46xz936765zmnc0"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
;; XXX: Can't detect opencv-python version. The input
|
||||
;; opencv might not set the version correctly.
|
||||
(delete 'sanity-check))))
|
||||
(propagated-inputs (list opencv ;Provides OpenCV-Python
|
||||
python-astropy python-numpy python-scipy))
|
||||
(native-inputs (list python-psutil
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-doctestplus
|
||||
python-pytest-openfiles
|
||||
python-setuptools-scm))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; XXX: Can't detect opencv-python version. The input opencv might
|
||||
;; not set the version correctly.
|
||||
(delete 'sanity-check)
|
||||
(add-before 'check 'build-extensions
|
||||
(lambda _
|
||||
;; Cython extensions have to be built before running the tests.
|
||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||
(propagated-inputs
|
||||
(list opencv ;Provides OpenCV-Python
|
||||
python-astropy
|
||||
python-numpy
|
||||
python-scipy))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-psutil
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-doctestplus
|
||||
python-pytest-openfiles
|
||||
python-setuptools-scm))
|
||||
(home-page "https://github.com/spacetelescope/stcal")
|
||||
(synopsis "STScI tools and algorithms used in calibration pipelines")
|
||||
(description "STScI tools and algorithms used in calibration pipelines.")
|
||||
|
@ -2606,53 +2625,60 @@ (define-public python-stcal
|
|||
(define-public python-stdatamodels
|
||||
(package
|
||||
(name "python-stdatamodels")
|
||||
(version "1.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "stdatamodels" version))
|
||||
(sha256
|
||||
(base32
|
||||
"003h3f07aqf6s24ivwnps81n2h51k545b236s75l8ppvjrm45xfq"))))
|
||||
(version "1.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "stdatamodels" version))
|
||||
(sha256
|
||||
(base32 "0265xa9nrp6qp1z7v9kmnd3c8jc0dad2vzin657clk3rrsj2qll5"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Disable tests requiring access to CRDS servers to download ~500MiB
|
||||
;; of data.
|
||||
;; Disable tests requiring access to CRDS servers to download ~500MiB of
|
||||
;; data.
|
||||
#:test-flags #~(list "-k" "not test_crds_selectors_vs_datamodel")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(propagated-inputs (list python-asdf
|
||||
python-asdf-astropy
|
||||
python-astropy
|
||||
python-numpy
|
||||
python-psutil))
|
||||
(native-inputs (list python-crds
|
||||
python-pytest
|
||||
python-pytest-doctestplus
|
||||
python-scipy
|
||||
python-semantic-version
|
||||
python-setuptools-scm))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(propagated-inputs
|
||||
(list python-asdf
|
||||
python-asdf-astropy
|
||||
python-astropy
|
||||
python-numpy
|
||||
python-psutil))
|
||||
(native-inputs
|
||||
(list python-crds
|
||||
python-pytest
|
||||
python-pytest-doctestplus
|
||||
python-scipy
|
||||
python-semantic-version
|
||||
python-setuptools-scm))
|
||||
(home-page "https://github.com/spacetelescope/stdatamodels")
|
||||
(synopsis
|
||||
"Core support for DataModel classes used in calibration pipelines")
|
||||
(description
|
||||
"Provides DataModel, which is the base class for data models implemented in
|
||||
the @acronym{JWST, James Webb Space Telescope} and @acronym{Roman, Nancy Grace
|
||||
Roman Space Telescope} calibration software.")
|
||||
"Provides @code{DataModel}, which is the base class for data models
|
||||
implemented in the @acronym{JWST, James Webb Space Telescope} and
|
||||
@acronym{Roman, Nancy Grace Roman Space Telescope} calibration software.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-stpipe
|
||||
(package
|
||||
(name "python-stpipe")
|
||||
(version "0.5.0")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "stpipe" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17gnwzhl10vbg059lfprdyci19dlh3whkmb9rl7z25wr593rnvcp"))))
|
||||
"11ccb3v2s20lf851061s4nanljwm9s9xzkcfgb3qhv0hjwziq0vr"))))
|
||||
(arguments
|
||||
(list
|
||||
;; See https://github.com/spacetelescope/stpipe/issues/114
|
||||
#:test-flags #~(list "-k" "not test_roman_datamodel")))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-asdf python-astropy python-crds
|
||||
python-semantic-version python-stdatamodels))
|
||||
|
@ -3106,10 +3132,10 @@ (define-public imppg
|
|||
32-bit floating-point.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public indi
|
||||
(define-public indi-2.0
|
||||
(package
|
||||
(name "indi")
|
||||
(version "1.9.9")
|
||||
(version "2.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3118,7 +3144,7 @@ (define-public indi
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1vfcas59nlw8v7n6qhxhcm4isf5wk0crip5rmsallq3bsv3zznfr"))))
|
||||
(base32 "1pp72bqxrvdij47fqfrnyxwqw1w8prxvs1igjsazcw8ncbrdbbjc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; TODO: fix failing tests on aarch64-system.
|
||||
|
@ -3167,6 +3193,24 @@ (define-public indi
|
|||
license:lgpl2.0+
|
||||
license:lgpl2.1+))))
|
||||
|
||||
(define-public indi-1.9
|
||||
(package
|
||||
(inherit indi-2.0)
|
||||
(version "1.9.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/indilib/indi")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "indi" version))
|
||||
(sha256
|
||||
(base32 "1vfcas59nlw8v7n6qhxhcm4isf5wk0crip5rmsallq3bsv3zznfr"))))))
|
||||
|
||||
(define-public indi
|
||||
;; Default version of INDI..
|
||||
indi-1.9)
|
||||
|
||||
(define-public sunclock
|
||||
(let ((commit "f4106eb0a81f7594726d6b2859efd8fc64cc1225")
|
||||
(revision "1"))
|
||||
|
@ -3229,43 +3273,44 @@ (define-public sunclock
|
|||
(define-public python-jplephem
|
||||
(package
|
||||
(name "python-jplephem")
|
||||
(version "2.18")
|
||||
(version "2.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jplephem" version))
|
||||
(sha256
|
||||
(base32 "1rgswy52ismij0bkmfqwbml5zikzvzzs1f833dwk0y64lkl12aa9"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1kvdzwyh0invinvcnwfr14r9zbqzcwkdh0cpzw1m4vkdcm64aqn1"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(setenv "PATH" (string-append out "/bin:" (getenv "PATH")))
|
||||
(invoke "python" "-m" "unittest" "discover" "-s" "test"))))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "-m" "unittest" "discover" "-s" "test")))))))
|
||||
(inputs
|
||||
(list python-numpy))
|
||||
(home-page "https://github.com/brandon-rhodes/python-jplephem")
|
||||
(synopsis "Python version of NASA DE4xx ephemerides")
|
||||
(description
|
||||
"The package is a Python implementation of the mathematics that standard
|
||||
JPL ephemerides use to predict raw (x,y,z) planetary positions.")
|
||||
"@code{skyfield} computes positions for the stars, planets, and
|
||||
satellites in orbit around the Earth. Its results should agree with the
|
||||
positions generated by the United States Naval Observatory and their
|
||||
Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or
|
||||
milliarcsecond).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-jwst
|
||||
(package
|
||||
(name "python-jwst")
|
||||
(version "1.11.4")
|
||||
(version "1.12.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jwst" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q3kpdjr8j1y8hkpidy80aqxsp3k13sz4j5aagq3wnzvpnds3x73"))))
|
||||
"0bw7i0pmpdgk2zf47d57g45hm3yb4wbrf1p19z9vg555qv4f4kr5"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -3524,13 +3569,13 @@ (define-public python-synphot
|
|||
(define-public python-tweakwcs
|
||||
(package
|
||||
(name "python-tweakwcs")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "tweakwcs" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1500w737n9vf5hv16xkybk4shl7g4wfzb2ji9mc4vgzj41gkrwl4"))))
|
||||
"09bd8b77rpn641cwmkhcyzx43xkx3va83wdcb47wcqqa7qgx9f1m"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-astropy
|
||||
python-gwcs
|
||||
|
@ -3847,13 +3892,13 @@ (define python-asdf-wcs-schemas
|
|||
(define-public python-gwcs
|
||||
(package
|
||||
(name "python-gwcs")
|
||||
(version "0.18.3")
|
||||
(version "0.19.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gwcs" version))
|
||||
(sha256
|
||||
(base32 "0mgyk5mgmj242g8nl7glcj689vry3ncwf04b8q3hasjcc9bs0rm4"))))
|
||||
(base32 "1f3h41aq4nwcl6k80jb9s8shn2mhvz32mx9qhcm1xmcqrflqyf52"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-jsonschema
|
||||
|
|
|
@ -735,7 +735,7 @@ (define ardour-bundled-media
|
|||
(define-public ardour
|
||||
(package
|
||||
(name "ardour")
|
||||
(version "7.5")
|
||||
(version "8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -752,68 +752,69 @@ (define-public ardour
|
|||
namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }")))))
|
||||
(sha256
|
||||
(base32
|
||||
"18pgxnxfp0pqsy24cmf3hanr6vh0pnimsh48x5nfbflqy7ljsrkj"))
|
||||
"1a2dbysd64njiw087ypkwlvr31qz3dvfaca55nq2bc4fmm71mgv4"))
|
||||
(file-name (string-append name "-" version))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--cxx11" ; required by gtkmm
|
||||
"--optimize"
|
||||
"--no-phone-home" ; don't contact ardour.org
|
||||
"--freedesktop" ; build .desktop file
|
||||
"--test" ; build unit tests
|
||||
"--use-external-libs") ; use system libraries
|
||||
(list
|
||||
#:configure-flags
|
||||
'(list "--cxx11" ;required by gtkmm
|
||||
"--optimize"
|
||||
"--no-phone-home" ;don't contact ardour.org
|
||||
"--freedesktop" ;build .desktop file
|
||||
"--test" ;build unit tests
|
||||
"--use-external-libs") ;use system libraries
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-rpath-in-LDFLAGS
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((libdir (string-append (assoc-ref outputs "out")
|
||||
"/lib/ardour"
|
||||
,(version-major version))))
|
||||
(substitute* "wscript"
|
||||
(("linker_flags = \\[\\]")
|
||||
(string-append "linker_flags = [\""
|
||||
"-Wl,-rpath="
|
||||
libdir ":"
|
||||
libdir "/backends" ":"
|
||||
libdir "/engines" ":"
|
||||
libdir "/panners" ":"
|
||||
libdir "/surfaces" ":"
|
||||
libdir "/vamp" "\"]"))))))
|
||||
(add-after 'build 'build-i18n
|
||||
(lambda _
|
||||
(invoke "python" "waf" "i18n")))
|
||||
(add-after 'install 'install-freedesktop-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(ver ,(version-major version)))
|
||||
(for-each
|
||||
(lambda (size)
|
||||
(let ((dir (string-append share "/icons/hicolor/"
|
||||
size "x" size "/apps")))
|
||||
(mkdir-p dir)
|
||||
(copy-file
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-rpath-in-LDFLAGS
|
||||
(lambda _
|
||||
(let ((libdir (string-append #$output
|
||||
"/lib/ardour"
|
||||
#$(version-major version))))
|
||||
(substitute* "wscript"
|
||||
(("linker_flags = \\[\\]")
|
||||
(string-append "linker_flags = [\""
|
||||
"-Wl,-rpath="
|
||||
libdir ":"
|
||||
libdir "/backends" ":"
|
||||
libdir "/engines" ":"
|
||||
libdir "/panners" ":"
|
||||
libdir "/surfaces" ":"
|
||||
libdir "/vamp" "\"]"))))))
|
||||
(add-after 'build 'build-i18n
|
||||
(lambda _
|
||||
(invoke "python" "waf" "i18n")))
|
||||
(add-after 'install 'install-freedesktop-files
|
||||
(lambda _
|
||||
(let ((share (string-append #$output "/share"))
|
||||
(ver #$(version-major version)))
|
||||
(for-each
|
||||
(lambda (size)
|
||||
(let ((dir (string-append share "/icons/hicolor/"
|
||||
size "x" size "/apps")))
|
||||
(mkdir-p dir)
|
||||
(copy-file
|
||||
(string-append "gtk2_ardour/resources/Ardour-icon_"
|
||||
size "px.png")
|
||||
(string-append dir "/ardour" ver ".png"))))
|
||||
'("16" "22" "32" "48" "256"))
|
||||
(install-file (string-append "build/gtk2_ardour/ardour"
|
||||
ver ".desktop")
|
||||
(string-append share "/applications/"))
|
||||
(install-file (string-append "build/gtk2_ardour/ardour"
|
||||
ver ".appdata.xml")
|
||||
(string-append share "/appdata/")))))
|
||||
(add-after 'install 'install-man-page
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file "ardour.1" (string-append (assoc-ref outputs "out")
|
||||
"/share/man/man1"))))
|
||||
(add-after 'install 'install-bundled-media
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "unzip" "-d" (string-append (assoc-ref outputs "out")
|
||||
"/share/ardour"
|
||||
,(version-major version)
|
||||
"/media/")
|
||||
,ardour-bundled-media))))
|
||||
'("16" "22" "32" "48" "256"))
|
||||
(install-file (string-append "build/gtk2_ardour/ardour"
|
||||
ver ".desktop")
|
||||
(string-append share "/applications/"))
|
||||
(install-file (string-append "build/gtk2_ardour/ardour"
|
||||
ver ".appdata.xml")
|
||||
(string-append share "/appdata/")))))
|
||||
(add-after 'install 'install-man-page
|
||||
(lambda _
|
||||
(install-file "ardour.1" (string-append #$output
|
||||
"/share/man/man1"))))
|
||||
(add-after 'install 'install-bundled-media
|
||||
(lambda _
|
||||
(invoke "unzip" "-d" (string-append #$output
|
||||
"/share/ardour"
|
||||
#$(version-major version)
|
||||
"/media/")
|
||||
#$ardour-bundled-media))))
|
||||
#:test-target "test"))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -29,6 +30,7 @@ (define-module (gnu packages avr-xyz)
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages avr)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -95,3 +97,84 @@ (define-public simavr
|
|||
in the emulated code using an @code{.elf} section. You can also load
|
||||
multipart HEX files.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public lufa
|
||||
(package
|
||||
(name "lufa")
|
||||
(version "210130")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/abcminiuser/lufa")
|
||||
(commit (string-append "LUFA-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ylr7qsiikcy827k18zj1vdzf0kb8hb0gjmifd75y8krkhhar49g"))))
|
||||
(outputs '("bootloaders" "demos" "projects" "doc"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; There are tests, but even LUFA's own CI doesn't run them (they are
|
||||
;; only built).
|
||||
(list
|
||||
#:tests? #f
|
||||
#:modules '((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match)
|
||||
(srfi srfi-26))
|
||||
#:make-flags
|
||||
#~(list (string-append "SHELL="(search-input-file %build-inputs
|
||||
"bin/sh")))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'build-documentation
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "-j" (number->string
|
||||
(or (parallel-job-count)
|
||||
1))
|
||||
"doxygen"
|
||||
;; Ignore errors (see:
|
||||
;; https://github.com/abcminiuser/lufa/issues/90).
|
||||
"-i"
|
||||
make-flags)))
|
||||
(replace 'install
|
||||
;; There is no default install target as the library is
|
||||
;; intended to be integrated in source form in a
|
||||
;; project. Install the example projects and demos
|
||||
;; binaries as well as the documentation.
|
||||
(lambda _
|
||||
(let ((doc (string-append #$output:doc
|
||||
"/share/doc/lufa/"))
|
||||
(html-dirs (find-files "." "^html$"
|
||||
#:directories? #t)))
|
||||
(for-each (cut install-file <> #$output:bootloaders)
|
||||
(find-files "Bootloaders" "\\.hex$"))
|
||||
(for-each (cut install-file <> #$output:demos)
|
||||
(find-files "Demos" "\\.hex$"))
|
||||
(for-each (cut install-file <> #$output:projects)
|
||||
(find-files "Projects" "\\.hex$"))
|
||||
;; Install Doxygen generated HTML documentation.
|
||||
(for-each
|
||||
(lambda (html)
|
||||
(let* ((suffix "Documentation/html")
|
||||
(l (string-length suffix))
|
||||
(dest (string-append
|
||||
doc
|
||||
(string-drop
|
||||
(if (string-suffix? suffix html)
|
||||
(string-drop-right html l)
|
||||
(error "unexpected path" html))
|
||||
1)))) ;drop leading "."
|
||||
(mkdir-p dest)
|
||||
(copy-recursively html dest)))
|
||||
html-dirs)))))))
|
||||
(native-inputs (list doxygen (make-avr-toolchain)))
|
||||
(home-page "https://www.lufa-lib.org/")
|
||||
(synopsis "Lightweight USB Framework for AVRs")
|
||||
(description "UFA is a simple to use, lightweight framework which sits
|
||||
atop the hardware USB controller in specific AVR microcontroller models, and
|
||||
allows for the quick and easy creation of complex USB devices and hosts. This
|
||||
package contains the user-submitted projects and bootloaders for use with
|
||||
compatible microcontroller models, as well as the demos and the
|
||||
documentation.")
|
||||
(license license:expat))) ;see LUFA/License.txt
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -58,115 +59,122 @@ (define make-avr-binutils
|
|||
(inherit (cross-binutils "avr"))
|
||||
(name "avr-binutils"))))
|
||||
|
||||
(define make-avr-gcc
|
||||
(mlambda ()
|
||||
(let ((xgcc (cross-gcc "avr" #:xbinutils (make-avr-binutils))))
|
||||
(package
|
||||
(inherit xgcc)
|
||||
(name "avr-gcc")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments xgcc)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
;; Remove the default compiler from CPLUS_INCLUDE_PATH
|
||||
;; to prevent header conflict with the GCC from
|
||||
;; native-inputs.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH")
|
||||
#\:))
|
||||
":"))
|
||||
(format #t
|
||||
"environment variable `CPLUS_INCLUDE_PATH' \
|
||||
(define* (make-avr-gcc/implementation #:key (xgcc gcc))
|
||||
"Return a XGCC-base cross-compiler for the AVR target."
|
||||
(let ((xgcc (cross-gcc "avr" #:xgcc xgcc #:xbinutils (make-avr-binutils))))
|
||||
(package
|
||||
(inherit xgcc)
|
||||
(name "avr-gcc")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments xgcc)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
;; Remove the default compiler from CPLUS_INCLUDE_PATH
|
||||
;; to prevent header conflict with the GCC from
|
||||
;; native-inputs.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH")
|
||||
#\:))
|
||||
":"))
|
||||
(format #t
|
||||
"environment variable `CPLUS_INCLUDE_PATH' \
|
||||
changed to ~a~%"
|
||||
(getenv "CPLUS_INCLUDE_PATH")))))
|
||||
;; Without a working multilib build, the resulting GCC lacks
|
||||
;; support for nearly every AVR chip.
|
||||
(add-after 'unpack 'fix-genmultilib
|
||||
(lambda _
|
||||
;; patch-shebang doesn't work here because there are
|
||||
;; actually several scripts inside this script, each with
|
||||
;; a #!/bin/sh that needs patching.
|
||||
(substitute* "gcc/genmultilib"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))))))
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--disable-multilib" #$flags))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CROSS_C_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_CPLUS_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_OBJC_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_OBJCPLUS_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_LIBRARY_PATH")
|
||||
(files '("avr/lib")))))
|
||||
(native-inputs
|
||||
`(("gcc" ,gcc)
|
||||
,@(package-native-inputs xgcc)))))))
|
||||
(getenv "CPLUS_INCLUDE_PATH")))))
|
||||
;; Without a working multilib build, the resulting GCC lacks
|
||||
;; support for nearly every AVR chip.
|
||||
(add-after 'unpack 'fix-genmultilib
|
||||
(lambda _
|
||||
;; patch-shebang doesn't work here because there are
|
||||
;; actually several scripts inside this script, each with
|
||||
;; a #!/bin/sh that needs patching.
|
||||
(substitute* "gcc/genmultilib"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))))))
|
||||
((#:configure-flags flags)
|
||||
#~(delete "--disable-multilib" #$flags))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CROSS_C_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_CPLUS_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_OBJC_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_OBJCPLUS_INCLUDE_PATH")
|
||||
(files '("avr/include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_LIBRARY_PATH")
|
||||
(files '("avr/lib")))))
|
||||
(native-inputs
|
||||
`(("gcc" ,gcc)
|
||||
,@(package-native-inputs xgcc))))))
|
||||
|
||||
(define make-avr-gcc
|
||||
(memoize make-avr-gcc/implementation))
|
||||
|
||||
(define* (make-avr-libc/implementation #:key (xgcc gcc))
|
||||
(package
|
||||
(name "avr-libc")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah//avr-libc/avr-libc-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:out-of-source? #t
|
||||
#:configure-flags '("--host=avr")))
|
||||
(native-inputs `(("avr-binutils" ,(make-avr-binutils))
|
||||
("avr-gcc" ,(make-avr-gcc #:xgcc xgcc))))
|
||||
(home-page "https://www.nongnu.org/avr-libc/")
|
||||
(synopsis "The AVR C Library")
|
||||
(description
|
||||
"AVR Libc is a project whose goal is to provide a high quality C library
|
||||
for use with GCC on Atmel AVR microcontrollers.")
|
||||
(license
|
||||
(license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
|
||||
|
||||
(define make-avr-libc
|
||||
(mlambda ()
|
||||
(package
|
||||
(name "avr-libc")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah//avr-libc/avr-libc-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:out-of-source? #t
|
||||
#:configure-flags '("--host=avr")))
|
||||
(native-inputs `(("avr-binutils" ,(make-avr-binutils))
|
||||
("avr-gcc" ,(make-avr-gcc))))
|
||||
(home-page "https://www.nongnu.org/avr-libc/")
|
||||
(synopsis "The AVR C Library")
|
||||
(description
|
||||
"AVR Libc is a project whose goal is to provide a high quality C
|
||||
library for use with GCC on Atmel AVR microcontrollers.")
|
||||
(license
|
||||
(license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt")))))
|
||||
(memoize make-avr-libc/implementation))
|
||||
|
||||
(define make-avr-toolchain
|
||||
(mlambda ()
|
||||
(let ((avr-binutils (make-avr-binutils))
|
||||
(avr-libc (make-avr-libc))
|
||||
(avr-gcc (make-avr-gcc)))
|
||||
;; avr-libc checks the compiler version and passes "--enable-device-lib"
|
||||
;; for avr-gcc > 5.1.0. It wouldn't install the library for atmega32u4
|
||||
;; etc if we didn't use the corret avr-gcc.
|
||||
(package
|
||||
(name "avr-toolchain")
|
||||
(version (package-version avr-gcc))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments '(#:builder (begin (mkdir %output) #t)))
|
||||
(propagated-inputs
|
||||
`(("avrdude" ,avrdude)
|
||||
("binutils" ,avr-binutils)
|
||||
("gcc" ,avr-gcc)
|
||||
("libc" ,avr-libc)))
|
||||
(synopsis "Complete GCC tool chain for AVR microcontroller development")
|
||||
(description "This package provides a complete GCC tool chain for AVR
|
||||
(define* (make-avr-toolchain/implementation #:key (xgcc gcc))
|
||||
(let ((avr-binutils (make-avr-binutils))
|
||||
(avr-libc (make-avr-libc #:xgcc xgcc))
|
||||
(avr-gcc (make-avr-gcc #:xgcc xgcc)))
|
||||
;; avr-libc checks the compiler version and passes "--enable-device-lib"
|
||||
;; for avr-gcc > 5.1.0. It wouldn't install the library for atmega32u4
|
||||
;; etc if we didn't use the corret avr-gcc.
|
||||
(package
|
||||
(name "avr-toolchain")
|
||||
(version (package-version avr-gcc))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments '(#:builder (begin (mkdir %output) #t)))
|
||||
(propagated-inputs
|
||||
`(("avrdude" ,avrdude)
|
||||
("binutils" ,avr-binutils)
|
||||
("gcc" ,avr-gcc)
|
||||
("libc" ,avr-libc)))
|
||||
(synopsis "Complete GCC tool chain for AVR microcontroller development")
|
||||
(description "This package provides a complete GCC tool chain for AVR
|
||||
microcontroller development. This includes the GCC AVR cross compiler and
|
||||
avrdude for firmware flashing. The supported programming languages are C and
|
||||
C++.")
|
||||
(home-page (package-home-page avr-libc))
|
||||
(license (package-license avr-gcc))))))
|
||||
(home-page (package-home-page avr-libc))
|
||||
(license (package-license avr-gcc)))))
|
||||
|
||||
(define make-avr-toolchain
|
||||
(memoize make-avr-toolchain/implementation))
|
||||
|
||||
(define-public microscheme
|
||||
(package
|
||||
|
|
|
@ -793,6 +793,7 @@ (define-public glibc
|
|||
(package
|
||||
(name "glibc")
|
||||
(version "2.35")
|
||||
(replacement glibc/fixed)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
|
||||
|
@ -1062,6 +1063,15 @@ (define (linker-script? file)
|
|||
(license lgpl2.0+)
|
||||
(home-page "https://www.gnu.org/software/libc/")))
|
||||
|
||||
(define glibc/fixed
|
||||
(package
|
||||
(inherit glibc)
|
||||
(source
|
||||
(origin (inherit (package-source glibc))
|
||||
(patches
|
||||
(append (search-patches "glibc-2.35-CVE-2023-4911.patch")
|
||||
(origin-patches (package-source glibc))))))))
|
||||
|
||||
;; Define a variation of glibc which uses the default /etc/ld.so.cache, useful
|
||||
;; in FHS containers.
|
||||
(define-public glibc-for-fhs
|
||||
|
|
|
@ -37,10 +37,12 @@ (define-module (gnu packages bioconductor)
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bioinformatics)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages chemistry)
|
||||
#:use-module (gnu packages cran)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
|
@ -66,6 +68,36 @@ (define-module (gnu packages bioconductor)
|
|||
|
||||
;;; Annotations
|
||||
|
||||
(define-public r-mafh5-gnomad-v3-1-2-grch38
|
||||
(package
|
||||
(name "r-mafh5-gnomad-v3-1-2-grch38")
|
||||
(version "3.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "MafH5.gnomAD.v3.1.2.GRCh38" version
|
||||
'annotation))
|
||||
(sha256
|
||||
(base32 "18hzw7f41ii16qpm3ch516b773900l1m1id5z6a763m01fg0mhiq"))))
|
||||
(properties `((upstream-name . "MafH5.gnomAD.v3.1.2.GRCh38")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-bsgenome
|
||||
r-genomeinfodb
|
||||
r-genomicranges
|
||||
r-genomicscores
|
||||
r-hdf5array
|
||||
r-iranges
|
||||
r-rhdf5
|
||||
r-s4vectors))
|
||||
(home-page "https://bioconductor.org/packages/MafH5.gnomAD.v3.1.2.GRCh38")
|
||||
(synopsis
|
||||
"Minor allele frequency data from gnomAD version 3.1.2 for GRCh38")
|
||||
(description
|
||||
"This package is designed to store minor allele frequency data.
|
||||
It retrieves this data from the Genome Aggregation Database
|
||||
(@code{gnomAD} version 3.1.2) for the human genome version GRCh38.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-org-eck12-eg-db
|
||||
(package
|
||||
(name "r-org-eck12-eg-db")
|
||||
|
@ -18852,6 +18884,47 @@ (define-public r-bigpint
|
|||
visualizing RNA-sequencing datasets and differentially expressed genes.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-chemmineob
|
||||
(package
|
||||
(name "r-chemmineob")
|
||||
(version "1.38.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ChemmineOB" version))
|
||||
(sha256
|
||||
(base32 "0l44d6l078k1w5nf7i4sarah1zn30zqjmcj9qpy4hhg97dfy45ci"))))
|
||||
(properties `((upstream-name . "ChemmineOB")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-makefile
|
||||
(lambda _
|
||||
(substitute* "src/Makevars.in"
|
||||
(("/usr/include/openbabel3")
|
||||
(string-append #$(this-package-input "openbabel")
|
||||
"/include/openbabel3"))
|
||||
(("/usr/include/eigen3")
|
||||
(string-append #$(this-package-input "eigen")
|
||||
"/include/eigen3"))))))))
|
||||
(inputs (list eigen openbabel))
|
||||
(propagated-inputs (list r-bh r-biocgenerics r-rcpp r-zlibbioc))
|
||||
(native-inputs (list pkg-config r-knitr))
|
||||
(home-page "https://github.com/girke-lab/ChemmineOB")
|
||||
(synopsis "R interface to a subset of OpenBabel functionalities")
|
||||
(description
|
||||
"@code{ChemmineOB} provides an R interface to a subset of cheminformatics
|
||||
functionalities implemented by the @code{OpelBabel} C++ project.
|
||||
@code{OpenBabel} is an open source cheminformatics toolbox that includes
|
||||
utilities for structure format interconversions, descriptor calculations,
|
||||
compound similarity searching and more. @code{ChemineOB} aims to make a subset
|
||||
of these utilities available from within R. For non-developers,
|
||||
@code{ChemineOB} is primarily intended to be used from @code{ChemmineR} as an
|
||||
add-on package rather than used directly.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public r-chemminer
|
||||
(package
|
||||
(name "r-chemminer")
|
||||
|
@ -21397,14 +21470,14 @@ (define-public r-ldheatmap
|
|||
(define-public r-abn
|
||||
(package
|
||||
(name "r-abn")
|
||||
(version "3.0.0")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "abn" version))
|
||||
(sha256
|
||||
(base32
|
||||
"100nafmyddz0c1h01fbqw5q6pji7zhg2196rkyak88za6s5ms0s4"))))
|
||||
"03g02450l3mckjzwd0w717dbmxhrngkwlfhm5c9q5zv4g10df7nj"))))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
(list gsl))
|
||||
|
|
|
@ -93,6 +93,7 @@ (define-module (gnu packages bioinformatics)
|
|||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages graphics)
|
||||
|
@ -4695,26 +4696,16 @@ (define-public transanno
|
|||
(arguments
|
||||
(list
|
||||
#:install-source? #false ;fails
|
||||
#:tests? #false ;"cargo test" ignores build.rs
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-test-files
|
||||
(lambda _
|
||||
(delete-file "Cargo.lock")
|
||||
(substitute* "liftover-rs/Cargo.toml"
|
||||
(("anyhow = \"1\"") "anyhow = \"1.0.65\""))
|
||||
(substitute* "liftover-rs/prepare-test.sh"
|
||||
(("/bin/bash")
|
||||
(string-append #$(this-package-native-input "bash")
|
||||
"/bin/bash")))
|
||||
(invoke "bash" "prepare-test-files.sh")))
|
||||
(add-before 'patch-cargo-checksums 'do-not-build-xz
|
||||
(lambda _
|
||||
;; Detection of liblzma (in rust-lzma-sys, pulled in by
|
||||
;; rust-hts-sys) doesn't seem to work, or perhaps it really does
|
||||
;; request a static build somewhere.
|
||||
(substitute* "guix-vendor/rust-lzma-sys-0.1.17.tar.xz/build.rs"
|
||||
(("if .want_static && .msvc && pkg_config::probe_library\\(\"liblzma\"\\).is_ok\\(\\)") ""))))
|
||||
(add-before 'install 'chdir
|
||||
(lambda _ (chdir "transanno"))))
|
||||
#:cargo-inputs
|
||||
|
@ -4736,7 +4727,8 @@ (define-public transanno
|
|||
#:cargo-development-inputs
|
||||
`(("rust-clap" ,rust-clap-2)
|
||||
("rust-lazy-static" ,rust-lazy-static-1))))
|
||||
(native-inputs (list bash))
|
||||
(native-inputs (list bash pkg-config))
|
||||
(inputs (list xz))
|
||||
(home-page "https://github.com/informationsea/transanno")
|
||||
(synopsis "LiftOver tool for new genome assemblies")
|
||||
(description "This package provides an accurate VCF/GFF3/GTF LiftOver tool
|
||||
|
@ -10285,6 +10277,66 @@ (define-public r-markdownreports
|
|||
discovered.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-metacell
|
||||
(let ((commit "d6a6926d103ee0cb34a611c753572429c94a53d9")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-metacell")
|
||||
(version (git-version "0.3.41" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tanaylab/metacell/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zrsckr3y35x37mj3ibm6scyqx925s84wzrz1i42fnm9n3msc265"))))
|
||||
(properties `((upstream-name . "metacell")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-cluster
|
||||
r-cowplot
|
||||
r-data-table
|
||||
r-dbscan
|
||||
r-domc
|
||||
r-dplyr
|
||||
r-entropy
|
||||
r-ggplot2
|
||||
r-graph
|
||||
r-igraph
|
||||
r-kernsmooth
|
||||
r-magrittr
|
||||
r-matrix
|
||||
r-matrixstats
|
||||
r-pdist
|
||||
r-pheatmap
|
||||
r-plyr
|
||||
r-rcolorbrewer
|
||||
r-rcurl
|
||||
r-rgraphviz
|
||||
r-slam
|
||||
r-singlecellexperiment
|
||||
r-svglite
|
||||
r-tgconfig
|
||||
r-tgstat
|
||||
r-tgutil
|
||||
r-tidyr
|
||||
r-umap
|
||||
r-umap
|
||||
r-zoo))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://github.com/tanaylab/metacell/")
|
||||
(synopsis "Meta cell analysis for single cell RNA-seq data")
|
||||
(description
|
||||
"This package facilitates the analysis of single-cell RNA-seq UMI matrices.
|
||||
It does this by computing partitions of a cell similarity graph into
|
||||
small homogeneous groups of cells, which are defined as metacells (MCs).
|
||||
The derived MCs are then used for building different representations of
|
||||
the data, allowing matrix or 2D graph visualization forming a basis for
|
||||
analysis of cell types, subtypes, transcriptional gradients,cell-cycle
|
||||
variation, gene modules and their regulatory models and more.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-snapatac
|
||||
(package
|
||||
(name "r-snapatac")
|
||||
|
|
|
@ -654,7 +654,8 @@ (define u-boot
|
|||
%u-boot-sifive-prevent-relocating-initrd-fdt
|
||||
%u-boot-rk3399-enable-emmc-phy-patch
|
||||
(search-patch "u-boot-fix-build-python-3.10.patch")
|
||||
(search-patch "u-boot-fix-u-boot-lib-build.patch")))
|
||||
(search-patch "u-boot-fix-u-boot-lib-build.patch")
|
||||
(search-patch "u-boot-patman-change-id.patch")))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://ftp.denx.de/pub/u-boot/"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -25,6 +26,7 @@ (define-module (gnu packages browser-extensions)
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu build chromium-extension)
|
||||
#:use-module (gnu build icecat-extension)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
|
@ -98,6 +100,7 @@ (define ublock-origin
|
|||
"1i8rnij3sbwg6vj6znprrsca0n5xjzhmhppaa8v6jyxg6wrrfch1"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("xpi" "firefox" "chromium"))
|
||||
(properties '((addon-id . "uBlock0@raymondhill.net")))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
|
@ -125,9 +128,11 @@ (define ublock-origin
|
|||
(invoke "./tools/make-chromium.sh")))
|
||||
(add-after 'build-chromium 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((firefox (assoc-ref outputs "firefox"))
|
||||
(xpi (assoc-ref outputs "xpi"))
|
||||
(chromium (assoc-ref outputs "chromium")))
|
||||
(let* ((addon-id #$(assq-ref properties 'addon-id))
|
||||
(firefox (in-vicinity
|
||||
(assoc-ref outputs "firefox") addon-id))
|
||||
(xpi (assoc-ref outputs "xpi"))
|
||||
(chromium (assoc-ref outputs "chromium")))
|
||||
(install-file "dist/build/uBlock0.firefox.xpi"
|
||||
(string-append xpi "/lib/mozilla/extensions"))
|
||||
(copy-recursively "dist/build/uBlock0.firefox" firefox)
|
||||
|
@ -142,3 +147,6 @@ (define ublock-origin
|
|||
|
||||
(define-public ublock-origin/chromium
|
||||
(make-chromium-extension ublock-origin "chromium"))
|
||||
|
||||
(define-public ublock-origin/icecat
|
||||
(make-icecat-extension ublock-origin "firefox"))
|
||||
|
|
|
@ -551,7 +551,7 @@ (define-public dvdstyler
|
|||
(define-public libcue
|
||||
(package
|
||||
(name "libcue")
|
||||
(version "2.2.1")
|
||||
(version "2.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -560,7 +560,7 @@ (define-public libcue
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm"))))
|
||||
"1lkcj31fc0wjqr9lgr1ws6invx6ayvrk7v5kd9lm7956q1mi9ib4"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||
|
|
|
@ -3548,7 +3548,7 @@ (define-public python-pytest-regressions
|
|||
(define-public guile-proba
|
||||
(package
|
||||
(name "guile-proba")
|
||||
(version "0.3.0")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3557,7 +3557,7 @@ (define-public guile-proba
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mjnrbb6gv5f95i1ihn75yh7ya445pcnj13cy34x2v58h9n2r80s"))))
|
||||
(base32 "17ab304ylylm9z980ij5lv188inx6331r1mn1s7qrlxly9fzx888"))))
|
||||
(build-system guile-build-system)
|
||||
(inputs (list bash-minimal guile-3.0))
|
||||
(native-inputs (list texinfo))
|
||||
|
@ -3599,8 +3599,8 @@ (define-public guile-proba
|
|||
(copy-file "proba.scm" script)
|
||||
(chmod script #o555)
|
||||
(wrap-program script
|
||||
`("GUILE_LOAD_PATH" = (,(getenv "GUILE_LOAD_PATH")))
|
||||
`("GUILE_LOAD_COMPILED_PATH" =
|
||||
`("GUILE_LOAD_PATH" prefix (,(getenv "GUILE_LOAD_PATH")))
|
||||
`("GUILE_LOAD_COMPILED_PATH" prefix
|
||||
(,(getenv "GUILE_LOAD_COMPILED_PATH")))))))
|
||||
(add-after 'install 'install-manual
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
|
|
@ -29,6 +29,7 @@ (define-module (gnu packages ci)
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR))
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
|
@ -58,8 +59,8 @@ (define-module (gnu packages ci)
|
|||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "797b26a4ef80dce278481b1cc3391791ef2cbbaf")
|
||||
(revision "19"))
|
||||
(let ((commit "db6b63371159a735de74eee97c313740c998439a")
|
||||
(revision "20"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
|
@ -72,73 +73,66 @@ (define-public cuirass
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10hs9nxl9xlnswm7qv8mw5s3rf65q4ip8ikqvgq5rprcv1lf26ad"))))
|
||||
"16d9ylzk8mwsgppfdxyl0k2mkwll7fq17d6v09406rqkgddxg3m2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(ice-9 rdelim)
|
||||
(ice-9 popen))
|
||||
#:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
|
||||
;; XXX: HTTP tests fail on aarch64 due to Fibers errors, disable them
|
||||
;; on that architecture for now.
|
||||
#:tests? ,(let ((s (or (%current-target-system)
|
||||
(%current-system))))
|
||||
(not (string-prefix? "aarch64" s)))
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'fix-version-gen
|
||||
(lambda _
|
||||
(patch-shebang "build-aux/git-version-gen")
|
||||
(list #:modules `((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(ice-9 match)
|
||||
(ice-9 rdelim)
|
||||
(ice-9 popen)
|
||||
(srfi srfi-1))
|
||||
#:configure-flags #~'("--localstatedir=/var") ;for /var/log/cuirass
|
||||
;; XXX: HTTP tests fail on aarch64 due to Fibers errors, disable them
|
||||
;; on that architecture for now.
|
||||
#:tests? (let ((s (or (%current-target-system)
|
||||
(%current-system))))
|
||||
(not (string-prefix? "aarch64" s)))
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'fix-version-gen
|
||||
(lambda _
|
||||
(patch-shebang "build-aux/git-version-gen")
|
||||
|
||||
(call-with-output-file ".tarball-version"
|
||||
(lambda (port)
|
||||
(display ,version port)))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Wrap the 'cuirass' command to refer to the right modules.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(avahi (assoc-ref inputs "guile-avahi"))
|
||||
(gcrypt (assoc-ref inputs "guile-gcrypt"))
|
||||
(json (assoc-ref inputs "guile-json"))
|
||||
(zmq (assoc-ref inputs "guile-simple-zmq"))
|
||||
(squee (assoc-ref inputs "guile-squee"))
|
||||
(git (assoc-ref inputs "guile-git"))
|
||||
(bytes (assoc-ref inputs "guile-bytestructures"))
|
||||
(fibers (assoc-ref inputs "guile-fibers"))
|
||||
(zlib (assoc-ref inputs "guile-zlib"))
|
||||
(matd (assoc-ref inputs "guile-mastodon"))
|
||||
(tls (assoc-ref inputs "guile-gnutls"))
|
||||
(mail (assoc-ref inputs "mailutils"))
|
||||
(guix (assoc-ref inputs "guix"))
|
||||
(deps (list avahi gcrypt json zmq squee git bytes
|
||||
fibers zlib matd tls mail guix))
|
||||
(guile (assoc-ref inputs "guile"))
|
||||
(effective
|
||||
(read-line
|
||||
(open-pipe* OPEN_READ
|
||||
(string-append guile "/bin/guile")
|
||||
"-c" "(display (effective-version))")))
|
||||
(mods
|
||||
(string-drop-right ;drop trailing colon
|
||||
(string-join deps
|
||||
(string-append "/share/guile/site/"
|
||||
effective ":")
|
||||
'suffix)
|
||||
1))
|
||||
(objs
|
||||
(string-drop-right
|
||||
(string-join deps
|
||||
(string-append "/lib/guile/" effective
|
||||
"/site-ccache:")
|
||||
'suffix)
|
||||
1)))
|
||||
;; Make sure 'cuirass' can find the relevant Guile modules.
|
||||
(wrap-program (string-append out "/bin/cuirass")
|
||||
`("PATH" ":" prefix (,(string-append out "/bin")))
|
||||
`("GUILE_LOAD_PATH" ":" prefix (,mods))
|
||||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))))))))
|
||||
(call-with-output-file ".tarball-version"
|
||||
(lambda (port)
|
||||
(display #$(package-version this-package) port)))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Wrap the 'cuirass' command to refer to the right modules.
|
||||
;; Do so by collecting the subset of INPUTS that provides Guile
|
||||
;; modules. This includes direct inputs as well as their
|
||||
;; propagated inputs--e.g., 'guix' propagates 'guile-zstd'.
|
||||
(define (sub-directory suffix)
|
||||
(match-lambda
|
||||
((label . directory)
|
||||
(let ((directory (string-append directory suffix)))
|
||||
(and (directory-exists? directory)
|
||||
directory)))))
|
||||
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(effective
|
||||
(read-line
|
||||
(open-pipe* OPEN_READ (which "guile") "-c"
|
||||
"(display (effective-version))")))
|
||||
(mods (filter-map (sub-directory
|
||||
(string-append
|
||||
"/share/guile/site/"
|
||||
effective))
|
||||
inputs))
|
||||
(objs (filter-map (sub-directory
|
||||
(string-append
|
||||
"/lib/guile/" effective
|
||||
"/site-ccache"))
|
||||
inputs)))
|
||||
(wrap-program (string-append out "/bin/cuirass")
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append out "/bin")))
|
||||
`("GUILE_LOAD_PATH" ":" prefix
|
||||
,mods)
|
||||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
|
||||
,objs))))))))
|
||||
(inputs
|
||||
(list guile-3.0-latest
|
||||
guile-avahi
|
||||
|
|
|
@ -46,17 +46,16 @@ (define-module (gnu packages connman)
|
|||
(define-public connman
|
||||
(package
|
||||
(name "connman")
|
||||
(version "1.41")
|
||||
(version "1.42")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/network/connman/"
|
||||
"connman-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "12g5ilcnymx6i45z3359yds3cgd2dfqjyncfm92hqlymzps41yvr"))
|
||||
(patches (search-patches "connman-CVE-2022-32292.patch"
|
||||
"connman-CVE-2022-32293-pt1.patch"
|
||||
"connman-CVE-2022-32293-pt2.patch"))))
|
||||
(base32 "1an24caah35chc1c48p67ln8kpj9fr7slg5fklpfz0f0dzjbmrm3"))
|
||||
(patches
|
||||
(search-patches "connman-add-missing-libppp-compat.h.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
|
||||
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -159,7 +160,7 @@ (define-public conmon
|
|||
(define-public distrobox
|
||||
(package
|
||||
(name "distrobox")
|
||||
(version "1.4.2.1")
|
||||
(version "1.5.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -167,7 +168,7 @@ (define-public distrobox
|
|||
(url "https://github.com/89luca89/distrobox")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0gs81m1bvlyq6ad22zsdsw1q6s3agy79vx94kdf6zjzngbanlydk"))
|
||||
(base32 "0h6rpgbcmg33vriyzh9nkdxj8yhfn0y35i1wh1zmb7zss3ik9kxj"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system copy-build-system)
|
||||
(inputs
|
||||
|
@ -177,7 +178,7 @@ (define-public distrobox
|
|||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'refer-to-inputs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "." "^distrobox.*[^1]$")
|
||||
(substitute* (find-files "." "^distrobox[^.]*[^1]$")
|
||||
(("podman") (search-input-file inputs "/bin/podman"))
|
||||
(("wget") (search-input-file inputs "/bin/wget"))
|
||||
(("command -v") "test -x"))))
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
;;; Copyright © 2023 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;; Copyright © 2023 Paul A. Patience <paul@apatience.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -82,6 +83,7 @@ (define-module (gnu packages cpp)
|
|||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
|
@ -94,6 +96,7 @@ (define-module (gnu packages cpp)
|
|||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -1039,6 +1042,78 @@ (define-public sobjectizer
|
|||
development of concurrent and multithreaded applications in C++.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public taskflow
|
||||
(package
|
||||
(name "taskflow")
|
||||
(version "3.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/taskflow/taskflow")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1cv74l181137lchc1rxygcg401cnq216ymq5qz2njsw99j342br3"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://taskflow.github.io/")
|
||||
(synopsis
|
||||
"General-purpose parallel and heterogeneous task programming system")
|
||||
(description
|
||||
"Taskflow is a C++ library for writing parallel and heterogeneous task
|
||||
programs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public kokkos
|
||||
(package
|
||||
(name "kokkos")
|
||||
(version "4.1.00")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kokkos/kokkos")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15kjpa54ssrrbid9h2nr94nh85qna5c4vq2152i4iy7gaagigy3c"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled googletest.
|
||||
#~(delete-file-recursively "tpls/gtest"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
;; deal.II uses only the serial backend, so do not enable the
|
||||
;; others yet.
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON"
|
||||
"-DKokkos_ENABLE_SERIAL=ON"
|
||||
"-DKokkos_ENABLE_TESTS=ON"
|
||||
"-DKokkos_ENABLE_EXAMPLES=ON"
|
||||
"-DKokkos_ENABLE_HWLOC=ON"
|
||||
"-DKokkos_ENABLE_MEMKIND=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install-license-files 'remove-cruft
|
||||
(lambda _
|
||||
(delete-file
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version
|
||||
"/LICENSE_FILE_HEADER")))))))
|
||||
(native-inputs
|
||||
(list googletest python))
|
||||
(inputs
|
||||
(list `(,hwloc "lib") memkind))
|
||||
(home-page "https://github.com/kokkos/kokkos")
|
||||
(synopsis "C++ abstractions for parallel execution and data management")
|
||||
(description
|
||||
"Kokkos Core implements a programming model in C++ for writing performance
|
||||
portable applications targeting all major HPC platforms. For that purpose it
|
||||
provides abstractions for both parallel execution of code and data management.
|
||||
Kokkos is designed to target complex node architectures with N-level memory
|
||||
hierarchies and multiple types of execution resources.")
|
||||
(license license:asl2.0))) ; With LLVM exception
|
||||
|
||||
(define-public tweeny
|
||||
(package
|
||||
(name "tweeny")
|
||||
|
|
|
@ -3257,6 +3257,29 @@ (define-public r-tgp
|
|||
noisy black-box functions.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public r-tgstat
|
||||
(package
|
||||
(name "r-tgstat")
|
||||
(version "2.3.24")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tgstat" version))
|
||||
(sha256
|
||||
(base32 "0czd3j7z30jgb03813s0jc0701ypnwpkkq7var6n6f6cj7sdvc0l"))))
|
||||
(properties `((upstream-name . "tgstat")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://cran.r-project.org/package=tgstat")
|
||||
(synopsis "Amos Tanay's Group High Performance Statistical Utilities")
|
||||
(description
|
||||
"This package provides a collection of high-performance utilities.
|
||||
It can be used to compute distances, correlations, autocorrelations,
|
||||
clustering, and other tasks. It also contains a graph clustering
|
||||
algorithm described in MetaCell analysis of single-cell RNA-seq
|
||||
data using K-nn graph partitions.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-tidyft
|
||||
(package
|
||||
(name "r-tidyft")
|
||||
|
@ -3948,13 +3971,13 @@ (define-public r-howmany
|
|||
(define-public r-htmltools
|
||||
(package
|
||||
(name "r-htmltools")
|
||||
(version "0.5.6")
|
||||
(version "0.5.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "htmltools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rx0nmal1dca5xqj1pd17a85whsislhkyxxa4scmxgn38lkqxsqm"))))
|
||||
"0km08kvg0j2h1d0v6wpxf09yjadhp2srjjnmqwcahfyh37w4xf09"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-base64enc r-digest r-ellipsis r-fastmap r-rlang))
|
||||
|
@ -7400,14 +7423,14 @@ (define-public r-kpmt
|
|||
(define-public r-ksamples
|
||||
(package
|
||||
(name "r-ksamples")
|
||||
(version "1.2-9")
|
||||
(version "1.2-10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "kSamples" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zs22p68d6320kcylisnk0b5wmpapxkyz15py09czxzw7npw8gms"))))
|
||||
"13ap5ggid3w3s3k5mzz1ir31j96hjg6msa2s1hcy66zv242wqrid"))))
|
||||
(properties `((upstream-name . "kSamples")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10382,13 +10405,13 @@ (define-public r-extradistr
|
|||
(define-public r-fbasics
|
||||
(package
|
||||
(name "r-fbasics")
|
||||
(version "4022.94")
|
||||
(version "4031.95")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "fBasics" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mka9avcdkq4sj40xa15hrjm1f8ppzbvw3yzxbhkbaw9c130qfy8"))))
|
||||
"1d1pbyidng68fcc6vrm98ybklz6yzrinqc2dhg8q6f1pg3kkx6bj"))))
|
||||
(properties `((upstream-name . "fBasics")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10602,6 +10625,29 @@ (define-public r-complexplus
|
|||
the matrix exponential and logarithm, and the determinant.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-complexupset
|
||||
(package
|
||||
(name "r-complexupset")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ComplexUpset" version))
|
||||
(sha256
|
||||
(base32 "1sk4v5kc2wkgfaws0hjlp30mngm907r5gz1iglf68j46lfs9jbsv"))))
|
||||
(properties `((upstream-name . "ComplexUpset")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-colorspace r-ggplot2 r-patchwork r-scales))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://github.com/krassowski/complex-upset")
|
||||
(synopsis "Create complex UpSet plots using ggplot2 components")
|
||||
(description
|
||||
"@code{UpSet} plots are an improvement over Venn Diagram for set overlap
|
||||
visualizations. Striving to bring the best of the @code{UpSetR} and ggplot2,
|
||||
this package offers a way to create complex overlap visualisations, using
|
||||
simple and familiar tools.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-phontools
|
||||
(package
|
||||
(name "r-phontools")
|
||||
|
@ -10719,14 +10765,14 @@ (define-public r-heatmap3
|
|||
(define-public r-heatmaply
|
||||
(package
|
||||
(name "r-heatmaply")
|
||||
(version "1.4.2")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "heatmaply" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zgaqmbc1nha38c8kx5xdjdjbwmykrf2acq8ydki8dqixv6b34la"))))
|
||||
"1crdm7avxv3zx59byz2fqbcw95728crwf9cckjb9gal1065xv95c"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-assertthat
|
||||
|
@ -12820,14 +12866,14 @@ (define-public r-factoextra
|
|||
(define-public r-fansi
|
||||
(package
|
||||
(name "r-fansi")
|
||||
(version "1.0.4")
|
||||
(version "1.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "fansi" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17y4m4yy8d6j6rlql2bpigcyn6yfv2g2aaaj96xjp4j0di722qri"))))
|
||||
"1xi35schbz42kjwjzhjqj12nd053962mgnk6qd9k5m5zgwsww5n6"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
(list r-knitr)) ; for vignettes
|
||||
|
@ -16126,19 +16172,20 @@ (define-public r-sjstats
|
|||
(define-public r-glmmtmb
|
||||
(package
|
||||
(name "r-glmmtmb")
|
||||
(version "1.1.7")
|
||||
(version "1.1.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "glmmTMB" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wf1fn2gf500y2r4d84p5gj3b1fj2cmyw2lp366r4nm6p3iyd2x3"))))
|
||||
"055xi424cd1glhbv8a8v9cm79zq9skb7230nq0xm90iggb1zcj22"))))
|
||||
(properties `((upstream-name . "glmmTMB")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-lme4
|
||||
r-matrix
|
||||
r-mgcv
|
||||
r-nlme
|
||||
r-numderiv
|
||||
r-rcppeigen
|
||||
|
@ -18065,13 +18112,13 @@ (define-public r-waveslim
|
|||
(define-public r-word2vec
|
||||
(package
|
||||
(name "r-word2vec")
|
||||
(version "0.3.4")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "word2vec" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qj39vms6zgwb8lpmfkppayizdmhakic3pkacglary3ain61vnsk"))))
|
||||
"14ba0cj430d02bd6fay3nl4ldwqyj77iwjm4gzgdc0f6sx597iiq"))))
|
||||
(properties `((upstream-name . "word2vec")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-rcpp r-rcppprogress))
|
||||
|
@ -18907,14 +18954,14 @@ (define-public r-grimport
|
|||
(define-public r-grimport2
|
||||
(package
|
||||
(name "r-grimport2")
|
||||
(version "0.2-0")
|
||||
(version "0.3-0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "grImport2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"19q0dd8fpp1g4xf6sg5f8dxybwxjfw553ra6wgjd8b74fzca40m1"))))
|
||||
"04k71x2wm1wsgv5fnk8xip2q5brl9cnjp3fv2rs0kdq9jkhs6yhz"))))
|
||||
(properties `((upstream-name . "grImport2")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -25197,13 +25244,13 @@ (define-public r-plot3d
|
|||
(define-public r-plotroc
|
||||
(package
|
||||
(name "r-plotroc")
|
||||
(version "2.3.0")
|
||||
(version "2.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "plotROC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kaz9hrimi9gi7cf7flag9kc9yrg5fdyylqa5hn53x4dy8vhj37g"))
|
||||
"15jvn1dlx8qh5ghnkhqyc49frw6rp58ikpjs3ga8mjxrqyz7wb1g"))
|
||||
(snippet
|
||||
'(delete-file "inst/d3.v3.min.js"))))
|
||||
(properties `((upstream-name . "plotROC")))
|
||||
|
@ -29810,14 +29857,14 @@ (define-public r-shinycssloaders
|
|||
(define-public r-rsvg
|
||||
(package
|
||||
(name "r-rsvg")
|
||||
(version "2.5.0")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rsvg" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gi31hhs488a90lcql9c1hhsbymskj5brp05ag5z9f0azspazpdm"))))
|
||||
"0w29isj7n33vwacvk5h6ghgm9j3phghnz7a98b1xi60cyk08qi2b"))))
|
||||
(properties `((upstream-name . "rsvg")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
|
|
|
@ -1217,20 +1217,18 @@ (define-public rust-glutin-egl-sys-0.1
|
|||
(package
|
||||
(inherit rust-glutin-egl-sys-0.4)
|
||||
(name "rust-glutin-egl-sys")
|
||||
(version "0.1.5")
|
||||
(version "0.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "glutin-egl-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04f2ci9kb8q4dv4kviigvgfy54lr4jmbnmjsvi50qj13anjnmfra"))))
|
||||
(base32 "0g81bz7ppvaksvwcw1jg553g8b2shvmnfm9ms6hixwvinj20z438"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-gl-generator" ,rust-gl-generator-0.13))))))
|
||||
("rust-gl-generator" ,rust-gl-generator-0.14))))))
|
||||
|
||||
(define-public rust-glutin-emscripten-sys-0.1
|
||||
(package
|
||||
|
@ -1742,13 +1740,13 @@ (define-public rust-lyon-svg-0.17
|
|||
(define-public rust-mp4parse-0.12
|
||||
(package
|
||||
(name "rust-mp4parse")
|
||||
(version "0.12.0")
|
||||
(version "0.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "mp4parse" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ppqv60qiyrnbb996gb1sik08c0j2i317llv3rrcwb1cjg3bdlk7"))))
|
||||
(base32 "1scynvlmiy6xv2rrzzpijd812amh6a863na8i0xrcw5d9d08kl8h"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Not all files included.
|
||||
|
@ -2186,21 +2184,22 @@ (define-public rust-ravif-0.6
|
|||
(package
|
||||
(inherit rust-ravif-0.8)
|
||||
(name "rust-ravif")
|
||||
(version "0.6.4")
|
||||
(version "0.6.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "ravif" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1gyc7w1fz3qdk95cdpkj185dm6lskxfp329xm69waxc565fcz9rx"))))
|
||||
(base32 "0rfm63bv0q2rjyivmzlk4wma8xff6jralh7dr1bjz2aw4knm7cw1"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
`(#:skip-build? #t ; Not packaging older versions of rav1e.
|
||||
#:cargo-inputs
|
||||
(("rust-avif-serialize" ,rust-avif-serialize-0.6)
|
||||
("rust-imgref" ,rust-imgref-1)
|
||||
("rust-loop9" ,rust-loop9-0.1)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rav1e" ,rav1e)
|
||||
("rav1e" ,rav1e) ; 0.5
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-rgb" ,rust-rgb-0.8))
|
||||
#:cargo-development-inputs
|
||||
|
@ -2262,6 +2261,25 @@ (define-public rust-raw-window-handle-0.3
|
|||
(arguments
|
||||
`(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))))
|
||||
|
||||
(define-public rust-resize-0.4
|
||||
(package
|
||||
(name "rust-resize")
|
||||
(version "0.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "resize" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0bamrw2m37l8q46mcy6snp6106d93dq7x67hbbj32w88pjdhxn84"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-development-inputs (("rust-png" ,rust-png-0.16))))
|
||||
(home-page "https://github.com/PistonDevelopers/resize")
|
||||
(synopsis "Image resampling library in pure Rust")
|
||||
(description "This package provides an image resampling library in pure Rust.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-rgb-0.8
|
||||
(package
|
||||
(name "rust-rgb")
|
||||
|
@ -2628,8 +2646,76 @@ (define-public rust-tiff-0.2
|
|||
("rust-num-derive" ,rust-num-derive-0.2)
|
||||
("rust-num-traits" ,rust-num-traits-0.2))))))
|
||||
|
||||
(define-public rust-wayland-backend-0.1
|
||||
(package
|
||||
(name "rust-wayland-backend")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wayland-backend" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1n1yi6vna23wfkrpk1j46sx5qbsijh50viha4sra73by8lkqxd21"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Use of undeclared dependencies
|
||||
#:cargo-inputs
|
||||
(("rust-cc" ,rust-cc-1)
|
||||
("rust-downcast-rs" ,rust-downcast-rs-1)
|
||||
("rust-io-lifetimes" ,rust-io-lifetimes-1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-nix" ,rust-nix-0.26)
|
||||
("rust-raw-window-handle" ,rust-raw-window-handle-0.5)
|
||||
("rust-scoped-tls" ,rust-scoped-tls-1)
|
||||
("rust-smallvec" ,rust-smallvec-1)
|
||||
("rust-wayland-sys" ,rust-wayland-sys-0.30))
|
||||
#:cargo-development-inputs
|
||||
(("rust-concat-idents" ,rust-concat-idents-1)
|
||||
("rust-env-logger" ,rust-env-logger-0.10))))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis "Backend API for wayland crates")
|
||||
(description "This package provides low-level bindings to the Wayland
|
||||
protocol.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-wayland-client-0.30
|
||||
(package
|
||||
(name "rust-wayland-client")
|
||||
(version "0.30.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wayland-client" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j3as2g1znrs2lpkksqcvx8pag85yiwwbcv6wb3lyrqgfxa9d728"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; use of undeclared crate or module `wayland_protocols`
|
||||
#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-calloop" ,rust-calloop-0.10)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-nix" ,rust-nix-0.26)
|
||||
("rust-wayland-backend" ,rust-wayland-backend-0.1)
|
||||
("rust-wayland-scanner" ,rust-wayland-scanner-0.30))
|
||||
#:cargo-development-inputs
|
||||
(("rust-futures-channel" ,rust-futures-channel-0.3)
|
||||
("rust-futures-util" ,rust-futures-util-0.3)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis
|
||||
"Rust bindings to the standard C implementation of the wayland protocol")
|
||||
(description
|
||||
"This package provides Rust bindings to the standard C implementation of
|
||||
the wayland protocol, client side.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-wayland-client-0.29
|
||||
(package
|
||||
(inherit rust-wayland-client-0.30)
|
||||
(name "rust-wayland-client")
|
||||
(version "0.29.5")
|
||||
(source
|
||||
|
@ -2639,7 +2725,6 @@ (define-public rust-wayland-client-0.29
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "05b7qikqj22rjy17kqw5ar7j2chpy18dr0gqapvwjfd00n60cfrz"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #false ;circular dependency on wayland-protocols
|
||||
#:cargo-inputs
|
||||
|
@ -2661,14 +2746,7 @@ (define-public rust-wayland-client-0.29
|
|||
rust-scoped-tls-1
|
||||
rust-wayland-commons-0.29
|
||||
rust-wayland-scanner-0.29
|
||||
rust-wayland-sys-0.29))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis
|
||||
"Rust bindings to the standard C implementation of the wayland protocol")
|
||||
(description
|
||||
"This package provides Rust bindings to the standard C implementation of
|
||||
the wayland protocol, client side.")
|
||||
(license license:expat)))
|
||||
rust-wayland-sys-0.29))))
|
||||
|
||||
(define-public rust-wayland-client-0.28
|
||||
(package
|
||||
|
@ -2947,8 +3025,36 @@ (define-public rust-wayland-egl-0.28
|
|||
(native-inputs
|
||||
(list pkg-config))))
|
||||
|
||||
(define-public rust-wayland-protocols-0.30
|
||||
(package
|
||||
(name "rust-wayland-protocols")
|
||||
(version "0.30.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wayland-protocols" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kcvvli38gdjb9c7dpa2s0ix4nnqfq7n2bbc39370kx9bhg10a1v"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-wayland-backend" ,rust-wayland-backend-0.1)
|
||||
("rust-wayland-client" ,rust-wayland-client-0.30)
|
||||
("rust-wayland-scanner" ,rust-wayland-scanner-0.30)
|
||||
("rust-wayland-server" ,rust-wayland-server-0.30))))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis "Generated API for the officials Wayland protocol extensions")
|
||||
(description
|
||||
"This package provides a generated API for the officials Wayland protocol
|
||||
extensions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-wayland-protocols-0.29
|
||||
(package
|
||||
(inherit rust-wayland-protocols-0.30)
|
||||
(name "rust-wayland-protocols")
|
||||
(version "0.29.5")
|
||||
(source
|
||||
|
@ -2958,7 +3064,6 @@ (define-public rust-wayland-protocols-0.29
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ihbjyd0w460gd7w22g9qabbwd4v8x74f8vsh7p25csljcgn4l5r"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
|
@ -2969,13 +3074,7 @@ (define-public rust-wayland-protocols-0.29
|
|||
(inputs
|
||||
(list rust-bitflags-1 rust-wayland-client-0.29
|
||||
rust-wayland-commons-0.29 rust-wayland-scanner-0.29
|
||||
rust-wayland-server-0.29))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis "Generated API for the officials Wayland protocol extensions")
|
||||
(description
|
||||
"This package provides a generated API for the officials Wayland protocol
|
||||
extensions.")
|
||||
(license license:expat)))
|
||||
rust-wayland-server-0.29))))
|
||||
|
||||
(define-public rust-wayland-protocols-0.28
|
||||
(package
|
||||
|
@ -3045,8 +3144,66 @@ (define-public rust-wayland-protocols-0.21
|
|||
("rust-wayland-sys" ,rust-wayland-sys-0.21)
|
||||
("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
|
||||
|
||||
(define-public rust-wayland-protocols-wlr-0.1
|
||||
(package
|
||||
(name "rust-wayland-protocols-wlr")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wayland-protocols-wlr" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12jqi7n77l8a13hc5w5fkdgs4kdjk9i6nvl74njsdr106c4r3sgw"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-wayland-backend" ,rust-wayland-backend-0.1)
|
||||
("rust-wayland-client" ,rust-wayland-client-0.30)
|
||||
("rust-wayland-protocols" ,rust-wayland-protocols-0.30)
|
||||
("rust-wayland-scanner" ,rust-wayland-scanner-0.30)
|
||||
("rust-wayland-server" ,rust-wayland-server-0.30))))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis "Generated API for the WLR wayland protocol extensions")
|
||||
(description "This package provides generated API for the WLR wayland
|
||||
protocol extensions")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-wayland-scanner-0.30
|
||||
(package
|
||||
(name "rust-wayland-scanner")
|
||||
(version "0.30.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wayland-scanner" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03ikmfwacsgbym2y4raf05knl1qjlgg81sy0174jxhzvayr77f5r"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests expect running wayland instance.
|
||||
#:cargo-inputs
|
||||
(("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quick-xml" ,rust-quick-xml-0.28)
|
||||
("rust-quote" ,rust-quote-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-similar" ,rust-similar-2))))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis "Generate Rust APIs from XML Wayland protocol files")
|
||||
(description
|
||||
"Wayland Scanner generates Rust APIs from XML Wayland protocol files.
|
||||
It is intended for use with wayland-sys. You should only need this crate if
|
||||
you are working on custom Wayland protocol extensions. Look at the
|
||||
wayland-client crate for usable bindings.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-wayland-scanner-0.29
|
||||
(package
|
||||
(inherit rust-wayland-scanner-0.30)
|
||||
(name "rust-wayland-scanner")
|
||||
(version "0.29.5")
|
||||
(source
|
||||
|
@ -3056,22 +3213,13 @@ (define-public rust-wayland-scanner-0.29
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lxx3i2kxnmsk421qx87lqqc9kd2y1ksjxcyg0pqbar2zbc06hwg"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-xml-rs" ,rust-xml-rs-0.8))))
|
||||
(inputs
|
||||
(list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis "Generate Rust APIs from XML Wayland protocol files")
|
||||
(description
|
||||
"Wayland Scanner generates Rust APIs from XML Wayland protocol files.
|
||||
It is intended for use with wayland-sys. You should only need this crate if
|
||||
you are working on custom Wayland protocol extensions. Look at the
|
||||
wayland-client crate for usable bindings.")
|
||||
(license license:expat)))
|
||||
(list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8))))
|
||||
|
||||
(define-public rust-wayland-scanner-0.28
|
||||
(package
|
||||
|
@ -3124,8 +3272,39 @@ (define-public rust-wayland-scanner-0.21
|
|||
(base32
|
||||
"17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z"))))))
|
||||
|
||||
(define-public rust-wayland-server-0.30
|
||||
(package
|
||||
(name "rust-wayland-server")
|
||||
(version "0.30.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wayland-server" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fnjhhcbnwgyplawc02v3b6nkxnhzl2981yiyzzlj7gyjs0c4hww"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-downcast-rs" ,rust-downcast-rs-1)
|
||||
("rust-io-lifetimes" ,rust-io-lifetimes-1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-nix" ,rust-nix-0.26)
|
||||
("rust-wayland-backend" ,rust-wayland-backend-0.1)
|
||||
("rust-wayland-scanner" ,rust-wayland-scanner-0.30))))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis
|
||||
"Bindings to the standard C implementation of the wayland protocol")
|
||||
(description
|
||||
"This package provides Rust bindings to the standard C implementation of
|
||||
the wayland protocol, server side.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-wayland-server-0.29
|
||||
(package
|
||||
(inherit rust-wayland-server-0.30)
|
||||
(name "rust-wayland-server")
|
||||
(version "0.29.5")
|
||||
(source
|
||||
|
@ -3135,7 +3314,6 @@ (define-public rust-wayland-server-0.29
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11ickjbqpfs19wakf56l3j9asjcfw00d7wj48s3i99yvv1nq8q2k"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
|
@ -3158,14 +3336,7 @@ (define-public rust-wayland-server-0.29
|
|||
rust-scoped-tls-1
|
||||
rust-wayland-commons-0.29
|
||||
rust-wayland-scanner-0.29
|
||||
rust-wayland-sys-0.29))
|
||||
(home-page "https://github.com/smithay/wayland-rs")
|
||||
(synopsis
|
||||
"Bindings to the standard C implementation of the wayland protocol")
|
||||
(description
|
||||
"This package provides Rust bindings to the standard C implementation of
|
||||
the wayland protocol, server side.")
|
||||
(license license:expat)))
|
||||
rust-wayland-sys-0.29))))
|
||||
|
||||
(define-public rust-wayland-server-0.28
|
||||
(package
|
||||
|
@ -3823,8 +3994,29 @@ (define-public rust-x11-dl-2
|
|||
(description "This package provides X11 library bindings for Rust.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-y4m-0.8
|
||||
(package
|
||||
(name "rust-y4m")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "y4m" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0j24y2zf60lpxwd7kyg737hqfyqx16y32s0fjyi6fax6w4hlnnks"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-development-inputs (("rust-resize" ,rust-resize-0.4))))
|
||||
(home-page "https://github.com/image-rs/y4m")
|
||||
(synopsis "YUV4MPEG2 (@file{.y4m}) encoder and decoder")
|
||||
(description
|
||||
"This package provides a YUV4MPEG2 (@file{.y4m}) encoder and decoder.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-y4m-0.7
|
||||
(package
|
||||
(inherit rust-y4m-0.8)
|
||||
(name "rust-y4m")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
|
@ -3834,13 +4026,7 @@ (define-public rust-y4m-0.7
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1bhdgb7hgx7j92nm6ij5n8wisp50j8ff66ks14jzwdw2mwhrjam7"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments `(#:skip-build? #t))
|
||||
(home-page "https://github.com/image-rs/y4m")
|
||||
(synopsis "YUV4MPEG2 (@file{.y4m}) encoder and decoder")
|
||||
(description
|
||||
"This package provides a YUV4MPEG2 (@file{.y4m}) encoder and decoder.")
|
||||
(license license:expat)))
|
||||
(arguments `(#:skip-build? #t))))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
|
|
|
@ -168,8 +168,42 @@ (define-public rust-atk-0.8
|
|||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-cairo-rs-0.17
|
||||
(package
|
||||
(name "rust-cairo-rs")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cairo-rs" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "02lz7kvml4m6fx02hy1pgk6ysils9di8n75m166kcpla0b206dmb"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.17)
|
||||
("rust-freetype-rs" ,rust-freetype-rs-0.32)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-thiserror" ,rust-thiserror-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-float-eq" ,rust-float-eq-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list cairo))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Cairo library")
|
||||
(description "Rust bindings for the Cairo library")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-cairo-rs-0.15
|
||||
(package
|
||||
(inherit rust-cairo-rs-0.17)
|
||||
(name "rust-cairo-rs")
|
||||
(version "0.15.12")
|
||||
(source
|
||||
|
@ -179,7 +213,6 @@ (define-public rust-cairo-rs-0.15
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1g396fdz8crf74dmmjarcsdbsm8qgxy3a5x9kw6m2d9xn28y6vn7"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
|
@ -189,15 +222,7 @@ (define-public rust-cairo-rs-0.15
|
|||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-thiserror" ,rust-thiserror-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-tempfile" ,rust-tempfile-3))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list cairo))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Cairo library")
|
||||
(description "Rust bindings for the Cairo library")
|
||||
(license license:expat)))
|
||||
(("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-cairo-rs-0.14
|
||||
(package
|
||||
|
@ -277,21 +302,21 @@ (define-public rust-cairo-rs-0.8
|
|||
(("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-cairo-sys-rs-0.15
|
||||
(define-public rust-cairo-sys-rs-0.17
|
||||
(package
|
||||
(name "rust-cairo-sys-rs")
|
||||
(version "0.15.1")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cairo-sys-rs" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1j6k4pps3dv6g0vlpmxc2xyk0s40vj2wpzi55lbwjspmpqlx8m9w"))))
|
||||
(base32 "1ccw4z59dx60khngx79g64c75abfwy7wnq57h2z82j7vn5k0q7b9"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-system-deps" ,rust-system-deps-6)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
|
@ -305,6 +330,26 @@ (define-public rust-cairo-sys-rs-0.15
|
|||
(description "This package provides FFI bindings to libcairo.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-cairo-sys-rs-0.15
|
||||
(package
|
||||
(inherit rust-cairo-sys-rs-0.17)
|
||||
(name "rust-cairo-sys-rs")
|
||||
(version "0.15.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cairo-sys-rs" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1j6k4pps3dv6g0vlpmxc2xyk0s40vj2wpzi55lbwjspmpqlx8m9w"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-system-deps" ,rust-system-deps-6)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-x11" ,rust-x11-2))))))
|
||||
|
||||
(define-public rust-cairo-sys-rs-0.14
|
||||
(package
|
||||
(inherit rust-cairo-sys-rs-0.15)
|
||||
|
@ -463,8 +508,41 @@ (define-public rust-gdk-0.12
|
|||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-gdk-pixbuf-0.17
|
||||
(package
|
||||
(name "rust-gdk-pixbuf")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gdk-pixbuf" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "05q7ajsp2z8xi355h26k7lvq7n3lj9xm61vhn045g3238v46npb9"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; `Errors` doesn't implement `std::fmt::Display`
|
||||
#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.17)
|
||||
("rust-gio" ,rust-gio-0.17)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-once-cell" ,rust-once-cell-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list gdk-pixbuf))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the GdkPixbuf library")
|
||||
(description "Rust bindings for the @code{GdkPixbuf} library")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gdk-pixbuf-0.15
|
||||
(package
|
||||
(inherit rust-gdk-pixbuf-0.17)
|
||||
(name "rust-gdk-pixbuf")
|
||||
(version "0.15.11")
|
||||
(source
|
||||
|
@ -474,7 +552,6 @@ (define-public rust-gdk-pixbuf-0.15
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16k1z21r76m620z61kfmgid1n6s8dnxpa4zlrppcr6dhr2fdsf5d"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display`
|
||||
#:tests? #f
|
||||
|
@ -485,15 +562,7 @@ (define-public rust-gdk-pixbuf-0.15
|
|||
("rust-glib" ,rust-glib-0.15)
|
||||
("rust-libc" ,rust-libc-0.2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list gdk-pixbuf))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the GdkPixbuf library")
|
||||
(description "Rust bindings for the GdkPixbuf library")
|
||||
(license license:expat)))
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-gdk-pixbuf-0.14
|
||||
(package
|
||||
|
@ -570,25 +639,23 @@ (define-public rust-gdk-pixbuf-0.8
|
|||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-gdk-pixbuf-sys-0.15
|
||||
(define-public rust-gdk-pixbuf-sys-0.17
|
||||
(package
|
||||
(name "rust-gdk-pixbuf-sys")
|
||||
(version "0.15.10")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gdk-pixbuf-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "19q2qjrzmmgc7bbs59sk6k0sv3xhpmnk9a2h0cajfr95g19jy2ql"))))
|
||||
(base32 "1jvh91lzanr1a8c5h6ya8i4jzx7ifs8mjxjnmg8dfriw24yfr1cj"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;#:skip-build?
|
||||
;#t
|
||||
#:cargo-inputs
|
||||
(("rust-gio-sys" ,rust-gio-sys-0.15)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.15)
|
||||
`(#:cargo-inputs
|
||||
(("rust-gio-sys" ,rust-gio-sys-0.17)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.17)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-system-deps" ,rust-system-deps-6))
|
||||
#:cargo-development-inputs
|
||||
|
@ -603,6 +670,29 @@ (define-public rust-gdk-pixbuf-sys-0.15
|
|||
(description "This package provides FFI bindings to @code{libgdk_pixbuf-2.0}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gdk-pixbuf-sys-0.15
|
||||
(package
|
||||
(inherit rust-gdk-pixbuf-sys-0.17)
|
||||
(name "rust-gdk-pixbuf-sys")
|
||||
(version "0.15.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gdk-pixbuf-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "19q2qjrzmmgc7bbs59sk6k0sv3xhpmnk9a2h0cajfr95g19jy2ql"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-gio-sys" ,rust-gio-sys-0.15)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.15)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-system-deps" ,rust-system-deps-6))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-gdk-pixbuf-sys-0.14
|
||||
(package
|
||||
(inherit rust-gdk-pixbuf-sys-0.15)
|
||||
|
@ -768,8 +858,50 @@ (define-public rust-gdk-sys-0.9
|
|||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-gio-0.17
|
||||
(package
|
||||
(name "rust-gio")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gio" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "02nkqpq1a6ikzhv5x4nyfvzx8zk5dkjsjm50ns4qdybwjf93x5x6"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; `Errors` doesn't implement `std::fmt::Display`
|
||||
#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-futures-channel" ,rust-futures-channel-0.3)
|
||||
("rust-futures-core" ,rust-futures-core-0.3)
|
||||
("rust-futures-io" ,rust-futures-io-0.3)
|
||||
("rust-futures-util" ,rust-futures-util-0.3)
|
||||
("rust-gio-sys" ,rust-gio-sys-0.17)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
|
||||
("rust-smallvec" ,rust-smallvec-1)
|
||||
("rust-thiserror" ,rust-thiserror-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-futures" ,rust-futures-0.3)
|
||||
("rust-futures-util" ,rust-futures-util-0.3)
|
||||
("rust-gir-format-check" ,rust-gir-format-check-0.1)
|
||||
("rust-serial-test" ,rust-serial-test-1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list glib))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Gio library")
|
||||
(description "Rust bindings for the Gio library")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gio-0.15
|
||||
(package
|
||||
(inherit rust-gio-0.17)
|
||||
(name "rust-gio")
|
||||
(version "0.15.12")
|
||||
(source
|
||||
|
@ -779,7 +911,6 @@ (define-public rust-gio-0.15
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0fr8qiqjf9yzl8867kgqdsxpkcx2jrns3xwmlf0jfiid668brzb8"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display`
|
||||
#:tests? #f
|
||||
|
@ -797,15 +928,7 @@ (define-public rust-gio-0.15
|
|||
#:cargo-development-inputs
|
||||
(("rust-futures-util" ,rust-futures-util-0.3)
|
||||
("rust-gir-format-check" ,rust-gir-format-check-0.1)
|
||||
("rust-serial-test" ,rust-serial-test-0.6))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list glib))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Gio library")
|
||||
(description "Rust bindings for the Gio library")
|
||||
(license license:expat)))
|
||||
("rust-serial-test" ,rust-serial-test-0.6))))))
|
||||
|
||||
(define-public rust-gio-0.14
|
||||
(package
|
||||
|
@ -1272,14 +1395,14 @@ (define-public rust-glib-macros-0.15
|
|||
(package
|
||||
(inherit rust-glib-macros-0.17)
|
||||
(name "rust-glib-macros")
|
||||
(version "0.15.11")
|
||||
(version "0.15.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "glib-macros" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0r3cr0c79rs91z0sps089nsf8ppnm8agp48qwwqlkc32lqqq39i5"))))
|
||||
(base32 "0jiwvywmkqhih6glipj1c7aylwfr738jid8nmjr4yvx2dygsxihh"))))
|
||||
(arguments
|
||||
`(;; XXX: Circular dependency on rust-glib??
|
||||
#:tests? #f
|
||||
|
@ -1813,8 +1936,42 @@ (define-public rust-gtk3-macros-0.14
|
|||
library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pango-0.17
|
||||
(package
|
||||
(name "rust-pango")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pango" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0j0xj9yw81qivqb0y34j9c5azjsdspxp1zzpvxi1zri0qrplbgim"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display`
|
||||
#:tests? #f
|
||||
#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-gio" ,rust-gio-0.17)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.17))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list pango))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Pango library")
|
||||
(description "This package provides Rust bindings for the Pango library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pango-0.15
|
||||
(package
|
||||
(inherit rust-pango-0.17)
|
||||
(name "rust-pango")
|
||||
(version "0.15.10")
|
||||
(source
|
||||
|
@ -1824,7 +1981,6 @@ (define-public rust-pango-0.15
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ksf85fqkw4y5pf21p84g5xn4fnqn21cbrmx2d9yx6k591ah9r12"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display`
|
||||
#:tests? #f
|
||||
|
@ -1835,15 +1991,7 @@ (define-public rust-pango-0.15
|
|||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.15))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list pango))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Pango library")
|
||||
(description "Rust bindings for the Pango library")
|
||||
(license license:expat)))
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-pango-0.14
|
||||
(package
|
||||
|
@ -1923,22 +2071,22 @@ (define-public rust-pango-0.8
|
|||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-pango-sys-0.15
|
||||
(define-public rust-pango-sys-0.17
|
||||
(package
|
||||
(name "rust-pango-sys")
|
||||
(version "0.15.10")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pango-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1an3c931kbkr08n9d9d1dapsq3n26zs0xn4ixn11jrp4rn0h186j"))))
|
||||
(base32 "15aindwdxsydzvqcvhc9ysamx5v1jmq8qbs61ncxic2h72grz9ix"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.15)
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.17)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-system-deps" ,rust-system-deps-6))
|
||||
#:cargo-development-inputs
|
||||
|
@ -1953,6 +2101,28 @@ (define-public rust-pango-sys-0.15
|
|||
(description "This package provides FFI bindings to @code{libpango-1.0}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pango-sys-0.15
|
||||
(package
|
||||
(inherit rust-pango-sys-0.17)
|
||||
(name "rust-pango-sys")
|
||||
(version "0.15.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pango-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1an3c931kbkr08n9d9d1dapsq3n26zs0xn4ixn11jrp4rn0h186j"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.15)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-system-deps" ,rust-system-deps-6))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-pango-sys-0.14
|
||||
(package
|
||||
(inherit rust-pango-sys-0.15)
|
||||
|
@ -2017,8 +2187,43 @@ (define-public rust-pango-sys-0.9
|
|||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-pangocairo-0.17
|
||||
(package
|
||||
(name "rust-pangocairo")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1kr2b31034b8zif4r3lf4rniqphk2bxi2q7n8iwq2wrf3k5jkgw6"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display`
|
||||
#:tests? #f
|
||||
#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.17)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango" ,rust-pango-0.17)
|
||||
("rust-pangocairo-sys" ,rust-pangocairo-sys-0.17))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list pango))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the PangoCairo library")
|
||||
(description
|
||||
"This package provides Rust bindings for the @code{PangoCairo} library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pangocairo-0.15
|
||||
(package
|
||||
(inherit rust-pangocairo-0.17)
|
||||
(name "rust-pangocairo")
|
||||
(version "0.15.1")
|
||||
(source
|
||||
|
@ -2029,7 +2234,6 @@ (define-public rust-pangocairo-0.15
|
|||
(sha256
|
||||
(base32
|
||||
"0rjk0clrjxah4kc0kybn7l7bxa5m5kpxkihxc2i7a6hx3xfa8xkq"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: error[E0277]: `Errors` doesn't implement `std::fmt::Display`
|
||||
#:tests? #f
|
||||
|
@ -2041,37 +2245,26 @@ (define-public rust-pangocairo-0.15
|
|||
("rust-pango" ,rust-pango-0.15)
|
||||
("rust-pangocairo-sys" ,rust-pangocairo-sys-0.15))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list pango))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the PangoCairo library")
|
||||
(description
|
||||
"Rust bindings for the PangoCairo library.")
|
||||
(license license:expat)))
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-pangocairo-sys-0.15
|
||||
(define-public rust-pangocairo-sys-0.17
|
||||
(package
|
||||
(name "rust-pangocairo-sys")
|
||||
(version "0.15.1")
|
||||
(version "0.17.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"154llaawy60zh8fkw2yq0r31ynpmqlsr7brryzaq2v4ijijp9kvq"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ymr4aqrdpysz0rh383s4h6hj8nbkyj7n4723f45zzzqkf6x7pwl"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.15)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
(("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.17)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.15)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.17)
|
||||
("rust-system-deps" ,rust-system-deps-6))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-1)
|
||||
|
@ -2083,9 +2276,34 @@ (define-public rust-pangocairo-sys-0.15
|
|||
(list cairo glib pango))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libgtk-3")
|
||||
(description "This package provides FFI bindings to libgtk-3.")
|
||||
(description "This package provides FFI bindings to @code{PangoCairo}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pangocairo-sys-0.15
|
||||
(package
|
||||
(inherit rust-pangocairo-sys-0.17)
|
||||
(name "rust-pangocairo-sys")
|
||||
(version "0.15.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"154llaawy60zh8fkw2yq0r31ynpmqlsr7brryzaq2v4ijijp9kvq"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.15)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.15)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.15)
|
||||
("rust-system-deps" ,rust-system-deps-6))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-soup-sys-0.10
|
||||
(package
|
||||
(name "rust-soup-sys")
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018, 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
|
@ -26,6 +26,7 @@
|
|||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -257,22 +258,20 @@ (define-public signify
|
|||
(define-public rust-minisign
|
||||
(package
|
||||
(name "rust-minisign")
|
||||
(version "0.5.20")
|
||||
(version "0.7.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "minisign" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmcvh2snravghaar8igc6b9r3s1snnmf9qam9l3zyhm4987767y"))))
|
||||
(base32 "1lmp83bxdg53c4n35fbwr3rkh6178y75fwsn25hf1kn62f2gbdnj"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-getrandom" ,rust-getrandom-0.1)
|
||||
("rust-rpassword" ,rust-rpassword-4)
|
||||
("rust-scrypt" ,rust-scrypt-0.3))))
|
||||
(("rust-getrandom" ,rust-getrandom-0.2)
|
||||
("rust-rpassword" ,rust-rpassword-7)
|
||||
("rust-scrypt" ,rust-scrypt-0.11))))
|
||||
(home-page "https://github.com/jedisct1/rust-minisign")
|
||||
(synopsis "Crate to sign files and verify signatures")
|
||||
(description
|
||||
|
@ -742,7 +741,7 @@ (define-public perl-math-random-secure
|
|||
(define-public crypto++
|
||||
(package
|
||||
(name "crypto++")
|
||||
(version "8.6.0")
|
||||
(version "8.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
|
@ -754,62 +753,35 @@ (define-public crypto++
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vm821wpx59ccz6gr4xplqpxj3f1qq3jijyybj2g4npqmmldhx3b"))))
|
||||
"11gfnsqbb531zwgzpm0x9hsgshzcj1j049vg0zqsaqf8lvky03l6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
;; Override "/sbin/ldconfig" with simply "echo" since
|
||||
;; we don't need ldconfig(8).
|
||||
"LDCONF=echo")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-native-optimisation
|
||||
;; This package installs more than just headers. Ensure that the
|
||||
;; cryptest.exe binary & static library aren't CPU model specific.
|
||||
(lambda _
|
||||
(substitute* "GNUmakefile"
|
||||
((" -march=native") ""))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
;; By default, only the static library is built.
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" "shared"
|
||||
"-j" (number->string (parallel-job-count))
|
||||
make-flags)))
|
||||
(add-after 'install 'install-shared-library-links
|
||||
;; By default, only .so and .so.x.y.z are installed.
|
||||
;; Create all the ‘intermediates’ expected by dependent packages.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(prefix "libcryptopp.so.")
|
||||
(target (string-append prefix ,version)))
|
||||
(with-directory-excursion lib
|
||||
(symlink target
|
||||
(string-append prefix ,(version-major+minor version)))
|
||||
(symlink target
|
||||
(string-append prefix ,(version-major version)))
|
||||
#t))))
|
||||
(add-after 'install 'install-pkg-config
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(pkg-dir (string-append out "/lib/pkgconfig")))
|
||||
(mkdir-p pkg-dir)
|
||||
(with-output-to-file (string-append pkg-dir "/libcrypto++.pc")
|
||||
(lambda _
|
||||
(display
|
||||
(string-append
|
||||
"prefix=" out "\n"
|
||||
"libdir=" out "/lib\n"
|
||||
"includedir=" out "/include\n\n"
|
||||
"Name: libcrypto++-" ,version "\n"
|
||||
"Description: Class library of cryptographic schemes\n"
|
||||
"Version: " ,version "\n"
|
||||
"Libs: -L${libdir} -lcryptopp\n"
|
||||
"Cflags: -I${includedir}\n"))
|
||||
#t))))))))
|
||||
(list #:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "CXX=" #$(cxx-for-target))
|
||||
(string-append "AR=" #$(ar-for-target))
|
||||
;; Override "/sbin/ldconfig" with simply "echo" since
|
||||
;; we don't need ldconfig(8).
|
||||
"LDCONF=echo")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
;; By default, only the static library is built.
|
||||
(lambda* (#:key make-flags parallel-build?
|
||||
#:allow-other-keys)
|
||||
(let* ((job-count (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
1))
|
||||
(jobs (string-append "-j" job-count))
|
||||
(target #$(if (target-mingw?)
|
||||
"static"
|
||||
"shared")))
|
||||
(apply invoke "make" target jobs make-flags)
|
||||
(apply invoke "make" "libcryptopp.pc" jobs
|
||||
make-flags)))))))
|
||||
(properties '((tunable? . #t)))
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
(home-page "https://cryptopp.com/")
|
||||
|
@ -1580,36 +1552,37 @@ (define-public rust-blake3-0.3
|
|||
(define-public rust-blake3-1
|
||||
(package
|
||||
(name "rust-blake3")
|
||||
(version "1.0.0")
|
||||
;; The crate does not include the reference_impl directory.
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BLAKE3-team/BLAKE3")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "blake3" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09xi7rjyi5hgxyfpias485x5argwqygvfl9sggiw221qjdfxpbdn"))))
|
||||
(base32 "11ysh12zcqq6xkjxh5cbrmnwzalprm3z552i5ff7wm5za9hz0c82"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; use of undeclared crate or module `reference_impl`
|
||||
#:cargo-inputs
|
||||
`(("rust-arrayref" ,rust-arrayref-0.3)
|
||||
("rust-arrayvec" ,rust-arrayvec-0.7)
|
||||
("rust-cc" ,rust-cc-1)
|
||||
("rust-cfg-if" ,rust-cfg-if-1)
|
||||
("rust-constant-time-eq" ,rust-constant-time-eq-0.1)
|
||||
("rust-crypto-mac" ,rust-crypto-mac-0.11)
|
||||
("rust-digest" ,rust-digest-0.9)
|
||||
("rust-rayon" ,rust-rayon-1))
|
||||
("rust-constant-time-eq" ,rust-constant-time-eq-0.3)
|
||||
("rust-digest" ,rust-digest-0.10)
|
||||
("rust-memmap2" ,rust-memmap2-0.7)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-zeroize" ,rust-zeroize-1))
|
||||
#:cargo-development-inputs
|
||||
`(("rust-cc" ,rust-cc-1)
|
||||
("rust-hex" ,rust-hex-0.4)
|
||||
("rust-page-size" ,rust-page-size-0.4)
|
||||
`(("rust-hex" ,rust-hex-0.4)
|
||||
("rust-hmac" ,rust-hmac-0.12)
|
||||
("rust-page-size" ,rust-page-size-0.6)
|
||||
("rust-rand" ,rust-rand-0.8)
|
||||
("rust-rand-chacha" ,rust-rand-chacha-0.3))))
|
||||
("rust-rand-chacha" ,rust-rand-chacha-0.3)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(home-page "https://github.com/BLAKE3-team/BLAKE3")
|
||||
(synopsis "BLAKE3 hash function Rust implementation")
|
||||
(description "This crate provides the official Rust implementation of the
|
||||
|
@ -1622,16 +1595,14 @@ (define-public rust-blake3-1
|
|||
(define-public b3sum
|
||||
(package
|
||||
(name "b3sum")
|
||||
;; Version 1 requires Rust >= 1.51.
|
||||
;; <https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.0.0>
|
||||
(version "0.3.8")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "b3sum" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0h3fz16q5lk6mg7r8kjkjrq5hd4injngn5m7pswjbf2pyzjmg4b4"))))
|
||||
(base32 "05k0vn7gpbvjr925vjc5yzvhiyrmkw9pqmch5fr4ir7s8wiaq2fm"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(;; Install the source so that Cargo.toml is installed, because that is
|
||||
|
@ -1651,10 +1622,10 @@ (define-public b3sum
|
|||
(install-file "README.md" doc)))))
|
||||
#:cargo-inputs
|
||||
(("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-blake3" ,rust-blake3-0.3)
|
||||
("rust-clap" ,rust-clap-2)
|
||||
("rust-blake3" ,rust-blake3-1)
|
||||
("rust-clap" ,rust-clap-4)
|
||||
("rust-hex" ,rust-hex-0.4)
|
||||
("rust-memmap" ,rust-memmap-0.7)
|
||||
("rust-memmap2" ,rust-memmap2-0.7)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-wild" ,rust-wild-2))
|
||||
#:cargo-development-inputs
|
||||
|
|
|
@ -156,18 +156,37 @@ (define-public curl
|
|||
(home-page "https://curl.haxx.se/")))
|
||||
|
||||
(define curl/fixed
|
||||
(let ((%version "8.3.0"))
|
||||
(let ((%version "8.4.0"))
|
||||
(package
|
||||
(inherit curl)
|
||||
(version "8.3.0a") ; add lowercase 'a' for grafting
|
||||
(version "8.4.0a") ; add lowercase 'a' for grafting
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://curl.se/download/curl-"
|
||||
%version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qza6yf20y2l4aaxkn8dfw8p3fls1mxljvdb0m8z1i6ncxvn4v9p"))
|
||||
(patches (search-patches "curl-use-ssl-cert-env.patch")))))))
|
||||
"0bd8y8v66biyqvg70ka1sdd0aixs6yzpnvfsig907xzh9af2mihn"))
|
||||
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
|
||||
(arguments
|
||||
(if (system-hurd?)
|
||||
(substitute-keyword-arguments (package-arguments curl)
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
;; We cannot simply set #:make-flags because they are
|
||||
;; ignored by curl's custom check phase.
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? make-flags #:allow-other-keys)
|
||||
(substitute* "tests/runtests.pl"
|
||||
(("/bin/sh") (which "sh")))
|
||||
;; See comment in curl about check/test.
|
||||
(let ((arguments `("-C" "tests" "test"
|
||||
,@make-flags
|
||||
;; protocol FAIL
|
||||
"TFLAGS=~1474")))
|
||||
(when tests?
|
||||
(apply invoke "make" arguments))))))))
|
||||
(package-arguments curl))))))
|
||||
|
||||
(define-public curl-ssh
|
||||
(package/inherit curl
|
||||
|
|
|
@ -106,6 +106,7 @@ (define-module (gnu packages databases)
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
|
|
|
@ -35,6 +35,7 @@ (define-module (gnu packages display-managers)
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
|
@ -142,6 +143,57 @@ (define-public sddm
|
|||
;; QML files are MIT licensed and images are CC BY 3.0.
|
||||
(license (list license:gpl2+ license:expat license:cc-by3.0))))
|
||||
|
||||
(define-public abstractdark-sddm-theme
|
||||
(let ((commit "e817d4b27981080cd3b398fe928619ffa16c52e7")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "abstractdark-sddm-theme")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/3ximus/abstractdark-sddm-theme")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1si141hnp4lr43q36mbl3anlx0a81r8nqlahz3n3l7zmrxb56s2y"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:install-plan '(("." "/share/sddm/themes/abstractdark"))))
|
||||
(home-page "https://github.com/3ximus/abstractdark-sddm-theme")
|
||||
(synopsis "Abstract Dark theme for SDDM")
|
||||
(description
|
||||
"This package provides a minimalistic dark theme for SDDM, black
|
||||
background with abstract shapes. Inspired by solarized-sddm-theme.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public dexy-color-sddm-theme
|
||||
(let ((commit "7929384dbb9305e6da53a8942bca3d75593fd99f")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "dexy-color-sddm-theme")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/L4ki/Dexy-Plasma-Themes")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dcp3pvs6x63740sz852yr19fjrdnh81dbrq7rssgm6ssi1rqjig"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:install-plan '(("Dexy-Color-SDDM"
|
||||
"/share/sddm/themes/dexy-color-sddm"))))
|
||||
(home-page "https://github.com/L4ki/Dexy-Plasma-Themes")
|
||||
(synopsis "Dexy Color theme for SDDM")
|
||||
(description
|
||||
"This package provides a minimalistic and modern SDDM theme with blured
|
||||
background.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public guix-simplyblack-sddm-theme
|
||||
(package
|
||||
(name "guix-simplyblack-sddm-theme")
|
||||
|
|
|
@ -47,6 +47,7 @@ (define-module (gnu packages education)
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages image)
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
|
||||
;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020, 2022 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2020, 2022, 2023 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
|
@ -212,6 +212,7 @@ (define-module (gnu packages emacs-xyz)
|
|||
#:use-module (gnu packages lesstif)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-viewers)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages lisp)
|
||||
|
@ -504,6 +505,7 @@ (define-public emacs-chatgpt-shell
|
|||
(uri (git-reference
|
||||
(url "https://github.com/xenodium/chatgpt-shell")
|
||||
(commit "1de7bfa6a34f20cca813006282d9a8f2ef291f95")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rabpp70qlmc47lmp2v7ckvfjhy6wkk881fxpbv2dchzhn77qk5r"))))
|
||||
|
@ -4945,6 +4947,54 @@ (define-public emacs-google-maps
|
|||
directly inside Emacs. It requires a Google Map Static API key to function.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-nominatim
|
||||
(let ((revision "0")
|
||||
(commit "f814e16f8f4e2cfd633f52b29699a009ab704fbf"))
|
||||
(package
|
||||
(name "emacs-nominatim")
|
||||
(version (git-version "0.9.3" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/emacs-weirdware/nominatim")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19nw2iy8fxy6mfd4nwrdfa23a74a1b644400xx0900fwn6ihjhpl"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://codeberg.org/emacs-weirdware/nominatim")
|
||||
(synopsis "Forward and reverse geocode using Nominatim inside Emacs")
|
||||
(description "This is an Emacs library which lets you forward and
|
||||
reverse geocode using Nominatim, a component of OpenStreetMap.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-street
|
||||
(let ((revision "0")
|
||||
(commit "17913afe01504ee0cbcf83abaca18c5c618f9b33"))
|
||||
(package
|
||||
(name "emacs-org-street")
|
||||
(version (git-version "0.7.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/emacs-weirdware/org-street")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a5mnnvs4yxrw4s71z9ap65xi0fc1ki1qprif5jxn8apswjlmiw1"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-nominatim))
|
||||
(home-page "https://codeberg.org/emacs-weirdware/org-street")
|
||||
(synopsis "(Reverse) Geocoding for Emacs Org files")
|
||||
(description "Org Street is an extension for Org Mode for turning the
|
||||
names of places into a LOCATION property containing their address. Given some
|
||||
freeform text approximately describing a location, it geocodes it with
|
||||
OpenStreetMap’s Nominatim API to determine a canonical location. If Nominatim
|
||||
returns multiple locations, a list is displayed to choose from.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-graphviz-dot-mode
|
||||
(package
|
||||
(name "emacs-graphviz-dot-mode")
|
||||
|
@ -26781,6 +26831,39 @@ (define-public emacs-picpocket
|
|||
@end itemize")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-sxiv
|
||||
(package
|
||||
(name "emacs-sxiv")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://tildegit.org/contrapunctus/sxiv")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gimq172pp143jckfhhyw319n3vpjvlkadm0vhypycas9i89mcg0"))))
|
||||
(inputs (list sxiv))
|
||||
(propagated-inputs (list emacs-dash))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-sxiv-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-sexps "sxiv.el"
|
||||
(":command
|
||||
(append"
|
||||
`(list ,(string-append (assoc-ref inputs "sxiv")
|
||||
"/bin/sxiv")))))))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://tildegit.org/contrapunctus/sxiv")
|
||||
(synopsis "Launch sxiv from Emacs with Dired integration")
|
||||
(description "This package integrates sxiv into Dired. It adds a command
|
||||
to start sxiv from a Dired buffer, allowing you to mark or unmark image files
|
||||
in said buffer using sxiv.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public emacs-mu4e-conversation
|
||||
(let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
|
||||
(revision "5"))
|
||||
|
@ -29192,7 +29275,7 @@ (define-public emacs-navigel
|
|||
(define-public emacs-eat
|
||||
(package
|
||||
(name "emacs-eat")
|
||||
(version "0.8")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -29202,7 +29285,7 @@ (define-public emacs-eat
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fb66g7jjc7dhw61323d94mx7gqfp6ylf9a7v5qym1n92mv48bdr"))
|
||||
"1mw3iwid2iky0kwpn90bbswx8m4kkni5zdjc75clzhzzygh340sd"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -29235,12 +29318,14 @@ (define-public emacs-eat
|
|||
(list texinfo))
|
||||
(inputs
|
||||
(list ncurses))
|
||||
(propagated-inputs
|
||||
(list emacs-compat))
|
||||
(home-page "https://codeberg.org/akib/emacs-eat")
|
||||
(synopsis "Terminal emulator in Emacs")
|
||||
(description
|
||||
"Eat (Emulate A Terminal) is a terminal emulator in Emacs, written in
|
||||
pure Elisp. It has features like complete mouse support and shell
|
||||
integration.")
|
||||
pure Elisp. It has features like Sixel support, complete mouse support and
|
||||
shell integration.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-vterm
|
||||
|
@ -29604,26 +29689,30 @@ (define-public emacs-redshank
|
|||
(license license:gpl1+))))
|
||||
|
||||
(define-public emacs-disk-usage
|
||||
(package
|
||||
(name "emacs-disk-usage")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/Ambrevar/emacs-disk-usage")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hv2gsd8k5fbjgckgiyisq4rn1i7y4rchbjy8kmixjv6mx563bll"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
|
||||
(synopsis "Sort and browse disk usage listings with Emacs")
|
||||
(description "Disk Usage is a file system analyzer: it offers a tabulated
|
||||
;; Use a recent commit as the last release is missing changes from 2020
|
||||
;; onwards
|
||||
(let ((commit "b0d803f2cec3afc2937840f9ba66e3f903d6c415")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-disk-usage")
|
||||
(version (git-version "1.3.3" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/Ambrevar/emacs-disk-usage")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vl79knb2snp2gzmcdasncgcc44rq99kmfnvwhfpm0wk21nxhc1m"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/Ambrevar/emacs-disk-usage")
|
||||
(synopsis "Sort and browse disk usage listings with Emacs")
|
||||
(description "Disk Usage is a file system analyzer: it offers a tabulated
|
||||
view of file listings sorted by size. Directory sizes are computed
|
||||
recursively. The results are cached for speed.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-orgit
|
||||
(package
|
||||
|
@ -32827,40 +32916,37 @@ (define-public emacs-wc-mode
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-mastodon
|
||||
;; No release in ~1 year, hence this snapshot.
|
||||
(let ((commit "20dec8871c9bb5f5e418bfc197e7533b5e3065e3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-mastodon")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/martianh/mastodon.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15cfjny99yw5frdp8nlyazlwgscvfvbinsj0fbdfprxf50k2zjs6"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Move the source files to the top level, which is included in
|
||||
;; the EMACSLOADPATH.
|
||||
(add-after 'unpack 'move-source-files
|
||||
(lambda _
|
||||
(let ((el-files (find-files "./lisp" ".*\\.el$")))
|
||||
(for-each (lambda (f)
|
||||
(rename-file f (basename f)))
|
||||
el-files)))))))
|
||||
(propagated-inputs
|
||||
(list emacs-request emacs-ts emacs-persist))
|
||||
(home-page "https://codeberg.org/martianh/mastodon.el")
|
||||
(synopsis "Emacs client for Mastodon")
|
||||
(description "@code{mastodon.el} is an Emacs client for Mastodon, the
|
||||
(package
|
||||
(name "emacs-mastodon")
|
||||
(version "1.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/martianh/mastodon.el")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z5lmzxhindxa0f6qi6z361k9smqcz68alr6w6jbmwg279qmk8jj"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
;; Move the source files to the top level, which is
|
||||
;; included in the EMACSLOADPATH.
|
||||
(add-after 'unpack 'move-source-files
|
||||
(lambda _
|
||||
(let ((el-files (find-files "./lisp" ".*\\.el$")))
|
||||
(for-each (lambda (f)
|
||||
(rename-file f
|
||||
(basename f)))
|
||||
el-files)))))))
|
||||
(propagated-inputs (list emacs-request emacs-ts emacs-persist))
|
||||
(home-page "https://codeberg.org/martianh/mastodon.el")
|
||||
(synopsis "Emacs client for Mastodon")
|
||||
(description "@code{mastodon.el} is an Emacs client for Mastodon, the
|
||||
federated microblogging social network.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ebdb
|
||||
(package
|
||||
|
@ -35546,10 +35632,11 @@ (define-public emacs-haskell-snippets
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-snippets
|
||||
(lambda _
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((snippets
|
||||
(string-append
|
||||
#$output "/share/emacs/site-lisp/snippets/haskell-mode")))
|
||||
(elpa-directory (assoc-ref outputs "out"))
|
||||
"/snippets/haskell-mode")))
|
||||
(mkdir-p snippets)
|
||||
(copy-recursively "snippets/haskell-mode" snippets)))))))
|
||||
(propagated-inputs
|
||||
|
@ -37000,6 +37087,40 @@ (define-public emacs-multitran
|
|||
to the @url{https://multitran.com} online dictionary.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-lexic
|
||||
(let ((commit "f9b3de4d9c2dd1ce5022383e1a504b87bf7d1b09")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-lexic")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.tecosaur.net/tec/lexic")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02iz8dh18gb1q97v8ghcd3lavkf28sqbrk0bx6jzzryp69ickk4h"))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs (list sdcv))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-sdcv-path
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "lexic.el"
|
||||
("lexic-program-path"
|
||||
(string-append (assoc-ref inputs "sdcv")
|
||||
"/bin/sdcv"))))))))
|
||||
(home-page "https://git.tecosaur.net/tec/lexic")
|
||||
(synopsis "Find out more about words using Stardict dictionaries")
|
||||
(description "This provides a major mode to view the output of
|
||||
dictionary tools, and utilities that perform searches and nicely format the
|
||||
results. Currently tied to sdcv, but this is intended to be changed in the
|
||||
future.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-blacken
|
||||
(package
|
||||
(name "emacs-blacken")
|
||||
|
@ -38262,6 +38383,24 @@ (define-public emacs-project-x
|
|||
across sessions.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-poke-mode
|
||||
(package
|
||||
(name "emacs-poke-mode")
|
||||
(version "3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/poke-mode-" version
|
||||
".tar"))
|
||||
(sha256
|
||||
(base32 "1lirhws5d8l16qs5ddrvvz0f9xfl004q9yp333pdgsmcpk3ww7sr"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://elpa.gnu.org/packages/poke-mode.html")
|
||||
(synopsis "Major mode for editing GNU poke programs")
|
||||
(description
|
||||
"This package provides a major mode for editing GNU poke programs.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-vcard-mode
|
||||
;; Use the latest commit, as there are no tagged releases.
|
||||
(let ((commit "ab1a2885a5720d7fb02d9b6583ee908ba2260b78")
|
||||
|
|
|
@ -46,7 +46,7 @@ (define-module (gnu packages embedded)
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module ((gnu packages base) #:prefix base:)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
|
@ -672,7 +672,7 @@ (define-public openocd
|
|||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
base:which
|
||||
which
|
||||
pkg-config
|
||||
texinfo))
|
||||
(inputs
|
||||
|
@ -1152,7 +1152,7 @@ (define-public binutils-vc4
|
|||
("flex" ,flex)
|
||||
("bison" ,bison)
|
||||
("guile-1.8" ,guile-1.8)
|
||||
("which" ,base:which)))
|
||||
("which" ,which)))
|
||||
(synopsis "Binutils for VC4")
|
||||
(description "This package provides @code{binutils} for VideoCore IV,
|
||||
the Raspberry Pi chip.")
|
||||
|
@ -1241,7 +1241,7 @@ (define-public python-libmpsse
|
|||
(inputs
|
||||
(list libftdi python))
|
||||
(native-inputs
|
||||
(list pkg-config swig base:which))
|
||||
(list pkg-config swig which))
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests exist.
|
||||
#:parallel-build? #f ; Would be buggy.
|
||||
|
|
|
@ -1357,42 +1357,47 @@ (define-public linsmith
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public valeronoi
|
||||
(package
|
||||
(name "valeronoi")
|
||||
(version "0.1.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/ccoors/Valeronoi")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hpyh4mmjnxgkij7a6rynk2ril5413nkdvf8syn0lqvrmibdg7wv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./valeronoi-tests")))))))
|
||||
(inputs
|
||||
(list boost
|
||||
cgal
|
||||
gmp
|
||||
libxkbcommon
|
||||
mpfr
|
||||
openssl
|
||||
qtbase-5
|
||||
qtsvg-5))
|
||||
(home-page "https://github.com/ccoors/Valeronoi")
|
||||
(synopsis "WiFi mapping companion application for Valetudo")
|
||||
(description
|
||||
"Valeronoi (Valetudo + Voronoi) is a companion for Valetudo for generating
|
||||
(package
|
||||
(name "valeronoi")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ccoors/Valeronoi")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qkhrqkjsmm0h1bxf2ihkqfhdr18xx5x1i2ds1mla13zm0bw2570"))
|
||||
(snippet #~(begin
|
||||
(use-modules (guix build utils))
|
||||
(delete-file-recursively "3rdparty")
|
||||
(substitute* '("tests/test_colormap.cpp"
|
||||
"tests/test_main.cpp")
|
||||
(("catch\\.hpp")
|
||||
"catch2/catch.hpp"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./valeronoi-tests")))))))
|
||||
(inputs (list boost
|
||||
cgal
|
||||
gmp
|
||||
libxkbcommon
|
||||
mpfr
|
||||
openssl
|
||||
qtbase
|
||||
qtsvg))
|
||||
(native-inputs (list catch2))
|
||||
(home-page "https://github.com/ccoors/Valeronoi")
|
||||
(synopsis "WiFi mapping companion application for Valetudo")
|
||||
(description
|
||||
"Valeronoi (Valetudo + Voronoi) is a companion for Valetudo for generating
|
||||
WiFi signal strength maps. It visualizes them using a Voronoi diagram.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public volk
|
||||
(package
|
||||
|
@ -3248,18 +3253,21 @@ (define-public poke
|
|||
(delete-file "libpoke/pvm-vm1.c")
|
||||
(delete-file "libpoke/pvm-vm2.c")))))
|
||||
(build-system gnu-build-system)
|
||||
;; The GUI, which we elide, requires tcl and tk.
|
||||
(native-inputs (list bison dejagnu flex libtool pkg-config))
|
||||
;; FIXME: Enable NBD support by adding `libnbd' (currently unpackaged).
|
||||
(inputs (list json-c libgc readline libtextstyle))
|
||||
(inputs (list libgc readline libtextstyle))
|
||||
(arguments
|
||||
;; To build the GUI, add the `--enable-gui' configure flag.
|
||||
;; To enable the "hyperlink server", add the `--enable-hserver' flag.
|
||||
`(#:configure-flags
|
||||
'("--enable-mi"
|
||||
"--disable-static"
|
||||
;; The emacs files are provided in emacs-poke.
|
||||
"--with-lispdir=/tmp/share/emacs")))
|
||||
(list
|
||||
#:imported-modules `((guix build emacs-build-system)
|
||||
(guix build emacs-utils)
|
||||
,@%gnu-build-system-modules)
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build emacs-build-system) #:prefix emacs:)
|
||||
(guix build utils))
|
||||
#:configure-flags
|
||||
#~(list "--disable-static"
|
||||
(string-append "--with-lispdir="
|
||||
(emacs:elpa-directory #$output)))))
|
||||
(home-page "https://www.gnu.org/software/poke/#documentation")
|
||||
(synopsis "Editing of arbitrary binary data")
|
||||
(description "GNU poke is an interactive, extensible editor for binary data.
|
||||
|
@ -3269,22 +3277,9 @@ (define-public poke
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-poke
|
||||
(package
|
||||
(inherit poke)
|
||||
(name "emacs-poke")
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'expand-load-path 'change-working-directory
|
||||
(lambda _ (chdir "etc"))))))
|
||||
(inputs '())
|
||||
(native-inputs '())
|
||||
(synopsis "GNU Poke major modes for Emacs")
|
||||
(description
|
||||
"This package provides two Emacs major modes for working with GNU Poke:
|
||||
@code{Poke Ras mode} and @code{Poke Map mode}.")))
|
||||
;; The 'emacs-poke' name may eventually refer to 'poke' from ELPA, which is
|
||||
;; a different beast.
|
||||
(deprecated-package "emacs-poke" poke))
|
||||
|
||||
(define-public pcb2gcode
|
||||
(package
|
||||
|
|
|
@ -68,6 +68,7 @@ (define-module (gnu packages file-systems)
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kerberos)
|
||||
|
|
|
@ -142,7 +142,7 @@ (define-public bitcoin-core
|
|||
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
|
||||
(package
|
||||
(name "bitcoin-core")
|
||||
(version "25.0")
|
||||
(version "25.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -150,7 +150,7 @@ (define-public bitcoin-core
|
|||
version "/bitcoin-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hpbw6diyla75a6jrwsis9c5pnhpnnxwbznsik1s1fd35ks7rxjx"))))
|
||||
"1jcq2686x6f1g8xk91h3qfw89v1klw931wbpbcvc5a6zv2cabhmy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
|
@ -682,7 +682,7 @@ (define-public monero
|
|||
;; the system's dynamically linked library.
|
||||
(package
|
||||
(name "monero")
|
||||
(version "0.18.2.2")
|
||||
(version "0.18.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -700,7 +700,7 @@ (define-public monero
|
|||
delete-file-recursively
|
||||
'("external/miniupnp" "external/rapidjson"))))
|
||||
(sha256
|
||||
(base32 "0hi6grf2xnnra60g3dzspahi0rwyiad6hc07n3pq3aknmz5xx8d4"))))
|
||||
(base32 "1k6mrgsvmqsfk95w8kjmp9v2fghjmmpj40667zndrw9jx1h85mwx"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
|
@ -787,7 +787,7 @@ (define-public monero
|
|||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.18.2.2")
|
||||
(version "0.18.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -803,7 +803,7 @@ (define-public monero-gui
|
|||
;; See the 'extract-monero-sources' phase.
|
||||
(delete-file-recursively "monero")))
|
||||
(sha256
|
||||
(base32 "07gfvrxm3n0844ximm4rd3f3n0m125shpawdzg8blfjjbfr1k1ij"))))
|
||||
(base32 "1fjx8gdzc1pmfsi14r09gfmkglvh560pnxk70p0k82a4gbs1vyz2"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
|
@ -2299,7 +2299,7 @@ (define-public xmrig
|
|||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "3.6.2")
|
||||
(version "3.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2308,7 +2308,7 @@ (define-public p2pool
|
|||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "0lki6yrzmmpd5hj55m6s71y1cr81lbk1f3h9h70gmm4p4qjrv5f2"))
|
||||
(sha256 (base32 "1sghdk8yq8si0bq0z83fji48q8yrq0ymvsxbbh5mscw6223syrjq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
|
|
|
@ -28,11 +28,13 @@
|
|||
|
||||
(define-module (gnu packages firmware)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
|
@ -40,6 +42,9 @@ (define-module (gnu packages firmware)
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avr)
|
||||
#:use-module (gnu packages avr-xyz)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
|
@ -52,7 +57,9 @@ (define-module (gnu packages firmware)
|
|||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages efi)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages flashing-tools)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -75,7 +82,11 @@ (define-module (gnu packages firmware)
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (ice-9 match))
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
|
||||
#:export (make-ergodox-firmware
|
||||
make-qmk-firmware))
|
||||
|
||||
(define-public ath9k-htc-firmware
|
||||
(package
|
||||
|
@ -94,7 +105,8 @@ (define-public ath9k-htc-firmware
|
|||
"ath9k-htc-firmware-gcc-compat.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
'(#:target #f ; Package produces firmware.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'pre-configure
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
|
@ -322,6 +334,7 @@ (define-public openfwwf-firmware
|
|||
`(#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/firmware/b43-open"))
|
||||
#:target #f ; Package produces firmware.
|
||||
#:tests? #f ;no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
|
@ -510,6 +523,7 @@ (define* (make-opensbi-package platform name #:optional (arch "riscv64"))
|
|||
(list python)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:target #f ; Package produces firmware.
|
||||
#:make-flags (list (string-append "PLATFORM=" ,platform)
|
||||
,@(if (and (not (string-prefix? "riscv64"
|
||||
(%current-system)))
|
||||
|
@ -1212,6 +1226,97 @@ (define-public crust-pinebook
|
|||
(define-public crust-pine64-plus
|
||||
(make-crust-package "pine64_plus"))
|
||||
|
||||
|
||||
;;;
|
||||
;;; ErgoDox firmware.
|
||||
;;;
|
||||
|
||||
(define* (make-ergodox-firmware/implementation layout #:key override.c
|
||||
override.h)
|
||||
"Return an ergodox-firmware package for LAYOUT, optionally using OVERRIDE.C,
|
||||
a C source file-like object to override LAYOUT which may be accompanied by
|
||||
OVERRIDE.H, to also override the corresponding layout include file."
|
||||
(let ((revision "0")
|
||||
(commit "89b7e2bfdafb2a87e0248846d5c95cc5e9a27858"))
|
||||
(package
|
||||
(name (string-append "ergodox-firmware-" layout))
|
||||
(version (git-version "1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/benblazak/ergodox-firmware")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z28frxyb21nz90frycrpsbxjp09374wawayvjphnwc8njlvkkpy"))
|
||||
(patches
|
||||
(search-patches "ergodox-firmware-fix-json-target.patch"
|
||||
"ergodox-firmware-fix-numpad.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:make-flags
|
||||
#~(list (string-append "LAYOUT=" #$layout)
|
||||
;; Simplify the output directory name.
|
||||
"ROOT=output")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-override-files
|
||||
(lambda _
|
||||
(when #$override.c
|
||||
(copy-file #$override.c
|
||||
(format #f "src/keyboard/ergodox/layout/~a.c"
|
||||
#$layout)))
|
||||
(when #$override.h
|
||||
(copy-file #$override.h
|
||||
(format #f "src/keyboard/ergodox/layout/~a.h"
|
||||
#$layout)))))
|
||||
;; The Makefile-based build system lacks configure
|
||||
;; and install targets.
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(with-directory-excursion "output"
|
||||
(install-file "firmware.hex" #$output)
|
||||
(install-file "firmware.eep" #$output)
|
||||
(install-file "firmware--layout.html" #$output)))))))
|
||||
(native-inputs (list (make-avr-toolchain) python))
|
||||
(home-page "https://www.ergodox.io")
|
||||
(synopsis "Firmware for the ErgoDox keyboard")
|
||||
(description (format #f "This package contains the original firmware for
|
||||
the ErgoDox keyboard, built using the ~a layout (as defined in the
|
||||
@file{src/keyboard/ergodox/layout/~@*~a.c} source file). It contains the
|
||||
@file{firmware.hex} and the @file{firmware.eep} files, which can be loaded to
|
||||
a target using the @code{teensy-loader-cli} package as well as a
|
||||
@file{firmware--layout.html} file, useful to easily visualize the
|
||||
corresponding layout." layout))
|
||||
(license license:expat))))
|
||||
|
||||
(define make-ergodox-firmware
|
||||
(memoize make-ergodox-firmware/implementation))
|
||||
|
||||
(define-public ergodox-firmware-colemak-jc-mod
|
||||
(make-ergodox-firmware "colemak-jc-mod"))
|
||||
|
||||
(define-public ergodox-firmware-colemak-symbol-mod
|
||||
(make-ergodox-firmware "colemak-symbol-mod"))
|
||||
|
||||
(define-public ergodox-firmware-dvorak-kinesis-mod
|
||||
(make-ergodox-firmware "dvorak-kinesis-mod"))
|
||||
|
||||
(define-public ergodox-firmware-qwerty-kinesis-mod
|
||||
(make-ergodox-firmware "qwerty-kinesis-mod"))
|
||||
|
||||
(define-public ergodox-firmware-workman-p-kinesis-mod
|
||||
(make-ergodox-firmware "workman-p-kinesis-mod"))
|
||||
|
||||
|
||||
;;;
|
||||
;;; QMK Firmware.
|
||||
;;;
|
||||
|
||||
(define-public qmk
|
||||
(package
|
||||
(name "qmk")
|
||||
|
@ -1223,12 +1328,278 @@ (define-public qmk
|
|||
(base32
|
||||
"1619q9v90740dbg8xpzqlhwcasz42xj737803aiip8qc3a7zhwgq"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ;; No tests.
|
||||
(propagated-inputs (list python-dotty-dict python-hid python-hjson
|
||||
python-jsonschema python-milc python-pillow
|
||||
python-pygments python-pyserial python-pyusb))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((guix build pyproject-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'wrap 'wrap-path
|
||||
;; Wrap all the tools needed for the 'setup' and 'compile' actions
|
||||
;; (tested with the 'ergodox_ez' keyboard).
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (search-input-file outputs "bin/qmk")
|
||||
`("PATH" prefix
|
||||
,(map (compose dirname
|
||||
(cut search-input-file inputs <>))
|
||||
'("bin/avr-ar"
|
||||
"bin/avr-gcc"
|
||||
"bin/avrdude"
|
||||
"bin/awk"
|
||||
"bin/cmp"
|
||||
"bin/dfu-programmer"
|
||||
"bin/dfu-util"
|
||||
"bin/git"
|
||||
"bin/grep"
|
||||
"bin/make"
|
||||
"bin/python3"
|
||||
"bin/sh"
|
||||
;; TODO: Remove after git is wrapped with these.
|
||||
"bin/basename"
|
||||
"bin/sed"
|
||||
"bin/uname")))
|
||||
`("CROSS_C_INCLUDE_PATH" = (,(getenv "CROSS_C_INCLUDE_PATH")))
|
||||
`("CROSS_LIBRARY_PATH" = (,(getenv "CROSS_LIBRARY_PATH")))))))))
|
||||
;; The inputs are not propagated since qmk is to be used strictly as a
|
||||
;; command.
|
||||
(inputs
|
||||
;; The 'qmk setup' command advises to use GCC at version 8, and there are
|
||||
;; compilation errors in some firmware otherwise.
|
||||
(list (make-avr-toolchain #:xgcc gcc-8)
|
||||
avrdude
|
||||
bash-minimal
|
||||
dfu-programmer
|
||||
dfu-util
|
||||
diffutils
|
||||
git-minimal ;for the clone action
|
||||
gawk
|
||||
gnu-make
|
||||
grep
|
||||
python
|
||||
python-dotty-dict
|
||||
python-hid
|
||||
python-hjson
|
||||
python-jsonschema
|
||||
python-milc
|
||||
python-pillow
|
||||
python-pygments
|
||||
python-pyserial
|
||||
python-pyusb
|
||||
;; These are added to workaround faults in our git package (see
|
||||
;; bug#65924).
|
||||
coreutils-minimal
|
||||
sed
|
||||
util-linux))
|
||||
(home-page "https://qmk.fm")
|
||||
(synopsis "Command line utility to manage QMK keyboard firmwares")
|
||||
(description "This package provides a program to help users work with
|
||||
@acronym{QMK, Quantum Mechanical Keyboard} firmwares.")
|
||||
(description "The QMK CLI provides a @acronym{CLI, command line interface}
|
||||
based program to help users work with the QMK firmware, which can be used for
|
||||
multiple custom keyboards such as Planck, ErgoDox, Corne and others.
|
||||
|
||||
This @acronym{CLI} program is mainly used for building the QMK firmware, but
|
||||
also has some other convenience utilities. It is highly recommended to
|
||||
install the udev rules provided by the @code{qmk-udev-rules} package to avoid
|
||||
having to run @command{qmk} as root when flashing the firmware.")
|
||||
(license license:expat)))
|
||||
|
||||
(define* (make-qmk-firmware/implementation keyboard keymap
|
||||
#:key (description "")
|
||||
keymap-json
|
||||
keymap-source-directory)
|
||||
"Return a package to build the QMK firmware for KEYBOARD with KEYMAP.
|
||||
Keyboard should be the name of a sub-directory under the @file{keyboards}
|
||||
directory. For custom keymaps, KEYMAP-JSON, a file-like object of a JSON
|
||||
representation of KEYMAP as generated by the @url{https://config.qmk.fm/, QMK
|
||||
Configurator} tool or KEYMAP-SOURCE-DIRECTORY, a file-like object directory
|
||||
containing the keymap source files files such as @file{keymap.c}, can be
|
||||
provided."
|
||||
(package
|
||||
(name (string-append "qmk-firmware-"
|
||||
(string-replace-substring keyboard "_" "-") "-"
|
||||
(string-replace-substring keymap "_" "-")))
|
||||
;; Note: When updating this package, make sure to also update the commit
|
||||
;; used for the LUFA submodule in the 'copy-lufa-source' phase below.
|
||||
(version "0.22.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/qmk/qmk_firmware")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "qmk-firmware" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0s1lcnv7cddpn768p7mrc5bkxhx0ba5p77ya007dnkbk36c33d0w"))
|
||||
(patches
|
||||
(search-patches "qmk-firmware-fix-hacker-dvorak.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 ftw)
|
||||
(ice-9 match)
|
||||
(srfi srfi-26))
|
||||
;; XXX: Running a test target like "test:$keyboard" doesn't seem to run
|
||||
;; anything and causes the .hex file to be regenerated; leave the tests
|
||||
;; out for now.
|
||||
#:tests? #f
|
||||
#:make-flags
|
||||
#~(list #$(format #f "~a:~a" keyboard keymap)
|
||||
(string-append "SHELL=" (search-input-file
|
||||
%build-inputs "bin/sh")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
;; Do not attempt to retrieve information from git during the
|
||||
;; build.
|
||||
(setenv "SKIP_GIT" "1")))
|
||||
(add-after 'unpack 'copy-lufa-source
|
||||
;; QMK carries a custom fork of LUFA as a git submodule; make sure
|
||||
;; the same commit is used (see:
|
||||
;; https://github.com/qmk/qmk_firmware/tree/master/lib).
|
||||
(lambda _
|
||||
(copy-recursively
|
||||
#$(let ((commit "549b97320d515bfca2f95c145a67bd13be968faa"))
|
||||
(origin
|
||||
(inherit (package-source lufa))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/qmk/lufa")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "lufa" commit))
|
||||
(sha256
|
||||
(base32
|
||||
"1rmhm4rxvq8skxqn6vc4n4ly1ak6whj7c386zbsci4pxx548n9h4"))))
|
||||
"lib/lufa")))
|
||||
#$@(if keymap-source-directory
|
||||
#~((add-after 'unpack 'copy-keymap-source-directory
|
||||
(lambda _
|
||||
(let ((keymap-dir #$(string-append "keyboards/" keyboard
|
||||
"/keymaps/" keymap)))
|
||||
(false-if-exception (delete-file-recursively
|
||||
keymap-dir))
|
||||
(copy-recursively #$keymap-source-directory
|
||||
keymap-dir)))))
|
||||
#~())
|
||||
#$@(if keymap-json
|
||||
#~((replace 'build
|
||||
(lambda _
|
||||
(invoke "qmk" "compile" #$keymap-json))))
|
||||
#~())
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(match (scandir "." (lambda (f)
|
||||
(false-if-exception
|
||||
(member (string-take-right f 4)
|
||||
'(".bin" ".hex" ".uf2")))))
|
||||
(()
|
||||
(error "no built binary file found"))
|
||||
((hex ..1)
|
||||
(for-each (cut install-file <> #$output) hex))))))))
|
||||
;; Some of the build tools are required to be on the PATH, as the make
|
||||
;; files do not always operate through 'qmk'; all of qmk's inputs must
|
||||
;; thus be made available.
|
||||
(native-inputs (modify-inputs (package-inputs qmk)
|
||||
(append qmk)))
|
||||
(home-page "https://qmk.fm/")
|
||||
(synopsis "Keyboard firmware for Atmel AVR and Arm USB families")
|
||||
(description
|
||||
(format #f "QMK (Quantum Mechanical Keyboard Firmware) is a keyboard
|
||||
firmware based on the @url{https://github.com/tmk/tmk_keyboard, tmk_keyboard
|
||||
firmware} with some useful features for Atmel AVR and ARM controllers, and
|
||||
more specifically, the @url{https://olkb.com/, OLKB product line}, the
|
||||
@url{https://ergodox-ez.com/, ErgoDox EZ keyboard}, and the
|
||||
@url{https://clueboard.co/, Clueboard product line}.~@[~%~%~a~]" description))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define make-qmk-firmware (memoize make-qmk-firmware/implementation))
|
||||
|
||||
(define-public qmk-firmware-ergodox-ez-default
|
||||
(make-qmk-firmware
|
||||
"ergodox_ez" "default" #:description
|
||||
"This is the default keymap used on the ErgoDox EZ keyboard. It includes
|
||||
the novel MEH and Hyper keys pioneered by the ErgoDox EZ, easy to reach
|
||||
Control/Shift modifiers keys, and two-functions hold keys to access layer 1.
|
||||
Layer 1 contains function keys, symbols, a numpad as well as brightness keys.
|
||||
Layer 2 contains multimedia and mouse keys. See the
|
||||
@file{keyboards/ergodox_ez/keymaps/default/keymap.c} source file for the
|
||||
keymap definition, or the
|
||||
@url{https://configure.ergodox-ez.com/ergodox-ez/layouts/JwwW/latest/0,
|
||||
ErgoDox EZ Configurator} page."))
|
||||
|
||||
(define-public qmk-firmware-ergodox-ez-dvorak-42-key
|
||||
(make-qmk-firmware "ergodox_ez" "dvorak_42_key" #:description "\
|
||||
This is a Dvorak-based layout for the ErgoDox EZ. Its basic key layout is
|
||||
similar to the Atreus @samp{dvorak_42_key} layout; in fact this layout was
|
||||
created for seamless switching between the ErgoDox EZ and Atreus keyboards.
|
||||
On the base layer, the keys that don't exist on the Atreus are mapped to MEH
|
||||
shortcuts and can be interpreted by your window managher. This layout only
|
||||
makes use of the 42 keys that the Atreus also has for the main functionality.
|
||||
See the @file{keyboards/atreus/keymaps/dvorak_42_key/keymap.c} source file for
|
||||
the keymap definition."))
|
||||
|
||||
(define-public qmk-firmware-ergodox-ez-hacker-dvorak
|
||||
(make-qmk-firmware "ergodox_ez" "hacker_dvorak" #:description "\
|
||||
This is a Dvorak layout for the ErgoDox EZ. It is inspired by the
|
||||
@url{https://www.kaufmann.no/roland/dvorak, Programmer Dvorak}. The operating
|
||||
system keyboard layout should be set to US for this keymap to function
|
||||
normally. It defines 10 layers:
|
||||
@enumerate
|
||||
@item Dvorak
|
||||
@item Querty
|
||||
@item Gaming
|
||||
@item Arrows
|
||||
@item Mouse
|
||||
@item Numpad
|
||||
@item Hyper Fn
|
||||
@item Media Fn
|
||||
@item Meh Fn
|
||||
@item Meh Fn +
|
||||
@end enumerate
|
||||
The complete keymap can be inspected at the ErgoDox EZ Configurator web site:
|
||||
@url{https://configure.ergodox-ez.com/ergodox-ez/layouts/Wadz/latest/0}."))
|
||||
|
||||
(define-public qmk-firmware-ergodox-ez-dvorak
|
||||
(make-qmk-firmware
|
||||
"ergodox_ez" "dvorak" #:description
|
||||
"This is a rather plain Dvorak layout for the ErgoDox EZ, containing
|
||||
function and symbols on layer 1 and media and and mouse keys on layer 2. See
|
||||
the @file{layouts/community/ergodox/dvorak/keymap.c} source file for the
|
||||
keymap definition."))
|
||||
|
||||
(define-public qmk-firmware-ergodox-ez-dvorak-emacs
|
||||
(make-qmk-firmware
|
||||
"ergodox_ez" "dvorak_emacs" #:description
|
||||
"This is a Dvorak-based keymap optimized for Emacs usage, with the
|
||||
frequently used Control and Meta (Alt) keys mapped to the thumb buttons. It
|
||||
contains a single extra layer that includes function and multimedia keys. A
|
||||
graphical representation of the keymap is available in the
|
||||
@file{layouts/community/ergodox/dvorak_emacs/readme.md} source file."))
|
||||
|
||||
(define-public qmk-firmware-ergodox-ez-dvorak-emacs-software
|
||||
(make-qmk-firmware
|
||||
"ergodox_ez" "dvorak_emacs_software" #:description
|
||||
"This is the same layout as that of the
|
||||
@code{qmk-firmware-ergodox-ez-dvorak-emacs}, but designed to be used with a
|
||||
Dvorak-configured operating system (instead of a US QWERTY one, which is the
|
||||
default assumption for QMK firmware keymaps)."))
|
||||
|
||||
(define-public qmk-udev-rules
|
||||
(package
|
||||
(inherit qmk-firmware-ergodox-ez-default)
|
||||
(name "qmk-udev-rules")
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
'(#:install-plan '(("./util/udev" "lib/udev/rules.d"
|
||||
#:include-regexp ("rules$")))))
|
||||
(native-inputs '())
|
||||
(inputs '())
|
||||
(propagated-inputs '())
|
||||
(synopsis "Udev rules for QMK Firmware")
|
||||
(description
|
||||
"This package provides a set of udev rules to specify the proper
|
||||
privileges for flashing QMK compatible devices without needing root. The
|
||||
rules require the group @code{plugdev} to be added to each user that needs
|
||||
this.")))
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
|
||||
;;; Copyright © 2023 B. Wilson <x@wilsonb.com>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -36,6 +37,7 @@ (define-module (gnu packages flashing-tools)
|
|||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
|
@ -64,7 +66,8 @@ (define-module (gnu packages flashing-tools)
|
|||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define-public flashrom
|
||||
(package
|
||||
|
@ -237,16 +240,15 @@ (define-public teensy-loader-cli
|
|||
(patches (search-patches "teensy-loader-cli-help.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;; Makefile has no test target
|
||||
#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "teensy_loader_cli" bin)))))))
|
||||
(list
|
||||
#:tests? #f ;; Makefile has no test target
|
||||
#:make-flags #~(list "CC=gcc" (string-append "PREFIX=" #$output))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "teensy_loader_cli"
|
||||
(string-append #$output "/bin")))))))
|
||||
(inputs (list libusb-compat)) ;only compatible with libusb 0.1
|
||||
(synopsis "Command line firmware uploader for Teensy development boards")
|
||||
(description
|
||||
|
@ -256,7 +258,45 @@ (define-public teensy-loader-cli
|
|||
You need to add the udev rules to make the Teensy update available for
|
||||
non-root users.")
|
||||
(home-page "https://www.pjrc.com/teensy/loader_cli.html")
|
||||
(license license:gpl3)))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public teensy-udev-rules
|
||||
(package
|
||||
(name "teensy-udev-rules")
|
||||
(version "20230913") ;no version whatsoever -- use the current date
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "https://www.pjrc.com/teensy/00-teensy.rules")
|
||||
(sha256
|
||||
(base32
|
||||
"1yxczxvwi0s31g7lfa4v13yvvpv6gcsfs7r9mv6y4w9jc1inpx8p"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(let ((rules-file "lib/udev/rules.d/70-teensy.rules"))
|
||||
(list
|
||||
#:install-plan
|
||||
#~(list `(,#$source #$rules-file))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (string-append #$output "/" #$rules-file)
|
||||
(("/bin/stty")
|
||||
(search-input-file inputs "bin/stty")))))))))
|
||||
(inputs (list coreutils-minimal))
|
||||
(home-page "https://www.pjrc.com/teensy/loader_cli.html")
|
||||
(synopsis "udev rules for the Teensy family of micro-controllers")
|
||||
(description "This package provides a udev rules file that allows
|
||||
unprivileged users communication with the Teensy family of micro-controllers.
|
||||
ModemManager (part of NetworkManager) can interfere with USB Serial devices,
|
||||
which includes the Teensy. In case of problems, see the @file{.rules} file
|
||||
for possible workarounds.")
|
||||
;; FIXME: The file lacks an explicit license, so the license of
|
||||
;; teensy-cli-loader is *assumed* to hold (see:
|
||||
;; https://github.com/PaulStoffregen/teensy_loader_cli/issues/84).
|
||||
(license license:gpl3+)
|
||||
(supported-systems (filter (cut string-suffix? "-linux" <>)
|
||||
%supported-systems))))
|
||||
|
||||
(define-public rkflashtool
|
||||
(let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53")
|
||||
|
|
|
@ -580,6 +580,10 @@ (define-public font-terminus
|
|||
(outputs (list "out" "pcf-8bit" "otb"))
|
||||
(arguments
|
||||
`(#:tests? #f ; no test target in tarball
|
||||
#:modules
|
||||
((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-more-bits
|
||||
|
@ -601,7 +605,16 @@ (define-public font-terminus
|
|||
(lambda* (#:key make-flags outputs #:allow-other-keys)
|
||||
(let ((otb (assoc-ref outputs "otb")))
|
||||
(apply invoke "make" "install-otb" (string-append "prefix=" otb)
|
||||
make-flags)))))))
|
||||
make-flags))))
|
||||
(add-after 'install 'install-documentation
|
||||
;; There's no way to decypher the cryptic file names without this.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(for-each (match-lambda
|
||||
((name . directory)
|
||||
(install-file "README"
|
||||
(string-append directory "/share/doc/"
|
||||
,name "-" ,version))))
|
||||
outputs))))))
|
||||
(native-inputs
|
||||
(list bdftopcf font-util mkfontdir pkg-config python))
|
||||
(home-page "https://terminus-font.sourceforge.net/")
|
||||
|
|
|
@ -1499,6 +1499,37 @@ (define-public potrace
|
|||
(license license:gpl2+)
|
||||
(home-page "https://potrace.sourceforge.net/")))
|
||||
|
||||
(define-public psftools
|
||||
(package
|
||||
(name "psftools")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.seasip.info/Unix/PSF/"
|
||||
"psftools-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1lv6kvrcbspyh7a0hlji84wbmw6xh87r3iaafq3khp88kgh1irri"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--disable-static")))
|
||||
(home-page "https://www.seasip.info/Unix/PSF/")
|
||||
(synopsis
|
||||
"Convert PSF fixed-width bitmap (console) fonts from/to other formats")
|
||||
(description
|
||||
"@acronym{PSF, PC Screen Font} is the simple monospaced bitmap font format
|
||||
used by the Linux kernel for console fonts. The PSF Tools convert between PSF
|
||||
and many other font formats, similar to what the NetPBM package does for images.
|
||||
|
||||
It includes converters for a good number of common bitmap font formats such as
|
||||
@file{.BDF}, @file{.FNT}, and @file{.FON} files, Berkeley vfonts, classic
|
||||
Amstrad/Sinclair/Hercules/BBC Micro soft fonts, and raw (DOS-style) fonts.
|
||||
|
||||
It also supports less traditional formats such as PBM/XBM images, plain text
|
||||
(for rudimentary editing), and C header files.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libotf
|
||||
(package
|
||||
(name "libotf")
|
||||
|
|
|
@ -407,6 +407,20 @@ (define-public maliit-framework
|
|||
(base32
|
||||
"1dkjxvfxg56hfy70j6ibfklfyv57jiha4vgc3ggl60r5kjx65s5b"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The Ft_MIMPluginManager::testPluginDescriptions test fails
|
||||
;; with a QFATAL error: received signal 11, while
|
||||
;; ut_mimpluginmanager fails at least on powerpc64le with a
|
||||
;; subprocess aborted error (see:
|
||||
;; https://github.com/maliit/framework/issues/120).
|
||||
(invoke "ctest" "-E"
|
||||
"(ft_mimpluginmanager|ut_mimpluginmanager)")))))))
|
||||
(native-inputs (list extra-cmake-modules
|
||||
wayland-protocols
|
||||
pkg-config
|
||||
|
@ -687,14 +701,20 @@ (define-public libinput
|
|||
;; Meson target anyway.
|
||||
#:build-type "release"))
|
||||
(native-inputs
|
||||
(list check pkg-config))
|
||||
(append (list check pkg-config)
|
||||
(if (%current-target-system)
|
||||
(list pkg-config-for-build)
|
||||
'())))
|
||||
(inputs
|
||||
(list cairo
|
||||
glib
|
||||
gtk+
|
||||
libevdev
|
||||
libwacom
|
||||
mtdev))
|
||||
(append (list cairo
|
||||
glib
|
||||
gtk+
|
||||
libevdev
|
||||
libwacom
|
||||
mtdev)
|
||||
(if (%current-target-system)
|
||||
(list check)
|
||||
'())))
|
||||
(propagated-inputs
|
||||
`(;; libinput.h requires <libudev.h>, so propagate it.
|
||||
("udev" ,eudev)))
|
||||
|
|
|
@ -7755,7 +7755,7 @@ (define-public badass
|
|||
(define-public colobot
|
||||
(package
|
||||
(name "colobot")
|
||||
(version "0.2.0-alpha")
|
||||
(version "0.2.1-alpha")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -7765,59 +7765,66 @@ (define-public colobot
|
|||
(recursive? #t))) ;for "data/" subdir
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02z21pw47j2afjsikn5b162gacwgiahdrlhmfxhq4xqlzsvz58z6"))))
|
||||
(base32 "0bpy5nzkvq5nfr0w8jf7bl7zs8yz2cpzp87pnkdlgwl3adcn9nsw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-after 'unpack 'fix-directories
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("(\\$\\{CMAKE_INSTALL_PREFIX\\})/games" _ prefix)
|
||||
(string-append prefix "/bin"))
|
||||
(("(\\$\\{CMAKE_INSTALL_PREFIX\\}/share)/games/colobot" _ prefix)
|
||||
(string-append prefix "/colobot")))
|
||||
#t))
|
||||
(add-after 'fix-directories 'install-music
|
||||
;; Retrieve and install music files.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Installation process tries to download music files using
|
||||
;; "wget" if not already present. Since we are going another
|
||||
;; route, skip "wget" command check.
|
||||
(substitute* "data/music/CMakeLists.txt"
|
||||
(("find_program\\(WGET wget\\)") ""))
|
||||
;; Populate "music/" directory.
|
||||
(let ((data (assoc-ref inputs "colobot-music")))
|
||||
(invoke "tar" "-xvf" data "-Cdata/music"))
|
||||
#t)))))
|
||||
(list
|
||||
#:tests? #f ;no test
|
||||
#:modules '((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
(ice-9 match)
|
||||
(ice-9 regex))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))))
|
||||
(add-after 'unpack 'fix-directories
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("(\\$\\{CMAKE_INSTALL_PREFIX\\})/games" _ prefix)
|
||||
(string-append prefix "/bin"))
|
||||
(("(\\$\\{CMAKE_INSTALL_PREFIX\\}/share)/games/colobot" _ prefix)
|
||||
(string-append prefix "/colobot")))))
|
||||
(add-after 'fix-directories 'install-music
|
||||
;; Retrieve and install music files.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Installation process tries to download music files using
|
||||
;; "wget" if not already present. Since we are going another
|
||||
;; route, skip "wget" command check.
|
||||
(substitute* "data/music/CMakeLists.txt"
|
||||
(("find_program\\(WGET wget\\)") ""))
|
||||
;; Populate "music/" directory.
|
||||
(let ((data
|
||||
(any
|
||||
(match-lambda ((_ . input)
|
||||
(and (string-match "colobot-music" input)
|
||||
input)))
|
||||
inputs)))
|
||||
(invoke "tar" "-xvf" data "-Cdata/music")))))))
|
||||
(native-inputs
|
||||
`(("colobot-music"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://colobot.info/files/music/"
|
||||
"colobot-music_ogg_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s86cd36rwkff329mb1ay1wi5qqyi35564ppgr3f4qqz9wj9vs2m"))))
|
||||
("gettext" ,gettext-minimal)
|
||||
("librsvg" ,(librsvg-for-system))
|
||||
("po4a" ,po4a)
|
||||
("python" ,python-wrapper)))
|
||||
(list (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://colobot.info/files/music/"
|
||||
"colobot-music_ogg_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s86cd36rwkff329mb1ay1wi5qqyi35564ppgr3f4qqz9wj9vs2m")))
|
||||
gettext-minimal
|
||||
(librsvg-for-system)
|
||||
po4a
|
||||
python-wrapper))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("glew" ,glew)
|
||||
("libogg" ,libogg)
|
||||
("libpng" ,libpng)
|
||||
("libsndfile" ,libsndfile)
|
||||
("libvorbis" ,libvorbis)
|
||||
("openal" ,openal)
|
||||
("physfs" ,physfs)
|
||||
("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-ttf)))))
|
||||
(list boost
|
||||
glew
|
||||
libogg
|
||||
libpng
|
||||
libsndfile
|
||||
libvorbis
|
||||
openal
|
||||
physfs
|
||||
(sdl-union (list sdl2 sdl2-image sdl2-ttf))))
|
||||
(synopsis "Educational programming strategy game")
|
||||
(description "Colobot: Gold Edition is a real-time strategy game, where
|
||||
you can program your units (bots) in a language called CBOT, which is similar
|
||||
|
|
|
@ -1485,13 +1485,13 @@ (define-public imposm3
|
|||
(define-public python-metpy
|
||||
(package
|
||||
(name "python-metpy")
|
||||
(version "1.5.0")
|
||||
(version "1.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "MetPy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g9m8qb920mvi0kqw7vbagj08xvv96zj6gjyc7dawlvh15vb55qq"))))
|
||||
"1is6rradl97k04hf27dhzla4y4j98hibran3rbz6xh226q1r9vmb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; Too many of the tests in the files below require online data.
|
||||
|
|
|
@ -301,32 +301,37 @@ (define-public mesa
|
|||
wayland-protocols
|
||||
`(,zstd "lib")))
|
||||
(native-inputs
|
||||
(list bison
|
||||
flex
|
||||
gettext-minimal
|
||||
glslang
|
||||
pkg-config
|
||||
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
|
||||
python-mako
|
||||
python-wrapper
|
||||
(@ (gnu packages base) which)))
|
||||
(cons* bison
|
||||
flex
|
||||
gettext-minimal
|
||||
glslang
|
||||
pkg-config
|
||||
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
|
||||
python-mako
|
||||
python-wrapper
|
||||
(@ (gnu packages base) which)
|
||||
(if (%current-target-system)
|
||||
(list pkg-config-for-build
|
||||
wayland
|
||||
wayland-protocols)
|
||||
'())))
|
||||
(outputs '("out" "bin"))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list
|
||||
#$@(match (%current-system)
|
||||
("aarch64-linux"
|
||||
#$@(cond
|
||||
((target-aarch64?)
|
||||
;; TODO: Fix svga driver for non-Intel architectures.
|
||||
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,\
|
||||
panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
|
||||
("armhf-linux"
|
||||
((target-arm32?)
|
||||
;; Freedreno FTBFS when built on a 64-bit machine.
|
||||
'("-Dgallium-drivers=etnaviv,kmsro,lima,nouveau,panfrost,\
|
||||
r300,r600,swrast,tegra,v3d,vc4,virgl"))
|
||||
((or "powerpc64le-linux" "powerpc-linux" "riscv64-linux")
|
||||
((or (target-ppc64le?) (target-ppc32?) (target-riscv64?))
|
||||
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
|
||||
(_
|
||||
(else
|
||||
'("-Dgallium-drivers=crocus,iris,nouveau,r300,r600,radeonsi,\
|
||||
svga,swrast,virgl")))
|
||||
;; Enable various optional features. TODO: opencl requires libclc,
|
||||
|
@ -344,16 +349,16 @@ (define-public mesa
|
|||
"-Dshared-glapi=enabled"
|
||||
|
||||
;; Explicitly enable Vulkan on some architectures.
|
||||
#$@(match (%current-system)
|
||||
((or "i686-linux" "x86_64-linux")
|
||||
#$@(cond
|
||||
((or (target-x86-32?) (target-x86-64?))
|
||||
'("-Dvulkan-drivers=intel,intel_hasvk,amd,swrast"))
|
||||
((or "powerpc64le-linux" "powerpc-linux")
|
||||
((or (target-ppc64le?) (target-ppc32?))
|
||||
'("-Dvulkan-drivers=amd,swrast"))
|
||||
("aarch64-linux"
|
||||
((target-aarch64?)
|
||||
'("-Dvulkan-drivers=freedreno,amd,broadcom,swrast"))
|
||||
("riscv64-linux"
|
||||
((target-riscv64?)
|
||||
'("-Dvulkan-drivers=amd,swrast"))
|
||||
(_
|
||||
(else
|
||||
'("-Dvulkan-drivers=auto")))
|
||||
|
||||
;; Enable the Vulkan overlay layer on all architectures.
|
||||
|
@ -381,6 +386,13 @@ (define-public mesa
|
|||
(guix build meson-build-system))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@(if (%current-target-system)
|
||||
#~((add-after 'unpack 'fix-cross-compiling
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; It isn't a problem to use the host's llvm-config.
|
||||
(setenv "LLVM_CONFIG"
|
||||
(search-input-file inputs "/bin/llvm-config")))))
|
||||
#~())
|
||||
(add-after 'unpack 'disable-failing-test
|
||||
(lambda _
|
||||
;; Disable the intel vulkan (anv_state_pool) tests, as they may
|
||||
|
|
|
@ -3474,7 +3474,7 @@ (define-public libgsf
|
|||
(define-public librsvg
|
||||
(package
|
||||
(name "librsvg")
|
||||
(version "2.54.5")
|
||||
(version "2.56.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/librsvg/"
|
||||
|
@ -3482,10 +3482,7 @@ (define-public librsvg
|
|||
"librsvg-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vmfgihhf35bxn7giqiskgsflr0zxp6xyy9aynhiyk9j8l7ij0sg"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin (delete-file-recursively "vendor")))))
|
||||
"1xa0cxdvc6vis5ssh1i0vi2rwgcx3bll6k5i135qyd2ra77zv1za"))))
|
||||
(build-system cargo-build-system)
|
||||
(outputs '("out" "doc" "debug"))
|
||||
(arguments
|
||||
|
@ -3496,55 +3493,61 @@ (define-public librsvg
|
|||
(guix build utils)
|
||||
((guix build gnu-build-system) #:prefix gnu:))
|
||||
#:cargo-inputs
|
||||
`(("rust-byteorder" ,rust-byteorder-1)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.15)
|
||||
`(("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-byteorder" ,rust-byteorder-1)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.17)
|
||||
("rust-cast" ,rust-cast-0.3)
|
||||
("rust-chrono" ,rust-chrono-0.4)
|
||||
("rust-clap" ,rust-clap-2)
|
||||
("rust-cssparser" ,rust-cssparser-0.28)
|
||||
("rust-data-url" ,rust-data-url-0.1)
|
||||
("rust-encoding" ,rust-encoding-0.2)
|
||||
("rust-clap" ,rust-clap-4)
|
||||
("rust-clap-complete" ,rust-clap-complete-4)
|
||||
("rust-cssparser" ,rust-cssparser-0.29)
|
||||
("rust-data-url" ,rust-data-url-0.2)
|
||||
("rust-encoding-rs" ,rust-encoding-rs-0.8)
|
||||
("rust-float-cmp" ,rust-float-cmp-0.9)
|
||||
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15)
|
||||
("rust-gio" ,rust-gio-0.15)
|
||||
("rust-glib" ,rust-glib-0.15)
|
||||
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.17)
|
||||
("rust-gio" ,rust-gio-0.17)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-itertools" ,rust-itertools-0.10)
|
||||
("rust-language-tags" ,rust-language-tags-0.3)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-locale-config" ,rust-locale-config-0.3)
|
||||
("rust-markup5ever" ,rust-markup5ever-0.10)
|
||||
("rust-nalgebra" ,rust-nalgebra-0.29)
|
||||
("rust-markup5ever" ,rust-markup5ever-0.11)
|
||||
("rust-nalgebra" ,rust-nalgebra-0.32)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-pango" ,rust-pango-0.15)
|
||||
("rust-pangocairo" ,rust-pangocairo-0.15)
|
||||
("rust-pango" ,rust-pango-0.17)
|
||||
("rust-pangocairo" ,rust-pangocairo-0.17)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-rctree" ,rust-rctree-0.4)
|
||||
("rust-rgb" ,rust-rgb-0.8)
|
||||
("rust-rctree" ,rust-rctree-0.5)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-selectors" ,rust-selectors-0.23)
|
||||
("rust-rgb" ,rust-rgb-0.8)
|
||||
("rust-selectors" ,rust-selectors-0.24)
|
||||
("rust-string-cache" ,rust-string-cache-0.8)
|
||||
("rust-system-deps" ,rust-system-deps-6)
|
||||
("rust-thiserror" ,rust-thiserror-1)
|
||||
("rust-tinyvec" ,rust-tinyvec-1)
|
||||
("rust-url" ,rust-url-2)
|
||||
("rust-xml5ever" ,rust-xml5ever-0.16))
|
||||
("rust-xml5ever" ,rust-xml5ever-0.17))
|
||||
#:cargo-development-inputs
|
||||
`(("rust-anyhow" ,rust-anyhow-1)
|
||||
("rust-assert-cmd" ,rust-assert-cmd-2)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.15)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.17)
|
||||
("rust-cast" ,rust-cast-0.3)
|
||||
("rust-chrono" ,rust-chrono-0.4)
|
||||
("rust-criterion" ,rust-criterion-0.3)
|
||||
("rust-glib" ,rust-glib-0.15)
|
||||
("rust-criterion" ,rust-criterion-0.4)
|
||||
("rust-glib" ,rust-glib-0.17)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-lopdf" ,rust-lopdf-0.26)
|
||||
("rust-lopdf" ,rust-lopdf-0.29)
|
||||
("rust-matches" ,rust-matches-0.1)
|
||||
("rust-pango" ,rust-pango-0.17)
|
||||
("rust-pangocairo" ,rust-pangocairo-0.17)
|
||||
("rust-png" ,rust-png-0.17)
|
||||
("rust-predicates" ,rust-predicates-2)
|
||||
("rust-proptest" ,rust-proptest-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-test-generator" ,rust-test-generator-0.3)
|
||||
("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-2))
|
||||
("rust-yeslogic-fontconfig-sys" ,rust-yeslogic-fontconfig-sys-4))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-gdk-pixbuf-thumbnailer
|
||||
|
@ -3568,12 +3571,9 @@ (define-public librsvg
|
|||
;; Increase reftest tolerance a bit to account for different
|
||||
;; harfbuzz, pango, etc.
|
||||
(setenv "RSVG_TEST_TOLERANCE" "20")
|
||||
;; These two tests even fail after loosening the tolerance.
|
||||
(for-each delete-file
|
||||
'("tests/fixtures/reftests/bugs/730-font-scaling.svg"
|
||||
"tests/fixtures/reftests/bugs/730-font-scaling-ref.png"
|
||||
"tests/fixtures/reftests/svg1.1/text-text-03-b.svg"
|
||||
"tests/fixtures/reftests/svg1.1/text-text-03-b-ref.png"))))
|
||||
;; This test fails even after loosening the tolerance.
|
||||
(substitute* "tests/src/reference.rs"
|
||||
((".*svg1_1_text_align_03_b_svg.*") ""))))
|
||||
(add-before 'configure 'pre-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "gdk-pixbuf-loader/Makefile.in"
|
||||
|
@ -7807,10 +7807,7 @@ (define-public mutter
|
|||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%meson-build-system-modules
|
||||
(guix build syscalls))
|
||||
#:modules '((guix build meson-build-system)
|
||||
(guix build syscalls)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:glib-or-gtk? #t
|
||||
|
@ -7904,22 +7901,22 @@ (define-public mutter
|
|||
"1"))
|
||||
(match (primitive-fork)
|
||||
(0 ;child process
|
||||
(set-child-subreaper!)
|
||||
;; Use tini so that signals are properly handled and
|
||||
;; doubly-forked processes get reaped; otherwise,
|
||||
;; python-dbusmock would waste time polling for the dbus
|
||||
;; processes it spawns to be reaped, in vain.
|
||||
(apply execlp "tini" "--"
|
||||
"dbus-run-session" "--"
|
||||
(apply execlp "dbus-run-session" "dbus-run-session"
|
||||
"xvfb-run" "-a" "-s" (getenv "XVFB_SERVER_ARGS")
|
||||
"meson" "test" "-t" "0" "--print-errorlogs"
|
||||
test-options))
|
||||
(pid
|
||||
(match (waitpid pid)
|
||||
((_ . status)
|
||||
(unless (zero? status)
|
||||
(error "`meson test' exited with status"
|
||||
status))))))))))))
|
||||
(dbus-pid
|
||||
(let loop ()
|
||||
;; Reap child processes; otherwise, python-dbusmock would
|
||||
;; waste time polling for the dbus processes it spawns to
|
||||
;; be reaped, in vain.
|
||||
(match (waitpid WAIT_ANY)
|
||||
((pid . status)
|
||||
(if (= pid dbus-pid)
|
||||
(unless (zero? status)
|
||||
(error "`meson test' exited with status"
|
||||
status))
|
||||
(loop)))))))))))))
|
||||
(native-inputs
|
||||
(list desktop-file-utils ;for update-desktop-database
|
||||
`(,glib "bin") ;for glib-compile-schemas, etc.
|
||||
|
@ -7940,8 +7937,7 @@ (define-public mutter
|
|||
pipewire
|
||||
python
|
||||
python-dbus
|
||||
python-dbusmock
|
||||
tini)) ;acting as init (zombie reaper)
|
||||
python-dbusmock))
|
||||
(propagated-inputs
|
||||
(list gsettings-desktop-schemas ;required by libmutter.pc
|
||||
gtk+ ;required by libmutter.pc
|
||||
|
@ -8287,6 +8283,7 @@ (define-public network-manager
|
|||
"-Ddhcpcanon=no"
|
||||
"-Dcrypto=gnutls"
|
||||
"-Diwd=true"
|
||||
"-Dnm_cloud_setup=false"
|
||||
"-Dlibaudit=yes"
|
||||
"-Dqt=false"
|
||||
"-Ddocs=true"
|
||||
|
@ -8296,19 +8293,12 @@ (define-public network-manager
|
|||
#$output "/lib/udev")
|
||||
(string-append "-Ddbus_conf_dir="
|
||||
#$output "/etc/dbus-1/system.d")
|
||||
|
||||
(string-append "-Dmodprobe=" (search-input-file %build-inputs
|
||||
"bin/modprobe"))
|
||||
(string-append "-Ddhclient=" (search-input-file %build-inputs
|
||||
"/sbin/dhclient")))
|
||||
"sbin/dhclient")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-modprobe-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/libnm-platform/nm-platform-utils.c"
|
||||
;; The modprobe command location is not configurable (see:
|
||||
;; https://gitlab.freedesktop.org/NetworkManager/
|
||||
;; NetworkManager/-/issues/1257).
|
||||
(("/sbin/modprobe")
|
||||
(search-input-file inputs "bin/modprobe")))))
|
||||
(add-after 'unpack 'patch-dlopen-call-to-libjansson.so
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/libnm-glib-aux/nm-json-aux.c"
|
||||
|
|
|
@ -886,16 +886,13 @@ (define-public icecat-minimal
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'apply-guix-specific-patches
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
(let ((patch (search-input-file inputs "bin/patch")))
|
||||
(for-each (match-lambda
|
||||
((label . file)
|
||||
(when (and (string-prefix? "icecat-" label)
|
||||
(string-suffix? ".patch" label))
|
||||
(format #t "applying '~a'...~%" file)
|
||||
(invoke patch "--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" file))))
|
||||
(or native-inputs inputs)))))
|
||||
(lambda _
|
||||
(for-each
|
||||
(lambda (file) (invoke "patch" "--force" "-p1" "-i" file))
|
||||
'(#$(local-file
|
||||
(search-patch "icecat-compare-paths.patch"))
|
||||
#$(local-file
|
||||
(search-patch "icecat-use-system-wide-dir.patch"))))))
|
||||
(add-after 'apply-guix-specific-patches 'remove-bundled-libraries
|
||||
(lambda _
|
||||
;; Remove bundled libraries that we don't use, since they may
|
||||
|
@ -1139,6 +1136,11 @@ (define (runpaths-of-input label)
|
|||
'("default16.png" "default22.png" "default24.png"
|
||||
"default32.png" "default48.png" "content/icon64.png"
|
||||
"mozicon128.png" "default256.png"))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "ICECAT_SYSTEM_DIR")
|
||||
(separator #f) ;single entry
|
||||
(files '("lib/icecat")))))
|
||||
(home-page "https://www.gnu.org/software/gnuzilla/")
|
||||
(synopsis "Entirely free browser derived from Mozilla Firefox")
|
||||
(description
|
||||
|
|
555
gnu/packages/golang-check.scm
Normal file
555
gnu/packages/golang-check.scm
Normal file
|
@ -0,0 +1,555 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
|
||||
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
|
||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;;
|
||||
;;; 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 golang-check)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages golang))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Golang packages to unit-test, mock, assert, lint processes for Golang itself.
|
||||
;;;
|
||||
;;; Please: Try to add new module packages in alphabetic order.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define-public go-honnef-co-go-tools
|
||||
(package
|
||||
(name "go-honnef-co-go-tools")
|
||||
(version "0.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dominikh/go-tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"099z04v7vvwwglnps315s9fmal68xvzlc1g8m26iqi980grbwn32"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "honnef.co/go/tools"
|
||||
#:tests? #f
|
||||
;; Source-only package
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'build))))
|
||||
(propagated-inputs
|
||||
(list go-github-com-burntsushi-toml
|
||||
go-github-com-kisielk-gotool
|
||||
go-golang-org-x-exp
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-tools))
|
||||
(home-page "https://honnef.co/go/tools")
|
||||
(synopsis "Staticcheck advanced Go linter")
|
||||
(description
|
||||
"Staticcheck is a state of the art linter for the Go programming language.
|
||||
Using static analysis, it finds bugs and performance issues, offers
|
||||
simplifications, and enforces style rules.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alecthomas-assert
|
||||
(let ((commit "405dbfeb8e38effee6e723317226e93fff912d06")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-github-com-alecthomas-assert")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alecthomas/assert")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/alecthomas/assert"))
|
||||
(native-inputs
|
||||
(list go-github-com-alecthomas-colour
|
||||
go-github-com-mattn-go-isatty
|
||||
go-github-com-alecthomas-repr
|
||||
go-github-com-sergi-go-diff))
|
||||
(home-page "https://github.com/alecthomas/assert/")
|
||||
(synopsis "Go assertion library")
|
||||
(description "Assertion library that:
|
||||
@itemize
|
||||
@item makes spotting differences in equality much easier
|
||||
@item uses repr and diffmatchpatch to display structural differences in colour
|
||||
@item aborts tests on first assertion failure
|
||||
@end itemize\n")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-cheekybits-is
|
||||
(let ((commit "68e9c0620927fb5427fda3708222d0edee89eae9")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-cheekybits-is")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cheekybits/is")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/cheekybits/is"))
|
||||
(home-page "https://github.com/cheekybits/is")
|
||||
(synopsis "Mini testing helper for Go")
|
||||
(description "A mini testing helper for Go.
|
||||
|
||||
@itemize
|
||||
@item It has a simple interface (@command{is.OK} and @command{is.Equal}).
|
||||
@item It plugs into existing Go toolchain (uses @command{testing.T}).
|
||||
@item It's obvious for newcomers.
|
||||
@item It also gives you @command{is.Panic} and @command{is.PanicWith} helpers
|
||||
- because testing panics is ugly.
|
||||
@end itemize\n")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-frankban-quicktest
|
||||
(package
|
||||
(name "go-github-com-frankban-quicktest")
|
||||
(version "1.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/frankban/quicktest")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/frankban/quicktest"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-google-go-cmp-cmp go-github-com-kr-pretty))
|
||||
(home-page "https://github.com/frankban/quicktest")
|
||||
(synopsis "Quick helpers for testing Go applications")
|
||||
(description
|
||||
"Package quicktest provides a collection of Go helpers for writing
|
||||
tests.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-google-go-cmdtest
|
||||
(let ((commit "55ab3332a786118933ddf71544aae14951ba9bc5")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-google-go-cmdtest")
|
||||
(version (git-version "0.4.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/go-cmdtest")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10kswvbdwissjb5mr0ys4b3ppxkxlpklqg7cr2z7rv21g2vwczbl"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/google/go-cmdtest"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-google-renameio go-github-com-google-go-cmp-cmp))
|
||||
(home-page "https://github.com/google/go-cmdtest")
|
||||
(synopsis "Testing for your CLI")
|
||||
(description
|
||||
"The cmdtest package simplifies testing of command-line interfaces. It
|
||||
provides a simple, cross-platform, shell-like language to express command
|
||||
execution. It can compare actual output with the expected output, and can
|
||||
also update a file with new \"golden\" output that is deemed correct.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-google-gofuzz
|
||||
(let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-google-gofuzz")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/gofuzz")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/google/gofuzz"))
|
||||
(home-page "https://github.com/google/gofuzz")
|
||||
(synopsis "Fuzz testing library for Go")
|
||||
(description "Gofuzz is a library for populationg Go objects with random
|
||||
values for the purpose of fuzz testing.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-golangplus-testing
|
||||
(package
|
||||
(name "go-github-com-golangplus-testing")
|
||||
(version "1.0.0")
|
||||
(home-page "https://github.com/golangplus/testing")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a29m4zplf9m14k74lrb55dids2l17vx28sv0g3y3qcv1xygksiv"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/golangplus/testing"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-golangplus-fmt))
|
||||
(synopsis "Additions to Go's standard testing package")
|
||||
(description "This package provides additions to Go's stdlib testing.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-jacobsa-oglematchers
|
||||
(let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-jacobsa-oglematchers")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jacobsa/oglematchers")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/jacobsa/oglematchers"
|
||||
;; break loop with with go-github-com-jacobsa-ogletest
|
||||
#:tests? #f))
|
||||
(home-page "https://github.com/jacobsa/oglematchers")
|
||||
(synopsis "Matchers for Go testing framework")
|
||||
(description
|
||||
"Package oglematchers provides a set of matchers useful in a testing or mocking
|
||||
framework. These matchers are inspired by and mostly compatible with Google
|
||||
Test for C++ and Google JS Test.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-jacobsa-oglemock
|
||||
(let ((commit "e94d794d06ffc6de42cb19d0dab3c219efdd6dcf")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-jacobsa-oglemock")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jacobsa/oglemock")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/jacobsa/oglemock"
|
||||
;; break loop with with go-github-com-jacobsa-ogletest
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list go-github-com-jacobsa-oglematchers))
|
||||
(home-page "https://github.com/jacobsa/oglemock")
|
||||
(synopsis "Mocking framework for unit tests")
|
||||
(description
|
||||
"Package oglemock provides a mocking framework for unit tests.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-jacobsa-ogletest
|
||||
(let ((commit "80d50a735a1108a2aeb7abc4a988d183f20c5292")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-jacobsa-ogletest")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jacobsa/ogletest")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/jacobsa/ogletest"
|
||||
;; These tests should be made working
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list go-github-com-jacobsa-oglematchers
|
||||
go-github-com-jacobsa-oglemock
|
||||
go-github-com-jacobsa-reqtrace
|
||||
go-golang-org-x-net))
|
||||
(home-page "https://github.com/jacobsa/ogletest")
|
||||
(synopsis "Expressive unit tests")
|
||||
(description
|
||||
"Package ogletest provides a framework for writing expressive unit tests. It
|
||||
integrates with the builtin testing package, so it works with the gotest
|
||||
command. Unlike the testing package which offers only basic capabilities for
|
||||
signalling failures, it offers ways to express expectations and get nice failure
|
||||
messages automatically.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-onsi-ginkgo
|
||||
(package
|
||||
(name "go-github-com-onsi-ginkgo")
|
||||
(version "1.16.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/onsi/ginkgo")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hh6n7q92y0ai8k6rj2yzw6wwxikhyiyk4j92zgvf1zad0gmqqmz"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list #:import-path "github.com/onsi/ginkgo"))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-sys
|
||||
go-golang-org-x-tools
|
||||
go-github-com-go-task-slim-sprig
|
||||
go-github-com-nxadm-tail
|
||||
go-github-com-onsi-gomega))
|
||||
(home-page "https://github.com/onsi/ginkgo")
|
||||
(synopsis "BDD-style testing framework for Go")
|
||||
(description
|
||||
"Ginkgo is a Behaviour-Driven Development testing framework for Go. It
|
||||
builds on top of Go's builtin @code{testing} library and is complemented by the
|
||||
Gomega matcher library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-stretchr-testify
|
||||
(package
|
||||
(name "go-github-com-stretchr-testify")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stretchr/testify")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ixgjsvafr3513pz3r6pmgk074s2dxkll0dadvl25gkf30rkmh10"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/stretchr/testify"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-davecgh-go-spew
|
||||
go-github-com-pmezard-go-difflib
|
||||
go-github-com-stretchr-objx
|
||||
go-gopkg-in-yaml-v3))
|
||||
(home-page "https://github.com/stretchr/testify")
|
||||
(synopsis "Go helper library for tests and invariant checking")
|
||||
(description "This package provide many tools for testifying that your
|
||||
code will behave as you intend.
|
||||
|
||||
Features include:
|
||||
@itemize
|
||||
@item Easy assertions
|
||||
@item Mocking
|
||||
@item HTTP response trapping
|
||||
@item Testing suite interfaces and functions.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tdewolff-test
|
||||
(package
|
||||
(name "go-github-com-tdewolff-test")
|
||||
(version "1.0.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tdewolff/test")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10myz3zdkqmx37cvj507h7l2ncb0rq9shqvz9ggq1swijbsvazff"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list #:import-path "github.com/tdewolff/test"))
|
||||
(home-page "https://github.com/tdewolff/test")
|
||||
(synopsis "Go test helper functions")
|
||||
(description
|
||||
"This package implements a few functions that are useful for io testing,
|
||||
such as readers and writers that fail after N consecutive reads/writes.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-gopkg-in-check-v1
|
||||
(package
|
||||
(name "go-gopkg-in-check-v1")
|
||||
(version "1.0.0-20201130134442-10cb98267c6c")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/go-check/check")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "gopkg.in/check.v1"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs #:allow-other-keys #:rest args)
|
||||
(unless
|
||||
;; The tests fail when run with gccgo.
|
||||
(false-if-exception (search-input-file inputs "/bin/gccgo"))
|
||||
(apply (assoc-ref %standard-phases 'check) args)))))))
|
||||
(propagated-inputs
|
||||
(list go-github-com-kr-pretty))
|
||||
(home-page "https://gopkg.in/check.v1")
|
||||
(synopsis "Test framework for the Go language")
|
||||
(description "This package provides a test library for the Go language.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-gopkg-in-go-playground-assert-v1
|
||||
(package
|
||||
(name "go-gopkg-in-go-playground-assert-v1")
|
||||
(version "1.2.1")
|
||||
(home-page "https://github.com/go-playground/assert")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "gopkg.in/go-playground/assert.v1"))
|
||||
(synopsis "Basic assertion library used alongside native Go testing")
|
||||
(description
|
||||
"This package provides basic assertions along with building blocks for
|
||||
custom assertions to be used alongside native Go testing.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-golang-org-sql-mock
|
||||
(let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b")
|
||||
(version "1.3.3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-sql-mock")
|
||||
(version (git-version version revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/DATA-DOG/go-sqlmock")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/DATA-DOG/go-sqlmock"))
|
||||
(synopsis "Mock library implementing @code{sql/driver}")
|
||||
(description "This library simulates SQL-driver behavior in tests
|
||||
without requiring a real database connection.")
|
||||
(home-page "https://github.com/DATA-DOG/go-sqlmock")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-golang-org-x-lint
|
||||
(let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-golang-org-x-lint")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/lint")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "golang.org/x/lint"
|
||||
#:tests? #f)) ;; TODO: Fix tests
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-tools))
|
||||
(home-page "https://golang.org/x/lint")
|
||||
(synopsis "Linter for Go source code")
|
||||
(description
|
||||
"This is a linter for Go source code. Unlike gofmt, it doesn't
|
||||
reformat the source code, it only prints out style mistakes.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
;;; of a merge conflict, place them above by existing packages with similar
|
||||
;;; functionality or similar names.
|
||||
;;;
|
|
@ -78,6 +78,7 @@ (define-module (gnu packages golang)
|
|||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages mail)
|
||||
#:use-module (gnu packages mp3)
|
||||
|
@ -1310,98 +1311,6 @@ (define-public go-github-com-aperturerobotics-jacobsa-crypto
|
|||
not included in the Go standard library.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-jacobsa-oglematchers
|
||||
(let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-jacobsa-oglematchers")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jacobsa/oglematchers")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/jacobsa/oglematchers"
|
||||
;; break loop with with go-github-com-jacobsa-ogletest
|
||||
#:tests? #f))
|
||||
(home-page "https://github.com/jacobsa/oglematchers")
|
||||
(synopsis "Matchers for Go testing framework")
|
||||
(description
|
||||
"Package oglematchers provides a set of matchers useful in a testing or mocking
|
||||
framework. These matchers are inspired by and mostly compatible with Google
|
||||
Test for C++ and Google JS Test.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-jacobsa-oglemock
|
||||
(let ((commit "e94d794d06ffc6de42cb19d0dab3c219efdd6dcf")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-jacobsa-oglemock")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jacobsa/oglemock")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "github.com/jacobsa/oglemock"
|
||||
;; break loop with with go-github-com-jacobsa-ogletest
|
||||
#:tests? #f))
|
||||
(native-inputs (list
|
||||
go-github-com-jacobsa-oglematchers))
|
||||
(home-page "https://github.com/jacobsa/oglemock")
|
||||
(synopsis "Mocking framework for unit tests")
|
||||
(description
|
||||
"Package oglemock provides a mocking framework for unit tests.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-jacobsa-ogletest
|
||||
(let ((commit "80d50a735a1108a2aeb7abc4a988d183f20c5292")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-jacobsa-ogletest")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jacobsa/ogletest")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/jacobsa/ogletest"
|
||||
;; These tests should be made working
|
||||
#:tests? #f))
|
||||
(native-inputs (list
|
||||
go-github-com-jacobsa-oglematchers
|
||||
go-github-com-jacobsa-oglemock
|
||||
go-github-com-jacobsa-reqtrace
|
||||
go-golang-org-x-net))
|
||||
(home-page "https://github.com/jacobsa/ogletest")
|
||||
(synopsis "Expressive unit tests")
|
||||
(description
|
||||
"Package ogletest provides a framework for writing expressive unit tests. It
|
||||
integrates with the builtin testing package, so it works with the gotest
|
||||
command. Unlike the testing package which offers only basic capabilities for
|
||||
signalling failures, it offers ways to express expectations and get nice failure
|
||||
messages automatically.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-jacobsa-reqtrace
|
||||
(let ((commit "245c9e0234cb2ad542483a336324e982f1a22934")
|
||||
(revision "0"))
|
||||
|
@ -3062,28 +2971,6 @@ (define-public go-github-com-daviddengcn-go-colortext
|
|||
;; dual-licensed
|
||||
(license (list license:bsd-3 license:expat))))
|
||||
|
||||
(define-public go-github-com-golangplus-testing
|
||||
(package
|
||||
(name "go-github-com-golangplus-testing")
|
||||
(version "1.0.0")
|
||||
(home-page "https://github.com/golangplus/testing")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a29m4zplf9m14k74lrb55dids2l17vx28sv0g3y3qcv1xygksiv"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/golangplus/testing"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-golangplus-fmt))
|
||||
(synopsis "Additions to Go's standard testing package")
|
||||
(description "This package provides additions to Go's stdlib testing.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-leodido-go-urn
|
||||
(package
|
||||
(name "go-github-com-leodido-go-urn")
|
||||
|
@ -3142,29 +3029,6 @@ (define-public go-github.com-jessevdk-go-flags
|
|||
(home-page "https://github.com/jessevdk/go-flags")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-gopkg-in-go-playground-assert-v1
|
||||
(package
|
||||
(name "go-gopkg-in-go-playground-assert-v1")
|
||||
(version "1.2.1")
|
||||
(home-page "https://github.com/go-playground/assert")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "gopkg.in/go-playground/assert.v1"))
|
||||
(synopsis "Basic assertion library used alongside native Go testing")
|
||||
(description
|
||||
"This package provides basic assertions along with building blocks for
|
||||
custom assertions to be used alongside native Go testing.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-go-playground-locales
|
||||
(package
|
||||
(name "go-github-com-go-playground-locales")
|
||||
|
@ -3747,29 +3611,6 @@ (define-public go-github-com-tdewolff-parse-v2
|
|||
"This package contains several lexers and parsers written in Go.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tdewolff-test
|
||||
(package
|
||||
(name "go-github-com-tdewolff-test")
|
||||
(version "1.0.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tdewolff/test")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10myz3zdkqmx37cvj507h7l2ncb0rq9shqvz9ggq1swijbsvazff"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list #:import-path "github.com/tdewolff/test"))
|
||||
(home-page "https://github.com/tdewolff/test")
|
||||
(synopsis "Go test helper functions")
|
||||
(description
|
||||
"This package implements a few functions that are useful for io testing,
|
||||
such as readers and writers that fail after N consecutive reads/writes.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-tj-docopt
|
||||
(package
|
||||
(name "go-github-com-tj-docopt")
|
||||
|
@ -4588,42 +4429,6 @@ (define-public go-github-com-stretchr-objx
|
|||
slices, JSON and other data.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-stretchr-testify
|
||||
(package
|
||||
(name "go-github-com-stretchr-testify")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stretchr/testify")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ixgjsvafr3513pz3r6pmgk074s2dxkll0dadvl25gkf30rkmh10"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/stretchr/testify"))
|
||||
(propagated-inputs
|
||||
`(("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew)
|
||||
("github.com/pmezard/go-difflib" ,go-github-com-pmezard-go-difflib)
|
||||
("github.com/stretchr/objx" ,go-github-com-stretchr-objx)
|
||||
("gopkg.in/yaml.v3" ,go-gopkg-in-yaml-v3)))
|
||||
(home-page "https://github.com/stretchr/testify")
|
||||
(synopsis "Go helper library for tests and invariant checking")
|
||||
(description "This package provide many tools for testifying that your
|
||||
code will behave as you intend.
|
||||
|
||||
Features include:
|
||||
@itemize
|
||||
@item Easy assertions
|
||||
@item Mocking
|
||||
@item HTTP response trapping
|
||||
@item Testing suite interfaces and functions.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define go-github-com-stretchr-testify-bootstrap
|
||||
(package
|
||||
(inherit go-github-com-stretchr-testify)
|
||||
|
@ -4850,31 +4655,6 @@ (define-public go-github-com-google-cadvisor
|
|||
containers.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-google-gofuzz
|
||||
(let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-google-gofuzz")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/gofuzz")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/google/gofuzz"))
|
||||
(home-page "https://github.com/google/gofuzz")
|
||||
(synopsis "Fuzz testing library for Go")
|
||||
(description "Gofuzz is a library for populationg Go objects with random
|
||||
values for the purpose of fuzz testing.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-gorilla-css
|
||||
(package
|
||||
(name "go-github-com-gorilla-css")
|
||||
|
@ -5724,39 +5504,6 @@ (define-public go-github-com-gorhill-cronexpr
|
|||
(license (list license:gpl3+
|
||||
license:asl2.0)))))
|
||||
|
||||
(define-public go-gopkg-in-check-v1
|
||||
(package
|
||||
(name "go-gopkg-in-check-v1")
|
||||
(version "1.0.0-20201130134442-10cb98267c6c")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/go-check/check")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:import-path "gopkg.in/check.v1"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs #:allow-other-keys #:rest args)
|
||||
(unless
|
||||
;; The tests fail when run with gccgo.
|
||||
(false-if-exception (search-input-file inputs "/bin/gccgo"))
|
||||
(apply (assoc-ref %standard-phases 'check) args)))))))
|
||||
(propagated-inputs
|
||||
(list go-github-com-kr-pretty))
|
||||
(home-page "https://gopkg.in/check.v1")
|
||||
(synopsis "Test framework for the Go language")
|
||||
(description "This package provides a test library for the Go language.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-gopkg-in-ini-v1
|
||||
(package
|
||||
(name "go-gopkg-in-ini-v1")
|
||||
|
@ -7059,38 +6806,6 @@ (define-public go-github-com-whyrusleeping-tar-utils
|
|||
(description "Tar utilities extracted from @command{go-ipfs} codebase.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-cheekybits-is
|
||||
(let ((commit "68e9c0620927fb5427fda3708222d0edee89eae9")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-cheekybits-is")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cheekybits/is")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/cheekybits/is"))
|
||||
(home-page "https://github.com/cheekybits/is")
|
||||
(synopsis "Mini testing helper for Go")
|
||||
(description "A mini testing helper for Go.
|
||||
|
||||
@itemize
|
||||
@item It has a simple interface (@command{is.OK} and @command{is.Equal}).
|
||||
@item It plugs into existing Go toolchain (uses @command{testing.T}).
|
||||
@item It's obvious for newcomers.
|
||||
@item It also gives you @command{is.Panic} and @command{is.PanicWith} helpers
|
||||
- because testing panics is ugly.
|
||||
@end itemize\n")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-sabhiram-go-gitignore
|
||||
(let ((commit "525f6e181f062064d83887ed2530e3b1ba0bc95a")
|
||||
(revision "1"))
|
||||
|
@ -7513,31 +7228,6 @@ (define-public go-github-com-kr-text
|
|||
(home-page "https://github.com/kr/text")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-golang-org-sql-mock
|
||||
(let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b")
|
||||
(version "1.3.3")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-golang-org-sql-mock")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/DATA-DOG/go-sqlmock")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/DATA-DOG/go-sqlmock"))
|
||||
(synopsis "Mock library implementing @code{sql/driver}")
|
||||
(description "This library simulates SQL-driver behavior in tests
|
||||
without requiring a real database connection.")
|
||||
(home-page "https://github.com/DATA-DOG/go-sqlmock")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-go-sql-driver-mysql
|
||||
(package
|
||||
(name "go-github-com-go-sql-driver-mysql")
|
||||
|
@ -9529,37 +9219,6 @@ (define-public go-github-com-sergi-go-diff
|
|||
@end itemize\n")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-alecthomas-assert
|
||||
(let ((commit "405dbfeb8e38effee6e723317226e93fff912d06")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "go-github-com-alecthomas-assert")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alecthomas/assert")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l567pi17k593nrd1qlbmiq8z9jy3qs60px2a16fdpzjsizwqx8l"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/alecthomas/assert"))
|
||||
(native-inputs
|
||||
(list go-github-com-mattn-go-isatty go-github-com-alecthomas-colour
|
||||
go-github-com-alecthomas-repr go-github-com-sergi-go-diff))
|
||||
(home-page "https://github.com/alecthomas/assert/")
|
||||
(synopsis "Go assertion library")
|
||||
(description "Assertion library that:
|
||||
@itemize
|
||||
@item makes spotting differences in equality much easier
|
||||
@item uses repr and diffmatchpatch to display structural differences in colour
|
||||
@item aborts tests on first assertion failure
|
||||
@end itemize\n")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-alecthomas-chroma
|
||||
(package
|
||||
(name "go-github-com-alecthomas-chroma")
|
||||
|
@ -10612,7 +10271,7 @@ (define-public go-github-com-xdg-go-scram
|
|||
(define-public go-github-com-godbus-dbus
|
||||
(package
|
||||
(name "go-github-com-godbus-dbus")
|
||||
(version "5.0.3")
|
||||
(version "5.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -10621,7 +10280,7 @@ (define-public go-github-com-godbus-dbus
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bkc904073k807yxg6mvqaxrr6ammmhginr9p54jfb55mz3hfw3s"))))
|
||||
"1kayd4x7idrhi06ahh5kqkgwzgh9icvv71mjar2d0jl486dfs8r5"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no /var/run/dbus/system_bus_socket
|
||||
|
@ -10634,6 +10293,53 @@ (define-public go-github-com-godbus-dbus
|
|||
bindings for the D-Bus message bus system.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public go-github-com-delthas-go-libnp
|
||||
(let ((commit "0e45ece1f878f202fee2c74801e287804668f677"))
|
||||
(package
|
||||
(name "go-github-com-delthas-go-libnp")
|
||||
(version (git-version "0.0.0" "0" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/delthas/go-libnp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hylpvwz3kb8wr00knba6mggjacak2vmqafwysansj0ns038lp8w"))))
|
||||
(build-system go-build-system)
|
||||
(arguments `(#:import-path "github.com/delthas/go-libnp"))
|
||||
(propagated-inputs (list go-github-com-godbus-dbus))
|
||||
(home-page "https://github.com/delthas/go-libnp")
|
||||
(synopsis "Tiny library providing information about now-playing media")
|
||||
(description "@code{go-libnp} is a tiny cross-platform library for
|
||||
extracting information about the music/image/video that is Now Playing on the
|
||||
system.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-delthas-go-localeinfo
|
||||
(let ((commit "686a1e18511819b2f1625f00437f6e1246c04a5d"))
|
||||
(package
|
||||
(name "go-github-com-delthas-go-localeinfo")
|
||||
(version (git-version "0.0.0" "0" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/delthas/go-localeinfo")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r0v42ggvyss8327nggwinxl42pj4l0dwz96g9wk1w8h8vmfrh0z"))))
|
||||
(build-system go-build-system)
|
||||
(arguments `(#:tests? #f ; FIXME: tests assume certain locale
|
||||
#:import-path "github.com/delthas/go-localeinfo"))
|
||||
(home-page "https://github.com/delthas/go-localeinfo")
|
||||
(synopsis "Library for extracting locale information")
|
||||
(description "@code{go-localeinfo} extracts monetary/numeric/time
|
||||
formatting information, rather than the current locale name.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-prometheus-common
|
||||
(package
|
||||
(name "go-github-com-prometheus-common")
|
||||
|
@ -11037,32 +10743,6 @@ (define-public go-github-com-gologme-log
|
|||
additions.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-github-com-frankban-quicktest
|
||||
(package
|
||||
(name "go-github-com-frankban-quicktest")
|
||||
(version "1.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/frankban/quicktest")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b1b44b2hli2p969gqz30z8v9z6ahlklpqzi17nwk1lsjz9yv938"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/frankban/quicktest"))
|
||||
(propagated-inputs
|
||||
(list go-github-com-google-go-cmp-cmp go-github-com-kr-pretty))
|
||||
(home-page "https://github.com/frankban/quicktest")
|
||||
(synopsis "Quick helpers for testing Go applications")
|
||||
(description
|
||||
"Package quicktest provides a collection of Go helpers for writing
|
||||
tests.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-bep-golibsass
|
||||
(package
|
||||
(name "go-github-com-bep-golibsass")
|
||||
|
@ -11741,34 +11421,6 @@ (define-public go-mvdan-cc-xurls
|
|||
(native-inputs '())
|
||||
(inputs '())))
|
||||
|
||||
(define-public go-golang-org-x-lint
|
||||
(let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-golang-org-x-lint")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://go.googlesource.com/lint")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "golang.org/x/lint"
|
||||
#:tests? #f)) ;; TODO: Fix tests
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-tools))
|
||||
(home-page "https://golang.org/x/lint")
|
||||
(synopsis "Linter for Go source code")
|
||||
(description
|
||||
"This is a linter for Go source code. Unlike gofmt, it doesn't
|
||||
reformat the source code, it only prints out style mistakes.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-github-com-kisielk-gotool
|
||||
(package
|
||||
(name "go-github-com-kisielk-gotool")
|
||||
|
@ -11793,37 +11445,6 @@ (define-public go-github-com-kisielk-gotool
|
|||
tools with similar semantics.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-honnef-co-go-tools
|
||||
(package
|
||||
(name "go-honnef-co-go-tools")
|
||||
(version "0.3.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dominikh/go-tools")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"099z04v7vvwwglnps315s9fmal68xvzlc1g8m26iqi980grbwn32"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "honnef.co/go/tools"
|
||||
#:tests? #f
|
||||
;; Source-only package
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'build))))
|
||||
(propagated-inputs (list go-golang-org-x-exp go-golang-org-x-tools
|
||||
go-golang-org-x-mod go-github-com-kisielk-gotool
|
||||
go-github-com-burntsushi-toml))
|
||||
(home-page "https://honnef.co/go/tools")
|
||||
(synopsis "Staticcheck advanced Go linter")
|
||||
(description
|
||||
"Staticcheck is a state of the art linter for the Go programming language.
|
||||
Using static analysis, it finds bugs and performance issues, offers
|
||||
simplifications, and enforces style rules.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-go-uber-org-zap
|
||||
(package
|
||||
(name "go-go-uber-org-zap")
|
||||
|
@ -13124,35 +12745,6 @@ (define-public go-github-com-google-go-jsonnet
|
|||
implementation.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-google-go-cmdtest
|
||||
(let ((commit "55ab3332a786118933ddf71544aae14951ba9bc5")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-google-go-cmdtest")
|
||||
(version (git-version "0.4.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/go-cmdtest")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10kswvbdwissjb5mr0ys4b3ppxkxlpklqg7cr2z7rv21g2vwczbl"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/google/go-cmdtest"))
|
||||
(propagated-inputs (list go-github-com-google-renameio
|
||||
go-github-com-google-go-cmp-cmp))
|
||||
(home-page "https://github.com/google/go-cmdtest")
|
||||
(synopsis "Testing for your CLI")
|
||||
(description
|
||||
"The cmdtest package simplifies testing of command-line interfaces. It
|
||||
provides a simple, cross-platform, shell-like language to express command
|
||||
execution. It can compare actual output with the expected output, and can
|
||||
also update a file with new \"golden\" output that is deemed correct.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public go-github-com-google-safehtml
|
||||
(package
|
||||
(name "go-github-com-google-safehtml")
|
||||
|
@ -13908,34 +13500,6 @@ (define-public go-github-com-onsi-gomega
|
|||
"Gomega is the preferred matcher library for the Ginkgo test framework.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-onsi-ginkgo
|
||||
(package
|
||||
(name "go-github-com-onsi-ginkgo")
|
||||
(version "1.16.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/onsi/ginkgo")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hh6n7q92y0ai8k6rj2yzw6wwxikhyiyk4j92zgvf1zad0gmqqmz"))))
|
||||
(build-system go-build-system)
|
||||
(arguments (list #:import-path "github.com/onsi/ginkgo"))
|
||||
(propagated-inputs (list go-golang-org-x-sys
|
||||
go-golang-org-x-tools
|
||||
go-github-com-go-task-slim-sprig
|
||||
go-github-com-nxadm-tail
|
||||
go-github-com-onsi-gomega))
|
||||
(home-page "https://github.com/onsi/ginkgo")
|
||||
(synopsis "BDD-style testing framework for Go")
|
||||
(description
|
||||
"Ginkgo is a Behaviour-Driven Development testing framework for Go. It
|
||||
builds on top of Go's builtin @code{testing} library and is complemented by the
|
||||
Gomega matcher library.")
|
||||
(license license:expat)))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
;;; of a merge conflict, place them above by existing packages with similar
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
|
||||
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
|
||||
|
@ -121,6 +121,7 @@ (define-module (gnu packages graphics)
|
|||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages toolkits)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages xiph)
|
||||
|
@ -1038,7 +1039,7 @@ (define-public alembic
|
|||
(define-public mangohud
|
||||
(package
|
||||
(name "mangohud")
|
||||
(version "0.6.8")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1047,21 +1048,18 @@ (define-public mangohud
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19dp8l5njzl9xah0bhwlkl39vc8w2rnpvpdrhgaz3hnhz8b0r5df"))))
|
||||
(base32 "1m4a2dqzqdhk9w1gvzppid7k0fxvplh5hmivvj9sda529s1g24rc"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:build-type "release"
|
||||
#:configure-flags
|
||||
#~(list "-Duse_system_vulkan=enabled"
|
||||
"-Duse_system_spdlog=enabled"
|
||||
#~(list "-Duse_system_spdlog=enabled"
|
||||
"-Dwith_xnvctrl=disabled"
|
||||
"-Dappend_libdir_mangohud=false"
|
||||
(string-append "-Dvulkan_datadir="
|
||||
#$(this-package-input "vulkan-headers") "/share"))
|
||||
"-Dappend_libdir_mangohud=false")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Mangohud tries to build the imgui library as a meson submodule,
|
||||
;; 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 _
|
||||
|
@ -1073,6 +1071,23 @@ (define-public mangohud
|
|||
"declare_dependency(dependencies: "
|
||||
"cpp.find_library('imgui'), include_directories: '"
|
||||
#$(this-package-input "imgui") "/include/imgui')")))))
|
||||
;; Likewise, MangoHud bundles a Vulkan headers submodule to use a
|
||||
;; specific version, which we provide as an input and adjust the
|
||||
;; build accordingly.
|
||||
(add-after 'unbundle-imgui 'unbundle-vulkan-headers
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "meson.build"
|
||||
(("vkh_sp = .*")
|
||||
"")
|
||||
(("vkh_sp.get_variable\\('vulkan_api_xml'\\)")
|
||||
(string-append "files('"
|
||||
(search-input-file inputs "registry/vk.xml")
|
||||
"')"))
|
||||
(("dep_vulkan = .*")
|
||||
""))
|
||||
(substitute* "src/meson.build"
|
||||
(("dep_vulkan,")
|
||||
""))))
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/meson.build"
|
||||
|
@ -1098,11 +1113,20 @@ (define-public mangohud
|
|||
libx11
|
||||
mesa
|
||||
mesa-utils
|
||||
nlohmann-json
|
||||
python-mako
|
||||
spdlog
|
||||
vulkan-headers
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KhronosGroup/Vulkan-Headers")
|
||||
(commit "v1.2.158")))
|
||||
(file-name (git-file-name "vulkan" "v1.2.158"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jvaqj87792yccpr290djb18pqaisspq9dw6bqim6mrhfgda9v76")))
|
||||
vulkan-loader))
|
||||
(native-inputs (list pkg-config python))
|
||||
(native-inputs (list git-minimal/pinned 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
|
||||
|
@ -2526,7 +2550,7 @@ (define-public discregrid
|
|||
(define-public mmg
|
||||
(package
|
||||
(name "mmg")
|
||||
(version "5.7.1")
|
||||
(version "5.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2535,7 +2559,7 @@ (define-public mmg
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0skb7yzsw6y44zp9gb729i5xks7qd97nvn3z6jhz4jksqksx7lz0"))))
|
||||
(base32 "007d0mvqhnxxj6dbcip9s615asrbpgrbkpm5xn6m8k3n9sljr153"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "lib" "doc"))
|
||||
(arguments
|
||||
|
@ -2736,7 +2760,7 @@ (define-public asli
|
|||
(define-public f3d
|
||||
(package
|
||||
(name "f3d")
|
||||
(version "2.0.0")
|
||||
(version "2.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2745,22 +2769,12 @@ (define-public f3d
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gcwpdkz3ylaxi133zri1cxkvj6za5s1hbgqqc8fn10q2dkkdd44"))
|
||||
(base32 "0f076754zsxb4gwk6bxj94iyjj0dfxmmc8w88f55xd6hbm3qdnwd"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file "external/cxxopts.hpp")
|
||||
(delete-file "external/json.hpp")
|
||||
(substitute* "application/F3DOptionsParser.cxx"
|
||||
(("^#include \"cxxopts\\.hpp\"")
|
||||
"#include <cxxopts.hpp>")
|
||||
(("^#include \"json\\.hpp\"")
|
||||
"#include <nlohmann/json.hpp>")
|
||||
(("cxxopts::OptionException")
|
||||
"cxxopts::exceptions::parsing"))
|
||||
(substitute* "library/src/engine.cxx"
|
||||
(("^#include <json\\.hpp>")
|
||||
"#include <nlohmann/json.hpp>"))))))
|
||||
(delete-file-recursively "external/cxxopts")
|
||||
(delete-file-recursively "external/nlohmann_json")))))
|
||||
(build-system cmake-build-system)
|
||||
;; The package cannot easily be split into out and lib outputs because
|
||||
;; VTK's vtkModule.cmake complains, and also the CMake files in
|
||||
|
@ -2783,15 +2797,29 @@ (define-public f3d
|
|||
#~(list (string-append "-DCMAKE_INSTALL_DOCDIR=" #$output
|
||||
"/share/doc/" #$name "-" #$version)
|
||||
"-DBUILD_TESTING=OFF"
|
||||
"-DF3D_GENERATE_MAN=ON"
|
||||
"-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE=ON"
|
||||
"-DF3D_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON"
|
||||
"-DF3D_INSTALL_MIME_TYPES_FILES=ON"
|
||||
"-DF3D_INSTALL_THUMBNAILER_FILES=ON"
|
||||
"-DF3D_MODULE_ALEMBIC=ON"
|
||||
"-DF3D_MODULE_ASSIMP=ON"
|
||||
"-DF3D_LINUX_GENERATE_MAN=ON"
|
||||
"-DF3D_USE_EXTERNAL_CXXOPTS=ON"
|
||||
"-DF3D_USE_EXTERNAL_NLOHMANN_JSON=ON"
|
||||
"-DF3D_MODULE_EXTERNAL_RENDERING=ON"
|
||||
"-DF3D_MODULE_OCCT=ON")))
|
||||
"-DF3D_MODULE_EXR=ON"
|
||||
"-DF3D_PLUGIN_BUILD_ALEMBIC=ON"
|
||||
"-DF3D_PLUGIN_BUILD_ASSIMP=ON"
|
||||
"-DF3D_PLUGIN_BUILD_OCCT=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cmake-rpath
|
||||
(lambda _
|
||||
;; Expand $ORIGIN, and add VTK to library RPATH, because it is
|
||||
;; not added automatically.
|
||||
(substitute* "application/CMakeLists.txt"
|
||||
(("(set_target_properties.*PROPERTIES.*INSTALL_RPATH ).*"
|
||||
_ prefix)
|
||||
(string-append prefix "\"" #$output "/lib\")\n")))
|
||||
(substitute* "library/CMakeLists.txt"
|
||||
(("(set_target_properties.*PROPERTIES.*INSTALL_RPATH ).*"
|
||||
_ prefix)
|
||||
(string-append prefix "\"" #$output "/lib:"
|
||||
#$(this-package-input "vtk") "/lib\")\n"))))))))
|
||||
(native-inputs
|
||||
(list cxxopts
|
||||
help2man
|
||||
|
@ -2815,6 +2843,7 @@ (define-public f3d
|
|||
lz4
|
||||
netcdf
|
||||
opencascade-occt
|
||||
openexr
|
||||
vtk
|
||||
zlib))
|
||||
(home-page "https://f3d-app.github.io/f3d/")
|
||||
|
|
|
@ -808,22 +808,29 @@ (define-public at-spi2-core
|
|||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR")) ;xfconfd requires a writable HOME
|
||||
;; Run test-suite under a dbus session.
|
||||
(setenv "XDG_DATA_DIRS" ;for finding org.xfce.Xfconf.service
|
||||
(string-append #$output "/share:" (getenv "XDG_DATA_DIRS")))
|
||||
;; Don't fail on missing '/etc/machine-id'.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(with-directory-excursion (string-append "../at-spi2-core-"
|
||||
#$version "")
|
||||
(invoke "dbus-run-session" "--" "ci/run-registryd-tests.sh")
|
||||
(substitute* "ci/run-tests.sh"
|
||||
(("ps auxwww") "") ;avoid a dependency on procps
|
||||
(("meson test -C _build")
|
||||
"meson test -C ../build")) ;adjust build directory
|
||||
(invoke "dbus-run-session" "--" "ci/run-tests.sh")))))))
|
||||
;; The CI test suite fails completely on powerpc-linux.
|
||||
;; The name org.gnome.SessionManager was not provided by any .service
|
||||
;; TODO: Wrap 'check phase with 'tests?'.
|
||||
#$@(if (not (target-ppc32?))
|
||||
#~((add-after 'install 'check
|
||||
(lambda _
|
||||
;; xfconfd requires a writable HOME
|
||||
(setenv "HOME" (getenv "TMPDIR"))
|
||||
;; Run test-suite under a dbus session.
|
||||
(setenv "XDG_DATA_DIRS" ;for finding org.xfce.Xfconf.service
|
||||
(string-append #$output "/share:"
|
||||
(getenv "XDG_DATA_DIRS")))
|
||||
;; Don't fail on missing '/etc/machine-id'.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(with-directory-excursion (string-append "../at-spi2-core-"
|
||||
#$version "")
|
||||
(invoke "dbus-run-session" "--" "ci/run-registryd-tests.sh")
|
||||
(substitute* "ci/run-tests.sh"
|
||||
(("ps auxwww") "") ;avoid a dependency on procps
|
||||
(("meson test -C _build")
|
||||
"meson test -C ../build")) ;adjust build directory
|
||||
(invoke "dbus-run-session" "--" "ci/run-tests.sh")))))
|
||||
#~()))))
|
||||
(inputs
|
||||
(list bash-minimal libxml2))
|
||||
(propagated-inputs
|
||||
|
|
|
@ -3295,6 +3295,32 @@ (define-public python-on-guile
|
|||
from @code{tree-il}.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public guile-hoot
|
||||
(package
|
||||
(name "guile-hoot")
|
||||
(version "0.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://spritely.institute/files/releases"
|
||||
"/guile-hoot/guile-hoot-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1087rcj22hk6fcbqajm268f1q2c3kbizah8wy1z0aqkfliwc309g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("GUILE_AUTO_COMPILE=0"
|
||||
"WASM_HOST=hoot")))
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config texinfo))
|
||||
(inputs
|
||||
(list guile-next))
|
||||
(synopsis "WebAssembly compiler backend for Guile")
|
||||
(description "Guile Hoot is a WebAssembly compiler backend for GNU Guile
|
||||
and standalone WASM toolchain.")
|
||||
(home-page "https://spritely.institute/hoot")
|
||||
(license (list license:asl2.0 license:lgpl3+))))
|
||||
|
||||
(define-public guile-file-names
|
||||
(package
|
||||
(name "guile-file-names")
|
||||
|
@ -5444,7 +5470,7 @@ (define-public guile2.2-smc
|
|||
(define-public guile-ini
|
||||
(package
|
||||
(name "guile-ini")
|
||||
(version "0.5.3")
|
||||
(version "0.5.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -5453,7 +5479,7 @@ (define-public guile-ini
|
|||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03pdbas7f6r2q3jbcn68xpm57hika3byb4rhsf0544kw6yk3bm8q"))))
|
||||
"10glfdhyv8h58cmf0xl1g7jk05pd5hzdncc2c709b8pyncrdiakh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
|
|
|
@ -457,7 +457,7 @@ (define-public guile-3.0/pinned
|
|||
(define-public guile-next
|
||||
(let ((version "3.0.9")
|
||||
(revision "0")
|
||||
(commit "c2cba86785a34351788f52ea4fccf9f10f3a1dee"))
|
||||
(commit "79e836b8cc601a1259c934000a953a8d739ddd6f"))
|
||||
(package
|
||||
(inherit guile-3.0)
|
||||
(name "guile-next")
|
||||
|
@ -471,7 +471,7 @@ (define-public guile-next
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k0dkmyf9s4iynjj2qm0szqfpfd3b07cpj0fay14iwbidkrqndzf"))))
|
||||
"0s90khsdbvrkykp58izkvyxf8jciggdapm29dc3lzk3s1shajlgm"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guile-3.0)
|
||||
((#:phases phases '%standard-phases)
|
||||
|
|
|
@ -122,7 +122,7 @@ (define-module (gnu packages image)
|
|||
(define-public converseen
|
||||
(package
|
||||
(name "converseen")
|
||||
(version "0.9.11.1")
|
||||
(version "0.11.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -131,7 +131,7 @@ (define-public converseen
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nxvac8df47gxg1klqlz0s3rxl0ykrikmciniwkb938bgilmaijm"))
|
||||
"1imc0dbbrs96yv3mp6bs7whd14zvgdw7hmv87bz8lp7d739s74z4"))
|
||||
(patches
|
||||
(search-patches "converseen-hide-updates-checks.patch"
|
||||
;; Remove links to sites relying on non-free
|
||||
|
@ -1528,6 +1528,12 @@ (define-public exiv2
|
|||
"-DEXIV2_ENABLE_BMFF=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-gcc-reference
|
||||
(lambda _
|
||||
;; _GLIBCXX_ASSERTIONS brings reference to GCC.
|
||||
(substitute* "cmake/compilerFlags.cmake"
|
||||
(("add_compile_options[(]-Wp,-D_GLIBCXX_ASSERTIONS[)]")
|
||||
""))))
|
||||
(add-after 'install 'delete-static-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
|
|
@ -29,6 +29,7 @@ (define-module (gnu packages ipfs)
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages syncthing))
|
||||
|
|
|
@ -67,6 +67,7 @@ (define-module (gnu packages irc)
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages guile-xyz)
|
||||
|
@ -313,7 +314,7 @@ (define-public quassel
|
|||
(define-public irssi
|
||||
(package
|
||||
(name "irssi")
|
||||
(version "1.4.4")
|
||||
(version "1.4.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/irssi/irssi/"
|
||||
|
@ -321,7 +322,7 @@ (define-public irssi
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bby23mn7318dmxf8aw9ahs6j4mbc0ilm4swji4m8ixiqz49xzpy"))))
|
||||
"0qp05z2qfqhp5wawxqz7qwv2fh9sb801z032i5d7h8nn1b5m3abj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
|
||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016, 2018-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016-2023 Marius Bakke <marius@gnu.org>
|
||||
|
@ -76,6 +76,7 @@
|
|||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 dan <i@dan.games>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -492,7 +493,7 @@ (define (%upstream-linux-source version hash)
|
|||
;; The current "stable" kernels. That is, the most recently released major
|
||||
;; versions that are still supported upstream.
|
||||
|
||||
(define-public linux-libre-6.5-version "6.5.5")
|
||||
(define-public linux-libre-6.5-version "6.5.7")
|
||||
(define-public linux-libre-6.5-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.5
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -502,30 +503,15 @@ (define deblob-scripts-6.5
|
|||
(base32 "132ps1jprxw6kqyscsar38fn7s12kg416mfhz7w702f4ajgq1ndi")))
|
||||
(define-public linux-libre-6.5-pristine-source
|
||||
(let ((version linux-libre-6.5-version)
|
||||
(hash (base32 "15gg8sb6cfgk1afwj7fl7mj4nkj14w43vzwvw0qsg3nzyxwh7wcc")))
|
||||
(hash (base32 "135v3y2vgc83dca4xi7q52wqi4dkfal74k1y73jwzj85h12fl28d")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.5)))
|
||||
|
||||
(define-public linux-libre-6.4-version "6.4.16")
|
||||
(define-public linux-libre-6.4-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.4
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.4-version
|
||||
linux-libre-6.4-gnu-revision
|
||||
(base32 "012d16rjprxdv9frf7kcakpikvw7l0s3kvj4kkp9flzdg3j8wxpz")
|
||||
(base32 "02zizxf0dp4291hbvjrif04m19h8rrc55c11qinlrm0p19s9srcx")))
|
||||
(define-public linux-libre-6.4-pristine-source
|
||||
(let ((version linux-libre-6.4-version)
|
||||
(hash (base32 "0zgj1z97jyx7wf12zrnlcp0mj4cl43ais9qsy6dh1jwylf2fq9ln")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.4)))
|
||||
|
||||
;; The "longterm" kernels — the older releases with long-term upstream support.
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
(define-public linux-libre-6.1-version "6.1.53")
|
||||
(define-public linux-libre-6.1-version "6.1.58")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -535,12 +521,12 @@ (define deblob-scripts-6.1
|
|||
(base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "0zpdg3fcc12iyjhfs5w7cw75700z4i8m9jcg38mlzlhh92hf0msz")))
|
||||
(hash (base32 "1b913ina3rcw4dx2s7n37kynv8rqsmrqa2ialsib6h7nsb9px66f")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.131")
|
||||
(define-public linux-libre-5.15-version "5.15.135")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -550,12 +536,12 @@ (define deblob-scripts-5.15
|
|||
(base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "0sacnbw48lblnqaj56nybh588sq4k84gwf0r5zinzyrryj8k6z4r")))
|
||||
(hash (base32 "0w3i8jvzqvfnlarcvg89k1144ln96fszv16lzrn16zr3kri5x0ql")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.194")
|
||||
(define-public linux-libre-5.10-version "5.10.198")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -565,12 +551,12 @@ (define deblob-scripts-5.10
|
|||
(base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "15fr7krhpmqz0xqjg78m2xvfllbni3xh8xyhxh9ni31ppd3mw394")))
|
||||
(hash (base32 "01gsw96anw44nh8ii3zipp6vh61m1n8yf0bv2fzznr23k771y51b")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.256")
|
||||
(define-public linux-libre-5.4-version "5.4.258")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -580,12 +566,12 @@ (define deblob-scripts-5.4
|
|||
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "0fim5q9xakwnjfg48bpsic9r2r8dvrjlalqqkm9vh1rml9mhi967")))
|
||||
(hash (base32 "0gk2xav1ng565l1qsqlr8ja6m4j5g8rfj66vad1fmdd1lwaihw1r")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.294")
|
||||
(define-public linux-libre-4.19-version "4.19.296")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -595,12 +581,12 @@ (define deblob-scripts-4.19
|
|||
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "03x0xsb8a369zdr81hg6xdl5n5v48k6iwnhj6r29725777lvvbfc")))
|
||||
(hash (base32 "1bk051canr4fb00j6x9ff2wam2f20whw4h4z767x2cn2kmv6cqb3")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.325")
|
||||
(define-public linux-libre-4.14-version "4.14.327")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -610,7 +596,7 @@ (define deblob-scripts-4.14
|
|||
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "117p1mdha57f6d3kdwac9jrbmib7g77q4xhir8ghl6fmrs1f2sav")))
|
||||
(hash (base32 "0nharfyxlr17yan86zrhlbq7idm0g3zvvvmy2zbw7m9dhgc8bw5z")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
@ -648,11 +634,6 @@ (define-public linux-libre-6.5-source
|
|||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch)))
|
||||
|
||||
(define-public linux-libre-6.4-source
|
||||
(source-with-patches linux-libre-6.4-pristine-source
|
||||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch)))
|
||||
|
||||
(define-public linux-libre-6.1-source
|
||||
(source-with-patches linux-libre-6.1-pristine-source
|
||||
(append
|
||||
|
@ -772,11 +753,6 @@ (define-public linux-libre-headers-6.5
|
|||
linux-libre-6.5-gnu-revision
|
||||
linux-libre-6.5-source))
|
||||
|
||||
(define-public linux-libre-headers-6.4
|
||||
(make-linux-libre-headers* linux-libre-6.4-version
|
||||
linux-libre-6.4-gnu-revision
|
||||
linux-libre-6.4-source))
|
||||
|
||||
(define-public linux-libre-headers-6.1
|
||||
(make-linux-libre-headers* linux-libre-6.1-version
|
||||
linux-libre-6.1-gnu-revision
|
||||
|
@ -1124,19 +1100,11 @@ (define-public linux-libre-6.5
|
|||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-6.4
|
||||
(make-linux-libre* linux-libre-6.4-version
|
||||
linux-libre-6.4-gnu-revision
|
||||
linux-libre-6.4-source
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux"
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-6.4-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-6.4-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-6.4-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-6.4-source)
|
||||
(define-public linux-libre linux-libre-6.4)
|
||||
(define-public linux-libre-version linux-libre-6.5-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-6.5-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-6.5-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-6.5-source)
|
||||
(define-public linux-libre linux-libre-6.5)
|
||||
|
||||
(define-public linux-libre-6.1
|
||||
(make-linux-libre* linux-libre-6.1-version
|
||||
|
@ -1369,9 +1337,9 @@ (define-public linux-libre-mips64el-fuloong2e
|
|||
(define-public linux-libre-with-bpf
|
||||
(let ((base-linux-libre
|
||||
(make-linux-libre*
|
||||
linux-libre-6.4-version
|
||||
linux-libre-6.4-gnu-revision
|
||||
linux-libre-6.4-source
|
||||
linux-libre-6.5-version
|
||||
linux-libre-6.5-gnu-revision
|
||||
linux-libre-6.5-source
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux"
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:extra-version "bpf"
|
||||
|
@ -5237,45 +5205,45 @@ (define-public singularity
|
|||
;; supported since Linux-libre 5.4.5.
|
||||
(substitute* "src/lib/image/squashfs/mount.c"
|
||||
(("\"errors=remount-ro\"")
|
||||
"NULL"))
|
||||
#t))))
|
||||
"NULL"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--localstatedir=/var")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-references
|
||||
(lambda _
|
||||
(substitute* "libexec/cli/build.exec.in"
|
||||
(("-mksquashfs") (string-append "-" (which "mksquashfs"))))
|
||||
(substitute* (append
|
||||
(list
|
||||
#:configure-flags #~(list "--localstatedir=/var")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-references
|
||||
(lambda _
|
||||
(substitute* "libexec/cli/build.exec.in"
|
||||
(("-mksquashfs") (string-append "-" (which "mksquashfs"))))
|
||||
(substitute* (append
|
||||
(find-files "libexec" "functions")
|
||||
(find-files "libexec/bootstrap-scripts" ".*sh$")
|
||||
(find-files "libexec/cli" ".*exec$"))
|
||||
(("\\| grep ")
|
||||
(string-append "| " (which "grep") " "))
|
||||
(("egrep ")
|
||||
(string-append (which "egrep") " "))
|
||||
((" sed ")
|
||||
(string-append " " (which "sed") " ")))
|
||||
#t))
|
||||
(add-after 'install 'set-PATH
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Have the 'singularity' and 'run-singularity' self-sufficient.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(coreutils (assoc-ref inputs "coreutils")))
|
||||
(wrap-program (string-append out "/bin/singularity")
|
||||
`("PATH" ":" = (,(string-append coreutils "/bin"))))
|
||||
(substitute* (string-append out "/bin/run-singularity")
|
||||
(("/usr/bin/env singularity")
|
||||
(string-append (which "env") " "
|
||||
out "/bin/singularity")))
|
||||
#t))))))
|
||||
(("\\| grep ")
|
||||
(string-append "| " (which "grep") " "))
|
||||
(("egrep ")
|
||||
(string-append (which "egrep") " "))
|
||||
((" sed ")
|
||||
(string-append " " (which "sed") " ")))))
|
||||
(add-after 'install 'set-PATH
|
||||
(lambda _
|
||||
;; Have the 'singularity' and 'run-singularity' self-sufficient.
|
||||
;; But don't override PATH, so that other tools like zcat and
|
||||
;; tar can still be found if they are available.
|
||||
(let ((coreutils #$(this-package-input "coreutils")))
|
||||
(wrap-program (string-append #$output "/bin/singularity")
|
||||
`("PATH" prefix (,(string-append coreutils "/bin"))))
|
||||
(substitute* (string-append #$output "/bin/run-singularity")
|
||||
(("/usr/bin/env singularity")
|
||||
(string-append (which "env") " "
|
||||
#$output "/bin/singularity")))))))))
|
||||
(inputs
|
||||
`(("libarchive" ,libarchive)
|
||||
("python" ,python-wrapper)
|
||||
("zlib" ,zlib)
|
||||
("squashfs-tools" ,squashfs-tools)))
|
||||
(list coreutils
|
||||
libarchive
|
||||
python-wrapper
|
||||
squashfs-tools
|
||||
zlib))
|
||||
(home-page "https://singularity.lbl.gov/")
|
||||
(synopsis "Container platform")
|
||||
(description "Singularity is a container platform supporting a number of
|
||||
|
@ -9470,7 +9438,7 @@ (define-public wireplumber
|
|||
(define-public ell
|
||||
(package
|
||||
(name "ell")
|
||||
(version "0.57")
|
||||
(version "0.59")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -9479,7 +9447,7 @@ (define-public ell
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vpzz0z6q0d3h41aqajaw0dlpkdnmjcppmlwbb558hvj40q5dpzm"))))
|
||||
"11xlkdvw7pyd9idq1zsnl946dry9aksnz29wbpzxqjc97xhhd5xq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Tests launch dbus-daemon instances that all try to bind to
|
||||
|
@ -9488,7 +9456,7 @@ (define-public ell
|
|||
(inputs
|
||||
(list dbus))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(list autoconf automake libtool pkg-config procps))
|
||||
(home-page "https://01.org/ell")
|
||||
(synopsis "Embedded Linux Library")
|
||||
(description "The Embedded Linux* Library (ELL) provides core, low-level
|
||||
|
@ -10503,6 +10471,7 @@ (define-public csmith
|
|||
(uri (git-reference
|
||||
(url "https://github.com/csmith-project/csmith")
|
||||
(commit (string-append "csmith-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nhrsnv6cny14xz68qb1h30fbwc05adkisk51p3x63mydm60ddl3"))))
|
||||
|
@ -10529,3 +10498,66 @@ (define-public csmith
|
|||
(description "The primary purpose of Csmith is to find compiler bugs with
|
||||
random programs using differential testing.")
|
||||
(license license:bsd-4)))
|
||||
|
||||
(define-public ipvsadm
|
||||
(package
|
||||
(name "ipvsadm")
|
||||
(version "1.31")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://kernel.org/pub/linux/utils/kernel"
|
||||
"/ipvsadm/ipvsadm-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1nyzpv1hx75k9lh0vfxfhc0p2fpqaqb38xpvs8sn88m1nljmw2hs"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list linux-libre-headers pkg-config which))
|
||||
(inputs (list libnl popt))
|
||||
(arguments
|
||||
(list #:tests? #f
|
||||
#:parallel-build? #f ;build fails randomly with '-j'
|
||||
#:make-flags
|
||||
#~(list (string-join
|
||||
(list "CFLAGS="
|
||||
(string-append "-I"
|
||||
#$(this-package-input "libnl")
|
||||
"/include/libnl3")
|
||||
(string-append "-L" #$(this-package-input "libnl")
|
||||
"/lib")
|
||||
"-fPIC")
|
||||
" ")
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "SBIN=" #$output "/sbin")
|
||||
(string-append "INIT=" #$output "/etc/init.d")
|
||||
(string-append "MANDIR=" #$output "/share/man"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(home-page "http://www.linuxvirtualserver.org/software/ipvs.html")
|
||||
(synopsis "IP virtual server administration utility")
|
||||
(description "@code{ipvsadm(8)} is used to set up, maintain or inspect the
|
||||
virtual server table in the Linux kernel. The Linux Virtual Server can be used
|
||||
to build scalable network services based on a cluster of two or more nodes.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ryzen-smu
|
||||
(package
|
||||
(name "ryzen-smu")
|
||||
(version "0.1.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/leogx9r/ryzen_smu.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"010la2a8zp7rljlg5ssc9ragzva4ca05gvzlicjagl508659d2wz"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests
|
||||
(synopsis "System Management Unit driver for AMD Ryzen processors")
|
||||
(description "This package provides a way to access the
|
||||
System Management Unit for certain AMD Ryzen processors.
|
||||
This includes access to the System Management Network.")
|
||||
(home-page "https://gitlab.com/leogx9r/ryzen_smu")
|
||||
(license license:gpl2)))
|
||||
|
|
|
@ -39,6 +39,8 @@
|
|||
;;; Copyright © 2022, 2023 Artyom Bologov <mail@aartaka.me>
|
||||
;;; Copyright © 2023 Roman Scherer <roman@burningswell.com>
|
||||
;;; Copyright © 2023 ykonai <mail@ykonai.net>
|
||||
;;; Copyright © 2023 Gabriel Hondet <gabriel.hondet@cominety.net>
|
||||
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -72,6 +74,7 @@ (define-module (gnu packages lisp-xyz)
|
|||
#:use-module (guix build-system asdf)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages c)
|
||||
|
@ -2172,6 +2175,48 @@ (define-public cl-clx
|
|||
(define-public ecl-clx
|
||||
(sbcl-package->ecl-package sbcl-clx))
|
||||
|
||||
(define-public sbcl-cl-wayland
|
||||
(let ((commit "a92a5084b64102f538ab90212e99c7863e5338ae")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-cl-wayland")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sdilts/cl-wayland")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-wayland" version))
|
||||
(sha256
|
||||
(base32 "1r4fn9dc0dz2b30k8z243yacx1y5z21qk4zh2ildj7ak51qx53zf"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "wayland-server-core.lisp"
|
||||
(("libwayland-server.so")
|
||||
(search-input-file inputs
|
||||
"/lib/libwayland-server.so"))))))))
|
||||
(inputs
|
||||
(list sbcl-cffi
|
||||
sbcl-closer-mop
|
||||
wayland))
|
||||
(home-page "https://github.com/sdilts/cl-wayland")
|
||||
(synopsis "Common Lisp FFI bindings for libwayland")
|
||||
(description
|
||||
"This package provides Common Lisp FFI bindings for libwayland,
|
||||
primarily for the mahogany window manager.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public cl-wayland
|
||||
(sbcl-package->cl-source-package sbcl-cl-wayland))
|
||||
|
||||
(define-public ecl-cl-wayland
|
||||
(sbcl-package->ecl-package sbcl-cl-wayland))
|
||||
|
||||
(define-public sbcl-clx-truetype
|
||||
(let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8")
|
||||
(revision "1"))
|
||||
|
@ -5531,8 +5576,8 @@ (define-public cl-trivial-arguments
|
|||
(sbcl-package->cl-source-package sbcl-trivial-arguments))
|
||||
|
||||
(define-public sbcl-trivial-clipboard
|
||||
(let ((commit "6ddf8d5dff8f5c2102af7cd1a1751cbe6408377b")
|
||||
(revision "6"))
|
||||
(let ((commit "aee67d6132a46237f61d508ae4bd9ff44032566d")
|
||||
(revision "7"))
|
||||
(package
|
||||
(name "sbcl-trivial-clipboard")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -5544,7 +5589,7 @@ (define-public sbcl-trivial-clipboard
|
|||
(commit commit)))
|
||||
(file-name (git-file-name "cl-trivial-clipboard" version))
|
||||
(sha256
|
||||
(base32 "04qmm69zyx8rs23pfhgzgxn0j108byv3b7skfdv0h01a76wlhplz"))))
|
||||
(base32 "029qmx523xfk54p99ndgbmdd20s5i32mzpf77xymngrn4c33v9jk"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
;; Pick xsel instead of xclip because its closure size is slightly
|
||||
|
@ -10493,6 +10538,36 @@ (define-public cl-staple
|
|||
(define-public ecl-staple
|
||||
(sbcl-package->ecl-package sbcl-staple))
|
||||
|
||||
(define-public sbcl-helambdap
|
||||
(let ((commit "5bf65f57a36ee094cadb096caca6e90eb3ba46c4")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-helambdap")
|
||||
(version (git-version "20220103" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.code.sf.net/p/helambdap/code")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-helambdap" version))
|
||||
(sha256
|
||||
(base32 "1kzapbf9l2bw8i9m9sxv0dfnkksrxq81d5hbn34pm25abk0i937j"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-cl-fad
|
||||
sbcl-clad
|
||||
sbcl-split-sequence
|
||||
sbcl-xhtmlambda))
|
||||
(synopsis "Common Lisp documentation system")
|
||||
(description "HELambdap is a Common Lisp documentation system which
|
||||
strives to be simple to use, yet easily customizable.")
|
||||
(home-page "https://helambdap.sourceforge.net")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-helambdap
|
||||
(sbcl-package->cl-source-package sbcl-helambdap))
|
||||
|
||||
(define-public sbcl-form-fiddle
|
||||
(let ((commit "e0c23599dbb8cff3e83e012f3d86d0764188ad18")
|
||||
(revision "0"))
|
||||
|
@ -10594,6 +10669,74 @@ (define-public cl-lass
|
|||
(define-public ecl-lass
|
||||
(sbcl-package->ecl-package sbcl-lass))
|
||||
|
||||
(define-public sbcl-xhtmlambda
|
||||
(let ((commit "c86376bccebf77ca428e8033df2ba7d8450ea1e8")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-xhtmlambda")
|
||||
(version
|
||||
;; The source repository doesn't provide any version nor revision, but
|
||||
;; a timestamp
|
||||
(git-version "2022-01-21" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.common-lisp.net/xhtmlambda/XHTMLambda")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-xhtmlambda" version))
|
||||
(sha256
|
||||
(base32 "0narbzz06ry1wn048avm1fwihvnjvvc4wfcv5hmdazkilpvnqz2y"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs (list sbcl-cl-unicode))
|
||||
(synopsis "(X)HTML library for Common Lisp")
|
||||
(description
|
||||
"(X)HTMLambda is yet another (X)HTML library which
|
||||
emphasizes programmability and user-friendliness. Each (X)HTML element is a
|
||||
structured object and pretty-printing of (X)HTML trees is well defined to
|
||||
provide properly indented human-readable output even for complex recursive
|
||||
arrangements.")
|
||||
(home-page "https://xhtmlambda.common-lisp.dev/")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-xhtmlambda
|
||||
(sbcl-package->cl-source-package sbcl-xhtmlambda))
|
||||
|
||||
(define-public sbcl-clad
|
||||
(let ((commit "1ff6f417d4ee3836d1edd96923d4b03f3cafa849")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-clad")
|
||||
(version
|
||||
;; There's no version, but there's a timestamp
|
||||
(git-version "2023-01-21" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.common-lisp.net/mantoniotti/CLAD")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-clad" version))
|
||||
(sha256
|
||||
(base32 "184mhdq7pxd6hd4rzv8z4lfbwnkyhgm5bdn3xsqaav2j0d1dqm6i"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete compiled ABCL files.
|
||||
'(begin
|
||||
(delete-file "clad-package.abcl")
|
||||
(delete-file "clad.abcl")))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(synopsis "Library providing standard locations on the file system")
|
||||
(description
|
||||
"The Common Lisp Application Directories (CLAD) library is
|
||||
a simple API collection that provides access to a set of @emph{standard}
|
||||
Common Lisp folders on a per-application or per-library basis.")
|
||||
(home-page "https://gitlab.common-lisp.net/mantoniotti/CLAD")
|
||||
(license license:expat)))) ;the mit-modern-variant is used
|
||||
|
||||
(define-public cl-clad
|
||||
(sbcl-package->cl-source-package sbcl-clad))
|
||||
|
||||
(define-public sbcl-plump
|
||||
(let ((commit "0c3e0b57b43b6e0c5794b6a902f1cf5bee2a2927")
|
||||
(revision "3"))
|
||||
|
@ -25964,65 +26107,51 @@ (define-public cl-nclasses
|
|||
(sbcl-package->cl-source-package sbcl-nclasses))
|
||||
|
||||
(define-public sbcl-prompter
|
||||
(package
|
||||
(name "sbcl-prompter")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/atlas-engineer/prompter")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "prompter" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1489qg99n5bpl9b88pq3smnw5l9hrq08sbnabvavv3jcd4pzpsqf"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(delete-file-recursively "nasdf")
|
||||
#t))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list
|
||||
sbcl-alexandria
|
||||
sbcl-calispel
|
||||
sbcl-cl-containers
|
||||
sbcl-cl-str
|
||||
sbcl-closer-mop
|
||||
sbcl-lparallel
|
||||
sbcl-moptilities
|
||||
sbcl-nclasses
|
||||
sbcl-serapeum
|
||||
sbcl-trivial-package-local-nicknames))
|
||||
(native-inputs
|
||||
(list sbcl-lisp-unit2
|
||||
sbcl-nasdf))
|
||||
(home-page "https://github.com/atlas-engineer/prompter")
|
||||
(synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework")
|
||||
(description
|
||||
"This prompter library is heavily inspired by Emacs' minibuffer and
|
||||
(let ((commit "b40a13af6ba4bd5c73c17e94dd2cbc2901bbd02f")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-prompter")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/atlas-engineer/prompter")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-prompter" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gg69rq2v9wcr7kj9fvd2i38r28fsgqqw6zs71m46krmr1gmfh4q"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(delete-file-recursively "nasdf")
|
||||
#t))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list
|
||||
sbcl-alexandria
|
||||
sbcl-calispel
|
||||
sbcl-cl-containers
|
||||
sbcl-cl-str
|
||||
sbcl-closer-mop
|
||||
sbcl-lparallel
|
||||
sbcl-moptilities
|
||||
sbcl-nclasses
|
||||
sbcl-serapeum
|
||||
sbcl-trivial-package-local-nicknames))
|
||||
(native-inputs
|
||||
(list sbcl-lisp-unit2
|
||||
sbcl-nasdf))
|
||||
(home-page "https://github.com/atlas-engineer/prompter")
|
||||
(synopsis "Live-narrowing, fuzzy-matching, extensible prompt framework")
|
||||
(description
|
||||
"This prompter library is heavily inspired by Emacs' minibuffer and
|
||||
Helm (@url{https://emacs-helm.github.io/helm/}). It only deals with the
|
||||
backend side of things, it does not handle any display.
|
||||
|
||||
Non-exhaustive list of features:
|
||||
|
||||
@itemize
|
||||
@item Asynchronous suggestion computation.
|
||||
@item Multiple sources.
|
||||
@item Multiple return actions.
|
||||
@item Customizable matching and sorting.
|
||||
@item Multiple attributes to match and display (also known as 'multiple column
|
||||
display').
|
||||
@item Customizable initialization and cleanup functions.
|
||||
@item Notifications sent when suggestion list is updated.
|
||||
@item Per-source history.
|
||||
@item Resumable prompters.
|
||||
@item Marks actions (event-driven on marks change).
|
||||
@item Current suggestion actions (event-driven on current suggestion change).
|
||||
@item Automatically return the prompt when narrowed down to a single suggestion.
|
||||
@end itemize\n")
|
||||
(license license:bsd-3)))
|
||||
backend side of things, it does not handle any display. Features include
|
||||
asynchronous suggestion computation, multiple sources, actions and resumable
|
||||
prompters.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public cl-prompter
|
||||
(sbcl-package->cl-source-package sbcl-prompter))
|
||||
|
@ -26653,6 +26782,48 @@ (define-public cl-nkeymaps
|
|||
(define-public ecl-nkeymaps
|
||||
(sbcl-package->ecl-package sbcl-nkeymaps))
|
||||
|
||||
(define-public sbcl-xkbcommon
|
||||
(let ((commit "aa9513d93f42d7816f88dd1bd8bd21375e7d7512")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-xkbcommon")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sdilts/cl-xkbcommon")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-xkbcommon" version))
|
||||
(sha256
|
||||
(base32 "02zdbkh7yliw9vg8i8wx2xgcpfni0fr4z0w19kkxvaib8xm9rx1q"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "xkbcommon.lisp"
|
||||
(("libxkbcommon.so.0")
|
||||
(search-input-file inputs "/lib/libxkbcommon.so"))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list libxkbcommon
|
||||
sbcl-cffi))
|
||||
(home-page "https://github.com/sdilts/cl-xkbcommon")
|
||||
(synopsis "Common Lisp FFI bindings for xkbcommon")
|
||||
(description
|
||||
"This package provides Common Lisp FFI bindings for xkbcommon
|
||||
(libxkbcommon) using cffi-grovel.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-xkbcommon
|
||||
(sbcl-package->cl-source-package sbcl-xkbcommon))
|
||||
|
||||
(define-public ecl-xkbcommon
|
||||
(sbcl-package->ecl-package sbcl-xkbcommon))
|
||||
|
||||
(define-public sbcl-njson
|
||||
(package
|
||||
(name "sbcl-njson")
|
||||
|
@ -27386,6 +27557,54 @@ (define-public cl-slot-extra-options
|
|||
(define-public ecl-slot-extra-options
|
||||
(sbcl-package->ecl-package sbcl-slot-extra-options))
|
||||
|
||||
(define-public sbcl-slite
|
||||
(let ((commit "942a95330592d30be5ac02fb1b697fb14ccbf1af")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-slite")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tdrhq/slite/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "slite" version))
|
||||
(sha256
|
||||
(base32 "0b4c4vs1zlhcvr9flv8bx76v9hrwc9qmazmp60407q7cghn0k8zk"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-cl-str
|
||||
sbcl-fiveam
|
||||
sbcl-parachute
|
||||
sbcl-lisp-unit2))
|
||||
(home-page "https://github.com/tdrhq/slite")
|
||||
(synopsis "Common Lisp system for Slite ")
|
||||
(description
|
||||
"This package provides the Common Lisp part of the emacs-slite test runner.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public cl-slite
|
||||
(sbcl-package->cl-source-package sbcl-slite))
|
||||
|
||||
(define-public ecl-slite
|
||||
(sbcl-package->ecl-package sbcl-slite))
|
||||
|
||||
(define-public emacs-slite
|
||||
(package
|
||||
(inherit sbcl-slite)
|
||||
(name "emacs-slite")
|
||||
(build-system emacs-build-system)
|
||||
(synopsis "SLIme-based TEst runner for FiveAM and Parachute Tests")
|
||||
(description
|
||||
"Slite interactively runs your Common Lisp tests (currently only FiveAM
|
||||
and Parachute are supported). It allows you to see the summary of test
|
||||
failures, jump to test definitions, rerun tests with debugger all from inside
|
||||
Emacs.
|
||||
|
||||
In order to work, this also requires the slite Common Lisp system to be
|
||||
present. See the code@{*cl-slite packages}.")))
|
||||
|
||||
(define-public sbcl-parseq
|
||||
(package
|
||||
(name "sbcl-parseq")
|
||||
|
|
|
@ -85,19 +85,32 @@ (define* (system->llvm-target #:optional
|
|||
"Return the LLVM target name that corresponds to SYSTEM, a system type such
|
||||
as \"x86_64-linux\"."
|
||||
;; See the 'lib/Target' directory of LLVM for a list of supported targets.
|
||||
(match (system->llvm-target-arch system)
|
||||
("RISCV64" "RISCV")
|
||||
("X86_64" "X86")
|
||||
(x x)))
|
||||
|
||||
(define* (system->llvm-target-arch #:optional
|
||||
(system (or (and=> (%current-target-system)
|
||||
gnu-triplet->nix-system)
|
||||
(%current-system))))
|
||||
"Return the LLVM target arch name that corresponds to SYSTEM, a system type such
|
||||
as \"x86_64-linux\"."
|
||||
;; See the 'cmake/config-ix.cmake' file of LLVM for a list of supported targets arch.
|
||||
;; start with # Determine the native architecture.
|
||||
(letrec-syntax ((matches (syntax-rules (=>)
|
||||
((_ (system-prefix => target) rest ...)
|
||||
(if (string-prefix? system-prefix system)
|
||||
target
|
||||
(matches rest ...)))
|
||||
((_)
|
||||
(error "LLVM target for system is unknown" system)))))
|
||||
(error "LLVM target arch for system is unknown" system)))))
|
||||
(matches ("aarch64" => "AArch64")
|
||||
("armhf" => "ARM")
|
||||
("mips64el" => "Mips")
|
||||
("powerpc" => "PowerPC")
|
||||
("riscv" => "RISCV")
|
||||
("x86_64" => "X86")
|
||||
("riscv64" => "RISCV64")
|
||||
("x86_64" => "X86_64")
|
||||
("i686" => "X86")
|
||||
("i586" => "X86"))))
|
||||
|
||||
|
@ -598,7 +611,7 @@ (define-public llvm-15
|
|||
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
|
||||
(%current-target-system))
|
||||
#$(string-append "-DLLVM_TARGET_ARCH="
|
||||
(system->llvm-target))
|
||||
(system->llvm-target-arch))
|
||||
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
|
||||
(system->llvm-target)))
|
||||
'())
|
||||
|
@ -658,7 +671,7 @@ (define-public llvm-14
|
|||
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
|
||||
(%current-target-system))
|
||||
#$(string-append "-DLLVM_TARGET_ARCH="
|
||||
(system->llvm-target))
|
||||
(system->llvm-target-arch))
|
||||
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
|
||||
(system->llvm-target)))
|
||||
'())
|
||||
|
@ -901,7 +914,7 @@ (define-public llvm-12
|
|||
#$(string-append "-DLLVM_DEFAULT_TARGET_TRIPLE="
|
||||
(%current-target-system))
|
||||
#$(string-append "-DLLVM_TARGET_ARCH="
|
||||
(system->llvm-target))
|
||||
(system->llvm-target-arch))
|
||||
#$(string-append "-DLLVM_TARGETS_TO_BUILD="
|
||||
(system->llvm-target)))
|
||||
#~())
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013-2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2017, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
|
||||
|
@ -108,6 +108,7 @@ (define-module (gnu packages mail)
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gsasl)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -4242,10 +4243,7 @@ (define-public public-inbox
|
|||
(file-name (git-file-name name version))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules (,@%perl-build-system-modules
|
||||
(guix build syscalls))
|
||||
#:modules ((guix build perl-build-system)
|
||||
(guix build syscalls)
|
||||
`(#:modules ((guix build perl-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
|
@ -4282,18 +4280,20 @@ (define-public public-inbox
|
|||
(setenv "TMP" "/tmp")
|
||||
(setenv "TMPDIR" "/tmp")
|
||||
|
||||
;; Use tini so that signals are properly handled and
|
||||
;; doubly-forked processes get reaped; otherwise,
|
||||
;; lei-daemon is kept as a zombie and the testsuite
|
||||
;; fails thinking that it didn't quit as it should.
|
||||
(set-child-subreaper!)
|
||||
(apply execlp "tini" "--"
|
||||
(apply execlp "make"
|
||||
"make" "check" test-flags))
|
||||
(pid
|
||||
(match (waitpid pid)
|
||||
((_ . status)
|
||||
(unless (zero? status)
|
||||
(error "`make check' exited with status" status))))))
|
||||
(make-pid
|
||||
;; Reap child processes; otherwise, lei-daemon is kept as
|
||||
;; a zombie and the testsuite fails thinking that it
|
||||
;; didn't quit as it should.
|
||||
(let loop ()
|
||||
(match (waitpid WAIT_ANY)
|
||||
((pid . status)
|
||||
(if (= pid make-pid)
|
||||
(unless (zero? status)
|
||||
(error "`make check' exited with status"
|
||||
status))
|
||||
(loop)))))))
|
||||
(format #t "test suite not run~%"))))
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
@ -4313,7 +4313,7 @@ (define-public public-inbox
|
|||
(find-files (string-append out "/bin")))))))))
|
||||
(native-inputs
|
||||
(list ;; For testing.
|
||||
lsof openssl tini))
|
||||
lsof openssl))
|
||||
(inputs
|
||||
(append
|
||||
(if (not (target-64bit?))
|
||||
|
|
|
@ -144,68 +144,7 @@ (define-public tuba
|
|||
(license license:gpl3)))
|
||||
|
||||
(define-public tootle
|
||||
(package
|
||||
(name "tootle")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bleakgrey/tootle")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nm57239mhdq462an6bnhdlijpijxmjs9mqbyirwxwa048d3n4rm"))
|
||||
(patches
|
||||
(search-patches
|
||||
;; https://github.com/bleakgrey/tootle/pull/339
|
||||
"tootle-glib-object-naming.patch"
|
||||
;; https://github.com/bleakgrey/tootle/pull/322
|
||||
"tootle-reason-phrase.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
;; Don't create 'icon-theme.cache'.
|
||||
(lambda _
|
||||
(substitute* "meson/post_install.py"
|
||||
(("gtk-update-icon-cache") "true"))))
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda _
|
||||
(substitute* "src/Dialogs/NewAccount.vala"
|
||||
(("xdg-mime") (which "xdg-mime")))
|
||||
;; Patch for building on glib < 2.64
|
||||
(substitute* "src/Build.vala"
|
||||
(("(os_name = ).*" _ first) (string-append first "\"GNU\";\n"))
|
||||
(("(os_ver = ).*" _ first) (string-append first "\"Guix\";\n"))
|
||||
(("GLib.Environment.get_os_info.*") "\"unknown\";\n"))))
|
||||
(add-after 'install 'symlink-package
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(symlink "com.github.bleakgrey.tootle"
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/bin/tootle")))))))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
`(,glib "bin") ; for glib-compile-resources
|
||||
gsettings-desktop-schemas pkg-config))
|
||||
(inputs
|
||||
(list glib-networking
|
||||
gtk+
|
||||
json-glib
|
||||
libgee
|
||||
libhandy
|
||||
libsoup-minimal-2
|
||||
vala
|
||||
xdg-utils))
|
||||
(home-page "https://github.com/bleakgrey/tootle")
|
||||
(synopsis "GTK3 client for Mastodon")
|
||||
(description "Tootle is a GTK client for Mastodon. It provides a clean,
|
||||
native interface that allows you to integrate Mastodon's social experience
|
||||
seamlessly with your desktop environment.")
|
||||
(license license:gpl3+)))
|
||||
(deprecated-package "tootle" tuba))
|
||||
|
||||
(define-public python-mastodon-py
|
||||
(package
|
||||
|
|
|
@ -114,6 +114,7 @@ (define-module (gnu packages maths)
|
|||
#:use-module (gnu packages coq)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages datamash)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages documentation)
|
||||
|
@ -2421,7 +2422,7 @@ (define-public ipopt
|
|||
(define-public nomad-optimizer
|
||||
(package
|
||||
(name "nomad-optimizer")
|
||||
(version "4.2.0")
|
||||
(version "4.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2430,164 +2431,109 @@ (define-public nomad-optimizer
|
|||
(commit (string-append "v." version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r4ygy3xn83dnppsw1451ynklsxpb238g5gk57inn84ghmdk08mj"))))
|
||||
(base32 "08bxdvx8p5qzdw331xa5irc1896as4q5hajsid7f3qcxjm4nq4v3"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list python-wrapper python-cython))
|
||||
(list openmpi))
|
||||
(arguments
|
||||
`(#:imported-modules ((guix build python-build-system)
|
||||
,@%cmake-build-system-modules)
|
||||
#:modules (((guix build python-build-system)
|
||||
#:select (python-version site-packages))
|
||||
(guix build cmake-build-system)
|
||||
(guix build utils))
|
||||
#:configure-flags
|
||||
'("-DBUILD_INTERFACE_C=ON"
|
||||
"-DBUILD_INTERFACE_PYTHON=ON"
|
||||
"-DBUILD_TESTS=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-sources-for-build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; CMAKE_INSTALL_PREFIX is accidentally hardcoded.
|
||||
(("set\\(CMAKE_INSTALL_PREFIX .* FORCE\\)") "")
|
||||
;; Requiring GCC version 8 or later is unwarranted.
|
||||
(("message\\(FATAL_ERROR \"GCC version < 8")
|
||||
"message(STATUS \"GCC version < 8"))
|
||||
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "interfaces/PyNomad/CMakeLists.txt"
|
||||
;; We don't want to build in-place, and anyway the install
|
||||
;; command further below runs build_ext as a prerequisite.
|
||||
(("COMMAND python setup_PyNomad\\.py .* build_ext --inplace\n")
|
||||
"")
|
||||
;; Don't install locally.
|
||||
(("COMMAND python (setup_PyNomad\\.py .* install) --user\n"
|
||||
_ args)
|
||||
(string-append "COMMAND ${CMAKE_COMMAND} -E env"
|
||||
" CC=" ,(cc-for-target)
|
||||
" CXX=" ,(cxx-for-target)
|
||||
" " (which "python")
|
||||
" " args
|
||||
" --prefix=" out
|
||||
"\n")))
|
||||
;; Fix erroneous assumptions about the paths of the include and
|
||||
;; library directories.
|
||||
(substitute* "interfaces/PyNomad/setup_PyNomad.py"
|
||||
(("^( +os_include_dirs = ).*" _ prefix)
|
||||
(string-append prefix "[\"../../src\"]\n"))
|
||||
(("^(installed_lib_dir1 = ).*" _ prefix)
|
||||
(string-append prefix "\"" out "/lib\"\n"))
|
||||
(("^installed_lib_dir2 = .*") "")
|
||||
(("^ +link_args\\.append\\(\"-Wl,-rpath,\" \\+ installed_lib_dir2\\)\n")
|
||||
"")))))
|
||||
|
||||
;; Fix the tests so they run in out-of-source builds.
|
||||
;;
|
||||
;; TODO: Add support for examples/basic/batch/single_obj_MPIparallel,
|
||||
;; by adding openmpi to native-inputs and adjusting the example's
|
||||
;; BB_EXE parameter.
|
||||
(add-after 'fix-sources-for-build 'fix-sources-for-tests
|
||||
(lambda _
|
||||
(substitute* "examples/CMakeLists.txt"
|
||||
;; This test passes only sometimes.
|
||||
;; See https://github.com/bbopt/nomad/issues/72.
|
||||
(("^ +add_subdirectory\\(\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/advanced/library/PSDMads\\)\n")
|
||||
"")
|
||||
;; examples/basic/batch/example3 is accidentally omitted.
|
||||
(("^(add_subdirectory\\(\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/basic/batch/example)2(\\)\n)"
|
||||
_ prefix suffix)
|
||||
(string-append prefix "2" suffix
|
||||
prefix "3" suffix))
|
||||
|
||||
;; The generated runExampleTest.sh script runs the test as part
|
||||
;; of a pipeline and incorrectly (because pipefail is unset)
|
||||
;; relies on the value of the exit status immediately after the
|
||||
;; pipeline.
|
||||
;; (The patch-shebangs phase runs later than this one, so no
|
||||
;; need to update the path to bash here.)
|
||||
(("#!/bin/bash") "#!/bin/bash\nset -o pipefail"))
|
||||
|
||||
(substitute*
|
||||
(map (lambda (d) (string-append "examples/" d "/CMakeLists.txt"))
|
||||
(append
|
||||
(map (lambda (d) (string-append "basic/library/" d))
|
||||
'("example1" "example2" "example3"
|
||||
"single_obj_parallel"))
|
||||
(map (lambda (d) (string-append "advanced/library/" d))
|
||||
'("FixedVariable" "NMonly" "PSDMads" "Restart"
|
||||
"c_api/example1" "c_api/example2"
|
||||
"exampleSuggestAndObserve"))))
|
||||
;; The runExampleTest.sh script is run with WORKING_DIRECTORY
|
||||
;; set to CMAKE_CURRENT_SOURCE_DIR.
|
||||
;; Other scripts invoked by that script (for example
|
||||
;; examples/advanced/batch/SuggestAndObserve/loopSuggestAndObserve.sh)
|
||||
;; are in that same directory, but compiled examples are
|
||||
;; located in CMAKE_CURRENT_BINARY_DIR.
|
||||
(("(COMMAND \\$\\{CMAKE_BINARY_DIR\\}/examples/runExampleTest\\.sh )\\.(/.*)"
|
||||
_ command test)
|
||||
(string-append command "${CMAKE_CURRENT_BINARY_DIR}" test)))
|
||||
|
||||
;; The examples/basic/batch/example3 executable is already named
|
||||
;; bb3.exe.
|
||||
(substitute* "examples/basic/batch/single_obj_parallel/CMakeLists.txt"
|
||||
(("bb3.exe") "bb_parallel.exe"))
|
||||
|
||||
;; (Unrelated to support for out-of-source testing.)
|
||||
(make-file-writable
|
||||
"examples/advanced/library/exampleSuggestAndObserve/cache0.txt")
|
||||
|
||||
(let ((builddir (string-append (getcwd) "/../build")))
|
||||
(let ((dir "examples/advanced/library/FixedVariable"))
|
||||
(substitute* (string-append dir "/fixedVariable.cpp")
|
||||
(("^( +std::string sExe = ).*" _ prefix)
|
||||
(string-append prefix "\"" builddir "/" dir "/ufl.exe" "\";\n"))))
|
||||
|
||||
;; The BB_EXE and SURROGATE_EXE paths are interpreted relative
|
||||
;; to the configuration file provided to NOMAD.
|
||||
;; However, the configuration files are all in the source tree
|
||||
;; rather than in the build tree (unlike the compiled
|
||||
;; executables).
|
||||
(let ((fix-exe-path (lambda* (dir #:optional
|
||||
(file "param.txt")
|
||||
(exe-opt "BB_EXE"))
|
||||
(substitute* (string-append dir "/" file)
|
||||
(((string-append "^" exe-opt " +"))
|
||||
;; The $ prevents NOMAD from prefixing
|
||||
;; the executable with the path of the
|
||||
;; parent directory of the configuration
|
||||
;; file NOMAD was provided with as
|
||||
;; argument (param.txt or some such).
|
||||
(string-append exe-opt " $"
|
||||
builddir "/" dir "/"))))))
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(let ((dir (string-append "examples/" dir)))
|
||||
(substitute* (string-append dir "/CMakeLists.txt")
|
||||
;; The install phase has not yet run.
|
||||
(("COMMAND \\$\\{CMAKE_INSTALL_PREFIX\\}/bin/nomad ")
|
||||
"COMMAND ${CMAKE_BINARY_DIR}/src/nomad "))
|
||||
(fix-exe-path dir)
|
||||
(when (equal? dir "examples/basic/batch/surrogate_sort")
|
||||
(fix-exe-path dir "param.txt" "SURROGATE_EXE"))))
|
||||
(append (map (lambda (d) (string-append "basic/batch/" d))
|
||||
'("example1" "example2" "example3"
|
||||
"single_obj"
|
||||
"single_obj_parallel"
|
||||
;; "single_obj_MPIparallel"
|
||||
"surrogate_sort"))
|
||||
'("advanced/batch/LHonly")))
|
||||
|
||||
(let ((dir "examples/advanced/batch/FixedVariable"))
|
||||
(substitute* (string-append dir "/runFixed.sh")
|
||||
;; Hardcoded path to NOMAD executable.
|
||||
(("^\\.\\./\\.\\./\\.\\./\\.\\./bin/nomad ")
|
||||
(string-append builddir "/src/nomad ")))
|
||||
(for-each
|
||||
(lambda (f) (fix-exe-path dir f))
|
||||
'("param1.txt" "param2.txt" "param3.txt" "param10.txt"))))))))))
|
||||
(list
|
||||
;; Cannot build Python interface because it is incompatible with OpenMP
|
||||
;; support, which is enabled by default.
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_TESTS=ON"
|
||||
"-DBUILD_INTERFACE_C=ON")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(substitute* "examples/CMakeLists.txt"
|
||||
;; This test passes only sometimes.
|
||||
;; See https://github.com/bbopt/nomad/issues/72.
|
||||
(("^ +add_subdirectory\\(\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/advanced/library/PSDMads\\)\n")
|
||||
""))
|
||||
(make-file-writable
|
||||
"examples/advanced/library/exampleSuggestAndObserve/cache0.txt")
|
||||
;; Fix the tests so they run in out-of-source builds.
|
||||
(substitute*
|
||||
'("examples/basic/library/COCO/CMakeLists.txt"
|
||||
"examples/basic/library/example1/CMakeLists.txt"
|
||||
"examples/basic/library/example2/CMakeLists.txt"
|
||||
"examples/basic/library/example3/CMakeLists.txt"
|
||||
"examples/basic/library/example4/CMakeLists.txt"
|
||||
"examples/basic/library/single_obj_parallel/CMakeLists.txt"
|
||||
"examples/advanced/library/FixedVariable/CMakeLists.txt"
|
||||
"examples/advanced/library/NMonly/CMakeLists.txt"
|
||||
"examples/advanced/library/PSDMads/CMakeLists.txt"
|
||||
"examples/advanced/library/Restart/CMakeLists.txt"
|
||||
"examples/advanced/library/Restart_VNS/CMakeLists.txt"
|
||||
"examples/advanced/library/c_api/example1/CMakeLists.txt"
|
||||
"examples/advanced/library/c_api/example2/CMakeLists.txt"
|
||||
"examples/advanced/library/exampleSuggestAndObserve/CMakeLists.txt")
|
||||
;; The runExampleTest.sh script is run with WORKING_DIRECTORY
|
||||
;; set to CMAKE_CURRENT_SOURCE_DIR.
|
||||
;; Other scripts invoked by that script (for example
|
||||
;; examples/advanced/batch/SuggestAndObserve/loopSuggestAndObserve.sh)
|
||||
;; are in that same directory, but compiled examples are
|
||||
;; located in CMAKE_CURRENT_BINARY_DIR.
|
||||
(("(COMMAND \\$\\{CMAKE_BINARY_DIR\\}/examples/runExampleTest\\.sh )\\.(/.*)"
|
||||
_ command test)
|
||||
(string-append command "${CMAKE_CURRENT_BINARY_DIR}" test)))
|
||||
(let ((builddir (string-append (getcwd) "/../build")))
|
||||
(let ((dir "examples/advanced/library/FixedVariable"))
|
||||
(substitute* (string-append dir "/fixedVariable.cpp")
|
||||
(("^( +std::string sExe = ).*" _ prefix)
|
||||
(string-append prefix "\"" builddir "/" dir "/ufl.exe" "\";\n"))))
|
||||
;; The BB_EXE and SURROGATE_EXE paths are interpreted relative
|
||||
;; to the configuration file provided to NOMAD.
|
||||
;; However, the configuration files are all in the source tree
|
||||
;; rather than in the build tree (unlike the compiled
|
||||
;; executables).
|
||||
(let ((fix-exe-path (lambda* (dir #:optional
|
||||
(file "param.txt")
|
||||
(exe-opt "BB_EXE"))
|
||||
(substitute* (string-append dir "/" file)
|
||||
(((string-append "^" exe-opt " +"))
|
||||
;; The $ prevents NOMAD from prefixing
|
||||
;; the executable with the path of the
|
||||
;; parent directory of the configuration
|
||||
;; file NOMAD was provided with as
|
||||
;; argument (param.txt or some such).
|
||||
(string-append exe-opt " $"
|
||||
builddir "/" dir "/"))))))
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(substitute* (string-append dir "/CMakeLists.txt")
|
||||
;; The install phase has not yet run.
|
||||
(("(COMMAND.*)\\$\\{CMAKE_INSTALL_PREFIX\\}/bin/nomad\\b"
|
||||
_ prefix)
|
||||
(string-append prefix "${CMAKE_BINARY_DIR}/src/nomad")))
|
||||
(if (equal? dir "examples/basic/batch/single_obj_MPIparallel")
|
||||
(substitute* (string-append dir "/param.txt")
|
||||
(("^BB_EXE +'\\$.*mpirun \\$-np \\$4 ")
|
||||
(string-append "BB_EXE '$" (which "mpirun") " $"
|
||||
builddir "/" dir "/")))
|
||||
(fix-exe-path dir))
|
||||
(when (equal? dir "examples/basic/batch/surrogate_sort")
|
||||
(fix-exe-path dir "param.txt" "SURROGATE_EXE"))
|
||||
(when (equal? dir "examples/advanced/batch/FixedVariable")
|
||||
(fix-exe-path dir "param1.txt")
|
||||
(fix-exe-path dir "param2.txt")
|
||||
(fix-exe-path dir "param3.txt")
|
||||
(fix-exe-path dir "param10.txt")))
|
||||
'("examples/basic/batch/coco_bbob-constrained"
|
||||
"examples/basic/batch/example1"
|
||||
"examples/basic/batch/example2"
|
||||
"examples/basic/batch/example3"
|
||||
"examples/basic/batch/multi_obj"
|
||||
"examples/basic/batch/multi_obj2"
|
||||
"examples/basic/batch/single_obj"
|
||||
"examples/basic/batch/single_obj_MPIparallel"
|
||||
"examples/basic/batch/single_obj_parallel"
|
||||
"examples/basic/batch/surrogate_sort"
|
||||
"examples/advanced/batch/FixedVariable"
|
||||
"examples/advanced/batch/LHonly"))))))
|
||||
(add-before 'configure 'mpi-setup
|
||||
#$%openmpi-setup))))
|
||||
(home-page "https://www.gerad.ca/nomad/")
|
||||
(synopsis "Nonlinear optimization by mesh-adaptive direct search")
|
||||
(description
|
||||
|
@ -3179,6 +3125,61 @@ (define-public opencascade-occt
|
|||
;; File src/NCollection/NCollection_StdAllocator.hxx:
|
||||
license:public-domain))))
|
||||
|
||||
(define-public fast-downward
|
||||
(package
|
||||
(name "fast-downward")
|
||||
(version "23.06.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aibasel/downward")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xrgnvbkzkdf6srbrlsnf4qrgp0f1lkk7yxf34ynna0w49l468d4"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-driver
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "driver/run_components.py"
|
||||
;; strip gratuitous "bin"
|
||||
(("os\\.path\\.join\\((.*), \"bin\"\\)" all keep)
|
||||
(string-append "os.path.join(" keep ")")))))
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _ (chdir "src")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dest (string-append out "/libexec/fast-downward"
|
||||
"/builds/release")))
|
||||
(mkdir-p dest)
|
||||
(with-directory-excursion "bin"
|
||||
(install-file "downward" dest)
|
||||
(copy-recursively "translate"
|
||||
(string-append dest "/translate"))))))
|
||||
(add-after 'install 'install-driver
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(with-directory-excursion ".."
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin/fast-downward"))
|
||||
(dest (string-append out "/libexec/fast-downward")))
|
||||
(copy-recursively "driver"
|
||||
(string-append dest "/driver"))
|
||||
(mkdir-p (dirname bin))
|
||||
(copy-file "fast-downward.py" bin)
|
||||
(wrap-program bin
|
||||
`("PYTHONPATH" prefix (,dest))))))))))
|
||||
(inputs (list bash-minimal python))
|
||||
(home-page "https://www.fast-downward.org/")
|
||||
(synopsis "Domain-independant classical planning system")
|
||||
(description "Fast Downward is a portfolio-based planning system that
|
||||
supports the propositional fragment of PDDL2.2.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gmsh
|
||||
(package
|
||||
(name "gmsh")
|
||||
|
@ -5283,7 +5284,7 @@ (define-public suitesparse-amd
|
|||
(install-file "../AMD/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(native-inputs (list gfortran (texlive-updmap.cfg '())))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Sparse matrix ordering for Cholesky factorization")
|
||||
|
@ -5317,7 +5318,7 @@ (define-public suitesparse-btf
|
|||
(install-file "../BTF/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Library for permuting matrices into block upper triangular form")
|
||||
(description "BTF (Block Triangular Form) is a C library for permuting a
|
||||
|
@ -5359,7 +5360,7 @@ (define-public suitesparse-camd
|
|||
(install-file "../CAMD/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(native-inputs (list (texlive-updmap.cfg '())))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Sparse matrix ordering for Cholesky factorization with constraints")
|
||||
|
@ -5395,7 +5396,7 @@ (define-public suitesparse-colamd
|
|||
(install-file "../COLAMD/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Column Approximate Minimum Degree Ordering")
|
||||
(description "COLAMD is library for computing a permutation vector for a
|
||||
|
@ -5428,7 +5429,7 @@ (define-public suitesparse-ccolamd
|
|||
(install-file "../CCOLAMD/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Column Approximate Minimum Degree Ordering with constraints")
|
||||
(description "CCOLAMD is library for computing a permutation vector for a
|
||||
|
@ -5457,9 +5458,7 @@ (define-public gklib-suitesparse
|
|||
all
|
||||
"target_link_libraries(GKlib PUBLIC"
|
||||
" ${SUITESPARSE_CONFIG_LIBRARIES} m)\n")))))))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs gklib)
|
||||
(prepend suitesparse-config)))))
|
||||
(propagated-inputs (list suitesparse-config))))
|
||||
|
||||
(define-public metis-suitesparse
|
||||
(package/inherit metis-5.2
|
||||
|
@ -5561,8 +5560,8 @@ (define-public suitesparse-cholmod
|
|||
suitesparse-amd
|
||||
suitesparse-camd
|
||||
suitesparse-ccolamd
|
||||
suitesparse-colamd
|
||||
suitesparse-config))
|
||||
suitesparse-colamd))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(native-inputs (list (texlive-updmap.cfg '())))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Library for solving sparse symmetric positive definite linear
|
||||
|
@ -5599,7 +5598,7 @@ (define-public suitesparse-cxsparse
|
|||
"/share/doc/" #$name "-" #$version)))
|
||||
(install-file "../CXSparse/Doc/License.txt" out)
|
||||
(install-file "../CXSparse/Doc/lesser.txt" out)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Concise eXtended Sparse Matrix Package")
|
||||
(description "CXSparse is a collection of sparse matrix algorithms for
|
||||
|
@ -5655,13 +5654,14 @@ (define-public suitesparse-klu
|
|||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs
|
||||
(list suitesparse-amd
|
||||
suitesparse-btf
|
||||
suitesparse-camd
|
||||
(list suitesparse-camd
|
||||
suitesparse-ccolamd
|
||||
suitesparse-cholmod
|
||||
suitesparse-colamd
|
||||
suitesparse-config))
|
||||
(propagated-inputs
|
||||
(list suitesparse-amd
|
||||
suitesparse-btf
|
||||
suitesparse-cholmod))
|
||||
(native-inputs (list (texlive-updmap.cfg '())))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Routines for solving sparse linear problems with a LU factorization")
|
||||
|
@ -5712,9 +5712,8 @@ (define-public suitesparse-ldl
|
|||
(install-file "../LDL/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs
|
||||
(list suitesparse-amd
|
||||
suitesparse-config))
|
||||
(inputs (list suitesparse-amd))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(native-inputs (list (texlive-updmap.cfg '())))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "LDL' factorization method for sparse, symmetric matrices")
|
||||
|
@ -5754,7 +5753,7 @@ (define-public suitesparse-rbio
|
|||
"/share/doc/" #$name "-" #$version)))
|
||||
(install-file "../RBio/Doc/License.txt" out)
|
||||
(install-file "../RBio/Doc/gpl.txt" out)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(home-page "https://people.engr.tamu.edu/davis/suitesparse.html")
|
||||
(synopsis "Library for the Rutherford/Boeing sparse matrix format")
|
||||
(description "This package provides the C library of RBio. It can be used
|
||||
|
@ -5803,7 +5802,7 @@ (define-public suitesparse-mongoose
|
|||
(install-file "../Mongoose/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs (list suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-config))
|
||||
(native-inputs
|
||||
(list texlive-epstopdf
|
||||
(texlive-updmap.cfg
|
||||
|
@ -5872,12 +5871,8 @@ (define-public suitesparse-spex
|
|||
(install-file "../SPEX/Doc/SPEX_UserGuide.pdf"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs
|
||||
(list gmp
|
||||
mpfr
|
||||
suitesparse-amd
|
||||
suitesparse-colamd
|
||||
suitesparse-config))
|
||||
(inputs (list suitesparse-amd suitesparse-colamd))
|
||||
(propagated-inputs (list gmp mpfr suitesparse-config))
|
||||
(native-inputs
|
||||
(list (texlive-updmap.cfg
|
||||
(list texlive-paralist
|
||||
|
@ -5950,14 +5945,13 @@ (define-public suitesparse-spqr
|
|||
(install-file "../SPQR/Doc/License.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version)))))))
|
||||
(inputs
|
||||
(list openblas
|
||||
suitesparse-amd
|
||||
suitesparse-camd
|
||||
suitesparse-ccolamd
|
||||
suitesparse-cholmod
|
||||
suitesparse-colamd
|
||||
suitesparse-config))
|
||||
(inputs (list openblas
|
||||
suitesparse-amd
|
||||
suitesparse-camd
|
||||
suitesparse-ccolamd
|
||||
suitesparse-colamd
|
||||
suitesparse-config))
|
||||
(propagated-inputs (list suitesparse-cholmod))
|
||||
(native-inputs
|
||||
(list (texlive-updmap.cfg
|
||||
(list texlive-epsf))))
|
||||
|
@ -6016,13 +6010,13 @@ (define-public suitesparse-umfpack
|
|||
#$name "-" #$version)))
|
||||
(install-file "../UMFPACK/Doc/License.txt" outdir)
|
||||
(install-file "../UMFPACK/Doc/gpl.txt" outdir)))))))
|
||||
(inputs
|
||||
(list openblas
|
||||
suitesparse-amd
|
||||
suitesparse-camd
|
||||
suitesparse-ccolamd
|
||||
suitesparse-cholmod
|
||||
suitesparse-colamd
|
||||
(inputs (list openblas
|
||||
suitesparse-camd
|
||||
suitesparse-ccolamd
|
||||
suitesparse-cholmod
|
||||
suitesparse-colamd))
|
||||
(propagated-inputs
|
||||
(list suitesparse-amd
|
||||
suitesparse-config))
|
||||
(native-inputs
|
||||
(list (texlive-updmap.cfg
|
||||
|
@ -6432,13 +6426,13 @@ (define trilinos-for-dealii-openmpi
|
|||
(string-replace-substring version "." "-")))))
|
||||
(file-name (git-file-name "trilinos" version))
|
||||
(sha256
|
||||
(base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))))
|
||||
(base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp"))
|
||||
(patches
|
||||
(search-patches "teuchos-remove-duplicate-using.patch"
|
||||
"tpetra-remove-duplicate-using.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list
|
||||
;; The build fails with the current gcc.
|
||||
;; Use the version from when Trilinos was added.
|
||||
gcc-7
|
||||
gfortran
|
||||
;; Trilinos's repository contains several C-shell scripts, but adding
|
||||
;; tcsh to the native inputs does not result in the check phase running
|
||||
|
@ -6563,17 +6557,17 @@ (define trilinos-for-dealii-openmpi
|
|||
(define-public dealii
|
||||
(package
|
||||
(name "dealii")
|
||||
(version "9.4.0")
|
||||
(version "9.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dealii/dealii/releases/"
|
||||
"download/v" version "/dealii-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0v73q6f35f2yrjihaq6vh9lma07qc4cdv75nwmc3c5yrdh07g1i3"))
|
||||
(base32 "0phgcfnil4rb41xipsdbm4lxrymlqxbiccakg3pkm3a8wqsva658"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled boost, muparser, TBB and UMFPACK.
|
||||
;; Remove bundled boost, Kokkos, muparser, TBB and UMFPACK.
|
||||
#~(delete-file-recursively "bundled"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
|
@ -6597,6 +6591,7 @@ (define-public dealii
|
|||
;; the requisite interpreter to its native inputs.
|
||||
(list boost
|
||||
hdf5
|
||||
kokkos
|
||||
suitesparse ; For UMFPACK.
|
||||
sundials
|
||||
tbb))
|
||||
|
@ -6621,6 +6616,18 @@ (define-public dealii
|
|||
"/examples")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Without unsetting CPATH, the build fails with the following
|
||||
;; error (similar to <https://bugs.gnu.org/30756>):
|
||||
;;
|
||||
;; /gnu/store/…-gcc-11.3.0/include/c++/math.h:30:16: fatal error: math.h: No such file or directory
|
||||
;; 30 | # include_next <math.h>
|
||||
;; | ^~~~~~~~
|
||||
;;
|
||||
;; Why does unsetting CPATH magically fix the error?
|
||||
;; TODO: Properly fix this issue.
|
||||
(add-after 'set-paths 'unset-cpath
|
||||
(lambda _
|
||||
(unsetenv "CPATH")))
|
||||
(add-after 'install 'remove-build-logs
|
||||
;; These build logs leak the name of the build directory by
|
||||
;; storing the values of CMAKE_SOURCE_DIR and
|
||||
|
@ -6652,7 +6659,7 @@ (define-public dealii-openmpi
|
|||
scalapack)))
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs dealii)
|
||||
(delete "hdf5" "sundials")
|
||||
(delete "hdf5" "kokkos" "sundials")
|
||||
(prepend hdf5-parallel-openmpi
|
||||
openmpi
|
||||
p4est-openmpi
|
||||
|
@ -6663,7 +6670,12 @@ (define-public dealii-openmpi
|
|||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments dealii)
|
||||
((#:configure-flags flags)
|
||||
#~(cons "-DDEAL_II_WITH_MPI=ON" #$flags))))
|
||||
#~(cons "-DDEAL_II_WITH_MPI=ON" #$flags))
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
;; The build failure fixed by this phase does not manifest when
|
||||
;; Kokkos is included via Trilinos.
|
||||
(delete 'unset-cpath)))))
|
||||
(synopsis "Finite element library (with MPI support)")))
|
||||
|
||||
(define-public flann
|
||||
|
@ -9706,3 +9718,88 @@ (define-public ruy
|
|||
architecture.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public bliss
|
||||
(package
|
||||
(name "bliss")
|
||||
(version "0.77")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://users.aalto.fi/~tjunttil/bliss/downloads/bliss-"
|
||||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"193jb63kdwfas2cf61xj3fgkvhb6v2mnbwwpr0jas3zk6j0bkj5c"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; There are no tests
|
||||
#:tests? #f
|
||||
#:configure-flags #~(list "-DUSE_GMP=ON") ; Used by igraph
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Ensure that GMP is used, otherwise the BigNum type changes.
|
||||
(add-after 'unpack 'define-use-gmp
|
||||
(lambda _
|
||||
(substitute* "src/bignum.hh"
|
||||
(("#pragma once.*" all)
|
||||
(string-append all "#define BLISS_USE_GMP")))))
|
||||
;; Move headers under the bliss/ prefix. This is a Guix choice,
|
||||
;; since there are no upstream installation instructions and the
|
||||
;; header names are sufficiently generic to cause confusions with
|
||||
;; other packages (e.g. "heap.hh").
|
||||
(add-after 'define-use-gmp 'move-headers
|
||||
(lambda _
|
||||
(substitute* (find-files "src")
|
||||
(("#include \"(.*)\"" _ path)
|
||||
(string-append "#include <bliss/" path ">")))
|
||||
(mkdir-p "include/bliss")
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(rename-file file
|
||||
(string-append "include/bliss/" (basename file))))
|
||||
(find-files "src" "\\.(h|hh)$"))
|
||||
(substitute* "Doxyfile"
|
||||
(("INPUT *=.*") "INPUT = bliss"))))
|
||||
(add-after 'move-headers 'patch-cmake
|
||||
(lambda _
|
||||
(let ((port (open-file "CMakeLists.txt" "a")))
|
||||
(display
|
||||
(apply
|
||||
string-append
|
||||
;; Install the executable and the shared library.
|
||||
"install(TARGETS bliss)\n"
|
||||
"install(TARGETS bliss-executable)\n"
|
||||
"install(DIRECTORY include/bliss DESTINATION include)\n"
|
||||
"target_link_libraries(bliss PUBLIC ${GMP_LIBRARIES})\n"
|
||||
;; Missing include directories.
|
||||
(map
|
||||
(lambda (name)
|
||||
(string-append
|
||||
"target_include_directories(" name " PUBLIC\n"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
" ${GMP_INCLUDE_DIR})\n"))
|
||||
'("bliss" "bliss_static" "bliss-executable")))
|
||||
port)
|
||||
(close-port port))))
|
||||
(add-after 'build 'build-doc
|
||||
(lambda _
|
||||
(mkdir "doc")
|
||||
(with-directory-excursion "doc"
|
||||
(let ((srcdir (string-append "../../bliss-" #$version)))
|
||||
(copy-recursively (string-append srcdir "/include/bliss")
|
||||
"bliss")
|
||||
(invoke "doxygen" (string-append srcdir "/Doxyfile"))))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda _
|
||||
(copy-recursively
|
||||
"doc/html" (string-append #$output "/share/doc/"
|
||||
#$name "-" #$version "/html")))))))
|
||||
(native-inputs (list doxygen graphviz unzip))
|
||||
(propagated-inputs (list gmp))
|
||||
(home-page "https://users.aalto.fi/~tjunttil/bliss/index.html")
|
||||
(synopsis "Tool for computing automorphism groups and canonical labelings of graphs")
|
||||
(description "@code{bliss} is a library for computing automorphism groups
|
||||
+and canonical forms of graphs. It has both a command line user interface as
|
||||
+well as C++ and C programming language APIs.")
|
||||
(license license:lgpl3)))
|
||||
|
|
|
@ -3381,7 +3381,7 @@ (define-public weechat-matrix
|
|||
(define-public weechat-wee-slack
|
||||
(package
|
||||
(name "weechat-wee-slack")
|
||||
(version "2.9.1")
|
||||
(version "2.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3391,7 +3391,7 @@ (define-public weechat-wee-slack
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zhiwbljh4rgbj8i9rrcimi9v3a7g1nm7v2m2f754rnddck9343z"))))
|
||||
"0ykzmn4q592ih9d6m5ks2dzbxkz3mj81sxwsn9g2vzsxj7w3p2r7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -3416,9 +3416,9 @@ (define-public weechat-wee-slack
|
|||
(when tests?
|
||||
(invoke "pytest")))))))
|
||||
(inputs
|
||||
(list python-mock python-websocket-client))
|
||||
(list python-websocket-client))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(list python-mock python-pytest))
|
||||
(home-page "https://github.com/wee-slack/wee-slack")
|
||||
(synopsis "Weechat Slack script")
|
||||
(description "@code{weechat-wee-slack} is a WeeChat native client for
|
||||
|
@ -3521,4 +3521,57 @@ (define-public pn
|
|||
a text snippet), using @code{libphonenumber}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public senpai
|
||||
(package
|
||||
(name "senpai")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://git.sr.ht/~taiite/senpai")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qw955i5f3jr42h4afr23v7wq616bcsyq68if75qdw8j1yibnpmb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list #:import-path "git.sr.ht/~taiite/senpai/cmd/senpai"
|
||||
#:unpack-path "git.sr.ht/~taiite/senpai"
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'build 'build-doc
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(invoke "make" "doc/senpai.1" "doc/senpai.5"
|
||||
"-C" (string-append "src/" unpack-path))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key unpack-path #:allow-other-keys)
|
||||
(let ((man1 (string-append #$output "/share/man/man1"))
|
||||
(man5 (string-append #$output "/share/man/man5")))
|
||||
(mkdir-p man1)
|
||||
(mkdir-p man5)
|
||||
(install-file
|
||||
(string-append "src/" unpack-path "/doc/senpai.1")
|
||||
man1)
|
||||
(install-file
|
||||
(string-append "src/" unpack-path "/doc/senpai.5")
|
||||
man5)))))))
|
||||
(native-inputs (list go-git-sr-ht-emersion-go-scfg
|
||||
go-github-com-delthas-go-libnp
|
||||
go-github-com-delthas-go-localeinfo
|
||||
go-github-com-gdamore-tcell-v2
|
||||
go-github-com-mattn-go-runewidth
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-term
|
||||
go-golang-org-x-time
|
||||
go-mvdan-cc-xurls
|
||||
scdoc))
|
||||
(home-page "https://sr.ht/~taiite/senpai")
|
||||
(synopsis "Modern terminal IRC client")
|
||||
(description
|
||||
"@code{senpai} is an IRC client that works best with bouncers.")
|
||||
(license license:isc)))
|
||||
|
||||
;;; messaging.scm ends here
|
||||
|
|
|
@ -252,7 +252,7 @@ (define-public mpd-mpc
|
|||
(let* ((out (assoc-ref outputs "out"))
|
||||
(contrib (string-append out "/share/doc/mpc/contrib"))
|
||||
(completion
|
||||
(string-append out "/etc/bash-completion.d/")))
|
||||
(string-append out "/etc/bash_completion.d/")))
|
||||
(mkdir-p completion)
|
||||
(rename-file (string-append contrib "/mpc-completion.bash")
|
||||
(string-append completion "/mpc"))))))))
|
||||
|
@ -622,7 +622,7 @@ (define-public mpdevil
|
|||
(define-public mympd
|
||||
(package
|
||||
(name "mympd")
|
||||
(version "12.0.4")
|
||||
(version "12.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -631,7 +631,7 @@ (define-public mympd
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06g0b7j12lrrz8mrg6wp2fxy0qm4x9z2fri05by40399z1akgsx4"))))
|
||||
"0vmnfwkajgm1dmm34z0zk74j5wzlwcwk45aalfzc5pqlkcy6c4z5"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -5126,7 +5126,7 @@ (define-public muse-sequencer
|
|||
(define-public gsequencer
|
||||
(package
|
||||
(name "gsequencer")
|
||||
(version "5.5.0")
|
||||
(version "6.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -5135,7 +5135,7 @@ (define-public gsequencer
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dl3gsmpc7b4hi97qri5d5rc3ikx639r3l1dy204p6dx8pwpv2ry"))))
|
||||
(base32 "1h5zw9047qmhhc6n4ny11id1h1p8322wadl7p8j65bwrz8kbfx99"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -5221,15 +5221,15 @@ (define-public dssi
|
|||
(define-public rosegarden
|
||||
(package
|
||||
(name "rosegarden")
|
||||
(version "22.12.1")
|
||||
(version "23.06")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/rosegarden/rosegarden/"
|
||||
(version-major+minor version) "/"
|
||||
"rosegarden-" version ".tar.bz2"))
|
||||
"rosegarden-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "01ljv4rkglicvx7fd6d5chi8k6wia5d6374gf20rgi75grzs59vy"))))
|
||||
(base32 "1k3j5p6lx3w6pbsh95xiyfj8g8ysmvd18v0wmx7kdb3vyj5mfd0z"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -36,14 +36,14 @@ (define-public ncdu-1
|
|||
;; yet, so we'll keep both for just a little longer.
|
||||
(package
|
||||
(name "ncdu")
|
||||
(version "1.18.1")
|
||||
(version "1.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dev.yorhel.nl/download/ncdu-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01946cqp5z38srbpq08d75f1n0cgpfyn8h8ppbaawnnq57ms23vw"))))
|
||||
"0zdidd4rhik5j0qdrdg1yh9094jlw496q07vqx90gphc30ck0dih"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list ncurses))
|
||||
(synopsis "Ncurses-based disk usage analyzer")
|
||||
|
@ -53,9 +53,7 @@ (define-public ncdu-1
|
|||
to do with a simple SSH connection. ncdu aims to be fast, simple and easy to
|
||||
use, and should be able to run in any minimal POSIX-like environment with
|
||||
ncurses installed.")
|
||||
(license (x11-style
|
||||
(string-append "https://g.blicky.net/ncdu.git/plain/COPYING?id=v"
|
||||
version)))
|
||||
(license (x11-style "file://COPYING"))
|
||||
(home-page "https://dev.yorhel.nl/ncdu")))
|
||||
|
||||
(define-public ncdu
|
||||
|
|
|
@ -348,7 +348,7 @@ (define-public stfl
|
|||
;; Some programs look for libstfl.so.0.
|
||||
(symlink "libstfl.so" (string-append lib "/libstfl.so.0"))))))))
|
||||
(inputs (list ncurses))
|
||||
(native-inputs (list swig))
|
||||
(native-inputs (list ncurses swig))
|
||||
(home-page "https://www.clifford.at/stfl/")
|
||||
(synopsis "Structured terminal forms library")
|
||||
(description "Stfl is a library which implements a curses-based widget
|
||||
|
|
|
@ -391,7 +391,7 @@ (define-public libcamera
|
|||
(build-system meson-build-system)
|
||||
(outputs '("out" "doc" "gst" "tools"))
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
|
||||
#:configure-flags
|
||||
#~(list (string-append "-Dbindir="
|
||||
(assoc-ref %outputs "tools") "/bin")
|
||||
|
@ -400,6 +400,16 @@ (define-public libcamera
|
|||
"-Dpycamera=disabled")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@(if (target-aarch64?)
|
||||
;; The 'log_process' test fails on aarch64-linux with a
|
||||
;; SIGinvalid error (see:
|
||||
;; https://bugs.libcamera.org/show_bug.cgi?id=173).
|
||||
#~((add-after 'unpack 'disable-problematic-tests
|
||||
(lambda _
|
||||
(substitute* "test/log/meson.build"
|
||||
((".*'name': 'log_process'.*")
|
||||
"")))))
|
||||
#~())
|
||||
(add-after 'install 'move-doc-and-gst
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -3960,7 +3970,7 @@ (define-public bird
|
|||
(define-public iwd
|
||||
(package
|
||||
(name "iwd")
|
||||
(version "2.7")
|
||||
(version "2.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3969,7 +3979,7 @@ (define-public iwd
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xn0db37x0nrvwlw0r4w6q3yk57ijqh9zxd15wf3qqvs01hqkk2j"))))
|
||||
"0bpksqyaqr624bj7zm9hi22rnp6wnjbngx4q08l7lbd0r7r93vcb"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list dbus ell (package-source ell) readline))
|
||||
|
@ -4014,7 +4024,7 @@ (define-public iwd
|
|||
;; Don't try to 'mkdir /var'.
|
||||
(("\\$\\(MKDIR_P\\) -m 700") "true")))))))
|
||||
(home-page "https://git.kernel.org/pub/scm/network/wireless/iwd.git/")
|
||||
(synopsis "Internet Wireless Daemon")
|
||||
(synopsis "iNet Wireless Daemon")
|
||||
(description "iwd is a wireless daemon for Linux that aims to replace WPA
|
||||
Supplicant. It optimizes resource utilization by not depending on any external
|
||||
libraries and instead utilizing features provided by the Linux kernel to the
|
||||
|
|
|
@ -143,6 +143,17 @@ (define-public nss
|
|||
#$@(if (target-riscv64?)
|
||||
#~("NSS_DISABLE_GTESTS=1")
|
||||
#~())
|
||||
;; Ensure we are building for the (%current-target-system).
|
||||
#$@(if (%current-target-system)
|
||||
#~((string-append
|
||||
"OS_TEST="
|
||||
(string-take #$(%current-target-system)
|
||||
(string-index #$(%current-target-system) #\-)))
|
||||
(string-append
|
||||
"KERNEL=" (cond (#$(target-hurd?) "gnu")
|
||||
(#$(target-linux?) "linux")
|
||||
(else ""))))
|
||||
#~())
|
||||
(string-append "NSPR_INCLUDE_DIR="
|
||||
(search-input-directory %build-inputs
|
||||
"include/nspr"))
|
||||
|
@ -163,6 +174,10 @@ (define-public nss
|
|||
(replace 'configure
|
||||
(lambda _
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
;; TODO: Set this unconditionally
|
||||
#$@(if (%current-target-system)
|
||||
#~((setenv "CCC" #$(cxx-for-target)))
|
||||
#~())
|
||||
;; No VSX on powerpc-linux.
|
||||
#$@(if (target-ppc32?)
|
||||
#~((setenv "NSS_DISABLE_CRYPTO_VSX" "1"))
|
||||
|
|
|
@ -1359,7 +1359,7 @@ (define-public ocaml4.07-lablgtk
|
|||
(define-public unison
|
||||
(package
|
||||
(name "unison")
|
||||
(version "2.51.2")
|
||||
(version "2.53.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1368,52 +1368,18 @@ (define-public unison
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq"))
|
||||
(patches (search-patches "unison-fix-ocaml-4.08.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ; 1.9 MiB of documentation
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml-4.09)
|
||||
;; For documentation
|
||||
("ghostscript" ,ghostscript)
|
||||
("texlive" ,(texlive-updmap.cfg))
|
||||
("hevea" ,hevea)
|
||||
("lynx" ,lynx)
|
||||
("which" ,which)))
|
||||
"05ihxk1yynw08586i06w19xab9r24h9hr6v9bknqm98qrlshm92w"))))
|
||||
(build-system dune-build-system)
|
||||
(propagated-inputs (list lablgtk3 zlib))
|
||||
(native-inputs (list ghostscript (texlive-updmap.cfg '()) hevea lynx which))
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
#:parallel-tests? #f
|
||||
#:test-target "selftest"
|
||||
#:tests? #f ; Tests require writing to $HOME.
|
||||
; If some $HOME is provided, they fail with the message
|
||||
; "Fatal error: Skipping some tests -- remove me!"
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'install 'prepare-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(mkdir-p bin)
|
||||
(setenv "HOME" out) ; forces correct INSTALLDIR in Makefile
|
||||
#t)))
|
||||
(add-after 'install 'install-fsmonitor
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
;; 'unison-fsmonitor' is used in "unison -repeat watch" mode.
|
||||
(install-file "src/unison-fsmonitor" bin)
|
||||
#t)))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
(let ((doc (string-append (assoc-ref outputs "out")
|
||||
"/share/doc/unison")))
|
||||
(mkdir-p doc)
|
||||
;; Remove an '\n' that prevents the doc to be generated
|
||||
;; correctly with newer hevea.
|
||||
(substitute* "doc/local.tex"
|
||||
(("----SNIP----.*") "----SNIP----"))
|
||||
;; This file needs write-permissions, because it's
|
||||
;; overwritten by 'docs' during documentation generation.
|
||||
(chmod "src/strings.ml" #o600)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -64,7 +64,17 @@ (define-public libtirpc
|
|||
"src/getnetconfig.c"
|
||||
"tirpc/netconfig.h")
|
||||
(("/etc/netconfig") (string-append (assoc-ref outputs "out")
|
||||
"/etc/netconfig"))))))))
|
||||
"/etc/netconfig")))))
|
||||
,@(if (%current-target-system)
|
||||
`((add-after 'unpack 'adjust-pkg-config
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libtirpc.pc.in"
|
||||
(("-ltirpc")
|
||||
(string-append "-ltirpc"
|
||||
" -L" (dirname (search-input-file
|
||||
inputs "/lib/libkrb5.so"))
|
||||
" -lkrb5"))))))
|
||||
`()))))
|
||||
(native-inputs (list mit-krb5)) ;; for cross-compilation
|
||||
(inputs (list mit-krb5))
|
||||
(home-page "https://sourceforge.net/projects/libtirpc/")
|
||||
|
|
|
@ -1510,8 +1510,8 @@ (define-public gwl/next
|
|||
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
|
||||
|
||||
(define-public guix-build-coordinator
|
||||
(let ((commit "9c42dcb726fc925606b12695e195ae1dc7e28cc3")
|
||||
(revision "89"))
|
||||
(let ((commit "34463558e589aa260b15e53422652a37848aec95")
|
||||
(revision "90"))
|
||||
(package
|
||||
(name "guix-build-coordinator")
|
||||
(version (git-version "0" revision commit))
|
||||
|
@ -1522,7 +1522,7 @@ (define-public guix-build-coordinator
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"18m368rgmaiscmr1jlz77qkfw5fp4m8szgh90l6wbi9w68yfmr4n"))
|
||||
"0fhy0l9js38byxwwb72qnjm358ai3k654jdnhwdcgk25pdsdzcpr"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd
|
||||
|
||||
From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001
|
||||
From: Nathan Crandall <ncrandall@tesla.com>
|
||||
Date: Tue, 12 Jul 2022 08:56:34 +0200
|
||||
Subject: gweb: Fix OOB write in received_data()
|
||||
|
||||
There is a mismatch of handling binary vs. C-string data with memchr
|
||||
and strlen, resulting in pos, count, and bytes_read to become out of
|
||||
sync and result in a heap overflow. Instead, do not treat the buffer
|
||||
as an ASCII C-string. We calculate the count based on the return value
|
||||
of memchr, instead of strlen.
|
||||
|
||||
Fixes: CVE-2022-32292
|
||||
---
|
||||
gweb/gweb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gweb/gweb.c b/gweb/gweb.c
|
||||
index 12fcb1d8..13c6c5f2 100644
|
||||
--- a/gweb/gweb.c
|
||||
+++ b/gweb/gweb.c
|
||||
@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond,
|
||||
}
|
||||
|
||||
*pos = '\0';
|
||||
- count = strlen((char *) ptr);
|
||||
+ count = pos - ptr;
|
||||
if (count > 0 && ptr[count - 1] == '\r') {
|
||||
ptr[--count] = '\0';
|
||||
bytes_read--;
|
||||
--
|
||||
cgit
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=72343929836de80727a27d6744c869dff045757c
|
||||
|
||||
From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wagner <wagi@monom.org>
|
||||
Date: Tue, 5 Jul 2022 08:32:12 +0200
|
||||
Subject: wispr: Add reference counter to portal context
|
||||
|
||||
Track the connman_wispr_portal_context live time via a
|
||||
refcounter. This only adds the infrastructure to do proper reference
|
||||
counting.
|
||||
|
||||
Fixes: CVE-2022-32293
|
||||
---
|
||||
src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 42 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/wispr.c b/src/wispr.c
|
||||
index a07896ca..bde7e63b 100644
|
||||
--- a/src/wispr.c
|
||||
+++ b/src/wispr.c
|
||||
@@ -56,6 +56,7 @@ struct wispr_route {
|
||||
};
|
||||
|
||||
struct connman_wispr_portal_context {
|
||||
+ int refcount;
|
||||
struct connman_service *service;
|
||||
enum connman_ipconfig_type type;
|
||||
struct connman_wispr_portal *wispr_portal;
|
||||
@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL;
|
||||
static char *online_check_ipv6_url = NULL;
|
||||
static bool enable_online_to_ready_transition = false;
|
||||
|
||||
+#define wispr_portal_context_ref(wp_context) \
|
||||
+ wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__)
|
||||
+#define wispr_portal_context_unref(wp_context) \
|
||||
+ wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__)
|
||||
+
|
||||
static void connman_wispr_message_init(struct connman_wispr_message *msg)
|
||||
{
|
||||
DBG("");
|
||||
@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context(
|
||||
{
|
||||
DBG("context %p", wp_context);
|
||||
|
||||
- if (!wp_context)
|
||||
- return;
|
||||
-
|
||||
if (wp_context->wispr_portal) {
|
||||
if (wp_context->wispr_portal->ipv4_context == wp_context)
|
||||
wp_context->wispr_portal->ipv4_context = NULL;
|
||||
@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context(
|
||||
g_free(wp_context);
|
||||
}
|
||||
|
||||
+static struct connman_wispr_portal_context *
|
||||
+wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context,
|
||||
+ const char *file, int line, const char *caller)
|
||||
+{
|
||||
+ DBG("%p ref %d by %s:%d:%s()", wp_context,
|
||||
+ wp_context->refcount + 1, file, line, caller);
|
||||
+
|
||||
+ __sync_fetch_and_add(&wp_context->refcount, 1);
|
||||
+
|
||||
+ return wp_context;
|
||||
+}
|
||||
+
|
||||
+static void wispr_portal_context_unref_debug(
|
||||
+ struct connman_wispr_portal_context *wp_context,
|
||||
+ const char *file, int line, const char *caller)
|
||||
+{
|
||||
+ if (!wp_context)
|
||||
+ return;
|
||||
+
|
||||
+ DBG("%p ref %d by %s:%d:%s()", wp_context,
|
||||
+ wp_context->refcount - 1, file, line, caller);
|
||||
+
|
||||
+ if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1)
|
||||
+ return;
|
||||
+
|
||||
+ free_connman_wispr_portal_context(wp_context);
|
||||
+}
|
||||
+
|
||||
static struct connman_wispr_portal_context *create_wispr_portal_context(void)
|
||||
{
|
||||
- return g_try_new0(struct connman_wispr_portal_context, 1);
|
||||
+ return wispr_portal_context_ref(
|
||||
+ g_new0(struct connman_wispr_portal_context, 1));
|
||||
}
|
||||
|
||||
static void free_connman_wispr_portal(gpointer data)
|
||||
@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data)
|
||||
if (!wispr_portal)
|
||||
return;
|
||||
|
||||
- free_connman_wispr_portal_context(wispr_portal->ipv4_context);
|
||||
- free_connman_wispr_portal_context(wispr_portal->ipv6_context);
|
||||
+ wispr_portal_context_unref(wispr_portal->ipv4_context);
|
||||
+ wispr_portal_context_unref(wispr_portal->ipv6_context);
|
||||
|
||||
g_free(wispr_portal);
|
||||
}
|
||||
@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result,
|
||||
connman_info("Client-Timezone: %s", str);
|
||||
|
||||
if (!enable_online_to_ready_transition)
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
|
||||
__connman_service_ipconfig_indicate_state(service,
|
||||
CONNMAN_SERVICE_STATE_ONLINE, type);
|
||||
@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service,
|
||||
return;
|
||||
}
|
||||
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context)
|
||||
|
||||
if (wp_context->token == 0) {
|
||||
err = -EINVAL;
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
}
|
||||
} else if (wp_context->timeout == 0) {
|
||||
wp_context->timeout = g_idle_add(no_proxy_callback, wp_context);
|
||||
@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service,
|
||||
|
||||
/* If there is already an existing context, we wipe it */
|
||||
if (wp_context)
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
|
||||
wp_context = create_wispr_portal_context();
|
||||
if (!wp_context)
|
||||
--
|
||||
cgit
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a
|
||||
|
||||
From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wagner <wagi@monom.org>
|
||||
Date: Tue, 5 Jul 2022 09:11:09 +0200
|
||||
Subject: wispr: Update portal context references
|
||||
|
||||
Maintain proper portal context references to avoid UAF.
|
||||
|
||||
Fixes: CVE-2022-32293
|
||||
---
|
||||
src/wispr.c | 34 ++++++++++++++++++++++------------
|
||||
1 file changed, 22 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/wispr.c b/src/wispr.c
|
||||
index bde7e63b..84bed33f 100644
|
||||
--- a/src/wispr.c
|
||||
+++ b/src/wispr.c
|
||||
@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false;
|
||||
|
||||
static void connman_wispr_message_init(struct connman_wispr_message *msg)
|
||||
{
|
||||
- DBG("");
|
||||
-
|
||||
msg->has_error = false;
|
||||
msg->current_element = NULL;
|
||||
|
||||
@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context)
|
||||
static void free_connman_wispr_portal_context(
|
||||
struct connman_wispr_portal_context *wp_context)
|
||||
{
|
||||
- DBG("context %p", wp_context);
|
||||
-
|
||||
if (wp_context->wispr_portal) {
|
||||
if (wp_context->wispr_portal->ipv4_context == wp_context)
|
||||
wp_context->wispr_portal->ipv4_context = NULL;
|
||||
@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result,
|
||||
&str))
|
||||
connman_info("Client-Timezone: %s", str);
|
||||
|
||||
- if (!enable_online_to_ready_transition)
|
||||
- wispr_portal_context_unref(wp_context);
|
||||
-
|
||||
__connman_service_ipconfig_indicate_state(service,
|
||||
CONNMAN_SERVICE_STATE_ONLINE, type);
|
||||
|
||||
@@ -546,14 +539,17 @@ static void wispr_portal_request_portal(
|
||||
{
|
||||
DBG("");
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
wp_context->request_id = g_web_request_get(wp_context->web,
|
||||
wp_context->status_url,
|
||||
wispr_portal_web_result,
|
||||
wispr_route_request,
|
||||
wp_context);
|
||||
|
||||
- if (wp_context->request_id == 0)
|
||||
+ if (wp_context->request_id == 0) {
|
||||
wispr_portal_error(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
+ }
|
||||
}
|
||||
|
||||
static bool wispr_input(const guint8 **data, gsize *length,
|
||||
@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service,
|
||||
return;
|
||||
|
||||
if (!authentication_done) {
|
||||
- wispr_portal_error(wp_context);
|
||||
free_wispr_routes(wp_context);
|
||||
+ wispr_portal_error(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Restarting the test */
|
||||
__connman_service_wispr_start(service, wp_context->type);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
}
|
||||
|
||||
static void wispr_portal_request_wispr_login(struct connman_service *service,
|
||||
@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result,
|
||||
|
||||
wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN;
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
if (__connman_agent_request_login_input(wp_context->service,
|
||||
wispr_portal_request_wispr_login,
|
||||
- wp_context) != -EINPROGRESS)
|
||||
+ wp_context) != -EINPROGRESS) {
|
||||
wispr_portal_error(wp_context);
|
||||
- else
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
+ } else
|
||||
return true;
|
||||
|
||||
break;
|
||||
@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
if (length > 0) {
|
||||
g_web_parser_feed_data(wp_context->wispr_parser,
|
||||
chunk, length);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
|
||||
switch (status) {
|
||||
case 000:
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->status_url, wp_context);
|
||||
@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
if (g_web_result_get_header(result, "X-ConnMan-Status",
|
||||
&str)) {
|
||||
portal_manage_status(result, wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return false;
|
||||
- } else
|
||||
+ } else {
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->redirect_url, wp_context);
|
||||
+ }
|
||||
|
||||
break;
|
||||
case 300:
|
||||
@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
!g_web_result_get_header(result, "Location",
|
||||
&redirect)) {
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->status_url, wp_context);
|
||||
@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
|
||||
wp_context->redirect_url = g_strdup(redirect);
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
wp_context->request_id = g_web_request_get(wp_context->web,
|
||||
redirect, wispr_portal_web_result,
|
||||
wispr_route_request, wp_context);
|
||||
@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
|
||||
break;
|
||||
case 505:
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->status_url, wp_context);
|
||||
@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
wp_context->request_id = 0;
|
||||
done:
|
||||
wp_context->wispr_msg.message_type = -1;
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data)
|
||||
xml_wispr_parser_callback, wp_context);
|
||||
|
||||
wispr_portal_request_portal(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
}
|
||||
|
||||
static gboolean no_proxy_callback(gpointer user_data)
|
||||
--
|
||||
cgit
|
||||
|
140
gnu/packages/patches/connman-add-missing-libppp-compat.h.patch
Normal file
140
gnu/packages/patches/connman-add-missing-libppp-compat.h.patch
Normal file
|
@ -0,0 +1,140 @@
|
|||
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
Date: Sun Sep 24 02:00:00 2023 +0200
|
||||
Subject: connman: Add missing libppp-compat.h.
|
||||
|
||||
This file was taken verbatim from upstream commit
|
||||
a48864a2e5d2a725dfc6eef567108bc13b43857f. Its absence was since
|
||||
fixed in upstream commit 09c1bbfd55647b18b5bbbb99ef2b6d902465ca16.
|
||||
|
||||
---
|
||||
diff -Naur a/scripts/libppp-compat.h b/scripts/libppp-compat.h
|
||||
--- a/scripts/libppp-compat.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/scripts/libppp-compat.h 2023-09-29 00:45:18.726709659 +0200
|
||||
@@ -0,0 +1,127 @@
|
||||
+/* Copyright (C) Eivind Naess, eivnaes@yahoo.com */
|
||||
+/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
+
|
||||
+#ifndef __LIBPPP_COMPAT_H__
|
||||
+#define __LIBPPP_COMPAT_H__
|
||||
+
|
||||
+/* Define USE_EAPTLS compile with EAP TLS support against older pppd headers,
|
||||
+ * pppd >= 2.5.0 use PPP_WITH_EAPTLS and is defined in pppdconf.h */
|
||||
+#define USE_EAPTLS 1
|
||||
+
|
||||
+/* Define INET6 to compile with IPv6 support against older pppd headers,
|
||||
+ * pppd >= 2.5.0 use PPP_WITH_IPV6CP and is defined in pppdconf.h */
|
||||
+#define INET6 1
|
||||
+
|
||||
+/* PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
|
||||
+ * this silly macro magic is to work around that. */
|
||||
+#undef VERSION
|
||||
+#include <pppd/pppd.h>
|
||||
+
|
||||
+#ifndef PPPD_VERSION
|
||||
+#define PPPD_VERSION VERSION
|
||||
+#endif
|
||||
+
|
||||
+#include <pppd/fsm.h>
|
||||
+#include <pppd/ccp.h>
|
||||
+#include <pppd/eui64.h>
|
||||
+#include <pppd/ipcp.h>
|
||||
+#include <pppd/ipv6cp.h>
|
||||
+#include <pppd/eap.h>
|
||||
+#include <pppd/upap.h>
|
||||
+
|
||||
+#ifdef HAVE_PPPD_CHAP_H
|
||||
+#include <pppd/chap.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifdef HAVE_PPPD_CHAP_NEW_H
|
||||
+#include <pppd/chap-new.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifdef HAVE_PPPD_CHAP_MS_H
|
||||
+#include <pppd/chap_ms.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifndef PPP_PROTO_CHAP
|
||||
+#define PPP_PROTO_CHAP 0xc223
|
||||
+#endif
|
||||
+
|
||||
+#ifndef PPP_PROTO_EAP
|
||||
+#define PPP_PROTO_EAP 0xc227
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
|
||||
+
|
||||
+static inline bool
|
||||
+debug_on (void)
|
||||
+{
|
||||
+ return debug;
|
||||
+}
|
||||
+
|
||||
+static inline const char
|
||||
+*ppp_ipparam (void)
|
||||
+{
|
||||
+ return ipparam;
|
||||
+}
|
||||
+
|
||||
+static inline int
|
||||
+ppp_ifunit (void)
|
||||
+{
|
||||
+ return ifunit;
|
||||
+}
|
||||
+
|
||||
+static inline const char *
|
||||
+ppp_ifname (void)
|
||||
+{
|
||||
+ return ifname;
|
||||
+}
|
||||
+
|
||||
+static inline int
|
||||
+ppp_get_mtu (int idx)
|
||||
+{
|
||||
+ return netif_get_mtu(idx);
|
||||
+}
|
||||
+
|
||||
+typedef enum ppp_notify
|
||||
+{
|
||||
+ NF_PID_CHANGE,
|
||||
+ NF_PHASE_CHANGE,
|
||||
+ NF_EXIT,
|
||||
+ NF_SIGNALED,
|
||||
+ NF_IP_UP,
|
||||
+ NF_IP_DOWN,
|
||||
+ NF_IPV6_UP,
|
||||
+ NF_IPV6_DOWN,
|
||||
+ NF_AUTH_UP,
|
||||
+ NF_LINK_DOWN,
|
||||
+ NF_FORK,
|
||||
+ NF_MAX_NOTIFY
|
||||
+} ppp_notify_t;
|
||||
+
|
||||
+typedef void (ppp_notify_fn) (void *ctx, int arg);
|
||||
+
|
||||
+static inline void
|
||||
+ppp_add_notify (ppp_notify_t type, ppp_notify_fn *func, void *ctx)
|
||||
+{
|
||||
+ struct notifier **list[NF_MAX_NOTIFY] = {
|
||||
+ [NF_PID_CHANGE ] = &pidchange,
|
||||
+ [NF_PHASE_CHANGE] = &phasechange,
|
||||
+ [NF_EXIT ] = &exitnotify,
|
||||
+ [NF_SIGNALED ] = &sigreceived,
|
||||
+ [NF_IP_UP ] = &ip_up_notifier,
|
||||
+ [NF_IP_DOWN ] = &ip_down_notifier,
|
||||
+ [NF_IPV6_UP ] = &ipv6_up_notifier,
|
||||
+ [NF_IPV6_DOWN ] = &ipv6_down_notifier,
|
||||
+ [NF_AUTH_UP ] = &auth_up_notifier,
|
||||
+ [NF_LINK_DOWN ] = &link_down_notifier,
|
||||
+ [NF_FORK ] = &fork_notifier,
|
||||
+ };
|
||||
+
|
||||
+ struct notifier **notify = list[type];
|
||||
+ if (notify) {
|
||||
+ add_notifier(notify, func, ctx);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */
|
||||
+#endif /* #if__LIBPPP_COMPAT_H__ */
|
|
@ -43,17 +43,17 @@ index 704e75c..bb3f9b0 100755
|
|||
|
||||
int idx = comboLangs->findText(t.currentLanguage(), Qt::MatchExactly);
|
||||
diff --git a/src/mainwindowimpl.cpp b/src/mainwindowimpl.cpp
|
||||
index 2b6d68d..83a365f 100755
|
||||
index 6562e35..d19bc28 100755
|
||||
--- a/src/mainwindowimpl.cpp
|
||||
+++ b/src/mainwindowimpl.cpp
|
||||
@@ -164,7 +164,6 @@ void MainWindowImpl::createActions()
|
||||
@@ -163,7 +163,6 @@ void MainWindowImpl::createActions()
|
||||
connect(actionInfo, SIGNAL(triggered()), this, SLOT(about()));
|
||||
connect(actionDonatePaypal, SIGNAL(triggered()), this, SLOT(openPaypalLink()));
|
||||
connect(actionReportBug, SIGNAL(triggered()), this, SLOT(bugReport()));
|
||||
- connect(actionCheckForUpdates, SIGNAL(triggered()), this, SLOT(checkForUpdates()));
|
||||
}
|
||||
connect(actionHelp, SIGNAL(triggered()), this, SLOT(onlineHelp()));
|
||||
|
||||
void MainWindowImpl::setupMenu()
|
||||
// Create first toolbar button
|
||||
diff --git a/ui/dialogoptions.ui b/ui/dialogoptions.ui
|
||||
index e59148d..6cb23f5 100755
|
||||
--- a/ui/dialogoptions.ui
|
||||
|
@ -82,18 +82,18 @@ index e59148d..6cb23f5 100755
|
|||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
diff --git a/ui/mainwindow.ui b/ui/mainwindow.ui
|
||||
index a5f55f0..28df8cc 100755
|
||||
index 569565f..b86fc2e 100755
|
||||
--- a/ui/mainwindow.ui
|
||||
+++ b/ui/mainwindow.ui
|
||||
@@ -190,7 +190,6 @@
|
||||
</property>
|
||||
@@ -356,7 +356,6 @@
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionDonatePaypal"/>
|
||||
<addaction name="separator"/>
|
||||
- <addaction name="actionCheckForUpdates"/>
|
||||
<addaction name="actionReportBug"/>
|
||||
<addaction name="separator"/>
|
||||
</widget>
|
||||
@@ -1365,14 +1364,6 @@ p, li { white-space: pre-wrap; }
|
||||
<addaction name="actionInfo"/>
|
||||
@@ -1412,14 +1411,6 @@ p, li { white-space: pre-wrap; }
|
||||
<string>Import windows icon (*.ico *.icon)</string>
|
||||
</property>
|
||||
</action>
|
||||
|
@ -105,6 +105,6 @@ index a5f55f0..28df8cc 100755
|
|||
- <string>Check if a new version of Converseen is available</string>
|
||||
- </property>
|
||||
- </action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<action name="actionAddDirectory">
|
||||
<property name="icon">
|
||||
<iconset resource="../resources.qrc">
|
||||
|
|
1405
gnu/packages/patches/ergodox-firmware-fix-json-target.patch
Normal file
1405
gnu/packages/patches/ergodox-firmware-fix-json-target.patch
Normal file
File diff suppressed because it is too large
Load diff
18
gnu/packages/patches/ergodox-firmware-fix-numpad.patch
Normal file
18
gnu/packages/patches/ergodox-firmware-fix-numpad.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
Submitted upstream: https://github.com/benblazak/ergodox-firmware/pull/100
|
||||
|
||||
diff --git a/src/lib/key-functions/public/special.c b/src/lib/key-functions/public/special.c
|
||||
index 42aba45..6488137 100644
|
||||
--- a/src/lib/key-functions/public/special.c
|
||||
+++ b/src/lib/key-functions/public/special.c
|
||||
@@ -102,9 +102,9 @@ void kbfun_2_keys_capslock_press_release(void) {
|
||||
static uint8_t numpad_layer_id;
|
||||
|
||||
static inline void numpad_toggle_numlock(void) {
|
||||
- _kbfun_press_release(true, KEY_LockingNumLock);
|
||||
+ _kbfun_press_release(true, KEYPAD_NumLock_Clear);
|
||||
usb_keyboard_send();
|
||||
- _kbfun_press_release(false, KEY_LockingNumLock);
|
||||
+ _kbfun_press_release(false, KEYPAD_NumLock_Clear);
|
||||
usb_keyboard_send();
|
||||
}
|
||||
|
160
gnu/packages/patches/glibc-2.35-CVE-2023-4911.patch
Normal file
160
gnu/packages/patches/glibc-2.35-CVE-2023-4911.patch
Normal file
|
@ -0,0 +1,160 @@
|
|||
From 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa Mon Sep 17 00:00:00 2001
|
||||
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
Date: Tue, 19 Sep 2023 18:39:32 -0400
|
||||
Subject: [PATCH 1/1] tunables: Terminate if end of input is reached
|
||||
(CVE-2023-4911)
|
||||
|
||||
The string parsing routine may end up writing beyond bounds of tunestr
|
||||
if the input tunable string is malformed, of the form name=name=val.
|
||||
This gets processed twice, first as name=name=val and next as name=val,
|
||||
resulting in tunestr being name=name=val:name=val, thus overflowing
|
||||
tunestr.
|
||||
|
||||
Terminate the parsing loop at the first instance itself so that tunestr
|
||||
does not overflow.
|
||||
|
||||
This also fixes up tst-env-setuid-tunables to actually handle failures
|
||||
correct and add new tests to validate the fix for this CVE.
|
||||
|
||||
Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
||||
---
|
||||
Backported to 2.35 by Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
|
||||
NEWS | 5 +++++
|
||||
elf/dl-tunables.c | 17 +++++++++-------
|
||||
elf/tst-env-setuid-tunables.c | 37 +++++++++++++++++++++++++++--------
|
||||
3 files changed, 44 insertions(+), 15 deletions(-)
|
||||
|
||||
Index: glibc-2.35/NEWS
|
||||
===================================================================
|
||||
--- glibc-2.35.orig/NEWS
|
||||
+++ glibc-2.35/NEWS
|
||||
@@ -199,6 +199,11 @@ Security related changes:
|
||||
corresponds to the / directory through an unprivileged mount
|
||||
namespace. Reported by Qualys.
|
||||
|
||||
+ CVE-2023-4911: If a tunable of the form NAME=NAME=VAL is passed in the
|
||||
+ environment of a setuid program and NAME is valid, it may result in a
|
||||
+ buffer overflow, which could be exploited to achieve escalated
|
||||
+ privileges. This flaw was introduced in glibc 2.34.
|
||||
+
|
||||
The following bugs are resolved with this release:
|
||||
|
||||
[12889] nptl: Race condition in pthread_kill
|
||||
Index: glibc-2.35/elf/dl-tunables.c
|
||||
===================================================================
|
||||
--- glibc-2.35.orig/elf/dl-tunables.c
|
||||
+++ glibc-2.35/elf/dl-tunables.c
|
||||
@@ -187,11 +187,7 @@ parse_tunables (char *tunestr, char *val
|
||||
/* If we reach the end of the string before getting a valid name-value
|
||||
pair, bail out. */
|
||||
if (p[len] == '\0')
|
||||
- {
|
||||
- if (__libc_enable_secure)
|
||||
- tunestr[off] = '\0';
|
||||
- return;
|
||||
- }
|
||||
+ break;
|
||||
|
||||
/* We did not find a valid name-value pair before encountering the
|
||||
colon. */
|
||||
@@ -251,9 +247,16 @@ parse_tunables (char *tunestr, char *val
|
||||
}
|
||||
}
|
||||
|
||||
- if (p[len] != '\0')
|
||||
- p += len + 1;
|
||||
+ /* We reached the end while processing the tunable string. */
|
||||
+ if (p[len] == '\0')
|
||||
+ break;
|
||||
+
|
||||
+ p += len + 1;
|
||||
}
|
||||
+
|
||||
+ /* Terminate tunestr before we leave. */
|
||||
+ if (__libc_enable_secure)
|
||||
+ tunestr[off] = '\0';
|
||||
}
|
||||
#endif
|
||||
|
||||
Index: glibc-2.35/elf/tst-env-setuid-tunables.c
|
||||
===================================================================
|
||||
--- glibc-2.35.orig/elf/tst-env-setuid-tunables.c
|
||||
+++ glibc-2.35/elf/tst-env-setuid-tunables.c
|
||||
@@ -52,6 +52,8 @@ const char *teststrings[] =
|
||||
"glibc.malloc.perturb=0x800:not_valid.malloc.check=2:glibc.malloc.mmap_threshold=4096",
|
||||
"glibc.not_valid.check=2:glibc.malloc.mmap_threshold=4096",
|
||||
"not_valid.malloc.check=2:glibc.malloc.mmap_threshold=4096",
|
||||
+ "glibc.malloc.mmap_threshold=glibc.malloc.mmap_threshold=4096",
|
||||
+ "glibc.malloc.check=2",
|
||||
"glibc.malloc.garbage=2:glibc.maoc.mmap_threshold=4096:glibc.malloc.check=2",
|
||||
"glibc.malloc.check=4:glibc.malloc.garbage=2:glibc.maoc.mmap_threshold=4096",
|
||||
":glibc.malloc.garbage=2:glibc.malloc.check=1",
|
||||
@@ -70,6 +72,8 @@ const char *resultstrings[] =
|
||||
"glibc.malloc.perturb=0x800:glibc.malloc.mmap_threshold=4096",
|
||||
"glibc.malloc.mmap_threshold=4096",
|
||||
"glibc.malloc.mmap_threshold=4096",
|
||||
+ "glibc.malloc.mmap_threshold=glibc.malloc.mmap_threshold=4096",
|
||||
+ "",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
@@ -89,6 +93,8 @@ test_child (int off)
|
||||
|
||||
if (val != NULL)
|
||||
printf ("[%d] Unexpected GLIBC_TUNABLES VALUE %s\n", off, val);
|
||||
+ else
|
||||
+ printf ("[%d] GLIBC_TUNABLES environment variable absent\n", off);
|
||||
|
||||
return 1;
|
||||
#else
|
||||
@@ -117,21 +123,26 @@ do_test (int argc, char **argv)
|
||||
if (ret != 0)
|
||||
exit (1);
|
||||
|
||||
- exit (EXIT_SUCCESS);
|
||||
+ /* Special return code to make sure that the child executed all the way
|
||||
+ through. */
|
||||
+ exit (42);
|
||||
}
|
||||
else
|
||||
{
|
||||
- int ret = 0;
|
||||
-
|
||||
/* Spawn tests. */
|
||||
for (int i = 0; i < array_length (teststrings); i++)
|
||||
{
|
||||
char buf[INT_BUFSIZE_BOUND (int)];
|
||||
|
||||
- printf ("Spawned test for %s (%d)\n", teststrings[i], i);
|
||||
+ printf ("[%d] Spawned test for %s\n", i, teststrings[i]);
|
||||
snprintf (buf, sizeof (buf), "%d\n", i);
|
||||
+ fflush (stdout);
|
||||
if (setenv ("GLIBC_TUNABLES", teststrings[i], 1) != 0)
|
||||
- exit (1);
|
||||
+ {
|
||||
+ printf (" [%d] Failed to set GLIBC_TUNABLES: %m", i);
|
||||
+ support_record_failure ();
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
int status = support_capture_subprogram_self_sgid (buf);
|
||||
|
||||
@@ -139,9 +150,14 @@ do_test (int argc, char **argv)
|
||||
if (WEXITSTATUS (status) == EXIT_UNSUPPORTED)
|
||||
return EXIT_UNSUPPORTED;
|
||||
|
||||
- ret |= status;
|
||||
+ if (WEXITSTATUS (status) != 42)
|
||||
+ {
|
||||
+ printf (" [%d] child failed with status %d\n", i,
|
||||
+ WEXITSTATUS (status));
|
||||
+ support_record_failure ();
|
||||
+ }
|
||||
}
|
||||
- return ret;
|
||||
+ return 0;
|
||||
}
|
||||
}
|
||||
|
21
gnu/packages/patches/icecat-compare-paths.patch
Normal file
21
gnu/packages/patches/icecat-compare-paths.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
See comment in gnu/build/icecat-extension.scm.
|
||||
|
||||
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
|
||||
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
|
||||
@@ -3452,6 +3452,7 @@ const XPIDatabaseReconcile = {
|
||||
if (
|
||||
newAddon ||
|
||||
oldAddon.updateDate != xpiState.mtime ||
|
||||
+ oldAddon.path != xpiState.path ||
|
||||
(aUpdateCompatibility && this.isAppBundledLocation(installLocation))
|
||||
) {
|
||||
newAddon = this.updateMetadata(
|
||||
@@ -3460,8 +3461,6 @@ const XPIDatabaseReconcile = {
|
||||
xpiState,
|
||||
newAddon
|
||||
);
|
||||
- } else if (oldAddon.path != xpiState.path) {
|
||||
- newAddon = this.updatePath(installLocation, oldAddon, xpiState);
|
||||
} else if (aUpdateCompatibility || aSchemaChange) {
|
||||
newAddon = this.updateCompatibility(
|
||||
installLocation,
|
36
gnu/packages/patches/icecat-use-system-wide-dir.patch
Normal file
36
gnu/packages/patches/icecat-use-system-wide-dir.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
|
||||
native manifests) with "$ICECAT_SYSTEM_DIR".
|
||||
|
||||
--- a/toolkit/xre/nsXREDirProvider.cpp
|
||||
+++ b/toolkit/xre/nsXREDirProvider.cpp
|
||||
@@ -293,24 +293,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
|
||||
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIFile> localDir;
|
||||
-# if defined(XP_MACOSX)
|
||||
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
|
||||
- getter_AddRefs(localDir));
|
||||
- if (NS_SUCCEEDED(rv)) {
|
||||
- rv = localDir->AppendNative("Mozilla"_ns);
|
||||
- }
|
||||
-# else
|
||||
- constexpr auto dirname =
|
||||
-# ifdef HAVE_USR_LIB64_DIR
|
||||
- "/usr/lib64/mozilla"_ns
|
||||
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
|
||||
- "/usr/local/lib/mozilla"_ns
|
||||
-# else
|
||||
- "/usr/lib/mozilla"_ns
|
||||
-# endif
|
||||
- ;
|
||||
- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
|
||||
-# endif
|
||||
+
|
||||
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
|
||||
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
|
||||
+
|
||||
+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false,
|
||||
+ getter_AddRefs(localDir));
|
||||
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
localDir.forget(aFile);
|
15
gnu/packages/patches/qmk-firmware-fix-hacker-dvorak.patch
Normal file
15
gnu/packages/patches/qmk-firmware-fix-hacker-dvorak.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
Submitted upstream: https://github.com/qmk/qmk_firmware/pull/22102
|
||||
|
||||
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
|
||||
index bd4fd10ad1..5ce5f5298f 100644
|
||||
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
|
||||
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
|
||||
@@ -4,7 +4,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
switch (layer) {
|
||||
case DVORAK:
|
||||
- rgblight_sethsv_noeeprom(GREEN);
|
||||
+ rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
|
||||
if (PLOVER_MODE) {
|
39
gnu/packages/patches/qtbase-5-use-TZDIR.patch
Normal file
39
gnu/packages/patches/qtbase-5-use-TZDIR.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
Use $TZDIR to search for time-zone data. Thus avoid depending on package
|
||||
"tzdata", which often introduces changes with near-immediate effects, so it's
|
||||
important to be able to update it fast.
|
||||
|
||||
Based on a patch fron NixOS.
|
||||
===================================================================
|
||||
--- qtbase-opensource-src-5.14.2.orig/src/corelib/time/qtimezoneprivate_tz.cpp
|
||||
+++ qtbase-opensource-src-5.15.2/src/corelib/time/qtimezoneprivate_tz.cpp
|
||||
@@ -70,7 +70,11 @@
|
||||
// Parse zone.tab table, assume lists all installed zones, if not will need to read directories
|
||||
static QTzTimeZoneHash loadTzTimeZones()
|
||||
{
|
||||
- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
|
||||
+ // Try TZDIR first, in case we're running on GuixSD.
|
||||
+ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
|
||||
+ // Fallback to traditional paths in case we are not on GuixSD.
|
||||
+ if (!QFile::exists(path))
|
||||
+ path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
|
||||
if (!QFile::exists(path))
|
||||
path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
|
||||
|
||||
@@ -645,6 +649,9 @@
|
||||
if (!tzif.open(QIODevice::ReadOnly))
|
||||
return;
|
||||
} else {
|
||||
+ // Try TZDIR first, in case we're running on GuixSD.
|
||||
+ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
|
||||
+ if (!tzif.open(QIODevice::ReadOnly)) {
|
||||
// Open named tz, try modern path first, if fails try legacy path
|
||||
tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
|
||||
if (!tzif.open(QIODevice::ReadOnly)) {
|
||||
@@ -652,6 +659,7 @@
|
||||
if (!tzif.open(QIODevice::ReadOnly))
|
||||
return;
|
||||
}
|
||||
+ }
|
||||
}
|
||||
|
||||
QDataStream ds(&tzif);
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue