mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-07 22:44:05 +02:00
Compare commits
192 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e5b92baa27 | |||
| 0c53e15628 | |||
| 35d6a5d3fa | |||
| 413d01aaf2 | |||
| 56a998e94c | |||
| 1100e266a6 | |||
| d255c4e9f2 | |||
| 7f8750a383 | |||
| b39a170b3b | |||
| d543870175 | |||
| 8ddc279254 | |||
| 03b2e7f34a | |||
| c9dcd203e5 | |||
| f13901f6cb | |||
| 4b81a4df19 | |||
| 2d4f290e17 | |||
| 882f46bdd7 | |||
| 3deecc2f87 | |||
| 36d431c051 | |||
| 568f8e97a7 | |||
| 94ae360ab4 | |||
| a6f6e6c7b3 | |||
| 9f8d0595a2 | |||
| bb40939209 | |||
| d00631a4ff | |||
| 8e8403b996 | |||
| 33550057ae | |||
| 3c85becdf7 | |||
| c451c185de | |||
| a404ada964 | |||
| fcacbd0826 | |||
| 24061dccef | |||
| 794173c04a | |||
| 18f6d3537f | |||
| 9075b70fdc | |||
| ccd324ef6d | |||
| 57fb0b2312 | |||
| b2a13dcf54 | |||
| 2ca9efb154 | |||
| 0ab9e0ad28 | |||
| 8fdcc9a4a2 | |||
| 9fbec1f16f | |||
| 2bf228ab40 | |||
| 027eec1faf | |||
| 5b0d1fc8ab | |||
| 1158d6f4ea | |||
| e39609d41b | |||
| 02b3d4d442 | |||
| 3f89f7b20c | |||
| d121362bef | |||
| a243040e4d | |||
| b48654ff08 | |||
| 6b39fe14d9 | |||
| 8bcdaeef8e | |||
| 86e413b46f | |||
| 33730f95a9 | |||
| 5f65d3f998 | |||
| 883d0e0f83 | |||
| 77ae767bae | |||
| d7aacd8c84 | |||
| e1a0cd5c7b | |||
| 355e90f787 | |||
| 3ec013018a | |||
| ef3dcc29e5 | |||
| b84d3cb9bf | |||
| cd9d6853d4 | |||
| d83568b31d | |||
| 8975ae41b7 | |||
| fff231162b | |||
| 6e0a7e14e0 | |||
| f66846de2f | |||
| e0c204b2c2 | |||
| 5cbdcd4a9a | |||
| 9c664e9a85 | |||
| 133e135cc7 | |||
| 9b91ff6e74 | |||
| d22620424b | |||
| d3b0f2323e | |||
| e420a1974c | |||
| 115aae70b6 | |||
| 117043e5e8 | |||
| 9a7db2db5d | |||
| 6dd1ff6e9e | |||
| 7b6e9748c4 | |||
| 641992f1ee | |||
| 8a505cfd48 | |||
| 10bf5b6c29 | |||
| c7871f6111 | |||
| 363ea2f547 | |||
| 3d87fa6421 | |||
| d9711641a6 | |||
| 2adf8026c4 | |||
| 984c5f07cd | |||
| 6fdb90592a | |||
| c682b5f3a5 | |||
| 47eb631d50 | |||
| 14435577a8 | |||
| b41dc8345c | |||
| 84bbece4d5 | |||
| dc4f3b708f | |||
| 2ec28cfdfa | |||
| 50aec8eeba | |||
| 8d108e2d89 | |||
| a3bce9294d | |||
| c1efd598a8 | |||
| 6e0addaab7 | |||
| e712542373 | |||
| 265b95ec9c | |||
| d884f509f8 | |||
| 17eaf9a444 | |||
| e018ecb458 | |||
| 126a51d0e5 | |||
| 04b1cac9b7 | |||
| 1b3e7af0d7 | |||
| 26e42c6c26 | |||
| fc34e4ff12 | |||
| ed6dc37044 | |||
| e0431c7d7c | |||
| 5bb48ad74b | |||
| 4ec740ec18 | |||
| 81934cf7e9 | |||
| 34bc468f33 | |||
| d066971753 | |||
| 16f9d0985f | |||
| 8f1f7b614a | |||
| fdcfe68021 | |||
| 9749500d75 | |||
| 85ce0f1fbb | |||
| 96195363d9 | |||
| 87cc50cf07 | |||
| f3bb486988 | |||
| f321a1b7de | |||
| d304eecf24 | |||
| 1da8972e11 | |||
| 20b9a9ed98 | |||
| f215a51317 | |||
| facddec38e | |||
| e965869895 | |||
| f528be103a | |||
| 428080e755 | |||
| db597f0573 | |||
| 738ce4385b | |||
| 54a3afc52b | |||
| 185b816ed9 | |||
| 98062e0c27 | |||
| 1d855b34f6 | |||
| 3b05b9d7ac | |||
| 3e1befe1d8 | |||
| c8f53f4b2e | |||
| eea9711889 | |||
| c1e2c71598 | |||
| f2f6164edb | |||
| 2c161c4c52 | |||
| a986f9176e | |||
| b68966fde5 | |||
| 104d503e0c | |||
| e4f9aaba79 | |||
| 0861076552 | |||
| ba3368fcc7 | |||
| 39acd8021b | |||
| 48dda27f41 | |||
| f3145603c8 | |||
| 4393dbcfd5 | |||
| a11eeeaf63 | |||
| 49613fb544 | |||
| 3612d6f692 | |||
| 4939bcf4bb | |||
| 2dfd0bd450 | |||
| dde0466984 | |||
| f8a599ff88 | |||
| 0ebdc92afc | |||
| 23356f4011 | |||
| ed63b0a031 | |||
| 7714e0bfb5 | |||
| acc8f821c8 | |||
| e1c5af77b2 | |||
| 2756e884dd | |||
| c1fd1e40f6 | |||
| c1897da250 | |||
| 6c666986e8 | |||
| 43833afaa1 | |||
| 0ce84291ef | |||
| e270413295 | |||
| 58c844a1ec | |||
| 47919d9f99 | |||
| c0d0ba76e5 | |||
| 9d0bb1ef26 | |||
| 2b94e23e7c | |||
| a3373301a8 | |||
| 05424e9633 | |||
| 4f73e5570d | |||
| 589f02e0c5 |
+41
-23
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
@@ -324,17 +324,31 @@ actual file name."
|
||||
((('span ('@ ('class "category")) ;raw Texinfo 6.8
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
((('span ('@ ('class "symbol-definition-category"))
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
((('span ;Texinfo 6, post-processed
|
||||
('@ ('class "symbol-definition-category"))
|
||||
(? string-or-entity?) ...) rest ...)
|
||||
#t)
|
||||
((('span ;Texinfo 7
|
||||
('@ ('class "category-def")) _ ...)
|
||||
('span ('strong ('@ ('class "def-name")) _ ...)
|
||||
_ ...)
|
||||
rest ...)
|
||||
#t)
|
||||
(x
|
||||
#f))))
|
||||
|
||||
(define (definition-class? class)
|
||||
;; Return true for "deffn def-line", "deftp def-line", etc.
|
||||
(string-suffix? " def-line" class))
|
||||
|
||||
(let ((shtml (call-with-input-file file html->shtml)))
|
||||
(let loop ((shtml shtml)
|
||||
(anchors anchors))
|
||||
(match shtml
|
||||
(('dt ('@ ('id id) _ ...) rest ...)
|
||||
((or ('dt ('@ ('id id) _ ...) rest ...) ;Texinfo 6
|
||||
('dt ('@ ('class (? definition-class?)) ;Texinfo 7
|
||||
('id id))
|
||||
rest ...))
|
||||
(if (and (string-prefix? "index-" id)
|
||||
(worthy-entry? rest))
|
||||
(alist-cons (anchor-id->key id)
|
||||
@@ -505,10 +519,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(loop rest (cons str strings)))
|
||||
((('*ENTITY* "additional" entity) . rest)
|
||||
(loop rest (cons (entity->string entity) strings)))
|
||||
((('*ENTITY* "additional-char" entity) . rest)
|
||||
(loop rest (cons (string
|
||||
(integer->char (string->number entity)))
|
||||
strings)))
|
||||
((('span _ lst ...) . rest) ;for <span class="roman">
|
||||
(loop (append lst rest) strings))
|
||||
((('var name) . rest) ;for @var{name} within @lisp
|
||||
((('var ('@ _) name) . rest) ;for @var{name} within @lisp
|
||||
(loop rest (cons name strings))) ;XXX: losing formatting
|
||||
((('var name) . rest) ;likewise (Texinfo 6)
|
||||
(loop rest (cons name strings)))
|
||||
(something
|
||||
(pk 'unsupported-code-snippet something)
|
||||
(primitive-exit 1)))))
|
||||
@@ -537,7 +557,10 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(link (@ (rel "stylesheet")
|
||||
(type "text/css")
|
||||
(href #$syntax-css-url)))))
|
||||
(('pre ('@ ('class "lisp")) code-snippet ...)
|
||||
((or ('pre ('@ ('class "lisp")) ;Texinfo 6
|
||||
code-snippet ...)
|
||||
('pre ('@ ('class "lisp-preformatted"))
|
||||
code-snippet ...))
|
||||
`(pre (@ (class "lisp"))
|
||||
,@(highlights->sxml*
|
||||
(pair-open/close
|
||||
@@ -545,14 +568,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
||||
(concatenate-snippets code-snippet)))
|
||||
anchors)))
|
||||
|
||||
;; Replace the ugly <strong> used for @deffn etc., which
|
||||
;; translate to <dt>, with more stylable markup.
|
||||
;; For Texinfo 6: Replace the ugly <strong> used for @deffn
|
||||
;; etc., which translate to <dt>, with more stylable
|
||||
;; markup. No such post-processing is needed for @deffn
|
||||
;; with Texinfo 7.
|
||||
(('dt ('@ ('id id)) ;raw Texinfo 6.8
|
||||
('span ('@ ('class "category")) category ...)
|
||||
('span ('strong thing)
|
||||
anchor))
|
||||
(highlight-definition id category thing '()))
|
||||
(('dt (@ ('id id))
|
||||
(('dt ('@ ('id id)) ;ditto
|
||||
('span ('@ ('class "category")) category ...)
|
||||
('span ('strong thing)
|
||||
(? space?) ('em args ...)
|
||||
@@ -808,16 +833,9 @@ in SOURCE."
|
||||
(match sxml
|
||||
(('*TOP* decl body ...)
|
||||
`(*TOP* ,decl ,@(map loop body)))
|
||||
(('head elements ...)
|
||||
;; Add reference to our own manual CSS, which provides
|
||||
;; support for the language menu.
|
||||
`(head ,@elements
|
||||
(link (@ (rel "stylesheet")
|
||||
(type "text/css")
|
||||
(href #$manual-css-url)))))
|
||||
(('body ('@ attributes ...) elements ...)
|
||||
`(body (@ ,@attributes)
|
||||
,(navigation-bar
|
||||
((or ('body ('@ _) elements ...)
|
||||
('body elements ...))
|
||||
`(body ,(navigation-bar
|
||||
;; TODO: Add "Contribute" menu, to report
|
||||
;; errors, etc.
|
||||
(list (menu-dropdown
|
||||
@@ -952,12 +970,12 @@ makeinfo OPTIONS."
|
||||
(mkdir-p (string-append #$output "/"
|
||||
(normalize language)))
|
||||
(setenv "LANGUAGE" language)
|
||||
(apply invoke #$(file-append texinfo "/bin/makeinfo")
|
||||
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
|
||||
"-o" (string-append #$output "/"
|
||||
(normalize language)
|
||||
"/html_node")
|
||||
opts)
|
||||
(apply invoke #$(file-append texinfo "/bin/makeinfo")
|
||||
(apply invoke #$(file-append texinfo-7 "/bin/makeinfo")
|
||||
"--no-split"
|
||||
"-o"
|
||||
(string-append #$output "/"
|
||||
@@ -1409,7 +1427,7 @@ commit date (an integer)."
|
||||
(string-append #+tar "/bin:"
|
||||
#+xz "/bin:"
|
||||
#+zstd "/bin:"
|
||||
#+texinfo "/bin"))
|
||||
#+texinfo-7 "/bin"))
|
||||
(invoke "tar" "xf" #$(package-source guile))
|
||||
(mkdir-p (string-append #$output "/en/html_node"))
|
||||
|
||||
@@ -1428,7 +1446,7 @@ commit date (an integer)."
|
||||
(string-append #$output "/en/html_node")))))))))
|
||||
|
||||
(define %guile-manual-base-url
|
||||
"https://www.gnu.org/software/guile/manual")
|
||||
"https://doc.guix.gnu.org/guile/latest/en")
|
||||
|
||||
(define (for-all-languages index)
|
||||
(map (lambda (language)
|
||||
|
||||
+280
-60
@@ -4780,14 +4780,91 @@ These options are provided for convenience, but you can also specify your
|
||||
configuration in the @file{~/.config/guix/channels.scm} file or using the
|
||||
@option{--channels} option (see below).
|
||||
|
||||
@item --channels=@var{file}
|
||||
@itemx -C @var{file}
|
||||
Read the list of channels from @var{file} instead of
|
||||
@item --channels=@var{file-or-uri}
|
||||
@itemx -C @var{file-or-uri}
|
||||
Read the list of channels from @var{file-or-uri} instead of
|
||||
@file{~/.config/guix/channels.scm} or @file{/etc/guix/channels.scm}.
|
||||
@var{file} must contain Scheme code that
|
||||
@var{file-or-uri} must contain Scheme code that
|
||||
evaluates to a list of channel objects. @xref{Channels}, for more
|
||||
information.
|
||||
|
||||
As you can guess, @var{file-or-uri} can be a URL, in which case the
|
||||
given channels file is transparently downloaded. In the example below,
|
||||
we pull from the latest revision of Guix that was successfully
|
||||
evaluated:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
@cindex SWHID, for channel files
|
||||
Alternatively, you can refer to a channel file by its
|
||||
@uref{https://swhid.org,Software Hash Identifier}, or SWHID, which
|
||||
uniquely and unambiguously identifies contents, as in this example:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b
|
||||
@end example
|
||||
|
||||
This command downloads the data designated by the given identifier from
|
||||
@uref{https://archive.softwareheritage.org, the Software Heritage
|
||||
archive}.
|
||||
|
||||
@anchor{trusted-channels}
|
||||
@cindex trusted channels, for downloaded channel files
|
||||
In both cases, the command errors out if the returned channels are not
|
||||
among the user's @dfn{trusted channels}, defined as:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
the channels returned by @file{~/.config/guix/trusted-channels.scm},
|
||||
which has the same format as any channel file;
|
||||
|
||||
@item
|
||||
or, if the above file doesn't exist, the currently-used channels as
|
||||
returned by @command{guix describe}.
|
||||
@end itemize
|
||||
|
||||
@item --allow-untrusted-channels[=yes|no]
|
||||
Whether to allow pulls from untrusted channels.
|
||||
|
||||
By default, @command{guix pull} aborts when downloading a channel file
|
||||
that specifies an untrusted channel and merely warns if the list of
|
||||
channels comes from a local file. This option allows you to change
|
||||
that.
|
||||
|
||||
@quotation Warning
|
||||
Allowing untrusted channels can effectively lead to arbitrary code
|
||||
execution on your system.
|
||||
@end quotation
|
||||
|
||||
@anchor{unsafe-channel-evaluation}
|
||||
@item --unsafe-channel-evaluation
|
||||
Allow arbitrary code execution from channel files, both the default
|
||||
@file{channels.scm} files and those passed with @option{--channels} as
|
||||
mentioned above.
|
||||
|
||||
@cindex sandboxing, of channel evaluation
|
||||
By default, channel files are evaluated in an isolated ``sandbox''
|
||||
where only trivial declarative code returning a list of channels is
|
||||
allowed---calls to procedures such as @code{list}, @code{cons},
|
||||
@code{string-append}, as well as the @code{channel} constructor.
|
||||
Attempts from a channel file to access unauthorized bindings such as
|
||||
@code{system} (to run shell code) or to use additional modules with
|
||||
@code{use-modules} are impossible.
|
||||
|
||||
The @option{--unsafe-channel-evaluation} option disables these
|
||||
safeguards.
|
||||
|
||||
@quotation Warning
|
||||
When using @code{--unsafe-channel-evaluation}, channel files can
|
||||
@emph{run arbitrary code on your machine}. While this is useful in some
|
||||
cases, only use @code{--unsafe-channel-evaluation} when you fully
|
||||
understand the code of the channel files you use!
|
||||
@end quotation
|
||||
|
||||
@item --no-channel-files
|
||||
@itemx -q
|
||||
Inhibit loading of the user and system channel files,
|
||||
@@ -4922,6 +4999,17 @@ information.
|
||||
In addition, @command{guix pull} supports all the common build options
|
||||
(@pxref{Common Build Options}).
|
||||
|
||||
Every time the user invokes a Guix command, Guix detects if the current
|
||||
installation has exceeded a certain duration (7 days by default) and
|
||||
alerts the user to update with @command{guix pull} if necessary.
|
||||
The duration can be configured with the following environment variable:
|
||||
|
||||
@defvr {Environment Variable} GUIX_DISTRO_AGE_WARNING
|
||||
This environment variable, if set, should be a string representing a
|
||||
duration. If the current Guix installation exceeds the duration, Guix
|
||||
will raise a warning for outdated installation.
|
||||
@end defvr
|
||||
|
||||
@node Invoking guix time-machine
|
||||
@section Invoking @command{guix time-machine}
|
||||
|
||||
@@ -5018,12 +5106,68 @@ Use the @code{guix} channel from the specified @var{url}, at the
|
||||
given @var{commit} (a valid Git commit ID represented as a hexadecimal
|
||||
string or the name of a tag), or @var{branch}.
|
||||
|
||||
@item --channels=@var{file}
|
||||
@itemx -C @var{file}
|
||||
Read the list of channels from @var{file}. @var{file} must contain
|
||||
Scheme code that evaluates to a list of channel objects.
|
||||
@item --channels=@var{file-or-uri}
|
||||
@itemx -C @var{file-or-uri}
|
||||
Read the list of channels from @var{file-or-uri}. @var{file-or-uri}
|
||||
must contain Scheme code that evaluates to a list of channel objects.
|
||||
@xref{Channels} for more information.
|
||||
|
||||
When @var{file-or-uri} is a URL, channels are transparently downloaded.
|
||||
In the example below, we pull from the latest revision of Guix that was
|
||||
successfully evaluated:
|
||||
|
||||
@example
|
||||
guix time-machine \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master \
|
||||
-- describe
|
||||
@end example
|
||||
|
||||
@cindex SWHID, for channel files
|
||||
Note that downloading a channel file potentially harms reproducibility:
|
||||
the file might vanish or be modified on the server behind your back.
|
||||
From a reproducibility viewpoint the safe approach is to keep channel
|
||||
files under version control, or to refer to them by their
|
||||
@uref{https://swhid.org,Software Hash Identifier}, or SWHID, which
|
||||
uniquely and unambiguously identifies contents. Here is an example:
|
||||
|
||||
@example
|
||||
guix time-machine \
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \
|
||||
-- @dots{}
|
||||
@end example
|
||||
|
||||
This command downloads the data designated by the identifier from
|
||||
@uref{https://archive.softwareheritage.org, the Software Heritage
|
||||
archive}; it is fully reproducible because the data it refers to is
|
||||
immutable.
|
||||
|
||||
@xref{Invoking guix pull}, for more information, and @pxref{Invoking
|
||||
guix hash}, for info on how to compute the SWHID of a file.
|
||||
|
||||
@item --allow-untrusted-channels[=yes|no]
|
||||
Whether to allow pulls from untrusted channels.
|
||||
|
||||
@quotation Warning
|
||||
Allowing untrusted channels can effectively lead to arbitrary code
|
||||
execution on your system.
|
||||
@end quotation
|
||||
|
||||
@xref{trusted-channels, @command{guix pull} documentation}, for more
|
||||
info.
|
||||
|
||||
@item --unsafe-channel-evaluation
|
||||
Allow arbitrary code execution from channels files.
|
||||
|
||||
@quotation Warning
|
||||
When using @code{--unsafe-channel-evaluation}, channel files can
|
||||
@emph{run arbitrary code on your machine}. Only use
|
||||
@code{--unsafe-channel-evaluation} when you fully understand the code of
|
||||
the channel files you use!
|
||||
|
||||
@xref{unsafe-channel-evaluation, @option{--unsafe-channel-evaluation} in
|
||||
@command{guix pull}}, for background information.
|
||||
@end quotation
|
||||
|
||||
@item --no-channel-files
|
||||
@itemx -q
|
||||
Inhibit loading of the user and system channel files,
|
||||
@@ -5752,6 +5896,7 @@ pull} uses the latest commit with available substitutes for the package
|
||||
definitions: this is done by querying the continuous integration
|
||||
server at @url{https://ci.guix.gnu.org}.
|
||||
|
||||
@findex channel-with-substitutes-available
|
||||
@lisp
|
||||
(use-modules (guix ci))
|
||||
|
||||
@@ -5766,6 +5911,21 @@ substitutes. It only ensures that @command{guix pull} will not try to
|
||||
compile package definitions. This is particularly useful when using
|
||||
machines with limited resources.
|
||||
|
||||
@quotation Warning
|
||||
Use of this functionality in your channel file requires it to be
|
||||
evaluated in ``unsafe'' mode, with the
|
||||
@option{--unsafe-channel-evaluation} option.
|
||||
@xref{unsafe-channel-evaluation, the @command{guix pull} documentation},
|
||||
for more info.
|
||||
|
||||
However, a similar result can be achieved by running, say:
|
||||
|
||||
@example
|
||||
guix pull \
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
@end quotation
|
||||
|
||||
@node Creating a Channel
|
||||
@section Creating a Channel
|
||||
|
||||
@@ -14675,8 +14835,32 @@ guix hash @var{option} @var{file} ...
|
||||
@end example
|
||||
|
||||
When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the
|
||||
hash of data read from standard input. @command{guix hash} has the
|
||||
following options:
|
||||
hash of data read from standard input.
|
||||
|
||||
Here are a few examples:
|
||||
|
||||
@table @asis
|
||||
@item SHA256 of a file for use in an @code{origin} record:
|
||||
@example
|
||||
guix hash example.tar.gz
|
||||
@end example
|
||||
|
||||
@item SHA256 of directory @var{checkout} for use in an @code{origin} record:
|
||||
@example
|
||||
guix hash -rx @var{checkout}
|
||||
@end example
|
||||
|
||||
@item SHA1 hash of @var{file} like the @code{sha1sum} command:
|
||||
@example
|
||||
guix hash -H sha1 -f hex @var{file}
|
||||
@end example
|
||||
|
||||
@cindex SWHID, computing
|
||||
@item SHA1 hash of @var{file} for a @code{swh:1:cnt} @uref{https://swhid.org, SWHID}:
|
||||
guix hash -S git -H sha1 -f hex @var{file}
|
||||
@end table
|
||||
|
||||
@command{guix hash} has the following options:
|
||||
|
||||
@table @code
|
||||
|
||||
@@ -15983,51 +16167,10 @@ Use @var{host} as the OpenPGP key server when importing a public key.
|
||||
@cindex format conventions
|
||||
The @command{guix style} command helps users and packagers alike style
|
||||
their package definitions and configuration files according to the
|
||||
latest fashionable trends. It can either reformat whole files, with the
|
||||
@option{--whole-file} option, or apply specific @dfn{styling rules} to
|
||||
individual package definitions. The command currently provides the
|
||||
following styling rules:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
formatting package definitions according to the project's conventions
|
||||
(@pxref{Formatting Code});
|
||||
|
||||
@item
|
||||
rewriting package inputs to the ``new style'', as explained below.
|
||||
@end itemize
|
||||
|
||||
The way package inputs are written is going through a transition
|
||||
(@pxref{package Reference}, for more on package inputs). Until version
|
||||
1.3.0, package inputs were written using the ``old style'', where each
|
||||
input was given an explicit label, most of the time the package name:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "old style" (deprecated).
|
||||
(inputs `(("libunistring" ,libunistring)
|
||||
("libffi" ,libffi))))
|
||||
@end lisp
|
||||
|
||||
Today, the old style is deprecated and the preferred style looks like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "new style".
|
||||
(inputs (list libunistring libffi)))
|
||||
@end lisp
|
||||
|
||||
Likewise, uses of @code{alist-delete} and friends to manipulate inputs
|
||||
is now deprecated in favor of @code{modify-inputs} (@pxref{Defining
|
||||
Package Variants}, for more info on @code{modify-inputs}).
|
||||
|
||||
In the vast majority of cases, this is a purely mechanical change on the
|
||||
surface syntax that does not even incur a package rebuild. Running
|
||||
@command{guix style -S inputs} can do that for you, whether you're working on
|
||||
packages in Guix proper or in an external channel.
|
||||
latest fashionable trends, or patch them with specific rewrites. It can
|
||||
either reformat whole files, with the @option{--whole-file} option, or
|
||||
apply specific @dfn{styling rules} to individual package definitions.
|
||||
The command provides multiple styling rules, explained below.
|
||||
|
||||
The general syntax is:
|
||||
|
||||
@@ -16090,14 +16233,45 @@ definition of the Coreutils package like so:
|
||||
@end example
|
||||
|
||||
@item inputs
|
||||
Rewrite package inputs to the ``new style'', as described above. This
|
||||
is how you would rewrite inputs of package @code{whatnot} in your own
|
||||
channel:
|
||||
Rewrite package inputs to the ``new style''. This is how you would
|
||||
rewrite inputs of package @code{whatnot} in your own channel:
|
||||
|
||||
@example
|
||||
guix style -L ~/my/channel -S inputs whatnot
|
||||
@end example
|
||||
|
||||
The way package inputs are written is going through a transition
|
||||
(@pxref{package Reference}, for more on package inputs). Until version
|
||||
1.3.0, package inputs were written using the ``old style'', where each
|
||||
input was given an explicit label, most of the time the package name:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "old style" (deprecated).
|
||||
(inputs `(("libunistring" ,libunistring)
|
||||
("libffi" ,libffi))))
|
||||
@end lisp
|
||||
|
||||
Today, the old style is deprecated and the preferred style looks like
|
||||
this:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
;; @dots{}
|
||||
;; The "new style".
|
||||
(inputs (list libunistring libffi)))
|
||||
@end lisp
|
||||
|
||||
Likewise, uses of @code{alist-delete} and friends to manipulate inputs
|
||||
is now deprecated in favor of @code{modify-inputs} (@pxref{Defining
|
||||
Package Variants}, for more info on @code{modify-inputs}).
|
||||
|
||||
In the vast majority of cases, this is a purely mechanical change on the
|
||||
surface syntax that does not even incur a package rebuild. Running
|
||||
@command{guix style -S inputs} can do that for you, whether you're working on
|
||||
packages in Guix proper or in an external channel.
|
||||
|
||||
Rewriting is done in a conservative way: preserving comments and bailing
|
||||
out if it cannot make sense of the code that appears in an inputs field.
|
||||
The @option{--input-simplification} option described below provides
|
||||
@@ -16136,6 +16310,29 @@ rebuild of the affected packages. Furthermore, if a package definition
|
||||
happens to be using G-expressions already, @command{guix style} leaves
|
||||
it unchanged.
|
||||
|
||||
@item remove-input
|
||||
@itemx remove-native-input
|
||||
@itemx remove-propagated-input
|
||||
These styling rules remove an input from the given package(s).
|
||||
|
||||
Removing these packages respects the package syntax, doesn't affect
|
||||
margin comments or parentheses, and will put all remaining inputs on a
|
||||
single line if there are less than three.
|
||||
|
||||
This is a focused styling rule for use in teams, when updating
|
||||
build-systems, or removing unwanted development inputs from
|
||||
native-inputs.
|
||||
|
||||
To remove package @var{whatnot} from all inputs, use the
|
||||
@code{--parameter} option:
|
||||
|
||||
@example
|
||||
guix style -S remove-input --parameter=@var{whatnot}
|
||||
@end example
|
||||
|
||||
It is also possible to do that for a collection of packages by appending
|
||||
them to the above invocation.
|
||||
|
||||
@item git-source
|
||||
If the @code{home-page} is a Git repository (as per
|
||||
@code{git-repository-url?}), and the actual Git repository is tagged
|
||||
@@ -20705,6 +20902,9 @@ The syslog configuration file to use.
|
||||
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
|
||||
information on the configuration file syntax.
|
||||
|
||||
@item @code{pid-file} (default: @code{"/var/run/syslog.pid"})
|
||||
The pid file for @command{syslogd}.
|
||||
|
||||
@item @code{extra-options} (default: @code{'()})
|
||||
List of extra command-line options for @command{syslog}.
|
||||
|
||||
@@ -46212,6 +46412,26 @@ up not being used much for the reasons described there.
|
||||
@end deftp
|
||||
@end defvar
|
||||
|
||||
@cindex fwupd
|
||||
@cindex firmware update
|
||||
@subsubheading fwupd Service
|
||||
|
||||
@defvar fwupd-service-type
|
||||
This service allows users of supported hardware to update their firmware. The
|
||||
service's value is a @code{fwupd-configuration} record.
|
||||
|
||||
@deftp {Data Type} fwupd-configuration
|
||||
This is the data type representing the configuration for the fwupd
|
||||
service.
|
||||
|
||||
@table @asis
|
||||
@item @code{fwupd} (default @code{fwupd})
|
||||
The fwupd package that will be installed in the system profile.
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
@end defvar
|
||||
|
||||
@node Hurd Services
|
||||
@subsection Hurd Services
|
||||
|
||||
@@ -49210,7 +49430,7 @@ Return the default GRUB theme used by the operating system if no
|
||||
record.
|
||||
|
||||
It comes with a fancy background image displaying the Guix
|
||||
logos.
|
||||
logo.
|
||||
@end deffn
|
||||
|
||||
For example, to override the default resolution, you may use something
|
||||
@@ -51270,7 +51490,7 @@ after receiving @code{SIGHUP}.
|
||||
|
||||
After adding
|
||||
@lisp
|
||||
(shepherd-signal-action 'reload SIGHUP))
|
||||
(shepherd-signal-action 'reload SIGHUP)
|
||||
@end lisp
|
||||
|
||||
the @code{reload} action will be available and can be used with
|
||||
|
||||
+11
-11
@@ -30,7 +30,7 @@ COOKBOOK_LANGUAGES = de es fr it ko pt_BR ru sk sv ta zh_CN
|
||||
|
||||
# Arg1: A list of languages codes.
|
||||
# Arg2: The file name stem.
|
||||
lang_to_texinfo = $(foreach lang,$(1),%D%/$(2).$(lang).texi)
|
||||
lang_to_texinfo = $(foreach lang,$(1),$(srcdir)/%D%/$(2).$(lang).texi)
|
||||
|
||||
# Automake does not understand GNU Make non-standard extensions,
|
||||
# unfortunately, so we cannot use the above patsubst-based function here.
|
||||
@@ -104,7 +104,7 @@ MAINTAINERCLEANFILES = $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
|
||||
# reference is not translated, which means it references a section that does not
|
||||
# exist.
|
||||
define xref_command
|
||||
$(top_srcdir)/pre-inst-env $(GUILE) --no-auto-compile \
|
||||
$(top_builddir)/pre-inst-env $(GUILE) --no-auto-compile \
|
||||
"$(top_srcdir)/build-aux/convert-xref.scm" \
|
||||
$@.tmp $<
|
||||
endef
|
||||
@@ -116,21 +116,21 @@ dummy_pot = $(shell mktemp --suffix=.pot)
|
||||
$(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go
|
||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||
--variable localized="$@.tmp" \
|
||||
--variable master="%D%/guix.texi" \
|
||||
--variable master="$(srcdir)/%D%/guix.texi" \
|
||||
--variable po="$<" \
|
||||
--variable pot=$(dummy_pot) \
|
||||
po/doc/po4a.cfg
|
||||
$(srcdir)/po/doc/po4a.cfg
|
||||
-sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
||||
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
||||
-mv "$@.tmp" "$@"
|
||||
|
||||
$(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
|
||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||
--variable localized="$@.tmp" \
|
||||
--variable master="%D%/guix-cookbook.texi" \
|
||||
--variable po="$<" \
|
||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||
--variable localized="$@.tmp" \
|
||||
--variable master="$(srcdir)/%D%/guix-cookbook.texi" \
|
||||
--variable po="$<" \
|
||||
--variable pot=$(dummy_pot) \
|
||||
po/doc/po4a.cfg
|
||||
$(srcdir)/po/doc/po4a.cfg
|
||||
-sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp"
|
||||
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
||||
-mv "$@.tmp" "$@"
|
||||
@@ -138,10 +138,10 @@ $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go
|
||||
$(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go
|
||||
-$(AM_V_PO4A)$(PO4A) --no-update \
|
||||
--variable localized="$@.tmp" \
|
||||
--variable master="%D%/contributing.texi" \
|
||||
--variable master="$(srcdir)/%D%/contributing.texi" \
|
||||
--variable po="$<" \
|
||||
--variable pot=$(dummy_pot) \
|
||||
po/doc/po4a.cfg
|
||||
$(srcdir)/po/doc/po4a.cfg
|
||||
-$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command)
|
||||
-mv "$@.tmp" "$@"
|
||||
|
||||
|
||||
@@ -43,6 +43,72 @@
|
||||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "c9dcd203e5356f13b736d5be121fd61874be1a93")
|
||||
(title
|
||||
(en "@command{pull} and @command{time-machine} can download channel
|
||||
files")
|
||||
(fr "@command{pull} et @command{time-machine} peuvent télécharger des
|
||||
fichiers canaux"))
|
||||
(body
|
||||
(en "The @command{guix pull} and @command{guix time-machine} can now
|
||||
be passed a URL as their @option{-C} (or @option{--channels}) option. For
|
||||
instance, the command below pulls from the latest successfully-evaluated
|
||||
commit of the @code{master} branch:
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
Alternatively, one may also specify a @uref{https://swhid.org, SWHID} that
|
||||
points to a channel file:
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
To make that possible, channel files are now evaluated in an isolated
|
||||
environment (a @dfn{sandbox}), which prevents them from evaluating arbitrary
|
||||
code; if you have existing channel files that rely on \"non-standard\"
|
||||
features, you may now need to pass @option{--unsafe-channel-evaluation} to
|
||||
evaluate them. Furthermore, when fetching channels from a downloaded file,
|
||||
only @dfn{trusted channels} are allowed---one may specify them in
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
See @samp{info \"(guix)Invoking guix pull\"} for more information.")
|
||||
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
|
||||
peuvent dorénavant prendre une URL pour l'option @option{-C} (ou
|
||||
@option{--channels}). Par exemple, la commande ci-dessous tire la dernière
|
||||
révision de la branch @code{master} à avoir été évaluée avec succès :
|
||||
|
||||
@example
|
||||
guix pull \\
|
||||
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
|
||||
@end example
|
||||
|
||||
On peut également spécifier un @uref{https://swhid.org, SWHID} qui pointe vers
|
||||
un fichier canaux :
|
||||
|
||||
@example
|
||||
guix time-machine \\
|
||||
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
|
||||
-- ...
|
||||
@end example
|
||||
|
||||
Pour permettre cela, les fichiers canaux sont maintenant évalués dans un
|
||||
environnement isolé (un @dfn{bac à sable}), ce qui les empêche d'évaluer du
|
||||
code arbitraire ; lorsqu'on a des fichiers canaux qui dépendent de
|
||||
fonctionnalités « non standard », il peut dorénavant être nécessaire de passer
|
||||
l'option @option{--unsafe-channel-evaluation} pour les évaluer. De plus,
|
||||
lorsqu'un fichier canaux est téléchargé, seuls les @dfn{canaux de confiance}
|
||||
sont admis---on peut les énumérer dans
|
||||
@file{~/.config/guix/trusted-channels.scm}.
|
||||
|
||||
Voir @samp{info \"(guix.fr) Invoquer guix pull\"} pour plus
|
||||
d'informations.")))
|
||||
|
||||
(entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c")
|
||||
(title
|
||||
(en "Records can refer to inherited values of thunked fields")
|
||||
|
||||
@@ -1666,6 +1666,11 @@ the \"texlive\" importer."
|
||||
"gemmaro")
|
||||
ruby)
|
||||
|
||||
(define-member (person "bdunahu"
|
||||
"bdunahu@operationnull.com"
|
||||
"bdunahu")
|
||||
games)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
|
||||
@@ -446,9 +446,11 @@ when booting a root file system on a Btrfs subvolume."
|
||||
(modules (menu-entry-multiboot-modules entry)))
|
||||
#~(format port "
|
||||
menuentry ~s {
|
||||
~a
|
||||
multiboot ~a root=~a~a~a
|
||||
}~%"
|
||||
#$label
|
||||
#$(grub-root-search device kernel)
|
||||
#$kernel
|
||||
#$(device-name->hurd-device-name device-name #:disk disk)
|
||||
(string-join (list #$@arguments) " " 'prefix)
|
||||
|
||||
+11
-5
@@ -756,6 +756,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/docker.scm \
|
||||
%D%/services/authentication.scm \
|
||||
%D%/services/file-sharing.scm \
|
||||
%D%/services/firmware.scm \
|
||||
%D%/services/games.scm \
|
||||
%D%/services/ganeti.scm \
|
||||
%D%/services/getmail.scm \
|
||||
@@ -1168,7 +1169,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cryfs-boost-1.89-fix.patch \
|
||||
%D%/packages/patches/csvkit-set-locale-for-tests.patch \
|
||||
%D%/packages/patches/ctranslate2-local-build.patch \
|
||||
%D%/packages/patches/ctune-cmake-disable-git-clone.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cups-relax-root-ownership-check.patch \
|
||||
%D%/packages/patches/cura-engine-gcc-14.patch \
|
||||
@@ -1179,8 +1179,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/curlftpfs-fix-memory-leak.patch \
|
||||
%D%/packages/patches/curlftpfs-fix-no_verify_hostname.patch \
|
||||
%D%/packages/patches/cursynth-wave-rand.patch \
|
||||
%D%/packages/patches/cvc5-reproducible-build.patch \
|
||||
%D%/packages/patches/cvc5-symfpu-compatibility.patch \
|
||||
%D%/packages/patches/cvs-CVE-2017-12836.patch \
|
||||
%D%/packages/patches/cyrus-sasl-fix-time-h.patch \
|
||||
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
|
||||
@@ -1201,6 +1199,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/directfb-davinci-glibc-228-compat.patch \
|
||||
%D%/packages/patches/django-compressor-build-with-beautifulsoup-4.14+.patch \
|
||||
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
|
||||
%D%/packages/patches/dmd-hurd.patch \
|
||||
%D%/packages/patches/doc++-gcc-14.patch \
|
||||
%D%/packages/patches/docbook-utils-documentation-edits.patch \
|
||||
%D%/packages/patches/docbook-utils-escape-characters.patch \
|
||||
@@ -1377,6 +1376,8 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
|
||||
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
|
||||
%D%/packages/patches/gawk-shell.patch \
|
||||
%D%/packages/patches/gdc-11-druntime-hurd.patch \
|
||||
%D%/packages/patches/gdc-14-druntime-hurd.patch \
|
||||
%D%/packages/patches/gcc-arm-bug-71399.patch \
|
||||
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||
%D%/packages/patches/gcc-asan-missing-include.patch \
|
||||
@@ -1426,6 +1427,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gcc-11-libstdc++-hurd-libpthread.patch \
|
||||
%D%/packages/patches/gcc-12-cross-environment-variables.patch \
|
||||
%D%/packages/patches/gcc-11-libstdc++-powerpc.patch \
|
||||
%D%/packages/patches/gcc-11-x86_64-gnu.patch \
|
||||
%D%/packages/patches/gcc-13-cross-system-header-dir.patch \
|
||||
%D%/packages/patches/gcc-12-libsanitizer-no-crypt.patch \
|
||||
%D%/packages/patches/gcc-13-libsanitizer-no-crypt.patch \
|
||||
@@ -1515,6 +1517,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
|
||||
%D%/packages/patches/glibc-supported-locales.patch \
|
||||
%D%/packages/patches/glibc-versioned-locpath.patch \
|
||||
%D%/packages/patches/glycin-sandbox-Adapt-bwrap-invocation.patch \
|
||||
%D%/packages/patches/gmime-disable-tests.patch \
|
||||
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
%D%/packages/patches/gmp-faulty-test.patch \
|
||||
@@ -1667,6 +1670,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/ispell-for-linphone-cmake.patch \
|
||||
%D%/packages/patches/jami-avutil-link.patch \
|
||||
%D%/packages/patches/jami-libjami-cmake.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
@@ -1985,6 +1989,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/netbeans-25-nativeexecution-paths.patch \
|
||||
%D%/packages/patches/netbeans-25-terminal-no-login-shell.patch \
|
||||
%D%/packages/patches/netbeans-25-source-only-build.patch \
|
||||
%D%/packages/patches/netbeans-25-wayland-font-rendering.patch \
|
||||
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
|
||||
%D%/packages/patches/netpbm-CVE-2017-2587.patch \
|
||||
%D%/packages/patches/netsurf-message-timestamp.patch \
|
||||
@@ -2014,6 +2019,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
%D%/packages/patches/nvi-db4.patch \
|
||||
%D%/packages/patches/obs-advanced-masks-nlohmann-json.patch \
|
||||
%D%/packages/patches/obs-modules-location.patch \
|
||||
%D%/packages/patches/ocaml-ctypes-test-oo.patch \
|
||||
%D%/packages/patches/ocaml-multiple-definitions.patch \
|
||||
@@ -2096,6 +2102,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/pdl-2.100-reproducibility.patch \
|
||||
%D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch \
|
||||
%D%/packages/patches/pharo-vm-cmake.patch \
|
||||
%D%/packages/patches/phobos-hurd.patch \
|
||||
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
|
||||
%D%/packages/patches/plasp-fix-normalization.patch \
|
||||
%D%/packages/patches/plasp-include-iostream.patch \
|
||||
@@ -2287,8 +2294,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qtbase-5-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickjs-ng-64-bits-precision-on-i686.patch \
|
||||
%D%/packages/patches/quickjs-ng-fix-atomics.pause-on-32-bit.patch \
|
||||
%D%/packages/patches/quilt-grep-compat.patch \
|
||||
%D%/packages/patches/qmk-firmware-fix-hacker-dvorak.patch \
|
||||
%D%/packages/patches/qtwayland-update-wayland-xml.patch \
|
||||
@@ -2622,6 +2627,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-byte-order-pointer-size.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-x86-no-sse.patch \
|
||||
%D%/packages/patches/websocketpp-boost-compat.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wmctrl-64-fix.patch \
|
||||
%D%/packages/patches/wmfire-dont-inline-draw-fire.patch \
|
||||
|
||||
+10
-4
@@ -202,7 +202,7 @@ Have you run 'guix archive --generate-key'?")
|
||||
(build-locally? hetzner-configuration-build-locally? ; boolean
|
||||
(default #t))
|
||||
(delete? hetzner-configuration-delete? ; boolean
|
||||
(default #f))
|
||||
(default #t))
|
||||
(labels hetzner-configuration-labels ; list of strings
|
||||
(default '()))
|
||||
(location hetzner-configuration-location ; #f | string
|
||||
@@ -395,9 +395,7 @@ Available locations:~%~%~a~%~%For more details, see: ~a")
|
||||
(type ,root-fs-type))
|
||||
%base-file-systems))))
|
||||
(services
|
||||
;; guix 1.4.0 does not have dhcpcd-service-type,
|
||||
;; so we use dhcp-client-service-type here.
|
||||
(cons* (service dhcp-client-service-type)
|
||||
(cons* (service dhcpcd-service-type)
|
||||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(openssh openssh-sans-x)
|
||||
@@ -592,6 +590,14 @@ mkdir -p /gnu/store
|
||||
mount --bind /mnt/tmp/gnu/store /gnu/store
|
||||
|
||||
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
|
||||
|
||||
# Modify the install script to point the systemd unit of the /gnu/store
|
||||
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
|
||||
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
|
||||
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
|
||||
sed -i \"s@install_unit gnu-store.mount\"\\
|
||||
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
|
||||
|
||||
chmod +x /tmp/guix-install.sh
|
||||
set +o pipefail # avoid hangup on 'yes' killing this script
|
||||
yes '' | /tmp/guix-install.sh
|
||||
|
||||
@@ -1972,7 +1972,7 @@ maintenance releases.")
|
||||
(define-public dhcpcd
|
||||
(package
|
||||
(name "dhcpcd")
|
||||
(version "10.3.0")
|
||||
(version "10.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1981,7 +1981,7 @@ maintenance releases.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "058k8wbzbjb6mm6qklv40z1y4k6sdb4ysap1xk6pny1m1f9xkdax"))))
|
||||
(base32 "1z5rpi0n2vwhkh3c4d0dxwp38fl18br58jpy7kzh97gzg3gpk5dl"))))
|
||||
(inputs (list bash-minimal coreutils-minimal eudev sed))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
+113
-4
@@ -51,7 +51,7 @@
|
||||
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
|
||||
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
|
||||
;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025, 2026 Junker <dk@junkeria.club>
|
||||
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
|
||||
;;; Copyright © 2025 Kjartan Oli Agustsson <kjartanoli@outlook.com>
|
||||
@@ -127,6 +127,7 @@
|
||||
#:use-module (gnu packages linphone)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
@@ -194,6 +195,45 @@
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public adplug
|
||||
(package
|
||||
(name "adplug")
|
||||
(version "2.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/adplug/adplug")
|
||||
(commit (string-append "adplug-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l31ya42g3q7ry2m0y5djgjb9ax8ciy8jn86252vdjkjswwqgscd"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON")
|
||||
#:modules
|
||||
'((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26)) ;for cute
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-headers
|
||||
(lambda _
|
||||
(for-each (cute install-file <>
|
||||
(string-append #$output "/include/adplug"))
|
||||
(find-files "../source/src" "\\.h$")))))))
|
||||
(propagated-inputs
|
||||
(list libbinio))
|
||||
(home-page "https://adplug.github.io/")
|
||||
(synopsis "AdLib sound player library")
|
||||
(description
|
||||
"AdPlug is a hardware independent AdLib sound player library, mainly
|
||||
written in C++. AdPlug plays sound data, originally created for the AdLib
|
||||
(OPL2/3) audio board, on top of an OPL2/3 emulator or by using the real
|
||||
hardware. No OPL2/3 chips are required for playback.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public opensles
|
||||
(package
|
||||
(name "opensles")
|
||||
@@ -4465,6 +4505,33 @@ This includes device enumeration and initialization, file loading, and
|
||||
streaming.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public wp-notifyd
|
||||
(package
|
||||
(name "wp-notifyd")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LDAP/wp-notifyd")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nkndz0li15maf0dc9x631p0dr8085wzz5358552wljv7chywrza"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;there are no tests
|
||||
(inputs (list libnotify
|
||||
wireplumber-minimal
|
||||
pipewire
|
||||
spdlog))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://github.com/LDAP/wp-notifyd")
|
||||
(synopsis "Notification daemon for Wireplumber")
|
||||
(description "@command{wp-notifyd} is a lightweight notification daemon for
|
||||
@dfn{WirePlumber} (the session and policy manager for PipeWire).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public pa-notify
|
||||
(package
|
||||
(name "pa-notify")
|
||||
@@ -4869,6 +4936,42 @@ using Guix System.")
|
||||
;; GNU Library (not Lesser) General Public License.
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public hiir
|
||||
(let ((commit "4a9a1e67fa6f8ce7688e1c0c8a2b017cecd206a3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "hiir")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LostRobotMusic/hiir")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wzlg0di768mzcik6fij4pd6dnpmbw8q236h478c057d10qfp44g"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~`(("." "/include/hiir"))))
|
||||
(home-page "https://github.com/LostRobotMusic/hiir")
|
||||
(synopsis "Header-only version of Laurent de Soras's HIIR 1.40 library")
|
||||
(description
|
||||
"This package provides a header-only version of the
|
||||
@uref{http://ldesoras.free.fr/prod.html#src_hiir, HIIR library by Laurent De
|
||||
Soras}, updated to version 1.40. HIIR is a C++ library for changing the
|
||||
sampling rate of a signal by a factor two, in both directions (upsampling and
|
||||
downsampling), obtaining two signals with a π/2 phase difference (Hilbert
|
||||
transform). It is made of a two-path polyphase IIR filter, implemented with
|
||||
FPU, 3DNow!, SSE, SSE2, AVX, AVX-512 and NEON instruction sets.
|
||||
|
||||
This package contains the same as the original library, except with the
|
||||
contents of one source file moved into a header file (and set as inline) to
|
||||
make the library header-only, and with the test folder removed.")
|
||||
(license license:wtfpl2))))
|
||||
|
||||
(define-public redumper
|
||||
(package
|
||||
(name "redumper")
|
||||
@@ -7265,6 +7368,7 @@ as is the case with audio plugins.")
|
||||
(find-files "bin")))))))))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
bash-minimal
|
||||
ffmpeg
|
||||
fluidsynth
|
||||
file
|
||||
@@ -7322,8 +7426,8 @@ default and preferred audio driver but also supports native drivers like ALSA.")
|
||||
|
||||
;;; This package variant tracks the latest in-development 2.6 release.
|
||||
(define-public carla-2.6
|
||||
(let ((commit "aa400535b31c67f4b6c1b28e6e20e4d4f82111a3")
|
||||
(revision "0"))
|
||||
(let ((commit "294a80145e39c0755ab9073d90fd8b9524fbfc84")
|
||||
(revision "1"))
|
||||
(package
|
||||
(inherit carla)
|
||||
(name "carla")
|
||||
@@ -7337,7 +7441,12 @@ default and preferred audio driver but also supports native drivers like ALSA.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cnj2sgr60f5h6wdfmihc214wf3n74686sipl3iyzmylqrcyhbjn")))))))
|
||||
(base32 "053yfwf9l9vqvq95c354by6nm8ym0wgkv3fr1434x5w9n1344z0z"))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs carla)
|
||||
(replace "python-pyqt" python-pyqt-6)
|
||||
(replace "qtbase" qtbase)
|
||||
(replace "qtwayland" qtwayland))))))
|
||||
|
||||
;; This source is a fork of vst3sdk with the documentation and VSTGUI
|
||||
;; submodules removed and a dummy `meson.build` file that just lists all
|
||||
|
||||
@@ -1989,7 +1989,7 @@ CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_PMCRAID is not set
|
||||
# CONFIG_SCSI_PM8001 is not set
|
||||
# CONFIG_SCSI_VIRTIO is not set
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
# CONFIG_SCSI_DH is not set
|
||||
# end of SCSI device support
|
||||
|
||||
|
||||
@@ -6272,6 +6272,17 @@ for clusters.")
|
||||
"1bvj7n2qxfvy1fmjqmm1w65fcj7fy5h74i0jgl0a0940mlhd7s9v"))))
|
||||
(properties `((upstream-name . "CelliD")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; "The `slot` argument of `GetAssayData()` was deprecated in
|
||||
;; SeuratObject 5.0.0 and is now defunct.", i = "Please use
|
||||
;; the `layer` argument instead."
|
||||
(add-after 'unpack 'fix-deprecated-argument
|
||||
(lambda _
|
||||
(substitute* '("R/mca.R" "tests/testthat/test_CelliD.R")
|
||||
(("slot") "layer")))))))
|
||||
(propagated-inputs
|
||||
(list r-biocparallel
|
||||
r-data-table
|
||||
|
||||
@@ -7651,78 +7651,6 @@ reads at a typical sensitivity of 90-99% relative to BLAST depending on the
|
||||
data and settings.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public discrover
|
||||
(package
|
||||
(name "discrover")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/maaskola/discrover")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"173fwi2vb6a5kp406hm3jj6j7v4whww796f2qcygp4rpvamh307y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'set-force-source-date
|
||||
;; for reproducible dates, texlive needs this to respect
|
||||
;; SOURCE_DATE_EPOCH
|
||||
(lambda _
|
||||
(setenv "FORCE_SOURCE_DATE" "1")))
|
||||
(add-before 'build 'use-writable-texmfvar
|
||||
;; Use writable TEXMFVAR to generate fonts.
|
||||
(lambda _
|
||||
(setenv "TEXMFVAR" "/tmp")))
|
||||
(add-after 'unpack 'fix-latex-errors
|
||||
(lambda _
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(substitute* "doc/references.bib"
|
||||
(("\\{S\\}illanp[^,]+,")
|
||||
"{S}illanp{\\\"a}{\\\"a},")))
|
||||
;; XXX: I just can't get pdflatex to not complain about these
|
||||
;; characters. They end up in the manual via the generated
|
||||
;; discrover-cli-help.txt.
|
||||
(substitute* "src/hmm/cli.cpp"
|
||||
(("µ") "mu")
|
||||
(("η") "eta")
|
||||
(("≤") "<="))
|
||||
;; This seems to be a syntax error.
|
||||
(substitute* "doc/discrover-manual.tex"
|
||||
(("theverbbox\\[t\\]") "theverbbox"))))
|
||||
(add-after 'unpack 'add-missing-includes
|
||||
(lambda _
|
||||
(substitute* "src/executioninformation.hpp"
|
||||
(("#define EXECUTIONINFORMATION_HPP" line)
|
||||
(string-append line "\n#include <random>")))
|
||||
(substitute* "src/plasma/fasta.hpp"
|
||||
(("#define FASTA_HPP" line)
|
||||
(string-append line "\n#include <random>"))))))))
|
||||
(inputs
|
||||
(list boost cairo rmath-standalone))
|
||||
(native-inputs
|
||||
(list (texlive-local-tree
|
||||
(list texlive-doi
|
||||
texlive-etoolbox
|
||||
texlive-examplep
|
||||
texlive-forloop
|
||||
texlive-listofitems
|
||||
texlive-natbib
|
||||
texlive-pgf ;tikz
|
||||
texlive-readarray
|
||||
texlive-verbatimbox))
|
||||
imagemagick))
|
||||
(home-page "https://dorina.mdc-berlin.de/public/rajewsky/discrover/")
|
||||
(synopsis "Discover discriminative nucleotide sequence motifs")
|
||||
(description "Discrover is a motif discovery method to find binding sites
|
||||
of nucleic acid binding proteins.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public eddylab-squid
|
||||
(package
|
||||
(name "eddylab-squid")
|
||||
|
||||
@@ -1327,25 +1327,6 @@ for the @acronym{AWS,Amazon Web Services} SDK.")
|
||||
(home-page "https://github.com/awslabs/aws-c-sdkutils")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public pcl
|
||||
(package
|
||||
(name "pcl")
|
||||
(version "1.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.xmailserver.org/pcl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06ly65rq4iyj2p4704i215c8y4rgspwl8sxfaifmf4ahfr30bcz7"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.xmailserver.org/libpcl.html")
|
||||
(synopsis "Portable Coroutine Library")
|
||||
(description "The @acronym{PCL, Portable Coroutine Library} implements the
|
||||
low level functionality for coroutines.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public aws-c-http
|
||||
(package
|
||||
(name "aws-c-http")
|
||||
|
||||
@@ -79,12 +79,9 @@
|
||||
'("base/third_party/cityhash" ;Expat
|
||||
"base/third_party/double_conversion" ;BSD-3
|
||||
"base/third_party/icu" ;Unicode, X11-style
|
||||
"base/third_party/nspr" ;MPL-2.0
|
||||
"base/third_party/superfasthash" ;BSD-3
|
||||
"base/third_party/symbolize" ;BSD-3
|
||||
"base/third_party/xdg_user_dirs" ;Expat
|
||||
"buildtools/third_party/libc++" ;BSD
|
||||
"buildtools/third_party/libc++abi" ;BSD
|
||||
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"net/third_party/quiche" ;BSD-3
|
||||
"net/third_party/uri_template" ;ASL2.0
|
||||
@@ -222,7 +219,6 @@
|
||||
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
|
||||
"third_party/libaom/source/libaom/third_party/vector" ;Expat
|
||||
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
|
||||
"third_party/libc++" ;Expat
|
||||
"third_party/libdrm" ; Expat
|
||||
"third_party/libgav1" ;ASL2.0
|
||||
"third_party/libjingle_xmpp" ;BSD-3
|
||||
@@ -248,8 +244,6 @@
|
||||
"third_party/libzip" ;BSD-3
|
||||
"third_party/lit" ;BSD-3
|
||||
"third_party/lit/v3_0" ;BSD-3
|
||||
"third_party/llvm-libc" ;ASL2.0
|
||||
"third_party/llvm-libc/src/shared" ;ASL2.0
|
||||
"third_party/lottie" ;Expat
|
||||
"third_party/lss" ;BSD-3
|
||||
"third_party/lzma_sdk" ;public domain
|
||||
@@ -901,8 +895,9 @@
|
||||
"libvk_swiftshader.so"
|
||||
"vk_swiftshader_icd.json"
|
||||
|
||||
;; Chromium ships its own libGL
|
||||
;; implementation called ANGLE.
|
||||
;; Chromium ships its own libGL and
|
||||
;; vulkan implementation called ANGLE.
|
||||
"libvulkan.so.1"
|
||||
"libEGL.so" "libGLESv2.so"))
|
||||
(locales (string-append lib "/locales"))
|
||||
(resources (string-append lib "/resources"))
|
||||
@@ -921,7 +916,7 @@
|
||||
(("@@MENUNAME") "Chromium")
|
||||
(("@@PACKAGE") "chromium")
|
||||
(("/usr/bin/@@usr_bin_symlink_name") exe)
|
||||
(("@@uri_scheme") "x-scheme-handler/chromium")
|
||||
(("@@uri_scheme") "x-scheme-handler/chromium;")
|
||||
(("@@extra_desktop_entries") ""))
|
||||
|
||||
(mkdir-p man)
|
||||
|
||||
@@ -134,6 +134,7 @@
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
@@ -1672,6 +1673,38 @@ maintained anymore.")
|
||||
concurrent queue for C++11.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public ringbuffer
|
||||
(package
|
||||
(name "ringbuffer")
|
||||
(version "0.9.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/JohannesLorenz/ringbuffer")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c57hj6zyvcjpcbwrq8c1hj5brk1bnh69ayd88ny1p0gx031sjpk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "-DCMAKE_CXX_FLAGS=-Wno-error=array-bounds"
|
||||
(string-append "-DINSTALL_LIB_DIR=" #$output "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-export-header
|
||||
(lambda _
|
||||
(install-file "src/lib/ringbuffer_export.h"
|
||||
(string-append #$output
|
||||
"/include/ringbuffer")))))))
|
||||
(home-page "https://github.com/JohannesLorenz/ringbuffer")
|
||||
(synopsis "Lock-free multi-reader ringbuffer")
|
||||
(description
|
||||
"@code{ringbuffer} is a library containing a ringbuffer. It is lock-free
|
||||
(using atomics only), and allows multiple readers, but only one writer.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public spscqueue
|
||||
(package
|
||||
(name "spscqueue")
|
||||
@@ -3668,6 +3701,39 @@ computing Fast Fourier transformations. It supports multidimensional arrays,
|
||||
different floating point sizes and complex transformations.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public libbinio
|
||||
;; The latest tagged version does not support CMake build. This commit has
|
||||
;; builds with CMake and has updated CMake version support.
|
||||
(let ((commit "e88dad086265e179ab6aef7f479e19f3917c7a98")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libbinio")
|
||||
(version (git-version "1.5" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/adplug/libbinio")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rb33jl6gpxb88zymzl996m43b7r6wyw4lq0ib3626kna3baqnha"))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool texinfo))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
#:configure-flags
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON")))
|
||||
(home-page "http://adplug.github.io/libbinio/")
|
||||
(synopsis "Binary I/O stream class library")
|
||||
(description
|
||||
"This binary I/O stream class library presents a platform-independent
|
||||
way to access binary data streams in C++. The library is hardware independent
|
||||
in the form that it transparently converts between the different forms of
|
||||
machine-internal binary data representation.")
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
(define-public priocpp
|
||||
;; Latest release is from 2022-08-14.
|
||||
(let ((commit "ea15402adcd0d9191dc29ca6f7e4dd0bff67b9b5")
|
||||
@@ -4494,6 +4560,47 @@ meta data function.")
|
||||
;; or the CECILL-C license:
|
||||
(license (list license:lgpl3 license:cecill-c))))
|
||||
|
||||
(define-public tcbrindle-span
|
||||
(let ((commit "836dc6a0efd9849cb194e88e4aa2387436bb079b")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "tcbrindle-span")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tcbrindle/span")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1v3x1mj4if8jrr7cmrcbhv8n8ygla0liqb0dic6g6ji7px2pr6jf"))
|
||||
(modules '((guix build utils)))
|
||||
;; Unbundle catch.
|
||||
(snippet
|
||||
'(with-directory-excursion "test"
|
||||
(delete-file "catch.hpp")
|
||||
(substitute* (find-files "." "\\.cpp$")
|
||||
(("\"catch\\.hpp\"") "<catch.hpp>"))))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list catch-framework))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(mkdir-p (string-append #$output))
|
||||
(copy-recursively "../source/include"
|
||||
(string-append #$output "/include")))))))
|
||||
(home-page "https://github.com/tcbrindle/span")
|
||||
(synopsis "Implementation of C++20's @code{std::span} for older compilers")
|
||||
(description
|
||||
"This package provides a single-header implementation of C++20's
|
||||
@code{std::span}, conforming to the C++20 committee draft. It is compatible
|
||||
with C++11, but will use newer language features if they are available.")
|
||||
(license license:boost1.0))))
|
||||
|
||||
(define-public tsl-hopscotch-map
|
||||
(package
|
||||
(name "tsl-hopscotch-map")
|
||||
|
||||
@@ -9232,7 +9232,7 @@ similar rank-based tests for equal probability distributions due to Neuhauser
|
||||
(("^PKG_LIBS=.*")
|
||||
(string-append "PKG_LIBS="
|
||||
(assoc-ref inputs "libnode")
|
||||
"/lib/libnode.so.137\n")))
|
||||
"/lib/libnode.so.127\n")))
|
||||
(setenv "INCLUDE_DIR"
|
||||
(string-append
|
||||
(assoc-ref inputs "libnode")
|
||||
|
||||
@@ -266,14 +266,14 @@ tmpfs/ramfs filesystems.")
|
||||
(define-public parted
|
||||
(package
|
||||
(name "parted")
|
||||
(version "3.6")
|
||||
(version "3.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parted/parted-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04p6b4rygrfd1jrskwrx3bn2icajg1mvbfhyc0c9l3ya7kixnhrv"))))
|
||||
"0yzga4cjq3yplqs47dl9714vwc3v3v8nxrj80rdc5wx4c5syb380"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -296,6 +296,7 @@ tmpfs/ramfs filesystems.")
|
||||
(,util-linux "lib")))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
pkg-config
|
||||
|
||||
;; For the tests.
|
||||
e2fsprogs
|
||||
|
||||
+47
-17
@@ -342,7 +342,7 @@ integration tests...\n")
|
||||
;; and their names must have the same length to avoid corrupting the
|
||||
;; binary.
|
||||
(name "dmd")
|
||||
(version "2.111.0")
|
||||
(version "2.112.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -351,7 +351,9 @@ integration tests...\n")
|
||||
(file-name (git-file-name "dmd" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cz5qdd1j89w2s7nzw9ahzwsqiraidg4ajy7syy7qkk7mwcyrf6r"))))
|
||||
"0qvg2fb73kyng8k1wj482g07ar2qw5laa5fynwx7pdd610n0pjpc"))
|
||||
(patches
|
||||
(search-patches "dmd-hurd.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -372,7 +374,16 @@ integration tests...\n")
|
||||
;; Do not build the shared libphobos2.so library, to avoid
|
||||
;; retaining a reference to gcc:lib.
|
||||
"SHARED=0"
|
||||
"DIFFABLE=1" ;constant timestamp
|
||||
#$@(if (target-hurd?)
|
||||
(list (string-append "DISABLED_TESTS=core/thread/osthread "
|
||||
"std/parallelism " ;; pthread stubs
|
||||
"std/file " ;; rename (NULL, "")
|
||||
"std/socket " ;; ENOPROTOOPT
|
||||
"std/datetime/systime "
|
||||
"std/datetime/timezone " ;; TZDIR
|
||||
"std/net/curl ")) ;; dlopen curl
|
||||
'())
|
||||
"DIFFABLE=1" ;constant timestamp
|
||||
"VERBOSE=1")
|
||||
#:modules
|
||||
`(,@%default-gnu-modules
|
||||
@@ -470,7 +481,19 @@ integration tests...\n")
|
||||
"long_backtrace_trunc rt_trap_exceptions "))
|
||||
""))
|
||||
(substitute* "dmd/druntime/test/gc/Makefile"
|
||||
((" invariant ") " "))))
|
||||
((" invariant ") " "))
|
||||
|
||||
#$@(if (target-hurd?)
|
||||
'((for-each
|
||||
delete-file
|
||||
;; environment differs in LD_ORIGIN_PATH
|
||||
'("dmd/compiler/test/dshell/sameenv.d"
|
||||
;; Non _GLIBCXX_USE_CXX98_ABI version prints a warning
|
||||
"dmd/compiler/test/runnable_cxx/cppa.d"))
|
||||
;; Segfault
|
||||
(substitute* "dmd/druntime/test/shared/Makefile"
|
||||
(("loadDR host ") "")))
|
||||
'())))
|
||||
(delete 'bootstrap)
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
@@ -492,7 +515,8 @@ integration tests...\n")
|
||||
(phase-in-sub-dir 'check "phobos"))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((platform (cond (#$(target-linux?) "linux")))
|
||||
(let* ((platform (cond (#$(target-linux?) "linux")
|
||||
(#$(target-hurd?) "hurd")))
|
||||
(bits (if #$(target-64bit?) 64 32))
|
||||
(build-sub-dir (format #f "generated/~a/release/~a"
|
||||
platform bits))
|
||||
@@ -536,17 +560,22 @@ integration tests...\n")
|
||||
(inputs
|
||||
(list bash-minimal))
|
||||
(native-inputs
|
||||
(list gdmd which
|
||||
gdb/pinned ; for tests
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/phobos")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ydls3ar6d3f7ffqvidr46x3zrz3wlzjln5qa0nbz843ndjr4g7n")))))
|
||||
(append
|
||||
(if (target-linux?)
|
||||
;; gdb tests only on on linux
|
||||
(list gdb/pinned)
|
||||
'())
|
||||
(list gdmd which
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/phobos")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0afi5glnf96242cbnr10ccjvfsgkh4k5y7qnmxv4ph5g0izvi1dc"))
|
||||
(patches (search-patches "phobos-hurd.patch"))))))
|
||||
(outputs '("out" "lib" "debug"))
|
||||
(synopsis "Reference D Programming Language compiler")
|
||||
(description "@acronym{DMD, Digital Mars D compiler} is the reference
|
||||
@@ -555,7 +584,8 @@ compiler for the D programming language.")
|
||||
(home-page "https://github.com/dlang/dmd")
|
||||
;; As reported by upstream:
|
||||
;; https://wiki.dlang.org/Compilers#Comparison
|
||||
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
|
||||
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"
|
||||
"i586-gnu" "x86_64-gnu"))
|
||||
|
||||
;; This variant exists only for bootstrapping purposes.
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
@@ -841,14 +841,14 @@ to result in system-wide compromise.")
|
||||
(define-public unbound
|
||||
(package
|
||||
(name "unbound")
|
||||
(version "1.24.2")
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.unbound.net/downloads/unbound-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1nwwwmwazwx40nm88lhh7k1basml2ai6j9q30gnclvca00zbbrs4"))))
|
||||
(base32 "1iyyplggqhh2h1sbssq65v8z2s8mk1v9n1z4pr0z1qizfbd6wah6"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "python"))
|
||||
(native-inputs
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2018, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
@@ -192,21 +192,20 @@ markup) can be customized and extended by the user.")
|
||||
|
||||
(define-deprecated asciidoc-py3 asciidoc)
|
||||
|
||||
(define-public doxygen
|
||||
(define-public doxygen-1.16
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.14.0")
|
||||
(version "1.16.1")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-"
|
||||
version ".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-"
|
||||
version "/doxygen-" version
|
||||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-" version
|
||||
".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-" version
|
||||
"/doxygen-" version ".src.tar.gz")))
|
||||
(sha256
|
||||
(base32 "1a33w82ln692qsf3ls0j31f6khljjs1cy3bwd70pra2fa4xy6710"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list bison
|
||||
@@ -250,6 +249,25 @@ IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
|
||||
and to some extent D.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public doxygen-1.14
|
||||
(package
|
||||
(inherit doxygen-1.16)
|
||||
(name "doxygen")
|
||||
(version "1.14.0")
|
||||
(home-page "https://www.doxygen.nl/")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append home-page "files/doxygen-"
|
||||
version ".src.tar.gz")
|
||||
(string-append "mirror://sourceforge/doxygen/rel-"
|
||||
version "/doxygen-" version
|
||||
".src.tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbbdvc1zxps6mi58bry16rcrdw6b9gvf9nhv0kp60qkmc8nslyl"))))))
|
||||
|
||||
(define-public doxygen doxygen-1.14)
|
||||
|
||||
(define-public halibut
|
||||
(package
|
||||
(name "halibut")
|
||||
|
||||
+285
-87
@@ -1005,7 +1005,7 @@ e.g. emacs-geiser-guile for Guile.")
|
||||
(define-public emacs-gptel
|
||||
(package
|
||||
(name "emacs-gptel")
|
||||
(version "0.9.9.4")
|
||||
(version "0.9.9.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1014,7 +1014,7 @@ e.g. emacs-geiser-guile for Guile.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ffh2mwy9znjd0v9mh065lv122xg4nlnkbxwjfrsaqn1j1q2xc0c"))))
|
||||
"1bf7xynmrm859471nxc56sv028i039qnqhhmkhzkhf76mwac6cx8"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1025,8 +1025,7 @@ e.g. emacs-geiser-guile for Guile.")
|
||||
(lambda _
|
||||
(copy-recursively
|
||||
#$(this-package-native-input "emacs-gptel-test-files")
|
||||
"test")
|
||||
(invoke "chmod" "--recursive" "u+w" "test")))
|
||||
"test")))
|
||||
;; gptel-pkg.el produces an error during the check phase.
|
||||
(add-before 'check 'rename-pkg
|
||||
(lambda _ (rename-file "gptel-pkg.el" "gptel-pkg.el_")))
|
||||
@@ -1035,16 +1034,9 @@ e.g. emacs-geiser-guile for Guile.")
|
||||
(add-after 'unpack 'use-appropriate-curl
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; These two alternatives error on the substitution.
|
||||
;; (emacs-substitute-variables "gptel-openai.el"
|
||||
;; ("gptel-use-curl"
|
||||
;; (search-input-file inputs "/bin/curl")))
|
||||
;; (emacs-substitute-sexps "gptel-openai.el"
|
||||
;; ("(defvar gptel-use-curl"
|
||||
;; (search-input-file inputs "/bin/curl")))
|
||||
(substitute* "gptel-openai.el"
|
||||
(("defvar gptel-use-curl")
|
||||
(format #f "defvar gptel-use-curl \"~a\""
|
||||
(search-input-file inputs "/bin/curl")))))))))
|
||||
(emacs-substitute-variables "gptel-request.el"
|
||||
("gptel-use-curl"
|
||||
(search-input-file inputs "/bin/curl"))))))))
|
||||
(inputs (list curl))
|
||||
(propagated-inputs (list emacs-compat emacs-transient))
|
||||
(native-inputs
|
||||
@@ -1053,11 +1045,11 @@ e.g. emacs-geiser-guile for Guile.")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/karthink/gptel-test")
|
||||
(commit "318c9dda9e6dbb3e61311cf4de23f124c4d2960a")))
|
||||
(commit "c62e2f78d843f3454e068eb7ec6bb8d6001b0649")))
|
||||
(file-name "emacs-gptel-test-files")
|
||||
(sha256
|
||||
(base32
|
||||
"1368qrxxrw5zd2i0gx55r7yvi5xjma1khs8p5f2w76m7c6ms83yg")))))
|
||||
"1xixi1fa2iwixi6f0wdva2pyisxb8myljwbx2v5nxd3v0i3fbgq9")))))
|
||||
(home-page "https://github.com/karthink/gptel")
|
||||
(synopsis "GPTel is a simple ChatGPT client for Emacs")
|
||||
(description
|
||||
@@ -2086,8 +2078,8 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
|
||||
(define-public emacs-puni
|
||||
;; No tagged release upstream
|
||||
(let ((commit "f430f5b0a14c608176e3376058eb380ab0824621")
|
||||
(revision "3"))
|
||||
(let ((commit "fe132f803868f325cf6f162139e327b76df9e4c1")
|
||||
(revision "4"))
|
||||
(package
|
||||
(name "emacs-puni")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -2099,7 +2091,7 @@ when typing parentheses directly or commenting out code line by line.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kvxll2yx4lh5x04cigdizncp2kbva1iidz9fjnbi8qqfm6pq5qq"))))
|
||||
"0ffjpb0ilhcng1wwmnl1lx7h8v1z0bgsq6wb7x4x2rwsrvqjv9hm"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no actual tests
|
||||
(propagated-inputs (list emacs-with-editor))
|
||||
@@ -2872,6 +2864,31 @@ process, passing on the arguments as command line arguments.")
|
||||
"Magit-annex adds a few git-annex operations to the Magit interface.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-magit-lfs
|
||||
;; Last tag is from 2021 and missing changes adjusting to transient.el
|
||||
;; deprecations.
|
||||
(let ((commit "cd9f46e1840270be27e2c2d9dcf036ff0781f66d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-magit-lfs")
|
||||
(version (git-version "0.4.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Ailrun/magit-lfs")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0psnyxrc7fy2vng81mak0ji7kw58ly01frzr5z2xpj08hxx16b3c"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(propagated-inputs (list emacs-magit emacs-transient emacs-dash))
|
||||
(home-page "https://github.com/Ailrun/magit-lfs")
|
||||
(synopsis "Git LFS support for Magit")
|
||||
(description "@code{magit-lfs} provides Magit integration for git-lfs.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-magit-tbdiff
|
||||
(package
|
||||
(name "emacs-magit-tbdiff")
|
||||
@@ -6183,6 +6200,33 @@ always indented. It reindents after every change, making it more reliable
|
||||
than @code{electric-indent-mode}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-isayt
|
||||
;; No tags. The Version header has not been updated since 2021.
|
||||
(let ((commit "32967c11a5a24b3c1d85cbf41a9b52a996739b45")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-isayt")
|
||||
(version (git-version "0.0.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/andreyorst/isayt.el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15i8z06k7iakw50lx9akq2ggddm7z99crwqbb0sx81bzddaz2s63"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://gitlab.com/andreyorst/isayt.el")
|
||||
(synopsis "Automatically indent lisp expressions while typing")
|
||||
(description
|
||||
"@code{isayt-mode} is a minor mode to adjust indentation of
|
||||
S-expressions automatically as you type. It is similar to
|
||||
@code{aggressive-indent-mode}, but it uses @code{syntax-ppss} and
|
||||
@code{indent-sexp} instead of a timer and @code{indent-according-to-mode}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-smarttabs
|
||||
(package
|
||||
(name "emacs-smarttabs")
|
||||
@@ -11904,22 +11948,22 @@ not hang at all.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-elastic-modes
|
||||
(let ((commit "c577e8921a4d9bd77742729707152bc557fae3e2")
|
||||
(revision "2"))
|
||||
(let ((commit "13c2b94a994717bb1517af0c19b10de33b29a94b")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "emacs-elastic-modes")
|
||||
(version (git-version "1.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jyp/elastic-modes")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r40g7zgz9072x74qbnv8lmql0gajsz2p8b8jckmgyniakmln69v"))))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jyp/elastic-modes")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fb7hy65ax288zqc2y1qjmkja1ksdslvsjbz3jzw7cjcb4yvfkpc"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #false)) ;no tests
|
||||
(arguments (list #:tests? #f)) ;no tests
|
||||
(propagated-inputs (list emacs-dash))
|
||||
(home-page "https://github.com/jyp/elastic-modes")
|
||||
(synopsis "Text and code alignment for variable-width fonts")
|
||||
@@ -22682,7 +22726,7 @@ are common in Chromium-derived projects.")
|
||||
(define-public emacs-gnosis
|
||||
(package
|
||||
(name "emacs-gnosis")
|
||||
(version "0.10.3")
|
||||
(version "0.10.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -22691,12 +22735,13 @@ are common in Chromium-derived projects.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0kpzc2jw51sklz15v0d0vzm5ck05n3d90l02la4nxn8r85jb1f53"))))
|
||||
(base32 "1cjm8hj62zm9k89pnsh5hbgjqqnh53byw4mijl76a7cn8args4gy"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:lisp-directory "lisp"
|
||||
#:test-command
|
||||
#~(list "make" "test" "GUIX_SHELL=")
|
||||
#~(list "make" "-C" ".." "test" "GUIX_SHELL=")
|
||||
#:emacs emacs-no-x ;tests require built-in SQLite support
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@@ -22709,9 +22754,9 @@ are common in Chromium-derived projects.")
|
||||
"/.emacs.d"))))
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(invoke "make" "doc" "GUIX_SHELL="))))))
|
||||
(invoke "make" "-C" ".." "doc" "GUIX_SHELL="))))))
|
||||
(native-inputs (list texinfo))
|
||||
(propagated-inputs (list emacs-transient))
|
||||
(propagated-inputs (list emacs-keymap-popup))
|
||||
(home-page "https://thanosapollo.org/projects/gnosis/")
|
||||
(synopsis "Personal knowledge system for GNU Emacs")
|
||||
(description
|
||||
@@ -25371,7 +25416,7 @@ with Eglot.")
|
||||
(define-public emacs-jabber
|
||||
(package
|
||||
(name "emacs-jabber")
|
||||
(version "0.10.3")
|
||||
(version "0.10.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -25380,7 +25425,7 @@ with Eglot.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v1a09h6ndqhkwyn44cnx1b0l4p155a09mfjrfmg62li50hvw1zm"))))
|
||||
"0d0rl5rhx73safq95212c4qlmds3sa1mc79ji4p2v974m43x9d89"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -25402,16 +25447,6 @@ with Eglot.")
|
||||
"../src/picomemo")
|
||||
(invoke "chmod" "--recursive" "u+w"
|
||||
"../src/picomemo")))
|
||||
(add-after 'unpack 'fix-test-runner
|
||||
(lambda _
|
||||
;; Replace grep -oP (Perl regex) with a
|
||||
;; POSIX-compatible alternative so the test
|
||||
;; runner counts results correctly.
|
||||
(substitute* "../Makefile"
|
||||
(("grep -oP '\\^Ran \\\\K\\[0-9\\]\\+'")
|
||||
(string-append
|
||||
"grep -o 'Ran [0-9]*'"
|
||||
" | grep -o '[0-9]*'")))))
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
(lambda _
|
||||
;; These 4 tests pass outside the build
|
||||
@@ -25447,7 +25482,7 @@ with Eglot.")
|
||||
(base32
|
||||
"044xd1gn9lpd5yrb3c1lmvqsc1chbkhd3vnh7800hxn23a0hxbzj")))))
|
||||
(inputs (list mbedtls))
|
||||
(propagated-inputs (list emacs-fsm))
|
||||
(propagated-inputs (list emacs-fsm emacs-keymap-popup))
|
||||
(home-page "https://thanosapollo.org/projects/jabber/")
|
||||
(synopsis "XMPP (Jabber) client for Emacs")
|
||||
(description
|
||||
@@ -32170,6 +32205,32 @@ symbols. Currently the code distinguishes Lisp functions, built-in functions,
|
||||
macros, faces and variables. To enable call @code{highlight-defined-mode}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-highlight-quoted
|
||||
;; The last tagged release is from 2014 and predates a license change from
|
||||
;; BSD 3-clause to BSD 2-clause.
|
||||
(let ((commit "24103478158cd19fbcfb4339a3f1fa1f054f1469")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-highlight-quoted")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Fanael/highlight-quoted")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gq8inxfni9zgz2brqm4nlswgr8b0spq15wr532xfrgr456g10ks"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/Fanael/highlight-quoted")
|
||||
(synopsis "Highlight Lisp quotes and quoted symbols")
|
||||
(description
|
||||
"@code{highlight-quoted-mode} is a minor mode for highlighting Lisp
|
||||
quotes and quoted symbols.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public emacs-parinfer-mode
|
||||
(package
|
||||
(name "emacs-parinfer-mode")
|
||||
@@ -35200,21 +35261,36 @@ customisation options to control its behaviour.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-dired-launch
|
||||
(let ((commit "97eb002a2090518df86182e9f1db703850534fb7")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-dired-launch")
|
||||
(version (git-version "0.2" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thomp/dired-launch")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rnjp0fb0rakaky7pa6vdpz8cpf2dg5k9zsvxl8h6lcc9b7qa61c"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f)) ; No tests
|
||||
(home-page "https://codeberg.org/thomp/dired-launch")
|
||||
(synopsis "Extra command to launch external programs")
|
||||
(description
|
||||
"This package provides a method to open entries in external programs from dired.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-dired-launch-superseded-version
|
||||
(package
|
||||
(name "emacs-dired-launch")
|
||||
(inherit emacs-dired-launch)
|
||||
(version "20240809.1910")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://melpa.org/packages/dired-launch-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zgs1hzy04pywpcgn5r8s7aah2bv1p5x5lmlcqg9yranxj8a9k6d"))))
|
||||
(build-system emacs-build-system)
|
||||
(synopsis "Extra command to launch external programs")
|
||||
(description "This package provides a method to open entries in external programs from dired.")
|
||||
(home-page "https://codeberg.org/thomp/dired-launch")
|
||||
(license license:gpl3+)))
|
||||
(properties (list (cons 'superseded emacs-dired-launch)))))
|
||||
|
||||
(define-public emacs-dired-rsync
|
||||
(package
|
||||
@@ -35593,7 +35669,7 @@ and comments.")
|
||||
(define-public emacs-yeetube
|
||||
(package
|
||||
(name "emacs-yeetube")
|
||||
(version "2.1.12")
|
||||
(version "2.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -35602,7 +35678,7 @@ and comments.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0zvbfwxq3dx14ynpafpvv1swg7hbg3k9avir9b7cymf4r5hrjnx3"))
|
||||
"0phlcmf54f2wih7rksazf8k2jz4i31siqzd4gb7x3d6zddk2rs97"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
@@ -35617,7 +35693,7 @@ and comments.")
|
||||
(format #f "~s" (search-input-file inputs
|
||||
(string-append "/bin/" program))))))))))
|
||||
(inputs (list mpv torsocks yt-dlp))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(propagated-inputs (list emacs-compat emacs-keymap-popup))
|
||||
(home-page "https://thanosapollo.org/projects/yeetube/")
|
||||
(synopsis "Youtube front-end for Emacs")
|
||||
(description
|
||||
@@ -38031,7 +38107,7 @@ in Docker environment.")
|
||||
(define-public emacs-dape
|
||||
(package
|
||||
(name "emacs-dape")
|
||||
(version "0.26.0")
|
||||
(version "0.27.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -38040,7 +38116,7 @@ in Docker environment.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pib99g20kx7jqxbr7xv6xgpihjrb1yyd84qs05i0xscpgy8yj9l"))))
|
||||
(base32 "12cvry61nrr7xjsd7f445ik273lv4na4wkxad795pflibqz7q6r3"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
;; FIXME python tests pass, JS tests require additional dependencies
|
||||
@@ -41177,6 +41253,39 @@ work.")
|
||||
text-property translator.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public emacs-kkp
|
||||
;; No tags.
|
||||
(let ((commit "73957230ffdd3dedf16f4436f61471bd1365abf6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-kkp")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/benotn/kkp")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1j5igiys8asjg0v18flc7p71xjynqi7v8s06qgkac8djvjamd4lh"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-command
|
||||
#~(list "emacs" "--batch" "-L" "." "-l" "kkp-tests.el"
|
||||
"-f" "ert-run-tests-batch-and-exit")))
|
||||
(propagated-inputs (list emacs-compat))
|
||||
(home-page "https://github.com/benotn/kkp")
|
||||
(synopsis "Kitty Keyboard Protocol input support")
|
||||
(description
|
||||
"@file{kkp.el} implements support for the
|
||||
@url{https://sw.kovidgoyal.net/kitty/keyboard-protocol, Kitty Keyboard
|
||||
Protocol} in Emacs. It provides an alternative, improved way to transmit
|
||||
keyboard input from a terminal to Emacs running in that terminal. For
|
||||
debugging key translation, see @file{kkp-debug.el}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-noter
|
||||
(package
|
||||
(name "emacs-org-noter")
|
||||
@@ -41896,6 +42005,96 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
|
||||
"Fj contains basic functions for interacting with a Forgejo instance.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-keymap-popup
|
||||
(package
|
||||
(name "emacs-keymap-popup")
|
||||
(version "0.2.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thanosapollo/emacs-keymap-popup")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p48nnzf6m4r5jg3qxp7cv78gfwz521zi4zq0d54jmjwyszjjw1z"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;tests need a live display read-loop
|
||||
(home-page "https://codeberg.org/thanosapollo/emacs-keymap-popup")
|
||||
(synopsis "Elisp library to create key-driven popup menus")
|
||||
(description "This package provides @code{keymap-popup-define}, a macro
|
||||
to define a keymap along with popup data and documentation in one place. It
|
||||
is similar to the @code{transient} Elisp library, but aims to be simpler to
|
||||
use. Among its features are:
|
||||
@table @code
|
||||
@item :switch
|
||||
buffer-local toggle with [on]/[off] display
|
||||
@item :keymap
|
||||
sub-menu with stack navigation (q / C-g pops back)
|
||||
@item :stay-open
|
||||
command executes without dismissing the popup
|
||||
@item :inapt-if
|
||||
grays out and blocks entries based on a predicate
|
||||
@item :c-u
|
||||
prefix argument mode (C-u highlights eligible entries)
|
||||
@item :if
|
||||
conditionally hide entries
|
||||
@item :group
|
||||
@itemx :row
|
||||
column layout
|
||||
@item keymap-popup-annotate
|
||||
add popup descriptions to existing keymaps
|
||||
@end table")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-forgejo
|
||||
(package
|
||||
(name "emacs-forgejo")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/thanosapollo/emacs-forgejo")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nqcxg902zdabwlgyx0iv4p339kh4n1nk293i2lnv752q8as0dc6"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:lisp-directory "lisp"
|
||||
#:emacs emacs ;tests requires sqlite
|
||||
#:test-command #~(list "make" "-C" ".." "test")))
|
||||
(propagated-inputs (list emacs-keymap-popup emacs-markdown-mode))
|
||||
(home-page "https://codeberg.org/thanosapollo/emacs-forgejo")
|
||||
(synopsis "Emacs front-end for Forgejo instances")
|
||||
(description "This package provides an Emacs front-end for Forgejo
|
||||
instances such as Codeberg or self-hosted servers. It allows you to browse,
|
||||
filter, and manage issues and pull requests from Emacs. All API responses are
|
||||
cached in a local SQLite database for fast offline re-display. Among the
|
||||
other things it can do are:
|
||||
@itemize
|
||||
@item
|
||||
Submit and merge PRs via
|
||||
AGit-Flow (https://forgejo.org/docs/latest/user/agit-support/) push options
|
||||
@item
|
||||
Full code review workflow with threaded comments
|
||||
@item
|
||||
Watch rules with per-repo filter polling and desktop notifications
|
||||
@item
|
||||
Label, assignee, and milestone management
|
||||
@item
|
||||
SQLite cache for instant display and offline usage
|
||||
@item
|
||||
Multi-host support with per-instance token configuration
|
||||
@item
|
||||
@code{#} and @code{@@} completion in composition buffers (@code{gfm-mode})
|
||||
@item
|
||||
Repository settings editor
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ebdb-i18n-chn
|
||||
(package
|
||||
(name "emacs-ebdb-i18n-chn")
|
||||
@@ -45734,29 +45933,28 @@ the selected region with @code{| tr -d a-z}.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-shell-pop
|
||||
(let ((commit "4b4394037940a890a313d715d203d9ead2d156a6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-shell-pop")
|
||||
(version (git-version "0.64" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyagi/shell-pop-el")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/kyagi/shell-pop-el")
|
||||
(synopsis "Utility which helps with pop up shell buffer")
|
||||
(description
|
||||
"This Emacs utility helps you pop up and pop out shell buffer window
|
||||
(package
|
||||
(name "emacs-shell-pop")
|
||||
(version "0.70")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kyagi/shell-pop-el")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sdi7ckn3dcxy9kw7xz2b5z46fgjjn5mvwpqsmjh3qa6kqirlwmi"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments (list #:tests? #f)) ; no tests
|
||||
(home-page "https://github.com/kyagi/shell-pop-el")
|
||||
(synopsis "Utility which helps with pop up shell buffer")
|
||||
(description
|
||||
"This Emacs utility helps you pop up and pop out shell buffer window
|
||||
easily. Four pre-set options are: @samp{shell}, @samp{terminal},
|
||||
@samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if
|
||||
you use some other configuration.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-shell-here
|
||||
(let ((commit "eeb437ff26d62a5009046b1b3b4503b768e3131a")
|
||||
|
||||
@@ -702,8 +702,8 @@ editor (with wide ints)" )
|
||||
#~(cons "--with-wide-int" #$flags))))))
|
||||
|
||||
(define-public emacs-next-minimal
|
||||
(let ((commit "509228fc6c026921c67459f21164e0325efc583b")
|
||||
(revision "2"))
|
||||
(let ((commit "d969185878bf50faedbafbd609c361875b891b53")
|
||||
(revision "3"))
|
||||
(package
|
||||
(inherit emacs-minimal)
|
||||
(name "emacs-next-minimal")
|
||||
@@ -717,7 +717,7 @@ editor (with wide ints)" )
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04aalyrx5jysk5fhlka98fhfx23sy99zp8j16i0ils20sflyig6n"))
|
||||
(base32 "1pmx71b6pazjpyfs1d2ngby1idsviwbap3xbr5b7dgf0rngim32s"))
|
||||
(patches
|
||||
(search-patches "emacs-next-disable-jit-compilation.patch"
|
||||
"emacs-next-exec-path.patch"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019, 2023, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -226,15 +226,19 @@ testing InfiniBand networks.")
|
||||
|
||||
(string-append "--with-rdmacm="
|
||||
#$(this-package-input "rdma-core"))
|
||||
(string-append "--with-rocm="
|
||||
#$(this-package-input "rocr-runtime")))
|
||||
|
||||
#$@(if (this-package-input "rocr-runtime")
|
||||
#~((string-append "--with-rocm="
|
||||
#$(this-package-input
|
||||
"rocr-runtime")))
|
||||
#~()))
|
||||
|
||||
;; Be verbose so that compiler flags are displayed.
|
||||
#:make-flags #~'("V=1")))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(inputs
|
||||
(list numactl rdma-core rocr-runtime))
|
||||
(list numactl rdma-core))
|
||||
(synopsis "Optimized communication layer for message passing in HPC")
|
||||
(description
|
||||
"Unified Communication X (UCX) provides an optimized communication layer
|
||||
@@ -250,3 +254,13 @@ memory mechanisms for efficient intra-node communication.")
|
||||
;; and x86_64 as supported.
|
||||
(supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux"
|
||||
"riscv64-linux"))))
|
||||
|
||||
;; Note: ROCm support is kept separate to avoid a significant increase in
|
||||
;; closure size: <https://codeberg.org/guix/guix/issues/7225>.
|
||||
(define-public ucx-rocm
|
||||
(package/inherit ucx
|
||||
(name "ucx-rocm")
|
||||
(inputs (modify-inputs inputs
|
||||
(append rocr-runtime)))
|
||||
(synopsis "Optimized communication layer for message passing in HPC (with
|
||||
ROCm support)")))
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
|
||||
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1138,28 +1139,23 @@ transaction log.
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26))
|
||||
(let* ((jfsutils (assoc-ref %build-inputs "jfsutils"))
|
||||
(fsck "jfs_fsck")
|
||||
(out (assoc-ref %outputs "out"))
|
||||
(sbin (string-append out "/sbin")))
|
||||
(mkdir-p sbin)
|
||||
(with-directory-excursion sbin
|
||||
(install-file (string-append jfsutils "/sbin/" fsck)
|
||||
".")
|
||||
(remove-store-references fsck)
|
||||
(chmod fsck #o555))
|
||||
#t))))
|
||||
(list
|
||||
#:modules '((guix build utils))
|
||||
#:builder
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((sbin (string-append #$output "/sbin"))
|
||||
(fsck (string-append sbin "/jfs_fsck")))
|
||||
(install-file (search-input-file %build-inputs "sbin/jfs_fsck")
|
||||
sbin)
|
||||
(remove-store-references fsck)
|
||||
(chmod fsck #o555)))))
|
||||
(inputs
|
||||
`(("jfsutils" ,jfsutils/static)))
|
||||
(list jfsutils/static))
|
||||
(home-page (package-home-page jfsutils))
|
||||
(synopsis "Statically-linked jfs_fsck command from jfsutils")
|
||||
(description "This package provides statically-linked jfs_fsck command taken
|
||||
(description
|
||||
"This package provides statically-linked jfs_fsck command taken
|
||||
from the jfsutils package. It is meant to be used in initrds.")
|
||||
(license (package-license jfsutils))))
|
||||
|
||||
|
||||
@@ -2601,7 +2601,7 @@ mining.")
|
||||
(define-public p2pool
|
||||
(package
|
||||
(name "p2pool")
|
||||
(version "4.14")
|
||||
(version "4.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2610,7 +2610,7 @@ mining.")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
|
||||
(sha256 (base32 "1jfrq3dnkkvrk9zsn3viix5dcjwk0nmp15y1m1vj5py89hm57rxq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(for-each delete-file-recursively
|
||||
|
||||
@@ -3873,7 +3873,7 @@ typographical palette.")
|
||||
(define-public font-mona-sans
|
||||
(package
|
||||
(name "font-mona-sans")
|
||||
(version "2.0.8")
|
||||
(version "2.0.23")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3883,7 +3883,7 @@ typographical palette.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gdblparf0v5mdbp891wnsc5x4dxr433fg0dmz0mhzrdw9vaalig"))))
|
||||
"1pa6bghch1y0drxmz627055fwgsbdyp9vsj0f3va64pmvgkyf5jl"))))
|
||||
(build-system font-build-system)
|
||||
(outputs '("out" "ttf" "woff"))
|
||||
(home-page "https://github.com/mona-sans")
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
;;; Copyright © 2025 wvlab <me@wvlab.xyz>
|
||||
;;; Copyright © 2025 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;; Copyright © 2026 Luis Guilherme Coelho <lgcoelho@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -3475,6 +3476,45 @@ remote-desktop @code{xdg-desktop-portal} interfaces for wlroots based
|
||||
compositors.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public xdg-desktop-portal-termfilechooser
|
||||
(package
|
||||
(name "xdg-desktop-portal-termfilechooser")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wvmwl678fr5pxz7x248pm5v4jd3bycz8nqa2q87akys5b9d1xpd"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'fix-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((sed (search-input-file inputs "/bin/sed")))
|
||||
(substitute* (find-files #$output "-wrapper\\.sh")
|
||||
((" sed") (string-append " " sed)))))))))
|
||||
(native-inputs
|
||||
(list cmake-minimal
|
||||
pkg-config
|
||||
scdoc))
|
||||
(inputs
|
||||
(list basu
|
||||
libinih
|
||||
sed))
|
||||
(home-page "https://github.com/hunkyburrito/xdg-desktop-portal-termfilechooser")
|
||||
(synopsis "@code{xdg-desktop-portal} backend for choosing files with your
|
||||
favorite terminal file chooser")
|
||||
(description
|
||||
"This package provides a backend implementation for xdg-desktop-portal that
|
||||
allows using your preferred terminal file manager as file chooser in other
|
||||
applications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public poweralertd
|
||||
(package
|
||||
(name "poweralertd")
|
||||
|
||||
+86
-32
@@ -227,6 +227,7 @@
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages squirrel)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages terminals)
|
||||
@@ -1234,11 +1235,11 @@ original rogue game found on 4.2BSD.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public sgt-puzzles
|
||||
(let ((commit "28032bd5a0d3dc409eb225b8bdb23fd0b18a28d7")
|
||||
(let ((commit "06e37f1e334d85c7c779f79ef9e484ff2f708269")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sgt-puzzles")
|
||||
(version (git-version "20251120" revision commit))
|
||||
(version (git-version "20260308" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1247,7 +1248,7 @@ original rogue game found on 4.2BSD.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0533fzzagmi7g7sw1fdgpzy6gjpif77gxf3avz1qnjsma5gq7f2l"))))
|
||||
(base32 "141d57s1va2ng7nxjzdgmsqh5mdb0mpy3yiqaj4rplya8xlhm34h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5348,36 +5349,78 @@ also available.")
|
||||
(sha256
|
||||
(base32 "05aj09rm50xb6910zx6imarj8k728x9bpvpa7ydwgb4sj1nypil8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(with-directory-excursion "thirdparty"
|
||||
(delete-file-recursively "glm")
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(glm\\)")
|
||||
"find_package(glm REQUIRED)")))
|
||||
(with-directory-excursion "src"
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("glm::glm")
|
||||
"glm")))
|
||||
;; Rename the icon to match with the executable file.
|
||||
(rename-file "srb2.png" "ringracers.png")))))
|
||||
(snippet
|
||||
'(begin
|
||||
(with-directory-excursion "thirdparty"
|
||||
;; Delete third party ibraries, except these libraries:
|
||||
;; glad: header file is not available in the system glad package.
|
||||
;; imgui: configured with "srb2_imconfig.h".
|
||||
;; libwebm: Not available in Guix.
|
||||
;; renamenoise: Not available in Guix.
|
||||
;; tracy: header files are not available in the system tracy
|
||||
;; package.
|
||||
(for-each delete-file-recursively
|
||||
'("discord-rpc"
|
||||
"glm"
|
||||
"nlohmann-json"
|
||||
"overlay-ports/libyuv"
|
||||
"tcbrindle_span"
|
||||
"vma"
|
||||
"volk"
|
||||
"vulkan-headers"
|
||||
"xmp-lite"))
|
||||
;; Unbundle stb.
|
||||
(with-directory-excursion "stb"
|
||||
(for-each delete-file
|
||||
'("include/stb_rect_pack.h"
|
||||
"stb_vorbis.c"))
|
||||
(substitute* "stb_rect_pack.c"
|
||||
(("\"include\\/stb_rect_pack\\.h\"") "<stb_rect_pack.h>"))
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("include\\/stb_rect_pack\\.h ") "")))
|
||||
;; Find third party libraries from the system and do not add the
|
||||
;; deleted directories.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\((glm|discord-rpc|xmp-lite|fmt|volk)\\)"
|
||||
_ keep)
|
||||
(string-append "find_package(" keep " REQUIRED)"))
|
||||
(("xmp-lite") "libxmp")
|
||||
((".*nlohmann-json.*") "")
|
||||
((".*tcbrindle_span.*") "")
|
||||
((".*vulkan-headers.*") "")
|
||||
((".*vma.*") "")))
|
||||
(with-directory-excursion "src"
|
||||
;; Link the system libraries instead of the unbundled ones.
|
||||
(substitute* "CMakeLists.txt"
|
||||
((".*tcbrindle::span.*") "")
|
||||
(("glm::glm") "glm")
|
||||
(("xmp-lite::xmp-lite") "xmp")
|
||||
(("fmt::fmt-header-only") "fmt")
|
||||
((".*nlohmann_json::nlohmann_json.*") "")))
|
||||
;; Rename the icon to match with the executable file.
|
||||
(rename-file "srb2.png" "ringracers.png")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;There are no tests.
|
||||
#:configure-flags
|
||||
#~(list "-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
|
||||
#~(list "-DSRB2_CONFIG_ENABLE_DISCORDRPC=OFF"
|
||||
"-DCMAKE_C_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'"
|
||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='-O3 -g -DNDEBUG'")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-stb_vorbis.c
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(install-file (search-input-file inputs "/stb_vorbis.c")
|
||||
"thirdparty/stb")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "bin/ringracers" (string-append #$output "/bin"))
|
||||
(install-file "../source/ringracers.png"
|
||||
(string-append #$output "/share/pixmaps"))))
|
||||
(add-after 'install 'wrap-program
|
||||
;; Install executable to $out/bin.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program "bin/ringracers"
|
||||
(wrap-program (string-append #$output "/bin/ringracers")
|
||||
`("RINGRACERSWADDIR" =
|
||||
(,(assoc-ref inputs "ring-racers-data"))))))
|
||||
(add-after 'wrap-program 'create-desktop-entry
|
||||
@@ -5393,26 +5436,37 @@ also available.")
|
||||
#:exec (string-append #$output "/bin/ringracers")
|
||||
#:startup-notify #f
|
||||
#:categories '("Application" "Game"))))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list glm
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
(package-source stb)))
|
||||
(inputs (list bash-minimal
|
||||
curl
|
||||
fmt
|
||||
glm
|
||||
libogg
|
||||
libpng
|
||||
libvorbis
|
||||
libvpx
|
||||
libxmp
|
||||
libyuv
|
||||
nlohmann-json
|
||||
opus
|
||||
ring-racers-data
|
||||
sdl2
|
||||
zlib
|
||||
curl))
|
||||
(home-page "https://kartkrew.org")
|
||||
stb-rect-pack
|
||||
tcbrindle-span
|
||||
vulkan-headers
|
||||
vulkan-memory-allocator
|
||||
vulkan-volk
|
||||
zlib))
|
||||
(home-page "https://www.kartkrew.org/")
|
||||
(synopsis "Technical kart racing game")
|
||||
(description
|
||||
"Dr. Robotnik's Ring Racers is a kart racing game drawing inspiration from
|
||||
``anti-gravity'' racers, fighting games, and traditional-style kart racing.
|
||||
Ring Racers is designed with an emphasis on player agency in the face of highly
|
||||
technical game-play challenges in both single-player and online multiplayer
|
||||
modes.")
|
||||
"Dr.@: Robotnik's Ring Racers is a kart racing game drawing inspiration
|
||||
from \"anti-gravity\" racers, fighting games, and traditional-style kart
|
||||
racing. Ring Racers is designed with an emphasis on player agency in the face
|
||||
of highly technical game-play challenges in both single-player and online
|
||||
multiplayer modes.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public unknown-horizons
|
||||
@@ -5743,14 +5797,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
|
||||
(define-public openttd-engine
|
||||
(package
|
||||
(name "openttd-engine")
|
||||
(version "15.2")
|
||||
(version "15.3")
|
||||
(source
|
||||
(origin (method url-fetch)
|
||||
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
|
||||
version "/openttd-" version "-source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xpzschcf562giqh3p8jj9gbi8chqrikdwgqqipabyn0nwbvd6nj"))))
|
||||
"1rrvjxsr2dp9zr6b35ifiw41c0dwqqcaq90r0x18misrgpm1x8jy"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list allegro
|
||||
@@ -5984,7 +6038,7 @@ Transport Tycoon Deluxe.")
|
||||
(package
|
||||
(inherit openttd)
|
||||
(name "openttd-jgrpp")
|
||||
(version "0.71.2")
|
||||
(version "0.72.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5993,7 +6047,7 @@ Transport Tycoon Deluxe.")
|
||||
(commit (string-append "jgrpp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gb5gickmf1d1wkzqny5ryapvw32a2g94f77iq0102xhyyw8g8s0"))))
|
||||
(base32 "0xbnnx03y8vhbgi6s7hsxhiqhsy6rhj7fypq6dfqh0z74m5bldkf"))))
|
||||
(inputs (modify-inputs inputs
|
||||
(append zstd harfbuzz)))
|
||||
(arguments
|
||||
|
||||
+15
-1
@@ -928,7 +928,8 @@ It also includes runtime support libraries for these languages.")
|
||||
"gcc-5.0-libvtv-runpath.patch"
|
||||
"gcc-10-libsanitizer-no-crypt.patch"
|
||||
"gcc-11-libstdc++-hurd-libpthread.patch"
|
||||
"gcc-libstdc++-newer-gcc.patch"))
|
||||
"gcc-libstdc++-newer-gcc.patch"
|
||||
"gcc-11-x86_64-gnu.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet gcc-canadian-cross-objdump-snippet)))
|
||||
(properties
|
||||
@@ -1408,8 +1409,21 @@ as the 'native-search-paths' field."
|
||||
(define version (package-version gdc))
|
||||
(define (since-version? since) (version>=? version since))
|
||||
(define (until-version? until) (version>? until version))
|
||||
(define patches (cond ((and (since-version? "11")
|
||||
(until-version? "12"))
|
||||
(search-patches "gdc-11-druntime-hurd.patch"))
|
||||
((and (since-version? "14")
|
||||
(until-version? "15"))
|
||||
(search-patches "gdc-14-druntime-hurd.patch"))
|
||||
(else '())))
|
||||
(package
|
||||
(inherit gdc)
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source gdc))
|
||||
(patches
|
||||
(append (origin-patches (package-source gdc))
|
||||
patches))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:modules modules)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
(define-public gramps
|
||||
(package
|
||||
(name "gramps")
|
||||
(version "5.2.3")
|
||||
(version "6.0.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -53,7 +53,7 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gzhi5hxpgc6pxs40xsxf67hndjifnfhm89s3ly68c70x83qmwhd"))))
|
||||
(base32 "06kdcf6h9rqdcsx097a3n2z4q8yvln20ja7ajwrna1i133591bra"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -68,6 +68,11 @@
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-gexiv2-dependency
|
||||
(lambda _
|
||||
;; Use our own version
|
||||
(substitute* (find-files "." ".*\\.py$")
|
||||
(("\"GExiv2\", \"0.10\"") "\"GExiv2\", \"0.16\""))))
|
||||
(add-before 'check 'prepare-tests
|
||||
(lambda _
|
||||
(setenv "HOME" (getenv "TMPDIR"))
|
||||
@@ -113,6 +118,7 @@
|
||||
python-bsddb3
|
||||
python-jsonschema
|
||||
python-lxml
|
||||
python-orjson
|
||||
python-pillow
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
|
||||
@@ -682,7 +682,7 @@ and a high score table.")
|
||||
(define-public komikku
|
||||
(package
|
||||
(name "komikku")
|
||||
(version "50.1.0")
|
||||
(version "50.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -692,7 +692,7 @@ and a high score table.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
|
||||
"0hm1infvdsms193g2yp7qw7lrsxjsx5zziib8hgch34y6dbhfhf1"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -780,7 +780,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
||||
(define-public komikku-servers
|
||||
(package
|
||||
(name "komikku-servers")
|
||||
(version "50.1.0")
|
||||
(version "50.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -790,7 +790,7 @@ developed with the aim of being used with the Librem 5 phone.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q858zvpqy32nb2lxdfy1k6fgal46kp634534fg983192fyk1pqp"))))
|
||||
"0hm1infvdsms193g2yp7qw7lrsxjsx5zziib8hgch34y6dbhfhf1"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -605,9 +605,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"zh-TW"))
|
||||
|
||||
;;; Please keep these versions in sync with icedove.
|
||||
(define %icecat-base-version "140.10.1")
|
||||
(define %icecat-base-version "140.10.2")
|
||||
(define %icecat-version (string-append %icecat-base-version "-gnu1"))
|
||||
(define %icecat-build-id "20260428000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-build-id "20260509000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
@@ -627,9 +627,9 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fx52y52c3dmgr5gm64x40r2n6zq5ckqiqsd6vlhsly5wb1w0xaf"))))
|
||||
"0xsfy8b80mh6kb13928ym3pdrnfyfs98xwz6fwrc20p7f99zcsvr"))))
|
||||
|
||||
(gnuzilla-commit "5162cbc74c483c361ad5709c767c5cb2395ff4f9")
|
||||
(gnuzilla-commit "f04b721394b9d1103e92dbe989060f96756fe54c")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -640,7 +640,7 @@ in the case of Firefox, it is browser/locales/all-locales."
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"06qyirgjjgy7fwn7mbrz23wsdv9a88w70pz8qm1yszln74xxdsp0"))))
|
||||
"05d3793565pxz1h3wmwxk8j4cfqci4c0jic4q4ys8rbnfz98cj6z"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
|
||||
@@ -340,6 +340,49 @@ more.")
|
||||
currently does not do much, but it might in the future.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-arguments
|
||||
(package
|
||||
(name "guile-arguments")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://codeberg.org/fishinthecalculator/arguments")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r71l6099afk017a3ck5mpp2xhb3bm45s6nga24lhby52rxbkayl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'generate-api-reference
|
||||
(lambda _
|
||||
(invoke "scripts/generate_api_reference.sh")))
|
||||
(add-after 'build 'build-html-manual
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke `("make" "html" ,@make-flags))))
|
||||
(add-after 'install 'install-html-manual
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke `("make" "install-html" ,@make-flags)))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
guile-documenta
|
||||
pkg-config
|
||||
texinfo))
|
||||
(inputs (list guile-3.0))
|
||||
(synopsis "Parse command line arguments into structured objects")
|
||||
(description "This package provides a Guile library to parse command line
|
||||
arguments into structured objects. It allows declaring arguments through a
|
||||
small @acronym{DSL, Domain Specific Language}, then call a procedure to parse the
|
||||
command line into a structured object.")
|
||||
(home-page "https://codeberg.org/fishinthecalculator/arguments")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-oauth
|
||||
(package
|
||||
(name "guile-oauth")
|
||||
|
||||
@@ -467,15 +467,15 @@ without requiring the source code to be rewritten.")
|
||||
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUILE_LOAD_PATH")
|
||||
(files '("share/guile/site/3.0")))
|
||||
(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"
|
||||
"share/guile/site/3.0")))
|
||||
(variable "GUILE_LOAD_COMPILED_PATH")
|
||||
(files '("lib/guile/3.0/site-ccache"
|
||||
"share/guile/site/3.0")))
|
||||
(search-path-specification
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files '("lib/guile/3.0/extensions")))))))
|
||||
(variable "GUILE_EXTENSIONS_PATH")
|
||||
(files '("lib/guile/3.0/extensions")))))))
|
||||
|
||||
(define-public guile-3.0.11
|
||||
(package
|
||||
|
||||
@@ -414,7 +414,7 @@ much more.")
|
||||
(define-public bvi
|
||||
(package
|
||||
(name "bvi")
|
||||
(version "1.4.2")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -422,7 +422,7 @@ much more.")
|
||||
"/bvi-" version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wllrvs8r8bdm11sx01095j8cj4drjmw0dlkjfdkm5lnnk11dfjb"))))
|
||||
"1jvldfxdpgf044hnhjhxi24a9bkbn8adl22icc8rfarv39m72h35"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; no check target
|
||||
(inputs
|
||||
|
||||
+61
-5
@@ -334,6 +334,61 @@ Hurd-minimal package which are needed for both glibc and GCC.")
|
||||
(define %add-to-hurd-subdirs
|
||||
(list "libmachdevdde" "libddekit"))
|
||||
|
||||
(define-public libacpica
|
||||
(let ((commit "0c3593e27947ef0734a070143caadaed28438354")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "libacpica")
|
||||
(home-page "https://salsa.debian.org/hurd-team/libacpica")
|
||||
(version (git-version "20220331" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0hyfg4w2ch6a833kkxjcsddqq2712gqlbvrl6zv5yzvallpfzh7d"))
|
||||
(file-name (git-file-name name version))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:modules '((srfi srfi-26)
|
||||
(ice-9 rdelim)
|
||||
(guix build utils)
|
||||
(guix build gnu-build-system))
|
||||
#:make-flags #~`(,(string-append "CC=" #$(cc-for-target))
|
||||
,(string-append "PREFIX=" #$output))
|
||||
;; As we are using the Debian package as upstream, we follow their
|
||||
;; build:
|
||||
;; * apply patches in debian/patches taken from the
|
||||
;; debian/patches/series file
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda* (#:key target #:allow-other-keys)
|
||||
(let* ((patch-directory "debian/patches/")
|
||||
(series (string-append patch-directory "series"))
|
||||
(text (with-input-from-file series read-string))
|
||||
(lines (string-split (string-trim-right text) #\newline))
|
||||
(patches (filter (negate (cute string-prefix? "#" <>))
|
||||
lines))
|
||||
(patch-files (map
|
||||
(cute string-append patch-directory <>)
|
||||
patches)))
|
||||
(for-each
|
||||
(cute invoke "patch" "--force" "-p1" "-i" <>)
|
||||
patch-files)))))))
|
||||
(inputs (list libirqhelp
|
||||
libpciaccess))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems %hurd-systems)
|
||||
(synopsis "ACPICA as a library")
|
||||
(description "libacpica provides ACPICA as a library.")
|
||||
(license (list bsd-3
|
||||
gpl2)))))
|
||||
|
||||
(define-public hurd
|
||||
(package
|
||||
(name "hurd")
|
||||
@@ -588,7 +643,8 @@ exec ${system}/rc \"$@\"
|
||||
"CFLAGS=-fcommon")))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt) ;for /hurd/random
|
||||
`(("libacpica" ,libacpica) ;for hurd/acpi.static
|
||||
("libgcrypt" ,libgcrypt) ;for /hurd/random
|
||||
("libdaemon" ,libdaemon) ;for /bin/console --daemonize
|
||||
("libxcrypt" ,libxcrypt) ;for password hashing
|
||||
("unifont" ,unifont)
|
||||
@@ -739,11 +795,11 @@ in userland processes thanks to the DDE layer.")
|
||||
(license gpl2))))
|
||||
|
||||
(define-public rumpkernel
|
||||
(let ((commit "2aad456903b2dc2232fa18c7f286cea6d77b570f")
|
||||
(revision "0"))
|
||||
(let ((commit "debian/0_20250111-6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "rumpkernel")
|
||||
(version (git-version "0-20250111" revision commit))
|
||||
(version (git-version "0-20250111" revision (substring commit 7)))
|
||||
;; This uses the Debian Salsa rumpkernel package git as upstream as that
|
||||
;; is where development happens. Once things have stabilized, upstream
|
||||
;; may change to the NetBSD git from where Debian takes their snapshots.
|
||||
@@ -754,7 +810,7 @@ in userland processes thanks to the DDE layer.")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"14fiv2llvd5s1vi9gigmi1vi0b9yvg2zqyc9xg67ffxl1phv7p8j"))
|
||||
"1pvd54k06rlgvppfbzl1d0qqcjc0kshamw1iw40s3apabh87pw1i"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
+73
-27
@@ -71,11 +71,12 @@
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
@@ -96,10 +97,11 @@
|
||||
#:use-module (gnu packages mcrypt)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ocr)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
@@ -115,7 +117,6 @@
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
@@ -183,36 +184,81 @@ convert images in more than 100 different formats.")
|
||||
(define-public gradia
|
||||
(package
|
||||
(name "gradia")
|
||||
(version "1.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AlexanderVanhee/Gradia")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07hal4h3kkjf7la02nqmqgw19sa6hkd130bkfmgwjimkv9zi8z2i"))))
|
||||
(version "1.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AlexanderVanhee/Gradia")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00s6xj9crj5gkh233q98fmq67f41y877xgrn49cycwb3kybp237n"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")
|
||||
(("update_desktop_database: true")
|
||||
"update_desktop_database: false")))))))
|
||||
(inputs (list gtk libadwaita python python-pygobject))
|
||||
(native-inputs
|
||||
(list blueprint-compiler gettext-minimal `(,glib "bin") pkg-config))
|
||||
(list
|
||||
#:imported-modules (append %meson-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '((guix build meson-build-system)
|
||||
((guix build pyproject-build-system)
|
||||
#:prefix py:)
|
||||
(guix build utils))
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")
|
||||
(("update_desktop_database: true")
|
||||
"update_desktop_database: false"))))
|
||||
(add-after 'unpack 'set-tesseract-and-tessdata-path
|
||||
(lambda _
|
||||
(let* ((tesseract #$(this-package-input "tesseract-ocr"))
|
||||
(tesseract-bin (string-append tesseract "/bin/tesseract"))
|
||||
(tessdata (string-append tesseract "/share/tessdata")))
|
||||
(substitute* "meson.build"
|
||||
(("OCR_TESSERACT_CMD = '/app/bin/tesseract'")
|
||||
(format #f "OCR_TESSERACT_CMD = '~a'" tesseract-bin))
|
||||
(("OCR_ORIGINAL_TESSDATA_DIR = '/app/share/tessdata'")
|
||||
(format #f "OCR_ORIGINAL_TESSDATA_DIR = '~a'" tessdata))))))
|
||||
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/gradia")
|
||||
`("GUIX_PYTHONPATH" =
|
||||
(,(getenv "GUIX_PYTHONPATH") ,(py:site-packages inputs
|
||||
outputs)))
|
||||
`("GI_TYPELIB_PATH" =
|
||||
(,(getenv "GI_TYPELIB_PATH")))
|
||||
`("GDK_PIXBUF_MODULE_FILE" =
|
||||
(,(getenv "GDK_PIXBUF_MODULE_FILE")))))))))
|
||||
(inputs (list bash-minimal
|
||||
gtk
|
||||
gtksourceview
|
||||
libadwaita
|
||||
libportal
|
||||
libsoup
|
||||
python
|
||||
python-pillow
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
python-pytesseract
|
||||
tesseract-ocr
|
||||
webp-pixbuf-loader))
|
||||
(native-inputs (list blueprint-compiler
|
||||
desktop-file-utils
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config))
|
||||
(home-page "https://github.com/AlexanderVanhee/Gradia")
|
||||
(synopsis "Edit screenshots")
|
||||
(description "Gradia is a GTK 4 application for enhancing and preparing
|
||||
(description
|
||||
"Gradia is a GTK 4 application for enhancing and preparing
|
||||
screenshots for blogs, social media, and documentation. It supports background
|
||||
customization, annotation tools (pen, arrow, text, highlight, stamp), padding,
|
||||
cropping, and various export formats.")
|
||||
cropping, @acronym{OCR, optical character recognition} and various export formats.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public iqa
|
||||
|
||||
@@ -1088,9 +1088,9 @@ wrappers.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/tc39/test262")
|
||||
(commit "a5e69a1534de88d1eb29b76657d84c8541b72df7")))
|
||||
(commit "a6f387de323eb9ae56448bdb71c5d315df631ce4")))
|
||||
(file-name "test262")
|
||||
(sha256 (base32 "078a7nim0n9x36q7q8yvjwhk4ig29p25b03rr4l7g2b545cky66l"))
|
||||
(sha256 (base32 "09avg4f75rzbmh3hcybdvjij7hbl2m79x6xp1hgl6h8ihfbn33l0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(begin
|
||||
(for-each delete-file
|
||||
@@ -1100,7 +1100,7 @@ wrappers.")
|
||||
(define-public quickjs-ng
|
||||
(package
|
||||
(name "quickjs-ng")
|
||||
(version "0.11.0")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1109,11 +1109,7 @@ wrappers.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mfk32zvvh6c9a9plp6ad07888g795lhdmal3jyaclyn2k5iig9i"))
|
||||
;; Remove these patches on next release as they will be included.
|
||||
(patches (search-patches
|
||||
"quickjs-ng-64-bits-precision-on-i686.patch"
|
||||
"quickjs-ng-fix-atomics.pause-on-32-bit.patch"))))
|
||||
(base32 "05k8niswh0ly5sx0129jdhiinqs84s86b7sv29ff68v3546dl04i"))))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
@@ -1146,6 +1142,23 @@ wrappers.")
|
||||
"")
|
||||
(("BUILD_DIR=build")
|
||||
"BUILD_DIR=../build"))))
|
||||
;; XXX: Unknown test failures in quickjs-ng 1.4.0.
|
||||
;; Remove for future versions.
|
||||
(add-before 'configure 'skip-failing-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((test262 (assoc-ref inputs "test262"))
|
||||
(lang-path (in-vicinity test262 "test/language")))
|
||||
(substitute* "test262.conf"
|
||||
(("# list excluded tests and directories here" all)
|
||||
(string-join
|
||||
(cons* all
|
||||
(map (lambda (f)
|
||||
(in-vicinity lang-path f))
|
||||
'(;; export 'foo' in module /gnu/store is ambiguous
|
||||
"module-code/ambiguous-export-bindings/"
|
||||
;; Could not find export 'default'
|
||||
"import/import-attributes/text-self.js")))
|
||||
"\n"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
|
||||
@@ -233,7 +233,12 @@ This package is part of the KDE multimedia module.")
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; testsqlscanmanager fails, even when run manually.
|
||||
(invoke "ctest" "-E" "testsqlscanmanager")))))))
|
||||
(invoke "ctest" "-E" "testsqlscanmanager"))))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/amarok")
|
||||
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
|
||||
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules
|
||||
googletest
|
||||
@@ -898,8 +903,16 @@ autoloading of subtitle files for use while playing video.")
|
||||
qtdeclarative
|
||||
qtwayland))
|
||||
(arguments
|
||||
(list #:qtbase qtbase
|
||||
#:tests? #f))
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/kamoso")
|
||||
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
|
||||
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
|
||||
(home-page "https://apps.kde.org/kamoso/")
|
||||
(synopsis "Take pictures and videos out of your webcam")
|
||||
(description "Kamoso is a simple and friendly program to use your
|
||||
@@ -1246,14 +1259,27 @@ APIs. It can also play videos from PeerTube sources.")
|
||||
"0iaandlbv2v4a6wsdxk19ynj77axd3kc72nw28bvbsfb0kqc0mai"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:qtbase qtbase
|
||||
#:tests? #f)) ;no tests
|
||||
(list
|
||||
#:qtbase qtbase
|
||||
#:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/rattlesnake")
|
||||
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
|
||||
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules))
|
||||
(inputs
|
||||
(list kirigami qtdeclarative qtmultimedia qtwayland))
|
||||
(propagated-inputs
|
||||
(list gstreamer gst-plugins-base gst-plugins-good))
|
||||
(list gst-plugins-base
|
||||
gst-plugins-good
|
||||
gstreamer
|
||||
kirigami
|
||||
kirigami-addons
|
||||
qtdeclarative
|
||||
qtmultimedia
|
||||
qtwayland))
|
||||
(home-page "https://invent.kde.org/multimedia/rattlesnake")
|
||||
(synopsis "Metronome")
|
||||
(description "Rattlesnake is a metronome app.")
|
||||
|
||||
@@ -164,14 +164,14 @@ resolution, asynchronous file system operations, and threading primitives.")
|
||||
(package
|
||||
(inherit libuv)
|
||||
(name "libuv")
|
||||
(version "1.51.0")
|
||||
(version "1.49.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.libuv.org/dist/v" version
|
||||
"/libuv-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1szqivvs7izbhw1a3nd1ipbk012yvqqkjg0sjmqxw1hi1fwmf1az"))))
|
||||
"1a75p8wp4l43y2ffj1szs1ssm6nzjad7k51bqi2r04ngs9mp044c"))))
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(define-public libuv-for-r-httpuv
|
||||
@@ -219,14 +219,14 @@ resolution, asynchronous file system operations, and threading primitives.")
|
||||
(package
|
||||
(inherit libuv)
|
||||
(name "libuv")
|
||||
(version "1.43.0")
|
||||
(version "1.44.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dist.libuv.org/dist/v" version
|
||||
"/libuv-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"194kwq3jfj9s628kzkchdca534rikjw0xiyas0cjbphqmsvjpmwh"))))
|
||||
"1d1wy1061cf2mfygr2j6jbm0da2mhsf0l9yq4rjkqrsmijbdrz6c"))))
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(define-public perl-anyevent
|
||||
|
||||
+385
-479
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2021, 2021-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2021, 2021-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||
@@ -531,7 +531,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
|
||||
;; The current "mainline" kernel.
|
||||
|
||||
(define-public linux-libre-7.0-version "7.0.3")
|
||||
(define-public linux-libre-7.0-version "7.0.5")
|
||||
(define-public linux-libre-7.0-gnu-revision "gnu")
|
||||
(define deblob-scripts-7.0
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -541,7 +541,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0a7572zw5y3k4gs4p3h5w0s9bhd63pdjxz6vxbr96sq6r8b6k02n")))
|
||||
(define-public linux-libre-7.0-pristine-source
|
||||
(let ((version linux-libre-7.0-version)
|
||||
(hash (base32 "074zjl0v901a9hafgpcxyyd395qs7y4kr4fcpgg3ssc8ayzsvv8b")))
|
||||
(hash (base32 "0g5c732144ig8rk2nrlsbwdh88q5ghi3n1n6c3y9jlv7q6hv0pwn")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-7.0)))
|
||||
@@ -564,7 +564,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.19)))
|
||||
|
||||
(define-public linux-libre-6.18-version "6.18.26")
|
||||
(define-public linux-libre-6.18-version "6.18.28")
|
||||
(define-public linux-libre-6.18-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.18
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -574,7 +574,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0qlih8w8wg4v5cwbmd34rbhb6mjgbx69i9rx3s2vxw7h42q9l0ai")))
|
||||
(define-public linux-libre-6.18-pristine-source
|
||||
(let ((version linux-libre-6.18-version)
|
||||
(hash (base32 "1v5h0w3s8p5m22jxg992x1jfpwyi80ia70cdgiv47q3n6xfjyxsk")))
|
||||
(hash (base32 "0x3vsz25ci192zcv1vmi1lnbdmpafvzbzcja1fighv2qhfa7hq7k")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.18)))
|
||||
@@ -583,7 +583,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
|
||||
(define-public linux-libre-6.12-version "6.12.85")
|
||||
(define-public linux-libre-6.12-version "6.12.87")
|
||||
(define-public linux-libre-6.12-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.12
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -593,12 +593,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1x48hpmvajz7v5wn1vdd7l5r14mq4ngzh5npz3pj81z4f1g61i0a")))
|
||||
(define-public linux-libre-6.12-pristine-source
|
||||
(let ((version linux-libre-6.12-version)
|
||||
(hash (base32 "1v8a0z6znmr2m26l4744wndaimsh24zz6q4d7m4p8s0ayjcwjnp3")))
|
||||
(hash (base32 "0c4qidff0qs2x0mvba83cw3ksaz2af3xwabvc839xvsc9djaf4nc")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.12)))
|
||||
|
||||
(define-public linux-libre-6.6-version "6.6.137")
|
||||
(define-public linux-libre-6.6-version "6.6.138")
|
||||
(define-public linux-libre-6.6-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.6
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -608,12 +608,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0xp9b2vkrb0g0rn4i33b59rhp4sgh1dbwzk28vwz7kwac6l5rcpi")))
|
||||
(define-public linux-libre-6.6-pristine-source
|
||||
(let ((version linux-libre-6.6-version)
|
||||
(hash (base32 "1i2npnsnhk41a88vimr521rxg77kljbkqmlyk1zrv7z4ic6ykwcj")))
|
||||
(hash (base32 "03x8ald0sjzdb6kpzrw8adnc78r3mdxrx8mzbxbpwp35vdgnpl5d")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.6)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.170")
|
||||
(define-public linux-libre-6.1-version "6.1.172")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -623,12 +623,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1w5pfws6l39dpc3lzazs1n6r4m96f6rdf6vb2scy5fhmrd933ldc")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "0i29gilsvl7vx7p6vqg0bc0d40ir1b968hyfjhdfms55g4pr2y5m")))
|
||||
(hash (base32 "16dlfdzjcsc21m5sfbhamg8y3ay54rz8a0qqvqrmxq691mhjwrzi")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
||||
(define-public linux-libre-5.15-version "5.15.204")
|
||||
(define-public linux-libre-5.15-version "5.15.206")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -638,12 +638,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1s6km2r2mad0wpf7nqn4rqsykw1lm386l1yskmil24239fbva1f1")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "1kfvfvzhdgjcj1pa2aqks3iah00ilfpp1i9bmbwjr3na0crlrzcv")))
|
||||
(hash (base32 "07z6lla7xpnn4sn3l4zw3x7m8ih8w6h54k71qrxrf5zv9i7wxijz")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.252")
|
||||
(define-public linux-libre-5.10-version "5.10.255")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@@ -653,7 +653,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1hgza8fsps7bkjf4i0f2xgvrh1r183z3i6lxrr2nr8qbi5d13qs7")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "1yqa4zmvi5ihf50kxcff06abfi6xw0b9ajzagvy6gdzfr7igpcrl")))
|
||||
(hash (base32 "19v6g2fq4nqv38irlcd9x14s6d398c56mxzpyc03q4xmpy3v6mir")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
@@ -1493,6 +1493,48 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
("CONFIG_VHOST_VDPA" . m))
|
||||
(default-extra-linux-options linux-libre-lts-version))))
|
||||
|
||||
(define-public reform-debian-packages-for-7.0
|
||||
(package
|
||||
(name "reform-debian-packages")
|
||||
(version "2023-07-10-559-gced99e4") ;from git describe
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://source.mnt.re/reform/reform-debian-packages.git")
|
||||
(commit "ced99e4f4b1fa7294823ac57f1561490d5d4e1f1")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rnk22dg0xrljpfzhc0lvlksd2zpddwhivvph3q6kgbac4afwv9r"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("linux/patches7.0/" "/patches7.0")
|
||||
("linux/" "/dts/amlogic"
|
||||
#:include-regexp ("meson.*\\.dts$"))
|
||||
("linux/" "/dts/freescale"
|
||||
#:include-regexp ("imx8.*\\.dts$"))
|
||||
("linux/" "/dts/freescale"
|
||||
#:include-regexp ("fsl.*\\.dts$"))
|
||||
("linux/" "/dts/rockchip"
|
||||
#:include-regexp ("rk3588.*\\.dts$"))
|
||||
("linux/config" "config"))))
|
||||
(home-page "https://source.mnt.re/reform/reform-debian-packages")
|
||||
(synopsis
|
||||
"Linux kernel patches and device-trees used for MNT Reform systems")
|
||||
(description
|
||||
"Linux kernel patches and device-trees used for the MNT Reform systems")
|
||||
(license (list
|
||||
(license:fsf-free "file://filter-output"
|
||||
"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html")
|
||||
license:bsd-2
|
||||
license:expat
|
||||
license:gpl2
|
||||
license:gpl2+
|
||||
license:gpl3
|
||||
license:x11))))
|
||||
|
||||
(define-public reform-debian-packages-for-6.19
|
||||
(package
|
||||
(name "reform-debian-packages")
|
||||
@@ -1619,6 +1661,317 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
license:gpl3
|
||||
license:x11))))
|
||||
|
||||
(define (mnt-reform-kernel-options version)
|
||||
`(("CONFIG_DRM_LVDS_CODEC" . m)
|
||||
("CONFIG_DRM_CDNS_MHDP8546" . m)
|
||||
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
|
||||
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
|
||||
("CONFIG_DRM_IMX_DCSS" . m)
|
||||
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
|
||||
("CONFIG_DRM_PANEL_LVDS" . m)
|
||||
("CONFIG_I2C_IMX_LPI2C" . m)
|
||||
("CONFIG_I2C_MUX_REG" . m)
|
||||
("CONFIG_INTERCONNECT_IMX" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
|
||||
("CONFIG_MFD_WM8994" . m)
|
||||
("CONFIG_MUX_GPIO" . m)
|
||||
("CONFIG_MUX_MMIO" . m)
|
||||
("CONFIG_RTC_DRV_PCF8523" . m)
|
||||
("CONFIG_USB_EHCI_FSL" . m)
|
||||
("CONFIG_NO_HZ_IDLE" . #true)
|
||||
("CONFIG_SND_SOC_FSL_MICFIL" . m)
|
||||
("CONFIG_SND_IMX_SOC" . m)
|
||||
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
|
||||
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
|
||||
("CONFIG_SND_SOC_IMX_HDMI" . m)
|
||||
("CONFIG_INPUT_JOYSTICK" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD" . m)
|
||||
("CONFIG_JOYSTICK_XPAD_FF" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MP" . #true)
|
||||
("CONFIG_SND_SOC_FSL_ASRC" . #true)
|
||||
("CONFIG_DRM_IMX_LCDIF" . #true)
|
||||
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
|
||||
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
|
||||
("CONFIG_IMX8MM_THERMAL" . #true)
|
||||
("CONFIG_IMX2_WDT" . #true)
|
||||
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
|
||||
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
|
||||
("CONFIG_DRM" . #true)
|
||||
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
|
||||
("CONFIG_IMX8M_BLK_CTRL" . #true)
|
||||
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
|
||||
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
|
||||
("CONFIG_DRM_FSL_LDB" . #true)
|
||||
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
|
||||
("CONFIG_BACKLIGHT_PWM" . #true)
|
||||
("CONFIG_BACKLIGHT_GPIO" . #true)
|
||||
("CONFIG_BACKLIGHT_LED" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
|
||||
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
|
||||
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
|
||||
("CONFIG_IMX_IRQSTEER" . #true)
|
||||
("CONFIG_PCI_MESON" . #true)
|
||||
("CONFIG_DWMAC_MESON" . #true)
|
||||
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . m)
|
||||
("CONFIG_GPIO_ROCKCHIP" . #true)
|
||||
("CONFIG_PL330_DMA" . #true)
|
||||
("CONFIG_I2C_MESON" . #true)
|
||||
("CONFIG_PWM_MESON" . #true)
|
||||
("CONFIG_USB_DWC3_MESON_G12A" . #true)
|
||||
("CONFIG_MMC_MESON_GX" . #true)
|
||||
("CONFIG_MMC_MESON_MX_SDIO" . #true)
|
||||
("CONFIG_MESON_DDR_PMU" . #true)
|
||||
("CONFIG_RTW88_8822CS" . m)
|
||||
("CONFIG_PWM_FSL_FTM" . #true)
|
||||
("CONFIG_FSL_RCPM" . #true)
|
||||
("CONFIG_VIDEO_DW100" . m)
|
||||
("CONFIG_IMX_AIPSTZ" . m)
|
||||
("CONFIG_IMX_DSP" . m)
|
||||
("CONFIG_IMX_REMOTEPROC" . m)
|
||||
("CONFIG_IMX_DSP_REMOTEPROC" . m)
|
||||
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
|
||||
("CONFIG_DRM_PANTHOR" . m)
|
||||
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
|
||||
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP_SFC" . m)
|
||||
("CONFIG_ARM_SCMI_CPUFREQ" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . #true)
|
||||
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
|
||||
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_CRYPTO_USER_API_HASH" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_RNG" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
;; nftables support
|
||||
("CONFIG_NF_TABLES" . m)
|
||||
("CONFIG_NF_TABLES_INET" . #true)
|
||||
("CONFIG_NF_TABLES_NETDEV" . #true)
|
||||
("CONFIG_NF_TABLES_IPV4" . #true)
|
||||
("CONFIG_NF_TABLES_ARP" . #true)
|
||||
("CONFIG_NF_TABLES_IPV6" . #true)
|
||||
("CONFIG_NF_TABLES_BRIDGE" . m)
|
||||
("CONFIG_NFT_NUMGEN" . m)
|
||||
("CONFIG_NFT_CT" . m)
|
||||
("CONFIG_NFT_FLOW_OFFLOAD" . m)
|
||||
("CONFIG_NFT_CONNLIMIT" . m)
|
||||
("CONFIG_NFT_LOG" . m)
|
||||
("CONFIG_NFT_LIMIT" . m)
|
||||
("CONFIG_NFT_MASQ" . m)
|
||||
("CONFIG_NFT_REDIR" . m)
|
||||
("CONFIG_NFT_NAT" . m)
|
||||
("CONFIG_NFT_TUNNEL" . m)
|
||||
("CONFIG_NFT_QUEUE" . m)
|
||||
("CONFIG_NFT_QUOTA" . m)
|
||||
("CONFIG_NFT_REJECT" . m)
|
||||
("CONFIG_NFT_REJECT_INET" . m)
|
||||
("CONFIG_NFT_COMPAT" . m)
|
||||
("CONFIG_NFT_HASH" . m)
|
||||
("CONFIG_NFT_FIB" . m)
|
||||
("CONFIG_NFT_FIB_INET" . m)
|
||||
("CONFIG_NFT_XFRM" . m)
|
||||
("CONFIG_NFT_SOCKET" . m)
|
||||
("CONFIG_NFT_OSF" . m)
|
||||
("CONFIG_NFT_TPROXY" . m)
|
||||
("CONFIG_NFT_SYNPROXY" . m)
|
||||
("CONFIG_NFT_DUP_NETDEV" . m)
|
||||
("CONFIG_NFT_FWD_NETDEV" . m)
|
||||
("CONFIG_NFT_FIB_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_IPV4" . m)
|
||||
("CONFIG_NFT_DUP_IPV4" . m)
|
||||
("CONFIG_NFT_FIB_IPV4" . m)
|
||||
("CONFIG_NFT_COMPAT_ARP" . m)
|
||||
("CONFIG_NFT_REJECT_IPV6" . m)
|
||||
("CONFIG_NFT_DUP_IPV6" . m)
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
("CONFIG_USB_WDM" . m)
|
||||
("CONFIG_USB_GADGET" . m)
|
||||
("CONFIG_USB_ETH" . m)
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m)
|
||||
,@(if (version>=? version "6.18")
|
||||
'(("CONFIG_ROCKCHIP_DW_MIPI_DSI2" . #true))
|
||||
;; 6.12 or older gets this instead:
|
||||
'(("CONFIG_ROCKCHIP_INNO_HDMI" . #true)
|
||||
("CONFIG_ROCKCHIP_LVDS" . #true)
|
||||
("CONFIG_ROCKCHIP_DW_MIPI_DSI" . #true)))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-7.0
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
(let ((base (make-linux-libre* linux-libre-7.0-version
|
||||
linux-libre-7.0-gnu-revision
|
||||
linux-libre-7.0-source
|
||||
'("aarch64-linux")
|
||||
#:extra-version "arm64-mnt-reform"
|
||||
#:extra-options
|
||||
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
|
||||
(append (mnt-reform-kernel-options
|
||||
linux-libre-7.0-version)
|
||||
(default-extra-linux-options
|
||||
linux-libre-7.0-version)))))
|
||||
(package
|
||||
(inherit base)
|
||||
(inputs (list reform-debian-packages-for-7.0))
|
||||
(synopsis (string-append (package-synopsis base)
|
||||
" for MNT/Reform systems"))
|
||||
(description (string-append (package-description base)
|
||||
" Configuration options and patches have been applied for use with MNT/Reform systems."))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'apply-reform-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each (lambda (patch)
|
||||
(invoke "patch" "-p1" "-i"
|
||||
(search-input-file inputs
|
||||
(string-append
|
||||
"patches7.0/" patch))))
|
||||
(list
|
||||
"imx8mp-mnt-pocket-reform/2ghz/0001-imx8mp-2ghz-clk.patch"
|
||||
"imx8mp-mnt-pocket-reform/2ghz/0002-imx8mp-2ghz-opp.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0001-sdhci-add-no-sd-uhs-sdr104-devicetree-property.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0002-During-the-card-init-the-host-side-sometimes-may-nee.patch"
|
||||
"imx8mp-mnt-pocket-reform/mmc-sdio/0003-USDHC-IP-has-one-limitation-the-tuning-circuit-can-t.patch"
|
||||
"imx8mp-mnt-pocket-reform/pocket-panel/0001-v5-add-multi-display-panel-driver.patch"
|
||||
"imx8mp-mnt-pocket-reform/pocket-panel/0002-pocket-panel-fix-sleep-add-orientation.patch"
|
||||
"imx8mp-mnt-reform2/0001-sn65dsi86-use-hs-clock-of-samsung-dsim-host-directly.patch"
|
||||
"imx8mp-mnt-reform2/0002-lcdif-dont-exceed-desired-pixel-clock.patch"
|
||||
"imx8mq-mnt-reform2/0001-imx8mq-mnt-reform2.dts-multiple-fixes-for-display-wi.patch"
|
||||
"imx8mq-mnt-reform2/0001-nwl-dsi-fixup-mode-only-for-LCDIF-input-not-DCSS.patch"
|
||||
"imx8mq-mnt-reform2/0002-Revert-drm-bridge-nwl-dsi-Use-vsync-hsync-polarity-f.patch"
|
||||
"imx8mq-mnt-reform2/0003-lcdif-fix-pcie-interference.patch"
|
||||
"imx8mq-mnt-reform2/0004-mnt4002-imx-gpcv2-wake-smccc.patch.patch"
|
||||
"imx8mq-mnt-reform2/0005-pci-imx6-add-support-for-internal-refclk-imx8mq.patch"
|
||||
"imx8mq-mnt-reform2/0006-imx8mq-import-HDMI-driver-and-make-DCSS-compatible-w.patch"
|
||||
"ls1028a-mnt-reform2/0000-dtsi-add-hdptx.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0001-a311d-viu-fifo-lines-config.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0002-a311d-viu-fifo-lines-config-header.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-pocket-reform/0003-tlv320aic31xx-add-1228800hz-support.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0001-Revert-drm-bridge-synopsys-dw-mipi-dsi-enable-EoTp-b.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0001-meson-g12b-bananapi-cm4-mnt-reform2.dts-fix-audio-an.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0011-dw-mipi-dsi-phy-stop-wait-time.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0012-innolux-n125hce-gn1-timing-tweaks.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0013-meson-viu-hold-fifo-lines.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0014-meson-venc-sync.patch.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0015-meson-dw-mipi-dsi-sync-invert.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0016-sn65dsi86-burst-mode-support.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0018-sn65dsi86-never-turn-off.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0020-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0021-HACK-of-partial-revert-of-fdt.c-changes.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0022-add-bt-and-eth-resets.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0023-sdio-pullups.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0024-sdio-improve-wifi-speed.patch"
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2/0030-WORKAROUND-meson-plane-disable-afbc-32x8.patch"
|
||||
"rk3588-mnt-reform2/0024-math.h-add-DIV_ROUND_UP_NO_OVERFLOW.patch"
|
||||
"rk3588-mnt-reform2/0025-clk-divider-Fix-divisor-masking-on-64-bit-platforms.patch"
|
||||
"rk3588-mnt-reform2/0026-clk-composite-replace-open-coded-abs_diff.patch"
|
||||
"rk3588-mnt-reform2/0029-PCI-dw-rockchip-Restore-vpcie3v3-regulator-handle.patch"
|
||||
"rk3588-mnt-reform2/0030-mfd-rk8xx-Fix-shutdown-handler.patch"
|
||||
"rk3588-mnt-reform2/0031-dt-bindings-display-vop2-Add-VP-clock-resets.patch"
|
||||
"rk3588-mnt-reform2/0032-drm-rockchip-vop2-Add-clock-resets-support.patch"
|
||||
"rk3588-mnt-reform2/0033-arm64-dts-rockchip-Add-VOP-clock-resets-for-rk3588s.patch"
|
||||
"rk3588-mnt-reform2/0035-drm-rockchip-vop2-Add-core-reset-support.patch"
|
||||
"rk3588-mnt-reform2/0062-PCI-dw-rockchip-Move-devm_phy_get-out-of-phy_init.patch"
|
||||
"rk3588-mnt-reform2/0063-PCI-dw-rockchip-Add-helper-function-for-enhanced-LTS.patch"
|
||||
"rk3588-mnt-reform2/0064-PCI-dw-rockchip-Add-helper-function-for-controller-m.patch"
|
||||
"rk3588-mnt-reform2/0065-PCI-dw-rockchip-Add-helper-function-for-DDL-indicato.patch"
|
||||
"rk3588-mnt-reform2/0066-PCI-dw-rockchip-Add-pme_turn_off-support.patch"
|
||||
"rk3588-mnt-reform2/0067-PCI-dw-rockchip-Add-system-PM-support.patch"
|
||||
"rk3588-mnt-reform2/0078-PCI-dw-rockchip-Fix-LTSSM-set-functions.patch"
|
||||
"rk3588-mnt-reform2/0079-RFC-PCI-dw-rockchip-port-some-suspend-code-from-vend.patch"
|
||||
"rk3588-mnt-reform2/0089-DEBUG-phy-rockchip-samsung-hdptx-Add-verbose-logging.patch"
|
||||
"rk3588-mnt-reform2/0092-drm-rockchip-dw_hdmi_qp-Do-not-send-HPD-events-for-a.patch"
|
||||
"rk3588-mnt-reform2/0093-drm-Add-CRTC-background-color-property.patch"
|
||||
"rk3588-mnt-reform2/0094-drm-rockchip-vop2-Support-setting-custom-background-.patch"
|
||||
"rk3588-mnt-reform2/0095-drm-bridge-Add-detect_ctx-hook-and-drm_bridge_detect.patch"
|
||||
"rk3588-mnt-reform2/0096-drm-bridge-connector-Switch-to-using-detect_ctx-hook.patch"
|
||||
"rk3588-mnt-reform2/0097-drm-bridge-dw-hdmi-qp-Add-high-TMDS-clock-ratio-and-.patch"
|
||||
"rk3588-mnt-reform2/0098-WIP-YUV420-drm-rockchip-vop2-Add-YUV420-output-forma.patch"
|
||||
"rk3588-mnt-reform2/0099-WIP-YUV420-drm-rockchip-dw_hdmi_qp-Add-YUV420-output.patch"
|
||||
"rk3588-mnt-reform2/0103-WIP-FRL-arm64-dts-rockchip-Assign-ACLK_VOP-to-750-MH.patch"
|
||||
"rk3588-mnt-reform2/0104-WIP-FRL-drm-connector-hdmi-Handle-FRL-in-hdmi_clock_.patch"
|
||||
"rk3588-mnt-reform2/0105-WIP-FRL-drm-bridge-dw-hdmi-qp-Add-HDMI-2.1-FRL-suppo.patch"
|
||||
"rk3588-mnt-reform2/0106-WIP-FRL-drm-rockchip-dw_hdmi_qp-Add-HDMI-2.1-FRL-sup.patch"
|
||||
"rk3588-mnt-reform2/0107-WIP-FRL-drm-rockchip-vop2-Add-HDMI-2.1-FRL-support.patch"
|
||||
"rk3588-mnt-reform2/0108-dt-bindings-phy-rockchip-usbdp-add-improved-ports-sc.patch"
|
||||
"rk3588-mnt-reform2/2001-drm-bridge-dw-hdmi-qp-Return-0-in-audio-prepare-when.patch"
|
||||
"rk3588-mnt-reform2/2003-drm-bridge-synopsys-Do-not-warn-about-audio-params-c.patch"
|
||||
"rk3588-mnt-reform2/5200-drm-rockchip-Set-dma-mask-to-64-bit.patch"))))
|
||||
(add-after 'apply-reform-patches 'copy-reform-dts-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each (lambda (dts)
|
||||
(copy-file (search-input-file inputs
|
||||
(string-append
|
||||
"/dts/" dts))
|
||||
(string-append "arch/arm64/boot/dts/"
|
||||
dts)))
|
||||
(list
|
||||
"amlogic/meson-g12b-bananapi-cm4-mnt-pocket-reform.dts"
|
||||
"freescale/fsl-ls1028a-mnt-reform2.dts"
|
||||
"freescale/imx8mp-mnt-pocket-reform.dts"
|
||||
"freescale/imx8mp-mnt-reform2.dts"
|
||||
"freescale/imx8mq-mnt-reform2-hdmi.dts"
|
||||
"rockchip/rk3588-mnt-desktop-reform.dts"
|
||||
"rockchip/rk3588-mnt-pocket-reform.dts"
|
||||
"rockchip/rk3588-mnt-reform-next.dts"
|
||||
"rockchip/rk3588-mnt-reform2.dts"
|
||||
"rockchip/rk3588-mnt-reform2-dsi.dts"
|
||||
))))
|
||||
(add-after 'apply-reform-patches 'adjust-makefiles-with-new-dtb
|
||||
(lambda _
|
||||
(substitute* "arch/arm64/boot/dts/amlogic/Makefile"
|
||||
(("meson-g12b-bananapi-cm4-mnt-reform2.dtb")
|
||||
"meson-g12b-bananapi-cm4-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MESON) += meson-g12b-bananapi-cm4-mnt-pocket-reform.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
|
||||
(("fsl-ls1028a-rdb.dtb")
|
||||
"fsl-ls1028a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-mnt-reform2.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/freescale/Makefile"
|
||||
(("imx8mq-mnt-reform2.dtb")
|
||||
"imx8mq-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-mnt-pocket-reform.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2-hdmi.dtb"))
|
||||
(substitute* "arch/arm64/boot/dts/rockchip/Makefile"
|
||||
(("rk3588-mnt-reform2.dtb")
|
||||
"rk3588-mnt-reform2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-desktop-reform.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.19
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -1629,163 +1982,8 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
#:extra-version "arm64-mnt-reform"
|
||||
#:extra-options
|
||||
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
|
||||
(append `(("CONFIG_DRM_LVDS_CODEC" . m)
|
||||
("CONFIG_DRM_CDNS_MHDP8546" . m)
|
||||
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
|
||||
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
|
||||
("CONFIG_DRM_IMX_DCSS" . m)
|
||||
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
|
||||
("CONFIG_DRM_PANEL_LVDS" . m)
|
||||
("CONFIG_I2C_IMX_LPI2C" . m)
|
||||
("CONFIG_I2C_MUX_REG" . m)
|
||||
("CONFIG_INTERCONNECT_IMX" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
|
||||
("CONFIG_MFD_WM8994" . m)
|
||||
("CONFIG_MUX_GPIO" . m)
|
||||
("CONFIG_MUX_MMIO" . m)
|
||||
("CONFIG_RTC_DRV_PCF8523" . m)
|
||||
("CONFIG_USB_EHCI_FSL" . m)
|
||||
("CONFIG_NO_HZ_IDLE" . #true)
|
||||
("CONFIG_SND_SOC_FSL_MICFIL" . m)
|
||||
("CONFIG_SND_IMX_SOC" . m)
|
||||
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
|
||||
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
|
||||
("CONFIG_SND_SOC_IMX_HDMI" . m)
|
||||
("CONFIG_INPUT_JOYSTICK" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD" . m)
|
||||
("CONFIG_JOYSTICK_XPAD_FF" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MP" . #true)
|
||||
("CONFIG_SND_SOC_FSL_ASRC" . #true)
|
||||
("CONFIG_DRM_IMX_LCDIF" . #true)
|
||||
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
|
||||
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
|
||||
("CONFIG_IMX8MM_THERMAL" . #true)
|
||||
("CONFIG_IMX2_WDT" . #true)
|
||||
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
|
||||
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
|
||||
("CONFIG_DRM" . #true)
|
||||
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
|
||||
("CONFIG_IMX8M_BLK_CTRL" . #true)
|
||||
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
|
||||
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
|
||||
("CONFIG_DRM_FSL_LDB" . #true)
|
||||
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
|
||||
("CONFIG_BACKLIGHT_PWM" . #true)
|
||||
("CONFIG_BACKLIGHT_GPIO" . #true)
|
||||
("CONFIG_BACKLIGHT_LED" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
|
||||
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
|
||||
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
|
||||
("CONFIG_IMX_IRQSTEER" . #true)
|
||||
("CONFIG_PCI_MESON" . #true)
|
||||
("CONFIG_DWMAC_MESON" . #true)
|
||||
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . m)
|
||||
("CONFIG_GPIO_ROCKCHIP" . #true)
|
||||
("CONFIG_PL330_DMA" . #true)
|
||||
("CONFIG_I2C_MESON" . #true)
|
||||
("CONFIG_PWM_MESON" . #true)
|
||||
("CONFIG_USB_DWC3_MESON_G12A" . #true)
|
||||
("CONFIG_MMC_MESON_GX" . #true)
|
||||
("CONFIG_MMC_MESON_MX_SDIO" . #true)
|
||||
("CONFIG_MESON_DDR_PMU" . #true)
|
||||
("CONFIG_RTW88_8822CS" . m)
|
||||
("CONFIG_PWM_FSL_FTM" . #true)
|
||||
("CONFIG_FSL_RCPM" . #true)
|
||||
("CONFIG_VIDEO_DW100" . m)
|
||||
("CONFIG_IMX_AIPSTZ" . m)
|
||||
("CONFIG_IMX_DSP" . m)
|
||||
("CONFIG_IMX_REMOTEPROC" . m)
|
||||
("CONFIG_IMX_DSP_REMOTEPROC" . m)
|
||||
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
|
||||
("CONFIG_DRM_PANTHOR" . m)
|
||||
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
|
||||
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP_SFC" . m)
|
||||
("CONFIG_ARM_SCMI_CPUFREQ" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . #true)
|
||||
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
|
||||
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
|
||||
("CONFIG_ROCKCHIP_DW_MIPI_DSI2" . #true)
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_CRYPTO_USER_API_HASH" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_RNG" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
;; nftables support
|
||||
("CONFIG_NF_TABLES" . m)
|
||||
("CONFIG_NF_TABLES_INET" . #true)
|
||||
("CONFIG_NF_TABLES_NETDEV" . #true)
|
||||
("CONFIG_NF_TABLES_IPV4" . #true)
|
||||
("CONFIG_NF_TABLES_ARP" . #true)
|
||||
("CONFIG_NF_TABLES_IPV6" . #true)
|
||||
("CONFIG_NF_TABLES_BRIDGE" . m)
|
||||
("CONFIG_NFT_NUMGEN" . m)
|
||||
("CONFIG_NFT_CT" . m)
|
||||
("CONFIG_NFT_FLOW_OFFLOAD" . m)
|
||||
("CONFIG_NFT_CONNLIMIT" . m)
|
||||
("CONFIG_NFT_LOG" . m)
|
||||
("CONFIG_NFT_LIMIT" . m)
|
||||
("CONFIG_NFT_MASQ" . m)
|
||||
("CONFIG_NFT_REDIR" . m)
|
||||
("CONFIG_NFT_NAT" . m)
|
||||
("CONFIG_NFT_TUNNEL" . m)
|
||||
("CONFIG_NFT_QUEUE" . m)
|
||||
("CONFIG_NFT_QUOTA" . m)
|
||||
("CONFIG_NFT_REJECT" . m)
|
||||
("CONFIG_NFT_REJECT_INET" . m)
|
||||
("CONFIG_NFT_COMPAT" . m)
|
||||
("CONFIG_NFT_HASH" . m)
|
||||
("CONFIG_NFT_FIB" . m)
|
||||
("CONFIG_NFT_FIB_INET" . m)
|
||||
("CONFIG_NFT_XFRM" . m)
|
||||
("CONFIG_NFT_SOCKET" . m)
|
||||
("CONFIG_NFT_OSF" . m)
|
||||
("CONFIG_NFT_TPROXY" . m)
|
||||
("CONFIG_NFT_SYNPROXY" . m)
|
||||
("CONFIG_NFT_DUP_NETDEV" . m)
|
||||
("CONFIG_NFT_FWD_NETDEV" . m)
|
||||
("CONFIG_NFT_FIB_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_IPV4" . m)
|
||||
("CONFIG_NFT_DUP_IPV4" . m)
|
||||
("CONFIG_NFT_FIB_IPV4" . m)
|
||||
("CONFIG_NFT_COMPAT_ARP" . m)
|
||||
("CONFIG_NFT_REJECT_IPV6" . m)
|
||||
("CONFIG_NFT_DUP_IPV6" . m)
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
("CONFIG_USB_WDM" . m)
|
||||
("CONFIG_USB_GADGET" . m)
|
||||
("CONFIG_USB_ETH" . m)
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
(append (mnt-reform-kernel-options
|
||||
linux-libre-6.19-version)
|
||||
(default-extra-linux-options
|
||||
linux-libre-6.19-version)))))
|
||||
(package
|
||||
@@ -1946,158 +2144,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
#:extra-version "arm64-mnt-reform"
|
||||
#:extra-options
|
||||
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
|
||||
(append `(("CONFIG_DRM_LVDS_CODEC" . m)
|
||||
("CONFIG_DRM_CDNS_MHDP8546" . m)
|
||||
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
|
||||
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
|
||||
("CONFIG_DRM_IMX_DCSS" . m)
|
||||
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
|
||||
("CONFIG_DRM_PANEL_LVDS" . m)
|
||||
("CONFIG_I2C_IMX_LPI2C" . m)
|
||||
("CONFIG_I2C_MUX_REG" . m)
|
||||
("CONFIG_INTERCONNECT_IMX" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
|
||||
("CONFIG_MFD_WM8994" . m)
|
||||
("CONFIG_MUX_GPIO" . m)
|
||||
("CONFIG_MUX_MMIO" . m)
|
||||
("CONFIG_RTC_DRV_PCF8523" . m)
|
||||
("CONFIG_USB_EHCI_FSL" . m)
|
||||
("CONFIG_NO_HZ_IDLE" . #true)
|
||||
("CONFIG_SND_SOC_FSL_MICFIL" . m)
|
||||
("CONFIG_SND_IMX_SOC" . m)
|
||||
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
|
||||
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
|
||||
("CONFIG_SND_SOC_IMX_HDMI" . m)
|
||||
("CONFIG_INPUT_JOYSTICK" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD" . m)
|
||||
("CONFIG_JOYSTICK_XPAD_FF" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MP" . #true)
|
||||
("CONFIG_SND_SOC_FSL_ASRC" . #true)
|
||||
("CONFIG_DRM_IMX_LCDIF" . #true)
|
||||
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
|
||||
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
|
||||
("CONFIG_IMX8MM_THERMAL" . #true)
|
||||
("CONFIG_IMX2_WDT" . #true)
|
||||
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
|
||||
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
|
||||
("CONFIG_DRM" . #true)
|
||||
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
|
||||
("CONFIG_IMX8M_BLK_CTRL" . #true)
|
||||
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
|
||||
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
|
||||
("CONFIG_DRM_FSL_LDB" . #true)
|
||||
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
|
||||
("CONFIG_BACKLIGHT_PWM" . #true)
|
||||
("CONFIG_BACKLIGHT_GPIO" . #true)
|
||||
("CONFIG_BACKLIGHT_LED" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
|
||||
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
|
||||
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
|
||||
("CONFIG_IMX_IRQSTEER" . #true)
|
||||
("CONFIG_PCI_MESON" . #true)
|
||||
("CONFIG_DWMAC_MESON" . #true)
|
||||
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . #true)
|
||||
("CONFIG_GPIO_ROCKCHIP" . #true)
|
||||
("CONFIG_PL330_DMA" . #true)
|
||||
("CONFIG_I2C_MESON" . #true)
|
||||
("CONFIG_PWM_MESON" . #true)
|
||||
("CONFIG_USB_DWC3_MESON_G12A" . #true)
|
||||
("CONFIG_MMC_MESON_GX" . #true)
|
||||
("CONFIG_MMC_MESON_MX_SDIO" . #true)
|
||||
("CONFIG_MESON_DDR_PMU" . #true)
|
||||
("CONFIG_RTW88_8822CS" . m)
|
||||
("CONFIG_PWM_FSL_FTM" . #true)
|
||||
("CONFIG_FSL_RCPM" . #true)
|
||||
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
|
||||
("CONFIG_DRM_PANTHOR" . m)
|
||||
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
|
||||
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP_SFC" . m)
|
||||
("CONFIG_ARM_SCMI_CPUFREQ" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . #true)
|
||||
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
|
||||
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
|
||||
("CONFIG_ROCKCHIP_DW_MIPI_DSI2" . #true)
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_CRYPTO_USER_API_HASH" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_RNG" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
;; nftables support
|
||||
("CONFIG_NF_TABLES" . m)
|
||||
("CONFIG_NF_TABLES_INET" . #true)
|
||||
("CONFIG_NF_TABLES_NETDEV" . #true)
|
||||
("CONFIG_NF_TABLES_IPV4" . #true)
|
||||
("CONFIG_NF_TABLES_ARP" . #true)
|
||||
("CONFIG_NF_TABLES_IPV6" . #true)
|
||||
("CONFIG_NF_TABLES_BRIDGE" . m)
|
||||
("CONFIG_NFT_NUMGEN" . m)
|
||||
("CONFIG_NFT_CT" . m)
|
||||
("CONFIG_NFT_FLOW_OFFLOAD" . m)
|
||||
("CONFIG_NFT_CONNLIMIT" . m)
|
||||
("CONFIG_NFT_LOG" . m)
|
||||
("CONFIG_NFT_LIMIT" . m)
|
||||
("CONFIG_NFT_MASQ" . m)
|
||||
("CONFIG_NFT_REDIR" . m)
|
||||
("CONFIG_NFT_NAT" . m)
|
||||
("CONFIG_NFT_TUNNEL" . m)
|
||||
("CONFIG_NFT_QUEUE" . m)
|
||||
("CONFIG_NFT_QUOTA" . m)
|
||||
("CONFIG_NFT_REJECT" . m)
|
||||
("CONFIG_NFT_REJECT_INET" . m)
|
||||
("CONFIG_NFT_COMPAT" . m)
|
||||
("CONFIG_NFT_HASH" . m)
|
||||
("CONFIG_NFT_FIB" . m)
|
||||
("CONFIG_NFT_FIB_INET" . m)
|
||||
("CONFIG_NFT_XFRM" . m)
|
||||
("CONFIG_NFT_SOCKET" . m)
|
||||
("CONFIG_NFT_OSF" . m)
|
||||
("CONFIG_NFT_TPROXY" . m)
|
||||
("CONFIG_NFT_SYNPROXY" . m)
|
||||
("CONFIG_NFT_DUP_NETDEV" . m)
|
||||
("CONFIG_NFT_FWD_NETDEV" . m)
|
||||
("CONFIG_NFT_FIB_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_IPV4" . m)
|
||||
("CONFIG_NFT_DUP_IPV4" . m)
|
||||
("CONFIG_NFT_FIB_IPV4" . m)
|
||||
("CONFIG_NFT_COMPAT_ARP" . m)
|
||||
("CONFIG_NFT_REJECT_IPV6" . m)
|
||||
("CONFIG_NFT_DUP_IPV6" . m)
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
("CONFIG_USB_WDM" . m)
|
||||
("CONFIG_USB_GADGET" . m)
|
||||
("CONFIG_USB_ETH" . m)
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
(append (mnt-reform-kernel-options
|
||||
linux-libre-6.18-version)
|
||||
(default-extra-linux-options
|
||||
linux-libre-6.18-version)))))
|
||||
(package
|
||||
@@ -2279,158 +2327,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
#:extra-version "arm64-mnt-reform"
|
||||
#:extra-options
|
||||
;; https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config
|
||||
(append `(("CONFIG_DRM_LVDS_CODEC" . m)
|
||||
("CONFIG_DRM_CDNS_MHDP8546" . m)
|
||||
("CONFIG_DRM_CDNS_HDMI_CEC" . m)
|
||||
("CONFIG_DRM_IMX_CDNS_MHDP" . m)
|
||||
("CONFIG_DRM_IMX_DCSS" . m)
|
||||
("CONFIG_PHY_FSL_IMX8MQ_HDPTX" . m)
|
||||
("CONFIG_DRM_PANEL_LVDS" . m)
|
||||
("CONFIG_I2C_IMX_LPI2C" . m)
|
||||
("CONFIG_I2C_MUX_REG" . m)
|
||||
("CONFIG_INTERCONNECT_IMX" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MQ" . #true)
|
||||
("CONFIG_MFD_WM8994" . m)
|
||||
("CONFIG_MUX_GPIO" . m)
|
||||
("CONFIG_MUX_MMIO" . m)
|
||||
("CONFIG_RTC_DRV_PCF8523" . m)
|
||||
("CONFIG_USB_EHCI_FSL" . m)
|
||||
("CONFIG_NO_HZ_IDLE" . #true)
|
||||
("CONFIG_SND_SOC_FSL_MICFIL" . m)
|
||||
("CONFIG_SND_IMX_SOC" . m)
|
||||
("CONFIG_SND_SOC_FSL_ASOC_CARD" . m)
|
||||
("CONFIG_SND_SOC_IMX_AUDMIX" . m)
|
||||
("CONFIG_SND_SOC_IMX_HDMI" . m)
|
||||
("CONFIG_INPUT_JOYSTICK" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD" . m)
|
||||
("CONFIG_JOYSTICK_XPAD_FF" . #true)
|
||||
("CONFIG_JOYSTICK_XPAD_LEDS" . #true)
|
||||
("CONFIG_INTERCONNECT_IMX8MP" . #true)
|
||||
("CONFIG_SND_SOC_FSL_ASRC" . #true)
|
||||
("CONFIG_DRM_IMX_LCDIF" . #true)
|
||||
("CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE" . #true)
|
||||
("CONFIG_DRM_IMX8MP_HDMI_PVI" . #true)
|
||||
("CONFIG_IMX8MM_THERMAL" . #true)
|
||||
("CONFIG_IMX2_WDT" . #true)
|
||||
("CONFIG_DRM_SAMSUNG_DSIM" . #true)
|
||||
("CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY" . #true)
|
||||
("CONFIG_DRM" . #true)
|
||||
("CONFIG_DRM_PANEL_MNT_POCKET_REFORM" . #true)
|
||||
("CONFIG_IMX8M_BLK_CTRL" . #true)
|
||||
("CONFIG_IMX_GPCV2_PM_DOMAINS" . #true)
|
||||
("CONFIG_DRM_DISPLAY_CONNECTOR" . #true)
|
||||
("CONFIG_DRM_FSL_LDB" . #true)
|
||||
("CONFIG_BACKLIGHT_CLASS_DEVICE" . #true)
|
||||
("CONFIG_BACKLIGHT_PWM" . #true)
|
||||
("CONFIG_BACKLIGHT_GPIO" . #true)
|
||||
("CONFIG_BACKLIGHT_LED" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_PERFORMANCE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_POWERSAVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_USERSPACE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_ONDEMAND" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_CONSERVATIVE" . #true)
|
||||
("CONFIG_CPU_FREQ_GOV_SCHEDUTIL" . #true)
|
||||
("CONFIG_ARM_IMX_CPUFREQ_DT" . #true)
|
||||
("CONFIG_ARM_IMX_BUS_DEVFREQ" . #true)
|
||||
("CONFIG_IMX_IRQSTEER" . #true)
|
||||
("CONFIG_PCI_MESON" . #true)
|
||||
("CONFIG_DWMAC_MESON" . #true)
|
||||
("CONFIG_MDIO_BUS_MUX_MESON_G12A" . #true)
|
||||
("CONFIG_I2C_MESON" . #true)
|
||||
("CONFIG_PWM_MESON" . #true)
|
||||
("CONFIG_USB_DWC3_MESON_G12A" . #true)
|
||||
("CONFIG_MMC_MESON_GX" . #true)
|
||||
("CONFIG_MMC_MESON_MX_SDIO" . #true)
|
||||
("CONFIG_MESON_DDR_PMU" . #true)
|
||||
("CONFIG_RTW88_8822CS" . m)
|
||||
("CONFIG_PWM_FSL_FTM" . #true)
|
||||
("CONFIG_FSL_RCPM" . #true)
|
||||
("CONFIG_ARM_ROCKCHIP_CPUFREQ" . m)
|
||||
("CONFIG_DRM_PANTHOR" . m)
|
||||
("CONFIG_NVMEM_ROCKCHIP_OTP" . #true)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_USBDP" . m)
|
||||
("CONFIG_ROCKCHIP_INNO_HDMI" . #true)
|
||||
("CONFIG_ROCKCHIP_LVDS" . #true)
|
||||
("CONFIG_ROCKCHIP_REGULATOR_COUPLER" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP" . #true)
|
||||
("CONFIG_SPI_ROCKCHIP_SFC" . m)
|
||||
("CONFIG_ARM_SCMI_CPUFREQ" . m)
|
||||
("CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY" . m)
|
||||
("CONFIG_VIDEO_ROCKCHIP_VDEC2" . m)
|
||||
("CONFIG_ROCKCHIP_DW_HDMI_QP" . #true)
|
||||
("CONFIG_ROCKCHIP_DW_MIPI_DSI" . #true)
|
||||
;; Fixes https://codeberg.org/guix/guix/issues/101
|
||||
("CONFIG_CRYPTO_USER_API_HASH" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_SKCIPHER" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_RNG" . #true)
|
||||
("CONFIG_CRYPTO_USER_API_AEAD" . #true)
|
||||
("CONFIG_KEY_DH_OPERATIONS" . #true)
|
||||
;; nftables support
|
||||
("CONFIG_NF_TABLES" . m)
|
||||
("CONFIG_NF_TABLES_INET" . #true)
|
||||
("CONFIG_NF_TABLES_NETDEV" . #true)
|
||||
("CONFIG_NF_TABLES_IPV4" . #true)
|
||||
("CONFIG_NF_TABLES_ARP" . #true)
|
||||
("CONFIG_NF_TABLES_IPV6" . #true)
|
||||
("CONFIG_NF_TABLES_BRIDGE" . m)
|
||||
("CONFIG_NFT_NUMGEN" . m)
|
||||
("CONFIG_NFT_CT" . m)
|
||||
("CONFIG_NFT_FLOW_OFFLOAD" . m)
|
||||
("CONFIG_NFT_CONNLIMIT" . m)
|
||||
("CONFIG_NFT_LOG" . m)
|
||||
("CONFIG_NFT_LIMIT" . m)
|
||||
("CONFIG_NFT_MASQ" . m)
|
||||
("CONFIG_NFT_REDIR" . m)
|
||||
("CONFIG_NFT_NAT" . m)
|
||||
("CONFIG_NFT_TUNNEL" . m)
|
||||
("CONFIG_NFT_QUEUE" . m)
|
||||
("CONFIG_NFT_QUOTA" . m)
|
||||
("CONFIG_NFT_REJECT" . m)
|
||||
("CONFIG_NFT_REJECT_INET" . m)
|
||||
("CONFIG_NFT_COMPAT" . m)
|
||||
("CONFIG_NFT_HASH" . m)
|
||||
("CONFIG_NFT_FIB" . m)
|
||||
("CONFIG_NFT_FIB_INET" . m)
|
||||
("CONFIG_NFT_XFRM" . m)
|
||||
("CONFIG_NFT_SOCKET" . m)
|
||||
("CONFIG_NFT_OSF" . m)
|
||||
("CONFIG_NFT_TPROXY" . m)
|
||||
("CONFIG_NFT_SYNPROXY" . m)
|
||||
("CONFIG_NFT_DUP_NETDEV" . m)
|
||||
("CONFIG_NFT_FWD_NETDEV" . m)
|
||||
("CONFIG_NFT_FIB_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_NETDEV" . m)
|
||||
("CONFIG_NFT_REJECT_IPV4" . m)
|
||||
("CONFIG_NFT_DUP_IPV4" . m)
|
||||
("CONFIG_NFT_FIB_IPV4" . m)
|
||||
("CONFIG_NFT_COMPAT_ARP" . m)
|
||||
("CONFIG_NFT_REJECT_IPV6" . m)
|
||||
("CONFIG_NFT_DUP_IPV6" . m)
|
||||
("CONFIG_NFT_FIB_IPV6" . m)
|
||||
("CONFIG_NFT_BRIDGE_META" . m)
|
||||
("CONFIG_NFT_BRIDGE_REJECT" . m)
|
||||
;; Provides support for FBCON options
|
||||
("CONFIG_FRAMEBUFFER_CONSOLE_ROTATION" . #true)
|
||||
("CONFIG_HIDRAW" . #true)
|
||||
("CONFIG_FONT_SUPPORT" . #true)
|
||||
("CONFIG_FONTS" . #true)
|
||||
("CONFIG_FONT_8x8" . #true)
|
||||
("CONFIG_FONT_8x16" . #true)
|
||||
("CONFIG_FONT_TER10x18" . #true)
|
||||
("CONFIG_FONT_TER16x32" . #true)
|
||||
;; Provide support for USB tethering
|
||||
("CONFIG_USB_NET_CDC_EEM" . m)
|
||||
("CONFIG_USB_NET_RNDIS_HOST" . m)
|
||||
("CONFIG_USB_WDM" . m)
|
||||
("CONFIG_USB_GADGET" . m)
|
||||
("CONFIG_USB_ETH" . m)
|
||||
("CONFIG_USB_ETH_RNDIS" . m)
|
||||
("CONFIG_USB_ETH_EEM" . m)
|
||||
("CONFIG_USB_G_NCM" . m)
|
||||
;; Provide support for ath9k wireless
|
||||
("CONFIG_ATH9K" . m)
|
||||
("CONFIG_ATH9K_HTC" . m))
|
||||
(append (mnt-reform-kernel-options
|
||||
linux-libre-6.12-version)
|
||||
(default-extra-linux-options
|
||||
linux-libre-6.12-version)))))
|
||||
(package
|
||||
@@ -2805,7 +2703,7 @@ This package provides the @command{corefreqd} data collection daemon, the
|
||||
(define-public tuxedo-keyboard
|
||||
(package
|
||||
(name "tuxedo-keyboard")
|
||||
(version "4.15.4")
|
||||
(version "4.22.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2814,7 +2712,7 @@ This package provides the @command{corefreqd} data collection daemon, the
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mimgcbp57gp3smd439g8040sl80qqnfzmh2vhs2qv1kwyxs75sq"))))
|
||||
(base32 "0akjyz8nhhpcr4y4xmhghd4253mndzhhi5qggr2z315vpxfr7rl4"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; no test suite
|
||||
@@ -10460,7 +10358,6 @@ known as Slingshot.")
|
||||
(cons package extra)
|
||||
'()))))
|
||||
(append (list rdma-core libnl)
|
||||
(if-supported rocr-runtime)
|
||||
(if-supported psm)
|
||||
(if-supported psm2)
|
||||
(if-supported libcxi curl json-c))))
|
||||
@@ -10504,6 +10401,15 @@ applications deal with directly. It works in conjunction with provider
|
||||
libraries, which are often integrated directly into libfabric.")
|
||||
(license (list license:bsd-2 license:gpl2)))) ;dual
|
||||
|
||||
;; Note: ROCm support is kept separate to avoid a significant increase in
|
||||
;; closure size: <https://codeberg.org/guix/guix/issues/7225>.
|
||||
(define-public libfabric-rocm
|
||||
(package/inherit libfabric
|
||||
(name "libfabric-rocm")
|
||||
(inputs (modify-inputs inputs
|
||||
(append rocr-runtime)))
|
||||
(synopsis "Open Fabric Interfaces (with ROCm support)")))
|
||||
|
||||
(define-public libfabric-1 ;needed by Open MPI 4.x
|
||||
(package
|
||||
(inherit libfabric)
|
||||
|
||||
@@ -29424,7 +29424,7 @@ running into parallelism problems when having to change directory.")
|
||||
(define-public sbcl-simple-matrix
|
||||
(package
|
||||
(name "sbcl-simple-matrix")
|
||||
(version "3.15")
|
||||
(version "3.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -29433,7 +29433,7 @@ running into parallelism problems when having to change directory.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-simple-matrix" version))
|
||||
(sha256
|
||||
(base32 "1lpmqp1mcnzkpxi0zfsd4n85c6gr6d01hlf8yka8068kyypbhkvg"))))
|
||||
(base32 "1yfh40kvpgjaq0vlm5lqnfpll9swl7gzcxnd0qlk6hshhqyc373q"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs (list sbcl-fiveam))
|
||||
(synopsis "Matrix library for Common Lisp")
|
||||
@@ -32061,6 +32061,14 @@ a simple-array ensuring that the resulting array is still a simple-array.")
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; sbcl 2.6.4 is too smart, and figures out the test will trigger a
|
||||
;; division by zero at compile time and refuse to compile the file. It
|
||||
;; looks like the test already tries to avoid compile time checks, so
|
||||
;; we go a step further and EVAL parts of the expression.
|
||||
(add-after 'unpack 'circumvent-compile-time-check
|
||||
(lambda _
|
||||
(substitute* "test/tests.lisp"
|
||||
(("\\(expt 1024 0\\)") "(eval '(expt 1024 0))"))))
|
||||
(add-after 'check 'delete-test-results
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((test-results (string-append (assoc-ref outputs "out")
|
||||
|
||||
+78
-2
@@ -109,6 +109,7 @@
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
@@ -892,13 +893,16 @@ interface to the Tk widget system.")
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list
|
||||
(string-append "DESTDIR=" #$output)
|
||||
(string-append "PREFIX=")
|
||||
(string-append "PREFIX=" #$output)
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "JANET_PATH")
|
||||
(files (list "lib/janet")))))
|
||||
(home-page "https://janet-lang.org/")
|
||||
(synopsis "Functional, imperative and embeddable programming language")
|
||||
(description
|
||||
@@ -999,6 +1003,78 @@ tool and its main uses are installing dependencies, compiling C/C++ to native
|
||||
libraries, and other management tasks for Janet projects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public janet-spork
|
||||
(package
|
||||
(name "janet-spork")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/janet-lang/spork")
|
||||
(commit (string-append "v" version))))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(for-each
|
||||
delete-file-recursively
|
||||
'("deps/miniz" "deps/stb")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0c9f54wl8g7zazrqk5f6nhp9lp38pymkxmcipagrip915i8ks0v8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(add-after 'unpack 'fixes
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("test/suite-cjanet.janet")
|
||||
(("\\(end-jit\\)" all)
|
||||
(simple-format #f "(setdyn :cc ~s)\n~a"
|
||||
#$(cc-for-target) all)))
|
||||
(substitute* '("src/zip.c")
|
||||
(("\"\\.\\./deps/miniz/miniz\\.h\"") "<miniz/miniz.h>"))
|
||||
(let ((stb (dirname (search-input-file inputs "stb_image.h"))))
|
||||
(substitute* '("project.janet")
|
||||
(("\"deps/miniz/miniz\\.c\"") "")
|
||||
((":headers @\\[\"deps/miniz/miniz\\.h\"\\]")
|
||||
":ldflags @[\"-lminiz\"]")
|
||||
(("\"-Ideps/stb\"") (string-append "\"-I" stb "\""))))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "janet" "-l" "./bundle" "-e" "(build)")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let* ((janet-path (string-append #$output "/lib/janet")))
|
||||
(mkdir-p janet-path)
|
||||
(setenv "JANET_PATH" janet-path))
|
||||
(invoke "janet" "--install" ".")))
|
||||
(add-after 'install 'fix-output
|
||||
(lambda _
|
||||
(let* ((inc (string-append #$output "/include/janet/spork"))
|
||||
(bin (string-append #$output "/lib/janet/bin"))
|
||||
(man (string-append #$output "/lib/janet/man")))
|
||||
(mkdir-p inc)
|
||||
(rename-file
|
||||
(string-append #$output "/lib/janet/tarray.h")
|
||||
(string-append inc "/tarray.h"))
|
||||
(rename-file bin (string-append #$output "/bin"))
|
||||
(mkdir-p (string-append #$output "/share"))
|
||||
(rename-file man (string-append #$output "/share/man")))))
|
||||
(add-after 'fix-output 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "janet" "-l" "./bundle" "-e" "(check)")))))))
|
||||
(inputs (list janet miniz stb))
|
||||
(home-page "https://github.com/janet-lang/spork")
|
||||
(synopsis "Extended standard library for Janet")
|
||||
(description
|
||||
"Spork is a utility library for Janet. It contains small modules
|
||||
that should be useful for general programming in Janet but are not included
|
||||
in the standard library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public lisp-repl-core-dumper
|
||||
(package
|
||||
(name "lisp-repl-core-dumper")
|
||||
|
||||
+16
-33
@@ -229,42 +229,25 @@ provides some unique features such as CSV log format and wide string support.")
|
||||
(define-public multitail
|
||||
(package
|
||||
(name "multitail")
|
||||
(version "6.5.2")
|
||||
(version "7.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/halturin/multitail")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17hg5qpangyx4m7hp2x4h56mp6w3wsaslg1il39qcpwsffh1rihc"))))
|
||||
(build-system gnu-build-system)
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/folkertvanheusden/multitail")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11kkd2rg3qc7ck5iyha0f8l5lqc1bvwypn80di0h77h7p106blvk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"SYSCONFDIR=$(PREFIX)/etc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-broken-build
|
||||
;; With some luck, you might be able to remove this when updating…
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
((" \\*\\.txt") "")
|
||||
((".*CONFIG_DIR.*") "")
|
||||
(("^install: .*" match)
|
||||
(string-append match
|
||||
"\t$(INSTALL_DIR) $(DESTDIR)$(SYSCONFDIR)\n")))
|
||||
(substitute* "version"
|
||||
(("(VERSION=).*" _ assign)
|
||||
(string-append assign ,version)))))
|
||||
(add-after 'unpack 'patch-curses-headers
|
||||
(lambda _
|
||||
(substitute* "mt.h"
|
||||
(("ncursesw/") ""))))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:tests? #f)) ; no test suite (make check just runs cppcheck)
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-curses-headers
|
||||
(lambda _
|
||||
(substitute* "mt.h"
|
||||
(("ncursesw/") "")))))))
|
||||
(inputs (list ncurses))
|
||||
(home-page "https://vanheusden.com/multitail/")
|
||||
(synopsis "Monitor multiple log files")
|
||||
|
||||
@@ -1129,7 +1129,7 @@ Grammars (PEGs).")
|
||||
(define (make-lua-luv name lua)
|
||||
(package
|
||||
(name name)
|
||||
(version "1.43.0-0")
|
||||
(version "1.44.2-0")
|
||||
(source (origin
|
||||
;; The release tarball includes the sources of libuv but does
|
||||
;; not include the pkg-config files.
|
||||
@@ -1140,7 +1140,7 @@ Grammars (PEGs).")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
|
||||
"0jdvsznzha290gnzd66vscsdacd5dapq0scwy4zj64d9wnsv39p7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ; there are none
|
||||
@@ -1821,7 +1821,7 @@ multiple local rocks trees.")
|
||||
(define-public fennel
|
||||
(package
|
||||
(name "fennel")
|
||||
(version "1.6.0")
|
||||
(version "1.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -1830,11 +1830,10 @@ multiple local rocks trees.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09gky2w8z83qqv0n9vx8jqsfldni14kjr6l7y5k44lq5i30i0fsv"))))
|
||||
"0n58410gmxfnmgggdw6ap12fa68z5s7f83487b2apim52a8wpd9h"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags #~(list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
(list #:make-flags #~(list (string-append "PREFIX=" #$output))
|
||||
#:test-target "test"
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
||||
+19
-14
@@ -450,7 +450,7 @@ programming languages.")
|
||||
(define-public cvc5
|
||||
(package
|
||||
(name "cvc5")
|
||||
(version "1.3.3")
|
||||
(version "1.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -458,10 +458,8 @@ programming languages.")
|
||||
(url "https://github.com/cvc5/cvc5/")
|
||||
(commit (string-append "cvc5-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "cvc5-reproducible-build.patch"
|
||||
"cvc5-symfpu-compatibility.patch"))
|
||||
(sha256
|
||||
(base32 "0ynz7di4dyyiiydgmf0z9dc2jl7nm44xi0amch29rcgznwr4wy5m"))))
|
||||
(base32 "1xix197pyd45jakk10apam3bhl38nk14zjk0fzr9rj4knh10x5rx"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3691,7 +3689,7 @@ script files.")
|
||||
;; 'Automated Testing System', which may be accessed after
|
||||
;; installation via the draw.sh script. draw.sh is located in
|
||||
;; the bin directory. For details see:
|
||||
;; https://www.opencascade.com/doc/occt-7.3.0/overview/html/\
|
||||
;; https://dev.opencascade.org/doc/occt-7.3.0/overview/html/\
|
||||
;; occt_dev_guides__tests.html
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
@@ -3700,7 +3698,7 @@ script files.")
|
||||
"-DUSE_FREEIMAGE:BOOL=ON"
|
||||
"-DUSE_RAPIDJSON:BOOL=ON"
|
||||
"-DUSE_TBB:BOOL=ON"
|
||||
"-DUSE_VTK:BOOL=OFF"
|
||||
"-DUSE_VTK:BOOL=ON"
|
||||
"-DBUILD_DOC_Overview:BOOL=OFF"
|
||||
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
|
||||
"-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
|
||||
@@ -3718,9 +3716,10 @@ script files.")
|
||||
onetbb
|
||||
rapidjson
|
||||
tcl
|
||||
tk))
|
||||
tk
|
||||
vtk))
|
||||
;; TODO: build Overview documentation and add 'doc' output.
|
||||
(home-page "https://www.opencascade.com")
|
||||
(home-page "https://dev.opencascade.org")
|
||||
(synopsis "Libraries for 3D modeling and numerical simulation")
|
||||
(description
|
||||
"Open CASCADE is a set of libraries for the development of applications
|
||||
@@ -3790,7 +3789,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
|
||||
;; 'Automated Testing System', which may be accessed after
|
||||
;; installation via the draw.sh script. draw.sh is located in
|
||||
;; the bin directory. For details see:
|
||||
;; https://www.opencascade.com/doc/occt-7.3.0/overview/html/\
|
||||
;; https://dev.opencascade.org/doc/occt-7.3.0/overview/html/\
|
||||
;; occt_dev_guides__tests.html
|
||||
#:tests? #f
|
||||
;; Configure without freeimage: attempting to link against the
|
||||
@@ -3800,7 +3799,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
|
||||
(list "-DCMAKE_CXX_FLAGS=-fpermissive" ;from unsigned char* to char*
|
||||
"-DUSE_FREEIMAGE:BOOL=OFF"
|
||||
"-DUSE_TBB:BOOL=ON"
|
||||
"-DUSE_VTK:BOOL=OFF"
|
||||
"-DUSE_VTK:BOOL=ON"
|
||||
"-DBUILD_DOC_Overview:BOOL=OFF"
|
||||
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
|
||||
"-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON"
|
||||
@@ -3816,9 +3815,10 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
|
||||
mesa
|
||||
tbb-2020
|
||||
tcl
|
||||
tk))
|
||||
tk
|
||||
vtk))
|
||||
;; TODO: build Overview documentation and add 'doc' output.
|
||||
(home-page "https://www.opencascade.com")
|
||||
(home-page "https://dev.opencascade.org")
|
||||
(synopsis "Libraries for 3D modeling and numerical simulation")
|
||||
(description
|
||||
"Open CASCADE is a set of libraries for the development of applications
|
||||
@@ -7941,7 +7941,7 @@ set.")
|
||||
"doc")) ;12 MiB of documentation
|
||||
(native-inputs
|
||||
(list doc++
|
||||
doxygen
|
||||
doxygen-1.16
|
||||
ghostscript
|
||||
python
|
||||
python-breathe
|
||||
@@ -7967,13 +7967,16 @@ set.")
|
||||
texlive-jknapltx
|
||||
texlive-latexmk
|
||||
texlive-listofitems
|
||||
texlive-ltablex
|
||||
texlive-multirow
|
||||
texlive-natbib
|
||||
texlive-needspace
|
||||
texlive-newunicodechar
|
||||
texlive-ninecolors
|
||||
texlive-parskip
|
||||
texlive-sectsty
|
||||
texlive-stackengine
|
||||
texlive-tabularray
|
||||
texlive-tabulary
|
||||
texlive-tex-gyre
|
||||
texlive-titlesec
|
||||
@@ -7985,6 +7988,7 @@ set.")
|
||||
texlive-wasysym
|
||||
texlive-wrapfig
|
||||
texlive-xcolor
|
||||
texlive-xltabular
|
||||
texlive-xypic))))
|
||||
(inputs
|
||||
(list openblas))
|
||||
@@ -8067,7 +8071,8 @@ problems.")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~`("--with-MPI" ,@(delete "--without-MPI" #$flags)))
|
||||
#~`("--with-MPI" ,@(delete "--without-MPI"
|
||||
#$flags)))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-before 'check 'mpi-setup
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com>
|
||||
;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2024, 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2024-2026 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,6 +27,7 @@
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages oneapi)
|
||||
#:use-module (gnu packages tls)
|
||||
@@ -36,7 +37,7 @@
|
||||
(define-public mold
|
||||
(package
|
||||
(name "mold")
|
||||
(version "2.40.4")
|
||||
(version "2.41.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -45,14 +46,14 @@
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05prkdr3v8wb8l99qrri9r27yar5yl8aiv1ns41b556ckdjdw8q6"))
|
||||
(base32 "1r4mvgwh652klhns1q45qy5axi54jx904ss0s428y98a9qk4brrp"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(for-each
|
||||
(lambda (x)
|
||||
(delete-file-recursively (string-append "third-party/" x)))
|
||||
'("mimalloc" "tbb" "xxhash" "zlib" "zstd"))))))
|
||||
'("blake3" "mimalloc" "tbb" "xxhash" "zlib" "zstd"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -86,7 +87,7 @@
|
||||
(if (target-64bit?)
|
||||
(list mimalloc)
|
||||
'())
|
||||
(list onetbb xxhash zlib `(,zstd "lib"))))
|
||||
(list libblake3 onetbb xxhash zlib `(,zstd "lib"))))
|
||||
(home-page "https://github.com/rui314/mold")
|
||||
(synopsis "Fast linker")
|
||||
(description
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||
@@ -432,7 +432,7 @@ software vendors, application developers and computer science researchers.")
|
||||
(package/inherit openmpi-5
|
||||
(name "openmpi-rocm")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openmpi-5)
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags '())
|
||||
#~(cons* (string-append "--with-rocm="
|
||||
#$(this-package-input "rocm-hip-runtime"))
|
||||
@@ -440,7 +440,9 @@ software vendors, application developers and computer science researchers.")
|
||||
(inputs (modify-inputs (package-inputs openmpi-5)
|
||||
;; XXX: This might break openmpi-5 for architectures where ROCm
|
||||
;; is not supported.
|
||||
(append rocm-hip-runtime)))
|
||||
(append rocm-hip-runtime)
|
||||
(replace "ucx" ucx-rocm)
|
||||
(replace "libfabric" libfabric-rocm)))
|
||||
(synopsis "MPI-3 implementation (with ROCm support)")))
|
||||
|
||||
(define-public openmpi-c++
|
||||
|
||||
+139
-17
@@ -45,7 +45,7 @@
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2022, 2023, 2024 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2022, 2023, 2024, 2026 Sughosha <sughosha@disroot.org>
|
||||
;;; Copyright © 2022, 2025, 2026 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2022, 2023, 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
|
||||
@@ -171,6 +171,7 @@
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages messaging)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages mpd)
|
||||
@@ -224,6 +225,7 @@
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages wine)
|
||||
#:use-module ((srfi srfi-1) #:select (last)))
|
||||
|
||||
(define-public alsa-scarlett-gui
|
||||
@@ -816,7 +818,7 @@ Winamp/XMMS skins.")
|
||||
(define-public strawberry
|
||||
(package
|
||||
(name "strawberry")
|
||||
(version "1.2.14")
|
||||
(version "1.2.19")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -825,17 +827,7 @@ Winamp/XMMS skins.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sli0wm1l34ca8y6m3rfa604v1bbzbaiala13kzndcqqwnrsh66f"))
|
||||
(modules '((guix build utils)))
|
||||
;; Unbundle and disable discord-rpc.
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "3rdparty")
|
||||
(substitute* "CMakeLists.txt"
|
||||
((".*3rdparty\\/discord-rpc.*") "")
|
||||
((".*src/discord.*") "")
|
||||
((".*:discord-rpc.*") "")
|
||||
(("DISCORD_RPC ON") "DISCORD_RPC OFF"))))))
|
||||
"1bxrqqi2xi057v9qaz73dl44jyyhpqvi51pjs6pzprfiqgy1gi11"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -966,7 +958,7 @@ many input formats and provides a customisable Vi-style user interface.")
|
||||
(define-public ctune
|
||||
(package
|
||||
(name "ctune")
|
||||
(version "1.3.4")
|
||||
(version "1.3.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -974,11 +966,15 @@ many input formats and provides a customisable Vi-style user interface.")
|
||||
(url "https://github.com/An7ar35/ctune")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "ctune-cmake-disable-git-clone.patch"))
|
||||
(sha256
|
||||
(base32 "05gs1a1pc303qrnd1bz0z0wkzxkpm310hqznnq6zz7nl4vs3b9nz"))))
|
||||
(base32 "0g7a2yz5nnhd4dln07hiax5701hc4b7sn97c36jgvm8pq6ap2bd4"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ;no check target
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no check target
|
||||
;; We do not have the headers of ncurses inside 'ncursesw' subdirectory.
|
||||
#:configure-flags
|
||||
#~(list "-DNO_NCURSESW=ON")))
|
||||
(native-inputs (list pkg-config
|
||||
json-c
|
||||
ffmpeg-6
|
||||
@@ -5355,6 +5351,132 @@ includes instruments based on audio samples and various soft sythesizers. It
|
||||
can receive input from a MIDI keyboard.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; This version tracks the latest commit from master branch.
|
||||
(define-public lmms-next
|
||||
(let ((commit "83313e737d3137f7939f3daa9063a94a1ac01f7c")
|
||||
(revision "0"))
|
||||
(package/inherit lmms
|
||||
(name "lmms-next")
|
||||
(version (git-version "1.3.0-alpha.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source lmms))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LMMS/lmms")
|
||||
(commit commit)
|
||||
;; Clone recursively only for the optional plugins. The 3rd
|
||||
;; party libraries will be deleted by the snippet.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mpp449rvn9f10bcxhpmxfinvj3jdv4s6qjhlp0sj9l783pv3h69"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete the bundled 3rd party libraries.
|
||||
(for-each delete-file-recursively
|
||||
(list "plugins/CarlaBase/carla"
|
||||
"plugins/OpulenZ/adplug"
|
||||
"plugins/Xpressive/exprtk"
|
||||
"src/3rdparty"))
|
||||
;; Do not check submodules.
|
||||
(substitute* "CMakeLists.txt"
|
||||
((".*CheckSubmodules.*") "")
|
||||
;; Do not use the bundled weakjack.
|
||||
(("JACK libraries\" ON") "JACK libraries\" OFF"))
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
;; Do not add 3rd party libraries.
|
||||
((".*3rdparty.*") "")
|
||||
;; Use adplug and ringbuffer from the system.
|
||||
(("\\$\\{EXTRA_LIBRARIES\\}" all)
|
||||
(string-append all
|
||||
"\n\tadplug"
|
||||
"\n\tringbuffer")))
|
||||
(with-directory-excursion "plugins"
|
||||
;; Use carla from the system.
|
||||
(substitute* "CarlaBase/Carla.h"
|
||||
(("#include <CarlaDefines")
|
||||
"#include <carla/includes/CarlaDefines")
|
||||
(("#include <CarlaNative")
|
||||
"#include <carla/includes/CarlaNative")
|
||||
(("#include <CarlaBackend") "#include <carla/CarlaBackend")
|
||||
(("#include <CarlaUtils") "#include <carla/CarlaUtils"))
|
||||
(with-directory-excursion "OpulenZ"
|
||||
;; Do not use the bundled adplug.
|
||||
(substitute* "CMakeLists.txt"
|
||||
((".*adplug .*") "")
|
||||
((".*adplug/.*") "")
|
||||
(("^\\)") "")
|
||||
(("\\.png\"") ".png\"\n)"))
|
||||
;; Use adplug from the system.
|
||||
(substitute* "OpulenZ.cpp"
|
||||
(("<opl\\.h>") "<adplug/opl.h>")
|
||||
(("<temuopl\\.h>") "<adplug/temuopl.h>")
|
||||
(("<mididata\\.h>") "<adplug/mididata.h>")))
|
||||
;; Do not use the bundled hiir.
|
||||
(substitute* "SlewDistortion/CMakeLists.txt"
|
||||
(("TARGET_LINK_LIBRARIES\\(slewdistortion hiir\\)") ""))
|
||||
;; Do not use the bundled exprtk.
|
||||
(substitute* "Xpressive/CMakeLists.txt"
|
||||
((".*\\(exprtk .*") "")
|
||||
((".*xpressive exprtk.*") "")))
|
||||
;; Avoid "invalid conversion from 'const unsigned char*' to
|
||||
;; 'unsigned char*'" error.
|
||||
(substitute* "plugins/OpulenZ/OpulenZ.cpp"
|
||||
(("unsigned char \\*inst") "const unsigned char *inst"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:qtbase _ #f) qtbase)
|
||||
((#:configure-flags flags)
|
||||
#~(cons* "-DWANT_QT6=ON" (delete "-DWANT_QT5=ON" #$flags)))
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(delete 'unpack-rpmalloc)
|
||||
(replace 'fix-carla-export
|
||||
;; Taken from NixOS package definition.
|
||||
(lambda _
|
||||
(substitute* "plugins/CarlaBase/Carla.h"
|
||||
(("CARLA_EXPORT")
|
||||
"CARLA_API_EXPORT"))))))))
|
||||
(native-inputs
|
||||
(modify-inputs native-inputs
|
||||
(delete "rpmalloc")
|
||||
(replace "qttools" qttools)))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(delete "qtx11extras")
|
||||
(replace "carla" carla-2.6)
|
||||
(replace "qtwayland" qtwayland)
|
||||
(replace "sdl12-compat" sdl2)
|
||||
(append adplug
|
||||
exprtk
|
||||
hiir
|
||||
libxml2
|
||||
lilv
|
||||
lv2
|
||||
perl
|
||||
perl-list-moreutils
|
||||
perl-xml-parser
|
||||
qtsvg
|
||||
ringbuffer
|
||||
suil)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "LV2_PATH")
|
||||
(files '("lib/lv2"))))))))
|
||||
|
||||
(define-public lmms-next-with-vst
|
||||
(package/inherit lmms-next
|
||||
(name "lmms-next-with-vst")
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags flags)
|
||||
#~(cons* (string-append "-DWINE_LOCATIONS=" #$(wine-for-system))
|
||||
(delete "-DWANT_VST=OFF" #$flags)))))
|
||||
(inputs
|
||||
(modify-inputs inputs
|
||||
(append (wine-for-system))))))
|
||||
|
||||
(define-public stargate
|
||||
(package
|
||||
(name "stargate")
|
||||
|
||||
+13
-13
@@ -1994,7 +1994,7 @@ and up to 1 Mbit/s downstream.")
|
||||
(define-public whois
|
||||
(package
|
||||
(name "whois")
|
||||
(version "5.6.5")
|
||||
(version "5.6.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2003,7 +2003,7 @@ and up to 1 Mbit/s downstream.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "145lp72347vmr1ipai8rz10bqi6lkjx104g3rq2dmdi2ygfqq9nc"))))
|
||||
(base32 "05549a8r7qr6rv26i7kwg4h6ciwa4cc8dsd5zhfprjrjk909ga24"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -2948,7 +2948,7 @@ that block port 22.")
|
||||
(define-public iperf
|
||||
(package
|
||||
(name "iperf")
|
||||
(version "3.19.1")
|
||||
(version "3.21")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2957,7 +2957,7 @@ that block port 22.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kj2p3dprxv1r77whd5g1wak2k71c7khhrkkx60lcnkf70qy5q67"))))
|
||||
(base32 "1r4873czw1hyq2g0z1dfxpbsdxcf6i2iizyvqaz24z8dshr2kdmi"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -3397,7 +3397,7 @@ to test using multiple servers in a single run.")
|
||||
(define-public atftp
|
||||
(package
|
||||
(name "atftp")
|
||||
(version "0.8.0")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3405,7 +3405,7 @@ to test using multiple servers in a single run.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"019qrh2wpvr577ksvs3s82q6kiqm5i6869aj7qba326b59lhkxrc"))
|
||||
"1pj0270r87iv84vrlrrbp66vkzdmaa4ramhx34b151hclkiv3c8j"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -4155,7 +4155,7 @@ never see any machines other than the one Dante is running on.")
|
||||
(base32 "15j09x36i6zj6innl0w1mfzlc56qmjwrs82my8dsagqa2ikd08ya"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list asio catch-framework openssl))
|
||||
(list asio-1.28 catch-framework openssl))
|
||||
(arguments
|
||||
`(;; Running parallel tests results in "bind: Address already in use" error
|
||||
;; in test service_status_feature_test_suite.
|
||||
@@ -5489,22 +5489,22 @@ and IP address registration information in JSON format over HTTP.")
|
||||
(define-public wireproxy
|
||||
(package
|
||||
(name "wireproxy")
|
||||
(version "1.0.10")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/whyvl/wireproxy")
|
||||
(url "https://github.com/windtf/wireproxy")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ypk9migx1l7xwcxr542pcdy8q2bm33wp03bqzgav0hp1fsrmi8p"))))
|
||||
(base32 "0nzs3xzvq3rhqg808qgazymmwdx9p3nw669wl3r5xclhvibbyla7"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:import-path "github.com/pufferffish/wireproxy/cmd/wireproxy"
|
||||
#:unpack-path "github.com/pufferffish/wireproxy"
|
||||
#:import-path "github.com/windtf/wireproxy/cmd/wireproxy"
|
||||
#:unpack-path "github.com/windtf/wireproxy"
|
||||
#:test-subdirs #~(list "../../..."))) ;to test the whole module
|
||||
(native-inputs
|
||||
(list go-github-com-akamensky-argparse
|
||||
@@ -5515,7 +5515,7 @@ and IP address registration information in JSON format over HTTP.")
|
||||
go-golang-org-x-net
|
||||
go-golang-zx2c4-com-wireguard
|
||||
go-suah-dev-protect))
|
||||
(home-page "https://github.com/whyvl/wireproxy")
|
||||
(home-page "https://github.com/windtf/wireproxy")
|
||||
(synopsis "Wireguard client that exposes itself as a socks5 proxy")
|
||||
(description
|
||||
"wireproxy is a completely userspace application that connects to a
|
||||
|
||||
+23
-45
@@ -276,24 +276,28 @@ HTTP.Agent instances from a function.")
|
||||
(package
|
||||
(name "node-balanced-match")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/juliangruber/balanced-match")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "0977r6hv9fyv6f8wvn31vcncxwhffnn05y0h4hmpkg8p2vs9ip0b"))))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/juliangruber/balanced-match")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0977r6hv9fyv6f8wvn31vcncxwhffnn05y0h4hmpkg8p2vs9ip0b"))))
|
||||
(build-system node-build-system)
|
||||
(arguments (list
|
||||
#:tests? #f ; FIXME Tests require 'tape'.
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'patch-dependencies 'modify-package
|
||||
(lambda _
|
||||
(modify-json
|
||||
(delete-dev-dependencies)))))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;FIXME Tests require 'tape'.
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'patch-dependencies 'modify-package
|
||||
(lambda _
|
||||
(modify-json (delete-dev-dependencies)))))))
|
||||
(synopsis "Match balanced character pairs, like { and }")
|
||||
(description "Match balanced string pairs, like { and } or <b> and </b>. Supports\
|
||||
regular expressions as well!")
|
||||
(description
|
||||
"Match balanced string pairs, like { and } or <b> and </b>. Supports
|
||||
regular expressions as well!")
|
||||
(home-page (git-reference-url (origin-uri source)))
|
||||
(license license:expat)))
|
||||
|
||||
@@ -344,7 +348,7 @@ addons in a wide array of potential locations.")
|
||||
(lambda _
|
||||
(modify-json (delete-dev-dependencies)))))))
|
||||
(inputs
|
||||
(list node-balanced-match-1 node-concat-map))
|
||||
(list node-balanced-match node-concat-map))
|
||||
(home-page "https://github.com/juliangruber/brace-expansion")
|
||||
(synopsis "Brace expansion for JavaScript")
|
||||
(description "This package provides brace expansion as known from
|
||||
@@ -376,32 +380,6 @@ sh/bash, for JavaScript.")
|
||||
(home-page (git-reference-url (origin-uri source)))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public node-balanced-match-1
|
||||
(package
|
||||
(name "node-balanced-match")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/juliangruber/balanced-match")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0977r6hv9fyv6f8wvn31vcncxwhffnn05y0h4hmpkg8p2vs9ip0b"))))
|
||||
(build-system node-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'patch-dependencies 'delete-dev-dependencies
|
||||
(lambda _
|
||||
(modify-json (delete-dev-dependencies)))))))
|
||||
(home-page "https://github.com/juliangruber/balanced-match")
|
||||
(synopsis "Match balanced string pairs in JavaScript")
|
||||
(description "This package provides a way to match balanced string pairs.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public node-buffer-crc32
|
||||
(package
|
||||
(name "node-buffer-crc32")
|
||||
@@ -2324,7 +2302,7 @@ a string consisting of a number and a time unit is converted to milliseconds.")
|
||||
(define-public node-nan
|
||||
(package
|
||||
(name "node-nan")
|
||||
(version "2.26.2")
|
||||
(version "2.22.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2333,7 +2311,7 @@ a string consisting of a number and a time unit is converted to milliseconds.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18xv0m40jgy3sc4pldw95w6p72ms5a5h0x2sm2mimlwlmxmrjlmb"))))
|
||||
(base32 "02gqm23x26glffvyxrnk610hy3hg0kwh2v58dhnb032l0jhjzqvp"))))
|
||||
(build-system node-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
||||
+58
-48
@@ -274,7 +274,7 @@
|
||||
(lambda (file stat)
|
||||
(executable-file? file))
|
||||
#:stat lstat)))))
|
||||
(add-after 'install 'fix-node-gyp-reference
|
||||
(add-after 'install 'install-npmrc
|
||||
;; Note: programs like node-gyp only receive these values if
|
||||
;; they are started via `npm` or `npx`.
|
||||
;; See: https://github.com/nodejs/node-gyp#npm-configuration
|
||||
@@ -482,7 +482,7 @@ Node.js and web browsers.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nodejs/llparse-builder.git")
|
||||
(url "https://github.com/indutny/llparse-builder.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -491,6 +491,10 @@ Node.js and web browsers.")
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; FIXME: Unneeded runtime dependency.
|
||||
;; https://github.com/indutny/llparse-builder/pull/2
|
||||
(substitute* "package.json"
|
||||
(("\"@types/debug.*,") ""))
|
||||
;; Fix imports for esbuild.
|
||||
;; https://github.com/evanw/esbuild/issues/477
|
||||
(substitute* '("src/node/invoke.ts"
|
||||
@@ -517,8 +521,7 @@ Node.js and web browsers.")
|
||||
(add-after 'patch-dependencies 'delete-dependencies
|
||||
(lambda _
|
||||
(modify-json (delete-dependencies
|
||||
`("@types/debug"
|
||||
"@types/mocha"
|
||||
`("@types/mocha"
|
||||
"@types/node"
|
||||
"mocha"
|
||||
"ts-node"
|
||||
@@ -536,7 +539,7 @@ Node.js and web browsers.")
|
||||
(list node-binary-search-bootstrap node-debug-bootstrap))
|
||||
(native-inputs
|
||||
(list esbuild))
|
||||
(home-page "https://github.com/nodejs/llparse-builder#readme")
|
||||
(home-page "https://github.com/indutny/llparse-builder#readme")
|
||||
(properties '((hidden? . #t)))
|
||||
(synopsis "Graph builder for consumption by llparse")
|
||||
(description "This package builds graphs for consumption by llparse.")
|
||||
@@ -550,7 +553,7 @@ Node.js and web browsers.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nodejs/llparse-frontend.git")
|
||||
(url "https://github.com/indutny/llparse-frontend.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@@ -599,7 +602,7 @@ Node.js and web browsers.")
|
||||
(list node-debug-bootstrap node-llparse-builder-bootstrap))
|
||||
(native-inputs
|
||||
(list esbuild))
|
||||
(home-page "https://github.com/nodejs/llparse-frontend#readme")
|
||||
(home-page "https://github.com/indutny/llparse-frontend#readme")
|
||||
(properties '((hidden? . #t)))
|
||||
(synopsis "Frontend for the llparse compiler")
|
||||
(description "This package is a frontend for the llparse compiler.")
|
||||
@@ -608,17 +611,17 @@ Node.js and web browsers.")
|
||||
(define-public node-llparse-bootstrap
|
||||
(package
|
||||
(name "node-llparse")
|
||||
(version "7.3.0")
|
||||
(version "7.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nodejs/llparse.git")
|
||||
(url "https://github.com/indutny/llparse.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09hqjcynkz5iv7aydzdwgs42r7y2zylplv0ff7w0vkdsgb08j22a"))
|
||||
"10da273iy2if88hp79cwms6c8qpsl1fkgzll6gmqyx5yxv5mkyp6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -642,14 +645,10 @@ Node.js and web browsers.")
|
||||
(add-after 'patch-dependencies 'delete-dependencies
|
||||
(lambda args
|
||||
(modify-json (delete-dependencies
|
||||
`("@stylistic/eslint-plugin"
|
||||
"@typescript-eslint/eslint-plugin"
|
||||
"@typescript-eslint/parser"
|
||||
"@types/debug"
|
||||
`("@types/debug"
|
||||
"@types/mocha"
|
||||
"@types/node"
|
||||
"esm"
|
||||
"eslint"
|
||||
"llparse-test-fixture"
|
||||
"mocha"
|
||||
"ts-node"
|
||||
@@ -677,7 +676,7 @@ parser definition into a C output.")
|
||||
(define-public llhttp-bootstrap
|
||||
(package
|
||||
(name "llhttp")
|
||||
(version "9.3.0")
|
||||
(version "9.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -686,7 +685,7 @@ parser definition into a C output.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yz4ys94pjq2fs2pihpqjvmxj2mbpm8k5prlm445z4qlajzlr4kb"))
|
||||
"0mzg19aqb1am498gms0z75cwd5kmfg9p78b1hhxw67019nsjcbac"))
|
||||
(patches (search-patches "llhttp-ponyfill-object-fromentries.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@@ -748,14 +747,14 @@ source files.")
|
||||
(define-public node-lts
|
||||
(package
|
||||
(inherit node-bootstrap)
|
||||
(version "24.14.1")
|
||||
(version "22.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nodejs.org/dist/v" version
|
||||
"/node-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cri5lp3a9jhh34dbd48hq2zyb7xjb9qs6zl36l3q2blawgwz642"))
|
||||
"12msprh604s6qdsgwymxw4kl8ivaldbaydf4v37lbp02aznk2kkc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -771,17 +770,13 @@ source files.")
|
||||
"deps/icu-small"
|
||||
"deps/nghttp2"
|
||||
"deps/ngtcp2"
|
||||
"deps/llhttp"
|
||||
"deps/uv"
|
||||
"deps/zlib"
|
||||
"deps/zstd"))))))
|
||||
"deps/zlib"))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags configure-flags)
|
||||
''("--shared-cares"
|
||||
"--shared-libuv"
|
||||
"--shared-http-parser"
|
||||
"--shared-http-parser-libname=llhttp"
|
||||
"--shared-nghttp2"
|
||||
"--shared-openssl"
|
||||
"--shared-zlib"
|
||||
@@ -789,7 +784,6 @@ source files.")
|
||||
"--with-intl=system-icu"
|
||||
"--shared-ngtcp2"
|
||||
"--shared-nghttp3"
|
||||
"--shared-zstd"
|
||||
;;Needed for correct snapshot checksums
|
||||
"--v8-enable-snapshot-compression"))
|
||||
((#:phases phases)
|
||||
@@ -852,11 +846,9 @@ source files.")
|
||||
(for-each delete-file
|
||||
'("test/parallel/test-https-agent-unref-socket.js"))
|
||||
|
||||
;; These tests are timing-sensitive, and fail sporadically on
|
||||
;; This test is timing-sensitive, and fails sporadically on
|
||||
;; slow, busy, or even very fast machines.
|
||||
(for-each delete-file
|
||||
'("test/parallel/test-fs-utimes.js"
|
||||
"test/sequential/test-performance-eventloopdelay.js"))
|
||||
(delete-file "test/parallel/test-fs-utimes.js")
|
||||
|
||||
;; FIXME: This test fails randomly:
|
||||
;; https://github.com/nodejs/node/issues/31213
|
||||
@@ -907,6 +899,18 @@ source files.")
|
||||
"test/parallel/test-http2-invalid-last-stream-id.js")
|
||||
(("client\\.connect\\(address\\)")
|
||||
"client.connect(address.port)"))))
|
||||
(add-after 'delete-problematic-tests 'replace-llhttp-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Replace pre-generated llhttp sources
|
||||
(let ((llhttp (assoc-ref inputs "llhttp")))
|
||||
(copy-file (string-append llhttp "/src/llhttp.c")
|
||||
"deps/llhttp/src/llhttp.c")
|
||||
(copy-file (string-append llhttp "/src/api.c")
|
||||
"deps/llhttp/src/api.c")
|
||||
(copy-file (string-append llhttp "/src/http.c")
|
||||
"deps/llhttp/src/http.c")
|
||||
(copy-file (string-append llhttp "/include/llhttp.h")
|
||||
"deps/llhttp/include/llhttp.h"))))
|
||||
;; npm installs dependencies by copying their files over a tar
|
||||
;; stream. A file with more than one hardlink is marked as a
|
||||
;; "Link". pacote/lib/fetcher.js calls node-tar's extractor with a
|
||||
@@ -931,22 +935,30 @@ source files.")
|
||||
;; https://github.com/npm/pacote/issues/285
|
||||
(add-after 'install 'ignore-number-of-hardlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((dir (string-append (assoc-ref outputs "out")
|
||||
"/lib/node_modules/npm/node_modules"
|
||||
"/tar/dist")))
|
||||
(substitute*
|
||||
(list (string-append dir "/esm/write-entry.js")
|
||||
(string-append dir "/commonjs/write-entry.js"))
|
||||
(let ((file (string-append (assoc-ref outputs "out")
|
||||
"/lib/node_modules/npm/node_modules"
|
||||
"/tar/lib/write-entry.js")))
|
||||
(substitute* file
|
||||
(("this.stat.nlink > 1") "false")))))
|
||||
(replace 'fix-node-gyp-reference
|
||||
(add-after 'install 'install-node-gyp-wrapper
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (spec)
|
||||
(wrap-program (string-append out spec)
|
||||
`("npm_package_config_node_gyp_nodedir" = (,out))))
|
||||
'("/bin/npm"
|
||||
"/bin/npx")))))))))
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/lib/node_modules/npm/bin/node-gyp-bin"))
|
||||
(file (string-append dir "/node-gyp")))
|
||||
(mkdir-p dir)
|
||||
;; See https://github.com/npm/cli/issues/6842
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(format port "#!~a/bin/sh
|
||||
if [ \"x$npm_config_node_gyp\" = \"x\" ]; then
|
||||
~a/bin/node \"~a/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"$@\"
|
||||
else
|
||||
\"$npm_config_node_gyp\" \"$@\"
|
||||
fi"
|
||||
(assoc-ref inputs "bash")
|
||||
out
|
||||
out)))
|
||||
(chmod file #o555))))))))
|
||||
(native-inputs
|
||||
(list ;; Runtime dependencies for binaries used as a bootstrap.
|
||||
c-ares-for-node-lts
|
||||
@@ -962,8 +974,7 @@ source files.")
|
||||
pkg-config
|
||||
procps
|
||||
python
|
||||
util-linux
|
||||
gcc-14))
|
||||
util-linux))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
coreutils
|
||||
@@ -976,8 +987,7 @@ source files.")
|
||||
nghttp3
|
||||
`(,nghttp2 "lib")
|
||||
openssl-3.0
|
||||
zlib
|
||||
`(,zstd-1.5.7 "lib")))
|
||||
zlib))
|
||||
(supported-systems
|
||||
(cons "riscv64-linux" (package-supported-systems node-bootstrap)))
|
||||
(properties (alist-delete 'hidden? (package-properties node-bootstrap)))))
|
||||
@@ -993,6 +1003,6 @@ source files.")
|
||||
`(cons* "--shared" "--without-npm" ,flags))
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'fix-node-gyp-reference)
|
||||
(delete 'install-npmrc)
|
||||
(delete 'patch-nested-shebangs)
|
||||
(delete 'ignore-number-of-hardlinks)))))))
|
||||
|
||||
+60
-2
@@ -31,6 +31,7 @@
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
@@ -46,13 +47,16 @@
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages scanner)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages image))
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public ocrad
|
||||
(package
|
||||
@@ -75,6 +79,60 @@ feature extraction method. It can read images in PBM, PGM or PPM formats and
|
||||
it produces text in 8-bit or UTF-8 formats.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pytesseract
|
||||
(package
|
||||
(name "python-pytesseract")
|
||||
(version "0.3.13")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/madmaze/pytesseract")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "16arn7ygk7ain5j5ayjcy10y6yhwfcc090i3r8q553m89rr1w0w1"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(map (lambda (name)
|
||||
(string-append "--deselect=tests/pytesseract_test.py::" name))
|
||||
;; These tests cannot find generated files
|
||||
'("test_image_to_pdf_or_hocr[pdf]"
|
||||
"test_run_and_get_multiple_output[extensions0]"
|
||||
"test_run_and_get_multiple_output[extensions1]"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-tesseract-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "pytesseract/pytesseract.py"
|
||||
(("tesseract_cmd = 'tesseract'")
|
||||
(format #f "tesseract_cmd = '~a'"
|
||||
(search-input-file inputs "/bin/tesseract"))))))
|
||||
(add-before 'check 'set-tessdata-prefix
|
||||
(lambda _
|
||||
(setenv "TESSDATA_PREFIX"
|
||||
;; needs "fra" language
|
||||
(string-append #$(this-package-native-input
|
||||
"tesseract-ocr-tessdata-fast")
|
||||
"/share/tessdata")))))))
|
||||
(native-inputs (list python-numpy
|
||||
python-packaging
|
||||
python-pandas
|
||||
python-pytest
|
||||
python-setuptools
|
||||
tesseract-ocr
|
||||
tesseract-ocr-tessdata-fast))
|
||||
(inputs (list tesseract-ocr))
|
||||
(propagated-inputs (list python-pandas python-pillow))
|
||||
(home-page "https://github.com/madmaze/pytesseract")
|
||||
(synopsis "Python wrapper for Google's Tesseract-OCR")
|
||||
(description
|
||||
"This package provides @command{pytesseract} and Python wrapper library
|
||||
for Google's Tesseract-@acronym{OCR, optical character recognition}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public tesseract-ocr-tessdata-fast
|
||||
(package
|
||||
(name "tesseract-ocr-tessdata-fast")
|
||||
|
||||
+101
-148
@@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2026 Daniel Patrick Fahey <dpf@helmcontrol.ltd>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -18,6 +19,7 @@
|
||||
|
||||
(define-module (gnu packages opencog)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages databases)
|
||||
@@ -25,8 +27,12 @@
|
||||
#:use-module (gnu packages language)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
@@ -37,8 +43,8 @@
|
||||
(define-public cogutil
|
||||
;; The last release was in 2016. Other OpenCog packages require a later
|
||||
;; version.
|
||||
(let ((commit "b07b41b2eaf01627c78b27f1f28bb09ef7086f8e")
|
||||
(revision "1"))
|
||||
(let ((commit "64dca9083dcfa485dcb70fd6fe7ba1f80e0f4082")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "cogutil")
|
||||
(version (git-version "2.0.3" revision commit))
|
||||
@@ -50,10 +56,13 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ymmcrinp0prlxsmxmwdjjl4kgaj7wzq39d5b1q2apgg94yfdhqb"))))
|
||||
"01rr39sq9wakw1wnfzg7m4zl7g8qh3d35ww6q39irx19d6nq66h9"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Skip ldconfig, which requires root and is unnecessary in Guix.
|
||||
#:configure-flags
|
||||
#~(list "-DSKIP_LDCONF=ON")
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
@@ -69,7 +78,7 @@
|
||||
(invoke file))
|
||||
(find-files "tests" "UTest$"))))))))
|
||||
(inputs
|
||||
(list boost-1.83))
|
||||
(list boost))
|
||||
(native-inputs
|
||||
`(("cxxtest" ,cxxtest)
|
||||
("python" ,python-minimal)
|
||||
@@ -82,9 +91,9 @@ utilities use for typical programming tasks in multiple OpenCog projects.")
|
||||
(license (list license:agpl3 license:asl2.0)))))
|
||||
|
||||
(define-public atomspace
|
||||
;; The last release was in 2016 and doesn't build with our Boost package.
|
||||
(let ((commit "86c848dfc7135b3c47deb581f8da54a60f6711c9")
|
||||
(revision "1"))
|
||||
;; The last release was in 2016.
|
||||
(let ((commit "c8d633bf272b838c2132c21b7c8ddf169a18dd22")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "atomspace")
|
||||
(version (git-version "5.0.3" revision commit))
|
||||
@@ -96,15 +105,20 @@ utilities use for typical programming tasks in multiple OpenCog projects.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vxzhszb0z8081li38hid07a5axzxyflsmq1mcn4b1k4z1j8ggch"))))
|
||||
"0fdqmskjh9d7363ldwmh3zhwal847shm15nhb2nan4g4aqdmckrz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
|
||||
"/include/guile/2.2/")
|
||||
#~(list "-DSKIP_LDCONF=ON"
|
||||
(string-append "-DGUILE_INCLUDE_DIR=" #$guile-3.0.11
|
||||
"/include/guile/3.0/")
|
||||
(string-append "-DGUILE_SITE_DIR=" #$output
|
||||
"/share/guile/site/2.2/"))
|
||||
"/share/guile/site/3.0/")
|
||||
(string-append "-DGUILE_CCACHE_DIR=" #$output
|
||||
"/lib/guile/3.0/site-ccache")
|
||||
(string-append "-DPYTHON_INSTALL_PREFIX=" #$output
|
||||
"/lib/python3.11/site-packages"))
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
@@ -117,15 +131,15 @@ utilities use for typical programming tasks in multiple OpenCog projects.")
|
||||
#:tests? tests? #:test-target "tests" args)
|
||||
;; Failing tests.
|
||||
(for-each delete-file
|
||||
'("tests/matrix/VectorAPIUTest"
|
||||
"tests/scm/MultiAtomSpaceUTest"))
|
||||
'("tests/scm/MultiAtomSpaceUTest"))
|
||||
(setenv "GUILE_LOAD_PATH" ".:opencog/scm")
|
||||
(for-each invoke
|
||||
(find-files "tests" "UTest$"))))))))
|
||||
(inputs
|
||||
(list boost cogutil gmp guile-2.2 postgresql))
|
||||
(list boost cogutil gmp guile-3.0-latest postgresql))
|
||||
(native-inputs
|
||||
`(("cxxtest" ,cxxtest)
|
||||
("python-cython" ,python-cython)
|
||||
("python" ,python-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/opencog/atomspace/")
|
||||
@@ -138,10 +152,59 @@ ordinary distributed (graph) databases, providing a large variety of advanced
|
||||
features not otherwise available.")
|
||||
(license license:agpl3))))
|
||||
|
||||
(define-public atomspace-storage
|
||||
;; Storage backends for AtomSpace.
|
||||
(let ((commit "ecd88d673258e51f65cc0605400003affdf4d694")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "atomspace-storage")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/opencog/atomspace-storage")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12ssnc313cm5n8bc6zw53dkjm9crrry90lpsknzxafnm61mzcgx3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DSKIP_LDCONF=ON"
|
||||
(string-append "-DGUILE_INCLUDE_DIR=" #$guile-3.0.11
|
||||
"/include/guile/3.0/")
|
||||
(string-append "-DGUILE_SITE_DIR=" #$output
|
||||
"/share/guile/site/3.0/")
|
||||
(string-append "-DGUILE_CCACHE_DIR=" #$output
|
||||
"/lib/guile/3.0/site-ccache"))
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys #:rest args)
|
||||
(when tests?
|
||||
(apply (assoc-ref gnu:%standard-phases 'check)
|
||||
#:tests? tests? #:test-target "tests" args)
|
||||
(for-each invoke
|
||||
(find-files "tests" "UTest$"))))))))
|
||||
(inputs
|
||||
(list atomspace boost cogutil gmp guile-3.0-latest))
|
||||
(native-inputs
|
||||
(list cxxtest pkg-config python-minimal))
|
||||
(home-page "https://github.com/opencog/atomspace-storage")
|
||||
(synopsis "Storage backends for AtomSpace")
|
||||
(description "AtomSpace-Storage provides various storage backends
|
||||
for the AtomSpace hypergraph database.")
|
||||
(license license:agpl3))))
|
||||
|
||||
(define-public cogserver
|
||||
;; There are no releases.
|
||||
(let ((commit "ec5f3b9590db0f6a085b5d0320f5d3710e0f1635")
|
||||
(revision "2"))
|
||||
(let ((commit "3c4da0bd786262bd69a8306f9da88b13f0add1f2")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "cogserver")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -153,15 +216,21 @@ features not otherwise available.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1h0vcxb6n5dc654xqinqcxc7dxwcs6bsywgir8rhrqiykk760mzl"))))
|
||||
"0hfz9z44wpzrabs9fgxhv02jzn0i40di2ncbiizn03g7gccawds5"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;tests start network server and hang
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
|
||||
"/include/guile/2.2/")
|
||||
#~(list "-DSKIP_LDCONF=ON"
|
||||
(string-append "-DGUILE_INCLUDE_DIR=" #$guile-3.0.11
|
||||
"/include/guile/3.0/")
|
||||
(string-append "-DGUILE_SITE_DIR=" #$output
|
||||
"/share/guile/site/2.2/"))
|
||||
"/share/guile/site/3.0/")
|
||||
(string-append "-DGUILE_CCACHE_DIR=" #$output
|
||||
"/lib/guile/3.0/site-ccache")
|
||||
(string-append "-DPYTHON_INSTALL_PREFIX=" #$output
|
||||
"/lib/python3.11/site-packages"))
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
@@ -177,10 +246,13 @@ features not otherwise available.")
|
||||
(for-each invoke
|
||||
(find-files "tests" "UTest$"))))))))
|
||||
(inputs
|
||||
(list atomspace boost cogutil gmp guile-2.2))
|
||||
(list asio atomspace atomspace-storage boost cogutil
|
||||
gmp guile-3.0-latest jsoncpp openssl))
|
||||
(native-inputs
|
||||
`(("cxxtest" ,cxxtest)
|
||||
("python" ,python-minimal)
|
||||
("netcat" ,netcat-openbsd)
|
||||
("python" ,python)
|
||||
("python-cython" ,python-cython)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/opencog/cogserver/")
|
||||
(synopsis "OpenCog network server")
|
||||
@@ -188,129 +260,11 @@ features not otherwise available.")
|
||||
OpenCog framework.")
|
||||
(license license:agpl3))))
|
||||
|
||||
(define-public attention
|
||||
;; There are no releases.
|
||||
(let ((commit "87d43679280ce486cd6757765d2e1df6d502991d")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "attention")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/opencog/attention")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sndslphicv6w9qpag168rqkxq5sf71l5qbfx6zhsd5bzlf5fhwv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
|
||||
"/include/guile/2.2/")
|
||||
(string-append "-DGUILE_SITE_DIR=" #$output
|
||||
"/share/guile/site/2.2/"))
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys #:rest args)
|
||||
(when tests?
|
||||
(apply (assoc-ref gnu:%standard-phases 'check)
|
||||
#:tests? tests? #:test-target "tests" args)
|
||||
;; Failing tests.
|
||||
(for-each delete-file
|
||||
'("tests/attention/AttentionParamQueryUTest"
|
||||
"tests/attention/HebbianCreationModuleUTest"
|
||||
"tests/attention/ImportanceDiffusionUTest"))
|
||||
(for-each invoke
|
||||
(find-files "tests" "UTest$"))))))))
|
||||
(inputs
|
||||
(list atomspace
|
||||
boost
|
||||
cogserver
|
||||
cogutil
|
||||
gmp
|
||||
guile-2.2))
|
||||
(native-inputs
|
||||
`(("cxxtest" ,cxxtest)
|
||||
("python" ,python-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/opencog/attention/")
|
||||
(synopsis "OpenCog attention allocation subsystem")
|
||||
(description "Attention Allocation is an OpenCog subsystem meant to
|
||||
control the application of processing and memory resources to specific
|
||||
tasks.")
|
||||
(license license:agpl3))))
|
||||
|
||||
(define-public opencog
|
||||
;; There are no recent releases.
|
||||
(let ((commit "ceac90507610cb2d0ee98f97a2086865292b1204")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "opencog")
|
||||
(version (git-version "0.1.4" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/opencog/opencog")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j8wv910fvrmph370wv5pv2f4bc2s9vl6i7bw3pkmwbdhxkhjbhm"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "-DGUILE_INCLUDE_DIR=" #$guile-2.2
|
||||
"/include/guile/2.2/")
|
||||
(string-append "-DGUILE_SITE_DIR=" #$output
|
||||
"/share/guile/site/2.2/"))
|
||||
#:modules '((guix build cmake-build-system)
|
||||
((guix build gnu-build-system) #:prefix gnu:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys #:rest args)
|
||||
(when tests?
|
||||
(apply (assoc-ref gnu:%standard-phases 'check)
|
||||
#:tests? tests? #:test-target "tests" args)
|
||||
(for-each invoke
|
||||
(find-files "tests" "UTest$"))))))))
|
||||
(inputs
|
||||
`(("attention" ,attention)
|
||||
("atomspace" ,atomspace)
|
||||
("boost" ,boost)
|
||||
("cogserver" ,cogserver)
|
||||
("cogutil" ,cogutil)
|
||||
("gmp" ,gmp)
|
||||
("guile" ,guile-2.2)
|
||||
("libuuid" ,util-linux "lib")
|
||||
("link-grammar" ,link-grammar)))
|
||||
(native-inputs
|
||||
`(("cxxtest" ,cxxtest)
|
||||
("python" ,python-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/opencog/attention/")
|
||||
(synopsis "Framework for integrated artificial intelligence")
|
||||
(description "OpenCog is a framework for developing AI systems,
|
||||
especially appropriate for integrative multi-algorithm systems, and artificial
|
||||
general intelligence systems. It currently contains a functional core
|
||||
framework, and a number of cognitive agents at varying levels of completion,
|
||||
some already displaying interesting and useful functionalities alone and in
|
||||
combination.")
|
||||
(license license:agpl3))))
|
||||
|
||||
(define-public agi-bio
|
||||
;; There are no releases.
|
||||
(let ((commit "b5c6f3d99e8cca3798bf0cdf2c32f4bdb8098efb")
|
||||
(revision "1"))
|
||||
(let ((commit "2f723ad79afc38df9dce73d340ee24c38efb2199")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "agi-bio")
|
||||
(version (git-version "0" revision commit))
|
||||
@@ -322,7 +276,7 @@ combination.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0c3q0nhmd03nvqm1ih10y28n596cjvfhkcfvzw2fmz1sn3ywdah4"))))
|
||||
"1gqmwjbqdjr0qz4wpsxh0k8wam59fvd3pnjxhfswdpvapcl9syk0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are none
|
||||
@@ -330,10 +284,10 @@ combination.")
|
||||
(list
|
||||
(string-append "-DGUILE_INCLUDE_DIR="
|
||||
(assoc-ref %build-inputs "guile")
|
||||
"/include/guile/2.2/")
|
||||
"/include/guile/3.0/")
|
||||
(string-append "-DGUILE_SITE_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.2/"))
|
||||
"/share/guile/site/3.0/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-unqualified-load
|
||||
@@ -342,10 +296,9 @@ combination.")
|
||||
(("\\(load \"bioscience/types/bioscience_types.scm\"\\)")
|
||||
(format #f "(load \"~a/bioscience/types/bioscience_types.scm\")"
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/guile/site/2.2/opencog"))))
|
||||
#t)))))
|
||||
"/share/guile/site/3.0/opencog")))))))))
|
||||
(inputs
|
||||
(list atomspace cogutil gmp guile-2.2))
|
||||
(list atomspace cogutil gmp guile-3.0-latest))
|
||||
(native-inputs
|
||||
`(("cxxtest" ,cxxtest)
|
||||
("python" ,python-minimal)
|
||||
|
||||
@@ -767,7 +767,7 @@ which are indicated in the file name.")
|
||||
(define-public guix-modules
|
||||
(package
|
||||
(name "guix-modules")
|
||||
(version "0.3.0")
|
||||
(version "0.4.0")
|
||||
(home-page "https://codeberg.org/guix-science/guix-modules")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
@@ -776,7 +776,7 @@ which are indicated in the file name.")
|
||||
(file-name (string-append "guix-modules-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cdpxmhrbbazr4z53rpk6ssk3clpv4j16ivha7lr4nqg48mxha9q"))))
|
||||
"1zmbd04y69gcak43rnizk8vjgpxhv5m67k3z4fk9cyiymcs872ky"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
||||
+82
-68
@@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2023 Wamm K. D. <jaft.r@outlook.com>
|
||||
;;; Copyright © 2023, 2024 altadil <Altadil@protonmail.com>
|
||||
;;; Copyright © 2024 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2026 Sughosha <sughosha@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -51,7 +52,7 @@
|
||||
(define-public granite
|
||||
(package
|
||||
(name "granite")
|
||||
(version "7.3.0")
|
||||
(version "7.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -60,13 +61,19 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pyvkif2kin5dskh7adadsh4r96mvx12y7cs6gnm0ml733q548dj"))))
|
||||
"01s37b6ssfhawbzxzq5yyjcxq9m2qf16q0h4g4vfhj1c6f4l8khy"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-icon-cache
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/"))))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-Ddemo=false") ;requires libshumate
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-icon-cache
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false")))))))
|
||||
(inputs (list sassc))
|
||||
(propagated-inputs (list glib libgee gtk)) ;required in .pc file
|
||||
(native-inputs (list gettext-minimal
|
||||
@@ -96,12 +103,21 @@ in apps built for the Pantheon desktop.")
|
||||
(sha256
|
||||
(base32
|
||||
"0ilslmg63hh2x7h5rvs3mhzw1y9ixhhkqnn1j1lzwm12v2iidkaq"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:configure-flags _ '())
|
||||
#~'())
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'disable-icon-cache
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/")))))))
|
||||
(propagated-inputs (list glib libgee gtk+))))
|
||||
|
||||
(define-public pantheon-calculator
|
||||
(package
|
||||
(name "pantheon-calculator")
|
||||
(version "8.0.0")
|
||||
(version "8.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -111,7 +127,7 @@ in apps built for the Pantheon desktop.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1as5rxd0b6z3lnh8my36szr056rxxqwkjzvaiylspx5g2kg3qjs0"))))
|
||||
"157a2xryp9013m5grr3brfrs6hqz2ndg0ys8h0184am5zvg9w4sw"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -142,7 +158,7 @@ desktop.")
|
||||
(define-public pantheon-calendar
|
||||
(package
|
||||
(name "pantheon-calendar")
|
||||
(version "8.0.0")
|
||||
(version "8.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -152,7 +168,7 @@ desktop.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bynv5gnfs4sdr5ngd1c8jh42fkiw4gl5064fb579hws2jniy540"))))
|
||||
"0344wr5ka2cfkr46vrclh1w9nhrrznn0jbb5g95dfww2czrp6iwj"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -161,12 +177,13 @@ desktop.")
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'set-environment-variables
|
||||
(lambda _
|
||||
;; Disable compiling schemas and updating desktop databases
|
||||
(setenv "DESTDIR" "/")))
|
||||
(add-after 'unpack 'disable-icon-cache
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false"))))
|
||||
(add-after 'install 'install-symlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output
|
||||
"/bin/io.elementary.calendar"))
|
||||
(link (string-append #$output "/bin/pantheon-calendar")))
|
||||
@@ -200,7 +217,7 @@ elementary OS.")
|
||||
(define-public pantheon-icons
|
||||
(package
|
||||
(name "pantheon-icons")
|
||||
(version "8.1.0")
|
||||
(version "8.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -209,7 +226,7 @@ elementary OS.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1yvjisvcjdpgibnc5l5cm16rw53zffinp1pvknlllz8wcdylqnss"))))
|
||||
(base32 "04x8r1kknm7iswlg71da24aqqgrs494mivdx3jx1wz1jz5wzxnwy"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-Dvolume_icons=false"
|
||||
@@ -217,7 +234,7 @@ elementary OS.")
|
||||
(native-inputs (list gettext-minimal ;for msgfmt
|
||||
librsvg
|
||||
xcursorgen))
|
||||
(propagated-inputs (list hicolor-icon-theme))
|
||||
(propagated-inputs (list adwaita-icon-theme))
|
||||
(synopsis "Named, vector icons for the pantheon desktop")
|
||||
(description
|
||||
"pantheon-icons is an original set of vector icons designed
|
||||
@@ -228,7 +245,7 @@ for elementary OS and its desktop environment: Pantheon.")
|
||||
(define-public pantheon-photos
|
||||
(package
|
||||
(name "pantheon-photos")
|
||||
(version "8.0.0")
|
||||
(version "8.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -237,18 +254,20 @@ for elementary OS and its desktop environment: Pantheon.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z3b582y093x6pb3bl7zs4w97vg88rflyhwxfaycxw0rv8pcshhi"))))
|
||||
(base32 "15ppxzbj882i2hpm88nn5azijhmgjc9js07i3wdpick2ciw83apr"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-schema-cache-generation
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/")))
|
||||
(add-after 'unpack 'disable-icon-cache
|
||||
(lambda _
|
||||
(substitute* "meson.build"
|
||||
(("gtk_update_icon_cache: true")
|
||||
"gtk_update_icon_cache: false"))))
|
||||
(add-after 'install 'install-symlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output
|
||||
"/bin/io.elementary.photos"))
|
||||
(link (string-append #$output "/bin/pantheon-photos")))
|
||||
@@ -290,7 +309,7 @@ also be used on others.")
|
||||
(define-public pantheon-screenshot
|
||||
(package
|
||||
(name "pantheon-screenshot")
|
||||
(version "8.0.1")
|
||||
(version "8.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -299,7 +318,7 @@ also be used on others.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h3xv0pckkkgvqkk6fxssydq9gmncapaf1hx4n7j19jcvhwx65da"))))
|
||||
(base32 "0ib6g47pykpscfazd12gssxv6in0v4jlcn8lfp0i1g0i4ap36ml5"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -309,7 +328,7 @@ also be used on others.")
|
||||
(add-after 'unpack 'disable-schema-cache-generation
|
||||
(lambda _ (setenv "DESTDIR" "/")))
|
||||
(add-after 'install 'install-symlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(let* ((bin (string-append #$output
|
||||
"/bin/io.elementary.screenshot"))
|
||||
(link (string-append #$output
|
||||
@@ -336,7 +355,7 @@ the Pantheon desktop environment.")
|
||||
(define-public pantheon-stylesheet
|
||||
(package
|
||||
(name "pantheon-stylesheet")
|
||||
(version "8.1.0")
|
||||
(version "8.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -345,7 +364,7 @@ the Pantheon desktop environment.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1h8k75m9jrqxwq0py8hrqrsc83myrwpmnrwx05aljdyr6sys06k6"))))
|
||||
(base32 "065zzv1b39i0j775kc60cywiwizw2rckg2kildfhs4mp81yswdv6"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gettext-minimal)) ;for msgfmt
|
||||
(inputs (list sassc))
|
||||
@@ -358,7 +377,7 @@ desktop environment (originally from elementary OS).")
|
||||
(define-public pantheon-terminal
|
||||
(package
|
||||
(name "pantheon-terminal")
|
||||
(version "6.3.1")
|
||||
(version "8.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -367,7 +386,7 @@ desktop environment (originally from elementary OS).")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"142nwx2jc7ks529dk8dqhgs39gdqh6bc7gv9b10qdfm81bwqjkjv"))))
|
||||
"0kldk74rmifgbf2wq9qbzv414dl4mgf94mzr5a4i2cags4rxlci3"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -375,10 +394,6 @@ desktop environment (originally from elementary OS).")
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'set-environment-variables
|
||||
(lambda _
|
||||
;; Disable compiling schemas and updating desktop databases
|
||||
(setenv "DESTDIR" "/")))
|
||||
(add-after 'install 'install-symlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((bin (string-append #$output
|
||||
@@ -393,12 +408,13 @@ desktop environment (originally from elementary OS).")
|
||||
pkg-config
|
||||
vala
|
||||
xvfb-run))
|
||||
(inputs (list granite-6
|
||||
gtk+
|
||||
(inputs (list granite
|
||||
gtk
|
||||
libadwaita
|
||||
libgee
|
||||
libhandy
|
||||
pcre2
|
||||
vte/gtk+-3))
|
||||
vte))
|
||||
(synopsis "Terminal emulator from elementaryOS")
|
||||
(description "pantheon-terminal is a lightweight, beautiful and simple
|
||||
terminal. It comes with sane defaults, browser-class tabs, sudo paste
|
||||
@@ -410,7 +426,7 @@ terminal in the Pantheon desktop.")
|
||||
(define-public sideload
|
||||
(package
|
||||
(name "sideload")
|
||||
(version "6.2.1")
|
||||
(version "6.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -420,42 +436,40 @@ terminal in the Pantheon desktop.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vrj91899f13cvzpycqy3y74hmixsffjbzsj29da7n370fa3ci86"))))
|
||||
"0hn9gnzr25i0k6b81ia6c73lqmr43grfdwn18sfp8xhjiqlqqmlq"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'set-environment-variables
|
||||
(lambda _
|
||||
;; Disable compiling schemas and updating desktop databases
|
||||
(setenv "DESTDIR" "/")))
|
||||
(add-after 'install 'install-symlinks
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin/io.elementary.sideload"))
|
||||
(link (string-append out "/bin/sideload")))
|
||||
(symlink bin link)))))))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-symlinks
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output
|
||||
"/bin/io.elementary.sideload"))
|
||||
(link (string-append #$output "/bin/sideload")))
|
||||
(symlink bin link)))))))
|
||||
(inputs
|
||||
`(("flatpak" ,flatpak)
|
||||
("glib" ,glib)
|
||||
("granite" ,granite)
|
||||
("gtk" ,gtk+)
|
||||
("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||
("libgee" ,libgee)
|
||||
("libhandy" ,libhandy)
|
||||
("libostree" ,libostree)
|
||||
("libxml2" ,libxml2)))
|
||||
(list flatpak
|
||||
glib
|
||||
granite
|
||||
gtk+
|
||||
hicolor-icon-theme
|
||||
libgee
|
||||
libhandy
|
||||
libostree
|
||||
libxml2))
|
||||
(propagated-inputs
|
||||
;; Sideload needs these in the environment to fetch data securely from
|
||||
;; Flatpak remotes.
|
||||
(list gnupg gpgme))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("pkg-config" ,pkg-config)
|
||||
("vala" ,vala)))
|
||||
(list desktop-file-utils ;for update-desktop-database
|
||||
gettext-minimal
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
vala))
|
||||
(home-page "https://github.com/elementary/sideload")
|
||||
(synopsis "Graphical application to side-load Flatpaks")
|
||||
(description "Sideload handles flatpakref files, like those you might find
|
||||
@@ -466,7 +480,7 @@ download.")
|
||||
(define-public pantheon-wallpapers
|
||||
(package
|
||||
(name "pantheon-wallpapers")
|
||||
(version "7.0.0")
|
||||
(version "8.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -474,7 +488,7 @@ download.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"0km3h52kapbm8ymwxdxasz80qbgzkfni7981pdyf740wjp7linwb"))))
|
||||
"163y98x0vc8icmd5prrjja7sp3clp8apvx0ha2shiaymxnprifm9"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list gettext-minimal)) ; for msgfmt
|
||||
(inputs (list libexif))
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
origin patch from nixos.
|
||||
see: https://raw.githubusercontent.com/NixOS/nixpkgs/d916df777523d75f7c5acca79946652f032f633e/pkgs/by-name/ct/ctune/cmake_disable_git_clone.patch
|
||||
|
||||
diff --git a/CMakeLists.txt.orig b/CMakeLists.txt
|
||||
index ac0488e..a3724bc 100644
|
||||
--- a/CMakeLists.txt.orig
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -50,14 +50,6 @@ include(FetchContent)
|
||||
|
||||
set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
|
||||
-#========================================== PRE-CHECKS ============================================#
|
||||
-include(FindGit)
|
||||
-find_package(Git)
|
||||
-
|
||||
-if (NOT Git_FOUND)
|
||||
- message(FATAL_ERROR "Required package 'Git' not found on system.")
|
||||
-endif ()
|
||||
-
|
||||
#======================================== LIB IMPORTS =============================================#
|
||||
# ======= #
|
||||
# OpenSSL #
|
||||
@@ -65,40 +57,17 @@ endif ()
|
||||
find_package(OpenSSL REQUIRED)
|
||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
||||
|
||||
-# ============== #
|
||||
-# JSON-C library #
|
||||
-# ============== #
|
||||
-set(JSONC_DOWNLOAD_PATH "${TEMP_DIR_PATH}/libjsonc")
|
||||
-set(JSONC_INSTALL_PATH "${CMAKE_EXTERNAL_OUTPUT_DIRECTORY}")
|
||||
-
|
||||
-add_custom_target(make-jsonc-install-dir ALL
|
||||
- COMMAND ${CMAKE_COMMAND} -E make_directory ${JSONC_INSTALL_PATH}
|
||||
-)
|
||||
-
|
||||
-ExternalProject_Add(libjsonc
|
||||
- PREFIX "${JSONC_DOWNLOAD_PATH}"
|
||||
- SOURCE_DIR "${JSONC_DOWNLOAD_PATH}/src/libjsonc-build"
|
||||
- GIT_REPOSITORY "https://github.com/json-c/json-c.git"
|
||||
- GIT_TAG "json-c-0.18-20240915"
|
||||
- CMAKE_ARGS "-DBUILD_STATIC_LIBS=ON"
|
||||
- "-DBUILD_SHARED_LIBS=OFF"
|
||||
- "-DCMAKE_INSTALL_PREFIX:PATH=${JSONC_INSTALL_PATH}"
|
||||
- "-DHAVE_ARC4RANDOM=OFF"
|
||||
- "-DCMAKE_BUILD_TYPE=release"
|
||||
- "-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
-)
|
||||
-
|
||||
-set(JSONC_LIBRARIES
|
||||
- ${CMAKE_EXTERNAL_OUTPUT_DIRECTORY}/lib/libjson-c.a
|
||||
-# bsd
|
||||
-)
|
||||
-
|
||||
# ============ #
|
||||
# Curl library #
|
||||
# ============ #
|
||||
find_package(CURL REQUIRED)
|
||||
include_directories(${CURL_INCLUDE_DIR})
|
||||
|
||||
+find_package(PkgConfig REQUIRED)
|
||||
+pkg_check_modules(JSONC REQUIRED json-c)
|
||||
+include_directories(${JSONC_INCLUDE_DIRS})
|
||||
+
|
||||
+
|
||||
# ================================ #
|
||||
# nCurses - for the user interface #
|
||||
# ================================ #
|
||||
@@ -410,7 +379,7 @@ add_subdirectory(docs)
|
||||
#endforeach()
|
||||
|
||||
add_executable(ctune ${SOURCE_FILES})
|
||||
-add_dependencies(ctune ctune_logger libjsonc)
|
||||
+add_dependencies(ctune ctune_logger)
|
||||
include_directories(${CMAKE_EXTERNAL_OUTPUT_DIRECTORY}/include)
|
||||
|
||||
add_dependencies(ctune ${CTUNE_PLUGIN_LIST_AUDIO_PLAYER})
|
||||
@@ -450,4 +419,4 @@ if(TARGET uninstall)
|
||||
|
||||
add_custom_target(uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMakeUninstall.cmake)
|
||||
-endif()
|
||||
\ No newline at end of file
|
||||
+endif()
|
||||
@@ -1,26 +0,0 @@
|
||||
This makes the cvc5 build reproducible.
|
||||
|
||||
See: https://github.com/cvc5/cvc5/pull/12580
|
||||
|
||||
diff --git a/src/options/mkoptions.py b/src/options/mkoptions.py
|
||||
index 5bd9f0da1..d1fc2e6fa 100644
|
||||
--- a/src/options/mkoptions.py
|
||||
+++ b/src/options/mkoptions.py
|
||||
@@ -281,7 +281,7 @@ def generate_public_includes(modules):
|
||||
headers.add(format_include("<unordered_map>"))
|
||||
for _, option in all_options(modules):
|
||||
headers.update([format_include(x) for x in option.includes])
|
||||
- return '\n'.join(headers)
|
||||
+ return '\n'.join(sorted(headers))
|
||||
|
||||
|
||||
def generate_option_enum_and_table(modules):
|
||||
@@ -307,7 +307,7 @@ def generate_option_enum_and_table(modules):
|
||||
for module, option in all_options(modules, True):
|
||||
if not option.long:
|
||||
continue
|
||||
- for name in option.names:
|
||||
+ for name in sorted(option.names):
|
||||
res.append(' {{ \"{}\", OptionEnum::{} }},'
|
||||
.format(name, option.enum_name()))
|
||||
res.append('};')
|
||||
@@ -1,165 +0,0 @@
|
||||
Ensures that cvc5 is compatible with our version of SymFPU.
|
||||
|
||||
Taken from: https://github.com/cvc5/cvc5/commit/2ed457049cf52bd0f21a6332c1be487d82bf5678
|
||||
|
||||
diff --git a/cmake/FindSymFPU.cmake b/cmake/FindSymFPU.cmake
|
||||
index 765ee8d36..05a86e9ee 100644
|
||||
--- a/cmake/FindSymFPU.cmake
|
||||
+++ b/cmake/FindSymFPU.cmake
|
||||
@@ -29,8 +29,8 @@ if(NOT SymFPU_FOUND_SYSTEM)
|
||||
include(ExternalProject)
|
||||
include(deps-helper)
|
||||
|
||||
- set(SymFPU_COMMIT "e6ac3af9c2c574498ea171c957425b407625448b")
|
||||
- set(SymFPU_CHECKSUM "823aa663fcc2f6844ae5e9ea83ceda4ed393cdb3dadefce9b3c7c41cd0f4f702")
|
||||
+ set(SymFPU_COMMIT "227a7246b8ce513b393cc2645d6d65d3490ea1de")
|
||||
+ set(SymFPU_CHECKSUM "ff22e37dbc133120ada5760878974811737bec65b12a8883f92b1ed9e3f96e99")
|
||||
|
||||
ExternalProject_Add(
|
||||
SymFPU-EP
|
||||
diff --git a/src/theory/fp/fp_word_blaster.cpp b/src/theory/fp/fp_word_blaster.cpp
|
||||
index 7f2086c35..3efb0eeed 100644
|
||||
--- a/src/theory/fp/fp_word_blaster.cpp
|
||||
+++ b/src/theory/fp/fp_word_blaster.cpp
|
||||
@@ -119,6 +119,23 @@ CVC5_SYM_ITE_DFN(traits::ubv);
|
||||
|
||||
#undef CVC5_SYM_ITE_DFN
|
||||
|
||||
+#define CVC5_SYM_ITE_BOOL_DFN(T) \
|
||||
+ template <> \
|
||||
+ struct ite<bool, T> \
|
||||
+ { \
|
||||
+ static const T iteOp(const bool& cond, const T& l, const T& r) \
|
||||
+ { \
|
||||
+ return cond ? l : r; \
|
||||
+ } \
|
||||
+ }
|
||||
+
|
||||
+CVC5_SYM_ITE_BOOL_DFN(traits::rm);
|
||||
+CVC5_SYM_ITE_BOOL_DFN(traits::prop);
|
||||
+CVC5_SYM_ITE_BOOL_DFN(traits::sbv);
|
||||
+CVC5_SYM_ITE_BOOL_DFN(traits::ubv);
|
||||
+
|
||||
+#undef CVC5_SYM_ITE_BOOL_DFN
|
||||
+
|
||||
template <>
|
||||
traits::ubv orderEncode<traits, traits::ubv>(const traits::ubv& b)
|
||||
{
|
||||
@@ -564,6 +581,13 @@ symbolicBitVector<isSigned> symbolicBitVector<isSigned>::modularAdd(
|
||||
return *this + op;
|
||||
}
|
||||
|
||||
+template <bool isSigned>
|
||||
+symbolicBitVector<isSigned> symbolicBitVector<isSigned>::modularSubtract(
|
||||
+ const symbolicBitVector<isSigned>& op) const
|
||||
+{
|
||||
+ return *this - op;
|
||||
+}
|
||||
+
|
||||
template <bool isSigned>
|
||||
symbolicBitVector<isSigned> symbolicBitVector<isSigned>::modularNegate() const
|
||||
{
|
||||
diff --git a/src/theory/fp/fp_word_blaster.h b/src/theory/fp/fp_word_blaster.h
|
||||
index 6ce365382..8179ceb32 100644
|
||||
--- a/src/theory/fp/fp_word_blaster.h
|
||||
+++ b/src/theory/fp/fp_word_blaster.h
|
||||
@@ -242,6 +242,8 @@ class symbolicBitVector : public nodeWrapper
|
||||
symbolicBitVector<isSigned> modularDecrement() const;
|
||||
symbolicBitVector<isSigned> modularAdd(
|
||||
const symbolicBitVector<isSigned>& op) const;
|
||||
+ symbolicBitVector<isSigned> modularSubtract(
|
||||
+ const symbolicBitVector<isSigned>& op) const;
|
||||
symbolicBitVector<isSigned> modularNegate() const;
|
||||
|
||||
/*** Comparisons ***/
|
||||
diff --git a/src/util/floatingpoint_literal_symfpu_traits.cpp b/src/util/floatingpoint_literal_symfpu_traits.cpp
|
||||
index af56c2b87..181069427 100644
|
||||
--- a/src/util/floatingpoint_literal_symfpu_traits.cpp
|
||||
+++ b/src/util/floatingpoint_literal_symfpu_traits.cpp
|
||||
@@ -223,6 +223,13 @@ wrappedBitVector<isSigned> wrappedBitVector<isSigned>::modularAdd(
|
||||
return *this + op;
|
||||
}
|
||||
|
||||
+template <bool isSigned>
|
||||
+wrappedBitVector<isSigned> wrappedBitVector<isSigned>::modularSubtract(
|
||||
+ const wrappedBitVector<isSigned>& op) const
|
||||
+{
|
||||
+ return *this - op;
|
||||
+}
|
||||
+
|
||||
template <bool isSigned>
|
||||
wrappedBitVector<isSigned> wrappedBitVector<isSigned>::modularNegate() const
|
||||
{
|
||||
diff --git a/src/util/floatingpoint_literal_symfpu_traits.h b/src/util/floatingpoint_literal_symfpu_traits.h
|
||||
index 78fc69a18..b49ef3a2a 100644
|
||||
--- a/src/util/floatingpoint_literal_symfpu_traits.h
|
||||
+++ b/src/util/floatingpoint_literal_symfpu_traits.h
|
||||
@@ -199,6 +199,8 @@ class wrappedBitVector : public BitVector
|
||||
wrappedBitVector<isSigned> modularDecrement() const;
|
||||
wrappedBitVector<isSigned> modularAdd(
|
||||
const wrappedBitVector<isSigned>& op) const;
|
||||
+ wrappedBitVector<isSigned> modularSubtract(
|
||||
+ const wrappedBitVector<isSigned>& op) const;
|
||||
wrappedBitVector<isSigned> modularNegate() const;
|
||||
|
||||
/** Bit-vector equality. */
|
||||
diff --git a/test/regress/cli/CMakeLists.txt b/test/regress/cli/CMakeLists.txt
|
||||
index 915a19e09..35ff58bc7 100644
|
||||
--- a/test/regress/cli/CMakeLists.txt
|
||||
+++ b/test/regress/cli/CMakeLists.txt
|
||||
@@ -949,12 +949,15 @@ set(regress_0_tests
|
||||
regress0/fp/issue6164.smt2
|
||||
regress0/fp/issue7002.smt2
|
||||
regress0/fp/issue7569.smt2
|
||||
+ regress0/fp/issue9505.smt2
|
||||
regress0/fp/issue9854.smt2
|
||||
regress0/fp/issue9858.smt2
|
||||
regress0/fp/issue9864.smt2
|
||||
regress0/fp/issue9966.smt2
|
||||
regress0/fp/issue9972.smt2
|
||||
regress0/fp/issue9972-2.smt2
|
||||
+ regress0/fp/issue11139.smt2
|
||||
+ regress0/fp/issue12335.smt2
|
||||
regress0/fp/issuepr650.smt2
|
||||
regress0/fp/proj-issue329-prereg-context.smt2
|
||||
regress0/fp/proj-issue477-fp-set-comprehension.smt2
|
||||
diff --git a/test/regress/cli/regress0/fp/issue11139.smt2 b/test/regress/cli/regress0/fp/issue11139.smt2
|
||||
new file mode 100644
|
||||
index 000000000..f4c00360e
|
||||
--- /dev/null
|
||||
+++ b/test/regress/cli/regress0/fp/issue11139.smt2
|
||||
@@ -0,0 +1,9 @@
|
||||
+; COMMAND-LINE: --check-models
|
||||
+; EXPECT: sat
|
||||
+(set-logic QF_FP)
|
||||
+(declare-const FP_VAR_a (_ FloatingPoint 11 53))
|
||||
+(declare-const FP_VAR_b (_ FloatingPoint 11 53))
|
||||
+(assert ( = (fp #b0 #b00000000000 #b0000000000000000000000000000000000000000000000000000)
|
||||
+(fp.div RTN (fp.fma RTP FP_VAR_a FP_VAR_a
|
||||
+(fp #b0 #b00000000000 #b0000000000000000000000000000000000000000000000000000)) FP_VAR_b)))
|
||||
+(check-sat)
|
||||
diff --git a/test/regress/cli/regress0/fp/issue12335.smt2 b/test/regress/cli/regress0/fp/issue12335.smt2
|
||||
new file mode 100644
|
||||
index 000000000..bc2580a89
|
||||
--- /dev/null
|
||||
+++ b/test/regress/cli/regress0/fp/issue12335.smt2
|
||||
@@ -0,0 +1,7 @@
|
||||
+; EXPECT: sat
|
||||
+(set-logic FP)
|
||||
+(declare-const x Float32)
|
||||
+(declare-const a Float32)
|
||||
+(assert (forall ((V Float32) (A Float32)) (or (not (fp.lt V x)) (not (fp.eq a a)) (not (fp.gt A (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))) (not (fp.eq (fp.div RNE A V) (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)))))))
|
||||
+(assert (fp.geq a (fp (_ bv0 1) (_ bv0 8) (_ bv0 23))))
|
||||
+(check-sat)
|
||||
diff --git a/test/regress/cli/regress0/fp/issue9505.smt2 b/test/regress/cli/regress0/fp/issue9505.smt2
|
||||
new file mode 100644
|
||||
index 000000000..05674b8ff
|
||||
--- /dev/null
|
||||
+++ b/test/regress/cli/regress0/fp/issue9505.smt2
|
||||
@@ -0,0 +1,6 @@
|
||||
+; COMMAND-LINE: --fp-exp
|
||||
+; EXPECT: sat
|
||||
+(set-logic QF_FP)
|
||||
+(declare-fun m () (_ FloatingPoint 4 12))
|
||||
+(assert (fp.eq (fp (_ bv0 1) (_ bv0 8) (_ bv0 23)) ((_ to_fp 8 24) roundNearestTiesToEven (fp.rem m (fp (_ bv0 1) (_ bv9 4) (_ bv1536 11))))))
|
||||
+(check-sat)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,173 @@
|
||||
For bootstrapping gdc.
|
||||
|
||||
The change for gcc/config/i386/t-linux is to fix the libdir on
|
||||
x86_64-gnu. It is based on the 'pre-x86-configure phase for gcc-14.
|
||||
|
||||
The main part is gcc commit 5f8950b403f6351f125d8281d2e7430a43e7d125
|
||||
rebased for gcc 11.5.
|
||||
|
||||
From 5f8950b403f6351f125d8281d2e7430a43e7d125 Mon Sep 17 00:00:00 2001
|
||||
From: Flavio Cruz <flaviocruz@gmail.com>
|
||||
Date: Thu, 26 Jan 2023 22:45:27 -0500
|
||||
Subject: [PATCH] Add support for x86_64-*-gnu-* targets to build x86_64
|
||||
gnumach/hurd
|
||||
|
||||
Tested by building a toolchain and compiling gnumach for x86_64 [1].
|
||||
This is the basic version without unwind support which I think is only
|
||||
required to implement exceptions.
|
||||
|
||||
[1]
|
||||
https://github.com/flavioc/cross-hurd/blob/master/bootstrap-kernel.sh.
|
||||
|
||||
gcc/ChangeLog:
|
||||
* config.gcc: Recognize x86_64-*-gnu* targets and include
|
||||
i386/gnu64.h.
|
||||
* config/i386/gnu64.h: Define configuration for new target
|
||||
including ld.so location.
|
||||
|
||||
libgcc/ChangeLog:
|
||||
* config.host: Recognize x86_64-*-gnu* targets.
|
||||
* config/i386/gnu-unwind.h: Update to handle __x86_64__ with a
|
||||
TODO for now.
|
||||
|
||||
Signed-off-by: Flavio Cruz <flaviocruz@gmail.com>
|
||||
---
|
||||
gcc/config.gcc | 5 ++++-
|
||||
gcc/config/i386/gnu64.h | 40 +++++++++++++++++++++++++++++++++
|
||||
libgcc/config.host | 8 ++++++-
|
||||
libgcc/config/i386/gnu-unwind.h | 10 +++++++++
|
||||
4 files changed, 61 insertions(+), 2 deletions(-)
|
||||
create mode 100644 gcc/config/i386/gnu64.h
|
||||
|
||||
Index: gcc-11.5.0/gcc/config.gcc
|
||||
===================================================================
|
||||
--- gcc-11.5.0.orig/gcc/config.gcc
|
||||
+++ gcc-11.5.0/gcc/config.gcc
|
||||
@@ -2020,7 +2020,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfree
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
|
||||
+x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-gnu*)
|
||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h gnu-user.h glibc-stdint.h \
|
||||
i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
|
||||
case ${target} in
|
||||
@@ -2031,6 +2031,9 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu
|
||||
x86_64-*-kfreebsd*-gnu)
|
||||
tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"
|
||||
;;
|
||||
+ x86_64-*-gnu*)
|
||||
+ tm_file="${tm_file} gnu.h i386/gnu64.h"
|
||||
+ ;;
|
||||
esac
|
||||
tmake_file="${tmake_file} i386/t-linux64"
|
||||
x86_multilibs="${with_multilib_list}"
|
||||
Index: gcc-11.5.0/gcc/config/i386/gnu64.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gcc-11.5.0/gcc/config/i386/gnu64.h
|
||||
@@ -0,0 +1,40 @@
|
||||
+/* Configuration for an x86_64 running GNU with ELF as the target machine. */
|
||||
+
|
||||
+/*
|
||||
+Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
+
|
||||
+This file is part of GCC.
|
||||
+
|
||||
+GCC 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.
|
||||
+
|
||||
+GCC 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 GCC. If not, see <http://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+
|
||||
+#define GNU_USER_LINK_EMULATION32 "elf_i386"
|
||||
+#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
|
||||
+#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
||||
+
|
||||
+#undef GNU_USER_DYNAMIC_LINKER
|
||||
+#define GNU_USER_DYNAMIC_LINKER32 "/lib/ld.so.1"
|
||||
+#define GNU_USER_DYNAMIC_LINKER64 "/lib/ld-x86-64.so.1"
|
||||
+#define GNU_USER_DYNAMIC_LINKERX32 "/lib/ld-x32.so.1"
|
||||
+
|
||||
+#undef STARTFILE_SPEC
|
||||
+#if defined HAVE_LD_PIE
|
||||
+#define STARTFILE_SPEC \
|
||||
+ "%{!shared: %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \
|
||||
+ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
|
||||
+#else
|
||||
+#define STARTFILE_SPEC \
|
||||
+ "%{!shared: %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};static:crt0.o%s;:crt1.o%s}} \
|
||||
+ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
|
||||
+#endif
|
||||
Index: gcc-11.5.0/libgcc/config.host
|
||||
===================================================================
|
||||
--- gcc-11.5.0.orig/libgcc/config.host
|
||||
+++ gcc-11.5.0/libgcc/config.host
|
||||
@@ -788,6 +788,12 @@ x86_64-*-kfreebsd*-gnu)
|
||||
tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
|
||||
tm_file="${tm_file} i386/elf-lib.h"
|
||||
;;
|
||||
+x86_64-*-gnu*)
|
||||
+ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
|
||||
+ tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
|
||||
+ tm_file="${tm_file} i386/elf-lib.h"
|
||||
+ md_unwind_header=i386/gnu-unwind.h
|
||||
+ ;;
|
||||
i[34567]86-pc-msdosdjgpp*)
|
||||
;;
|
||||
i[34567]86-*-lynxos*)
|
||||
@@ -1561,7 +1567,7 @@ esac
|
||||
case ${host} in
|
||||
i[34567]86-*-linux* | x86_64-*-linux* | \
|
||||
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
|
||||
- i[34567]86-*-gnu*)
|
||||
+ i[34567]86-*-gnu* | x86_64-*-gnu*)
|
||||
tmake_file="${tmake_file} t-tls i386/t-linux i386/t-msabi t-slibgcc-libgcc"
|
||||
if test "$libgcc_cv_cfi" = "yes"; then
|
||||
tmake_file="${tmake_file} t-stack i386/t-stack-i386"
|
||||
Index: gcc-11.5.0/libgcc/config/i386/gnu-unwind.h
|
||||
===================================================================
|
||||
--- gcc-11.5.0.orig/libgcc/config/i386/gnu-unwind.h
|
||||
+++ gcc-11.5.0/libgcc/config/i386/gnu-unwind.h
|
||||
@@ -30,6 +30,14 @@ see the files COPYING3 and COPYING.RUNTI
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
+#ifdef __x86_64__
|
||||
+
|
||||
+/*
|
||||
+ * TODO: support for 64 bits needs to be implemented.
|
||||
+ */
|
||||
+
|
||||
+#else /* ifdef __x86_64__ */
|
||||
+
|
||||
#define MD_FALLBACK_FRAME_STATE_FOR x86_gnu_fallback_frame_state
|
||||
|
||||
static _Unwind_Reason_Code
|
||||
@@ -138,4 +146,6 @@ x86_gnu_fallback_frame_state
|
||||
return _URC_NO_REASON;
|
||||
}
|
||||
|
||||
+#endif /* ifdef __x86_64__ */
|
||||
+
|
||||
#endif /* ifndef inhibit_libc */
|
||||
Index: gcc-11.5.0/gcc/config/i386/t-linux64
|
||||
===================================================================
|
||||
--- gcc-11.5.0.orig/gcc/config/i386/t-linux64
|
||||
+++ gcc-11.5.0/gcc/config/i386/t-linux64
|
||||
@@ -33,6 +33,6 @@
|
||||
comma=,
|
||||
MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
|
||||
MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
|
||||
-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
|
||||
+MULTILIB_OSDIRNAMES = m64=../lib$(call if_multiarch,:x86_64-linux-gnu)
|
||||
MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
|
||||
MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,64 @@
|
||||
From e2d65597896089a8bd06992a4b83e3d14176b02c Mon Sep 17 00:00:00 2001
|
||||
From: Yelninei <yelninei@tutamail.com>
|
||||
Date: Tue, 24 Mar 2026 19:46:30 +0000
|
||||
Subject: [PATCH] phobos: Fixes for GNU/Hurd.
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
std/datetime/timezone.d | 1 +
|
||||
std/math/algebraic.d | 1 +
|
||||
std/process.d | 2 ++
|
||||
4 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 4fa51299e..a9d4789f6 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -305,7 +305,7 @@ else
|
||||
endif
|
||||
|
||||
# build with shared library support (defaults to true on supported platforms)
|
||||
-SHARED=$(if $(findstring $(OS),linux freebsd),1,)
|
||||
+SHARED=$(if $(findstring $(OS),linux freebsd hurd),1,)
|
||||
|
||||
TESTS_EXTRACTOR=$(ROOT)/tests_extractor$(DOTEXE)
|
||||
PUBLICTESTS_DIR=$(ROOT)/publictests
|
||||
diff --git a/std/datetime/timezone.d b/std/datetime/timezone.d
|
||||
index 7461fcaa3..05c2999d3 100644
|
||||
--- a/std/datetime/timezone.d
|
||||
+++ b/std/datetime/timezone.d
|
||||
@@ -338,6 +338,7 @@ public:
|
||||
else version (linux) enum utcZone = "UTC";
|
||||
else version (Darwin) enum utcZone = "UTC";
|
||||
else version (Solaris) enum utcZone = "UTC";
|
||||
+ else version (Hurd) enum utcZone = "UTC";
|
||||
else static assert(0, "The location of the UTC timezone file on this Posix platform must be set.");
|
||||
|
||||
auto tzs = [testTZ("America/Los_Angeles", "PST", "PDT", dur!"hours"(-8), dur!"hours"(1)),
|
||||
diff --git a/std/math/algebraic.d b/std/math/algebraic.d
|
||||
index f96f24f15..05bf08b9c 100644
|
||||
--- a/std/math/algebraic.d
|
||||
+++ b/std/math/algebraic.d
|
||||
@@ -631,6 +631,7 @@ else version (FreeBSD) version = GenericPosixVersion;
|
||||
else version (OpenBSD) version = GenericPosixVersion;
|
||||
else version (Solaris) version = GenericPosixVersion;
|
||||
else version (DragonFlyBSD) version = GenericPosixVersion;
|
||||
+else version (Hurd) version = GenericPosixVersion;
|
||||
|
||||
private real polyImpl(real x, in real[] A) @trusted pure nothrow @nogc
|
||||
{
|
||||
diff --git a/std/process.d b/std/process.d
|
||||
index d359ca0ba..dc981c5e5 100644
|
||||
--- a/std/process.d
|
||||
+++ b/std/process.d
|
||||
@@ -1031,6 +1031,8 @@ private Pid spawnProcessPosix(scope const(char[])[] args,
|
||||
import core.sys.freebsd.unistd : closefrom;
|
||||
else version (OpenBSD)
|
||||
import core.sys.openbsd.unistd : closefrom;
|
||||
+ else version (Hurd)
|
||||
+ import core.sys.hurd.unistd : closefrom;
|
||||
|
||||
static if (!__traits(compiles, closefrom))
|
||||
{
|
||||
--
|
||||
2.52.0
|
||||
@@ -1,211 +0,0 @@
|
||||
From bd4ee689a854252665fd607758f078d930fbc4c8 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Noordhuis <info@bnoordhuis.nl>
|
||||
Date: Fri, 21 Nov 2025 11:56:28 +0100
|
||||
Subject: [PATCH] Fix JS number rounding on x87 (#1244)
|
||||
|
||||
Disable 80-bits extended precision, use standard 64-bits precision.
|
||||
The extra precision affects rounding and is user-observable, meaning
|
||||
it causes test262 tests to fail.
|
||||
|
||||
The rounding mode is a per-CPU (or, more accurately, per-FPU) property,
|
||||
and since quickjs is often used as a library, take care to tweak the FPU
|
||||
control word before sensitive operations, and restore it afterwards.
|
||||
|
||||
Only affects x87. SSE is IEEE-754 conforming.
|
||||
|
||||
Fixes: https://github.com/quickjs-ng/quickjs/issues/1236
|
||||
---
|
||||
.github/workflows/ci.yml | 4 ++--
|
||||
cutils.h | 19 +++++++++++++++++++
|
||||
quickjs.c | 34 +++++++++++++++++++++++++++++-----
|
||||
3 files changed, 50 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
|
||||
index d1efee1b9..c722b517d 100644
|
||||
--- a/.github/workflows/ci.yml
|
||||
+++ b/.github/workflows/ci.yml
|
||||
@@ -58,7 +58,7 @@ jobs:
|
||||
- { os: ubuntu-latest, configType: asan+ubsan, runTest262: true }
|
||||
- { os: ubuntu-latest, configType: msan }
|
||||
- { os: ubuntu-latest, configType: tcc }
|
||||
- - { os: ubuntu-latest, arch: x86 }
|
||||
+ - { os: ubuntu-latest, arch: x86, runTest262: true }
|
||||
- { os: ubuntu-latest, arch: riscv64 }
|
||||
- { os: ubuntu-latest, arch: s390x }
|
||||
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
uses: jirutka/setup-alpine@v1
|
||||
with:
|
||||
arch: ${{ matrix.config.arch }}
|
||||
- packages: "build-base make cmake"
|
||||
+ packages: "build-base make cmake git"
|
||||
|
||||
- name: uname
|
||||
run: uname -a
|
||||
diff --git a/cutils.h b/cutils.h
|
||||
index 5129c3cb2..f5d2a8bce 100644
|
||||
--- a/cutils.h
|
||||
+++ b/cutils.h
|
||||
@@ -634,6 +634,25 @@ int js_thread_join(js_thread_t thrd);
|
||||
|
||||
#endif /* !defined(EMSCRIPTEN) && !defined(__wasi__) */
|
||||
|
||||
+// JS requires strict rounding behavior. Turn on 64-bits double precision
|
||||
+// and disable x87 80-bits extended precision for intermediate floating-point
|
||||
+// results. 0x300 is extended precision, 0x200 is double precision.
|
||||
+// Note that `*&cw` in the asm constraints looks redundant but isn't.
|
||||
+#if defined(__i386__) && !defined(_MSC_VER)
|
||||
+#define JS_X87_FPCW_SAVE_AND_ADJUST(cw) \
|
||||
+ unsigned short cw; \
|
||||
+ __asm__ __volatile__("fnstcw %0" : "=m"(*&cw)); \
|
||||
+ do { \
|
||||
+ unsigned short t = 0x200 | (cw & ~0x300); \
|
||||
+ __asm__ __volatile__("fldcw %0" : /*empty*/ : "m"(*&t)); \
|
||||
+ } while (0)
|
||||
+#define JS_X87_FPCW_RESTORE(cw) \
|
||||
+ __asm__ __volatile__("fldcw %0" : /*empty*/ : "m"(*&cw))
|
||||
+#else
|
||||
+#define JS_X87_FPCW_SAVE_AND_ADJUST(cw)
|
||||
+#define JS_X87_FPCW_RESTORE(cw)
|
||||
+#endif
|
||||
+
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" { */
|
||||
#endif
|
||||
diff --git a/quickjs.c b/quickjs.c
|
||||
index 3970bb247..7900c5e3d 100644
|
||||
--- a/quickjs.c
|
||||
+++ b/quickjs.c
|
||||
@@ -13395,12 +13395,17 @@ static int js_is_array(JSContext *ctx, JSValueConst val)
|
||||
|
||||
static double js_math_pow(double a, double b)
|
||||
{
|
||||
+ double d;
|
||||
+
|
||||
if (unlikely(!isfinite(b)) && fabs(a) == 1) {
|
||||
/* not compatible with IEEE 754 */
|
||||
- return NAN;
|
||||
+ d = NAN;
|
||||
} else {
|
||||
- return pow(a, b);
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
+ d = pow(a, b);
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
}
|
||||
+ return d;
|
||||
}
|
||||
|
||||
JSValue JS_NewBigInt64(JSContext *ctx, int64_t v)
|
||||
@@ -13820,11 +13825,15 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
|
||||
}
|
||||
break;
|
||||
case OP_div:
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
sp[-2] = js_number((double)v1 / (double)v2);
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
return 0;
|
||||
case OP_mod:
|
||||
if (v1 < 0 || v2 <= 0) {
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
sp[-2] = js_number(fmod(v1, v2));
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
return 0;
|
||||
} else {
|
||||
v = (int64_t)v1 % (int64_t)v2;
|
||||
@@ -13888,6 +13897,7 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
|
||||
if (JS_ToFloat64Free(ctx, &d2, op2))
|
||||
goto exception;
|
||||
handle_float64:
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
switch(op) {
|
||||
case OP_sub:
|
||||
dr = d1 - d2;
|
||||
@@ -13907,6 +13917,7 @@ static no_inline __exception int js_binary_arith_slow(JSContext *ctx, JSValue *s
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
sp[-2] = js_float64(dr);
|
||||
}
|
||||
return 0;
|
||||
@@ -14023,7 +14034,9 @@ static no_inline __exception int js_add_slow(JSContext *ctx, JSValue *sp)
|
||||
}
|
||||
if (JS_ToFloat64Free(ctx, &d2, op2))
|
||||
goto exception;
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
sp[-2] = js_float64(d1 + d2);
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
}
|
||||
return 0;
|
||||
exception:
|
||||
@@ -17998,8 +18011,10 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
sp[-2] = js_int32(r);
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2)) {
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
sp[-2] = js_float64(JS_VALUE_GET_FLOAT64(op1) +
|
||||
JS_VALUE_GET_FLOAT64(op2));
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
sp--;
|
||||
} else {
|
||||
add_slow:
|
||||
@@ -18066,8 +18081,10 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
sp[-2] = js_int32(r);
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2)) {
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
sp[-2] = js_float64(JS_VALUE_GET_FLOAT64(op1) -
|
||||
JS_VALUE_GET_FLOAT64(op2));
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
sp--;
|
||||
} else {
|
||||
goto binary_arith_slow;
|
||||
@@ -18098,7 +18115,9 @@ static JSValue JS_CallInternal(JSContext *caller_ctx, JSValueConst func_obj,
|
||||
sp[-2] = js_int32(r);
|
||||
sp--;
|
||||
} else if (JS_VALUE_IS_BOTH_FLOAT(op1, op2)) {
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
d = JS_VALUE_GET_FLOAT64(op1) * JS_VALUE_GET_FLOAT64(op2);
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
mul_fp_res:
|
||||
sp[-2] = js_float64(d);
|
||||
sp--;
|
||||
@@ -52277,7 +52296,9 @@ static double set_date_fields(double fields[minimum_length(7)], int is_local) {
|
||||
int yi, mi, i;
|
||||
int64_t days;
|
||||
volatile double temp; /* enforce evaluation order */
|
||||
+ double d = NAN;
|
||||
|
||||
+ JS_X87_FPCW_SAVE_AND_ADJUST(fpcw);
|
||||
/* emulate 21.4.1.15 MakeDay ( year, month, date ) */
|
||||
y = fields[0];
|
||||
m = fields[1];
|
||||
@@ -52287,7 +52308,7 @@ static double set_date_fields(double fields[minimum_length(7)], int is_local) {
|
||||
if (mn < 0)
|
||||
mn += 12;
|
||||
if (ym < -271821 || ym > 275760)
|
||||
- return NAN;
|
||||
+ goto out;
|
||||
|
||||
yi = ym;
|
||||
mi = mn;
|
||||
@@ -52319,14 +52340,17 @@ static double set_date_fields(double fields[minimum_length(7)], int is_local) {
|
||||
/* emulate 21.4.1.16 MakeDate ( day, time ) */
|
||||
tv = (temp = day * 86400000) + time; /* prevent generation of FMA */
|
||||
if (!isfinite(tv))
|
||||
- return NAN;
|
||||
+ goto out;
|
||||
|
||||
/* adjust for local time and clip */
|
||||
if (is_local) {
|
||||
int64_t ti = tv < INT64_MIN ? INT64_MIN : tv >= 0x1p63 ? INT64_MAX : (int64_t)tv;
|
||||
tv += getTimezoneOffset(ti) * 60000;
|
||||
}
|
||||
- return time_clip(tv);
|
||||
+ d = time_clip(tv);
|
||||
+out:
|
||||
+ JS_X87_FPCW_RESTORE(fpcw);
|
||||
+ return d;
|
||||
}
|
||||
|
||||
static JSValue get_date_field(JSContext *ctx, JSValueConst this_val,
|
||||
@@ -1,26 +0,0 @@
|
||||
From c211485e6f6c9fcd0ea9f5aa1943f8c95fdd186b Mon Sep 17 00:00:00 2001
|
||||
From: Ben Noordhuis <info@bnoordhuis.nl>
|
||||
Date: Sun, 9 Nov 2025 21:28:14 +0100
|
||||
Subject: [PATCH] Fix Atomics.pause on 32 bits platforms
|
||||
|
||||
Use JS_VALUE_GET_NORM_TAG to get the type tag, not JS_VALUE_GET_TAG.
|
||||
The latter doesn't work correctly with NaN boxing.
|
||||
|
||||
Refs: https://github.com/quickjs-ng/quickjs/issues/986#issuecomment-3508547332
|
||||
---
|
||||
quickjs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/quickjs.c b/quickjs.c
|
||||
index 4fb9f95b7..3970bb247 100644
|
||||
--- a/quickjs.c
|
||||
+++ b/quickjs.c
|
||||
@@ -57112,7 +57112,7 @@ static JSValue js_atomics_pause(JSContext *ctx, JSValueConst this_obj,
|
||||
double d;
|
||||
|
||||
if (argc > 0) {
|
||||
- switch (JS_VALUE_GET_TAG(argv[0])) {
|
||||
+ switch (JS_VALUE_GET_NORM_TAG(argv[0])) {
|
||||
case JS_TAG_FLOAT64: // accepted if and only if fraction == 0.0
|
||||
d = JS_VALUE_GET_FLOAT64(argv[0]);
|
||||
if (isfinite(d))
|
||||
@@ -214,85 +214,6 @@ Signed-off-by: Matt Jolly <kangie@gentoo.org>
|
||||
if (is_apple) {
|
||||
cflags_objc = [ "-Wimplicit-retain-self" ]
|
||||
cflags_objcc = [ "-Wimplicit-retain-self" ]
|
||||
@@ -2848,7 +2684,8 @@ config("default_stack_frames") {
|
||||
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
|
||||
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
|
||||
# [2]: https://crrev.com/c/5447532
|
||||
-config("optimize") {
|
||||
+config("optimize") { }
|
||||
+config("xoptimize") {
|
||||
if (is_win) {
|
||||
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
|
||||
# consistency with the other platforms.
|
||||
@@ -2897,7 +2734,8 @@ config("optimize") {
|
||||
}
|
||||
|
||||
# Turn off optimizations.
|
||||
-config("no_optimize") {
|
||||
+config("no_optimize") { }
|
||||
+config("xno_optimize") {
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/Od", # Disable optimization.
|
||||
@@ -2932,7 +2770,8 @@ config("no_optimize") {
|
||||
# Turns up the optimization level. Used to explicitly enable -O2 instead of
|
||||
# -Os for select targets on platforms that use optimize_for_size. No-op
|
||||
# elsewhere.
|
||||
-config("optimize_max") {
|
||||
+config("optimize_max") { }
|
||||
+config("xoptimize_max") {
|
||||
ldflags = common_optimize_on_ldflags
|
||||
if (is_win) {
|
||||
# Favor speed over size, /O2 must be before the common flags.
|
||||
@@ -2953,7 +2792,8 @@ config("optimize_max") {
|
||||
#
|
||||
# TODO(crbug.com/41259697) - rework how all of these configs are related
|
||||
# so that we don't need this disclaimer.
|
||||
-config("optimize_speed") {
|
||||
+config("optimize_speed") { }
|
||||
+config("xoptimize_speed") {
|
||||
ldflags = common_optimize_on_ldflags
|
||||
if (is_win) {
|
||||
# Favor speed over size, /O2 must be before the common flags.
|
||||
@@ -2970,7 +2810,8 @@ config("optimize_speed") {
|
||||
rustflags = [ "-Copt-level=3" ]
|
||||
}
|
||||
|
||||
-config("optimize_fuzzing") {
|
||||
+config("optimize_fuzzing") { }
|
||||
+config("xoptimize_fuzzing") {
|
||||
cflags = [ "-O1" ] + common_optimize_on_cflags
|
||||
rustflags = [ "-Copt-level=1" ]
|
||||
ldflags = common_optimize_on_ldflags
|
||||
@@ -3115,7 +2956,8 @@ config("split_dwarf") {
|
||||
}
|
||||
|
||||
# Full symbols.
|
||||
-config("symbols") {
|
||||
+config("symbols") { }
|
||||
+config("xsymbols") {
|
||||
rustflags = []
|
||||
configs = []
|
||||
if (is_win) {
|
||||
@@ -3275,7 +3117,8 @@ config("symbols") {
|
||||
# Minimal symbols.
|
||||
# This config guarantees to hold symbol for stack trace which are shown to user
|
||||
# when crash happens in unittests running on buildbot.
|
||||
-config("minimal_symbols") {
|
||||
+config("minimal_symbols") { }
|
||||
+config("xminimal_symbols") {
|
||||
configs = []
|
||||
rustflags = []
|
||||
if (is_win) {
|
||||
@@ -3355,7 +3198,8 @@ config("minimal_symbols") {
|
||||
# This configuration contains function names only. That is, the compiler is
|
||||
# told to not generate debug information and the linker then just puts function
|
||||
# names in the final debug information.
|
||||
-config("no_symbols") {
|
||||
+config("no_symbols") { }
|
||||
+config("xno_symbols") {
|
||||
if (is_win) {
|
||||
ldflags = [ "/DEBUG" ]
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
+33
-32
@@ -31,6 +31,7 @@
|
||||
;;; Copyright © 2024 Aaron Covrig <aaron.covrig.us@ieee.org>
|
||||
;;; Copyright © 2025 Jussi Timperi <jussi.timperi@iki.fi>
|
||||
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2026 Daniel Littlewood <dan@danielittlewood.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -1611,41 +1612,41 @@ information for every pixel as the input.")
|
||||
"0f242mix20rgsqz1llibhsz4r2pbvx6k32rmky0zjvnbaqaw1dwm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-FHS-file-names
|
||||
(lambda _
|
||||
(substitute* "mk/Autoconf.mk"
|
||||
(("/bin/echo") "echo")
|
||||
(("/sbin/ldconfig -p") "echo lib")) #t))
|
||||
(add-before 'build 'set-fcommon
|
||||
(lambda _
|
||||
(setenv "CFLAGS" "-fcommon")))
|
||||
(delete 'configure))
|
||||
#:tests? #f
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))))
|
||||
(inputs `(("libjpeg" ,libjpeg-turbo)
|
||||
("curl" ,curl)
|
||||
("libtiff" ,libtiff)
|
||||
("libudev" ,eudev)
|
||||
("libwebp" ,libwebp)
|
||||
("libdrm" ,libdrm)
|
||||
("giflib" ,giflib)
|
||||
("glib" ,glib)
|
||||
("cairo-xcb" ,cairo-xcb)
|
||||
("freetype" ,freetype)
|
||||
("fontconfig" ,fontconfig)
|
||||
("libexif" ,libexif)
|
||||
("mesa" ,mesa)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libpng" ,libpng)
|
||||
("poppler" ,poppler)))
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-FHS-file-names
|
||||
(lambda _
|
||||
(substitute* "mk/Autoconf.mk"
|
||||
(("/bin/echo") "echo")
|
||||
(("/sbin/ldconfig -p") "echo lib"))))
|
||||
(add-before 'build 'set-fcommon
|
||||
(lambda _
|
||||
(setenv "CFLAGS" "-fcommon")))
|
||||
(delete 'configure))
|
||||
#:tests? #f
|
||||
#:make-flags #~(list (string-append "CC=" #+(cc-for-target))
|
||||
(string-append "prefix=" #$output))))
|
||||
(inputs
|
||||
(list cairo-xcb
|
||||
curl
|
||||
eudev
|
||||
fontconfig
|
||||
freetype
|
||||
giflib
|
||||
glib
|
||||
libdrm
|
||||
libepoxy
|
||||
libexif
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libwebp
|
||||
mesa
|
||||
poppler))
|
||||
(native-inputs (list pkg-config))
|
||||
(synopsis "Framebuffer and drm-based image viewer")
|
||||
(description
|
||||
"fbida contains a few applications for viewing and editing images on
|
||||
"fbida contains a few applications for viewing and editing images on
|
||||
the framebuffer.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
|
||||
@@ -39,6 +39,42 @@
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public 9pfs
|
||||
(package
|
||||
(name "9pfs")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ftrvxmtrx/9pfs")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fxyrny1alsbg1dr2pav3sz85s3amxiizklj8p3wsfmw08hjhgrm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)) ;no configure script
|
||||
#:make-flags
|
||||
#~(list
|
||||
"DESTDIR="
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list fuse-2))
|
||||
(synopsis "Mounts a 9P server's files into the file system")
|
||||
(home-page "https://github.com/ftrvxmtrx/9pfs")
|
||||
(description
|
||||
"@command{9pfs} mounts a file system using the @acronym{9P protocol, Plan 9
|
||||
Filesystem Protocol}. It is a replacement for @command{9pfuse} from
|
||||
@code{plan9port}.")
|
||||
(license (list license:isc license:expat))))
|
||||
|
||||
(define-public diod
|
||||
(package
|
||||
(name "diod")
|
||||
|
||||
@@ -237,7 +237,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.94.12")
|
||||
(version "2.97.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -246,7 +246,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0mpzpc69agcnp2dnay08z7xjx0zq2b77ddd2kds1w6qlh2fc36s9"))
|
||||
(base32 "1342xcpjmryn0l3v8wmg7w6pjvsk42c84cr9xbah36dwhj8s354z"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -180,6 +180,7 @@
|
||||
;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl>
|
||||
;;; Copyright © 2025 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2026 Daniel Khodabakhsh <d@niel.khodabakh.sh>
|
||||
;;; Copyright © 2026 Akiyoshi Suda <code@akiyoshisuda.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -2600,6 +2601,74 @@ well-formed Roman numerals.")
|
||||
reused when throttling user interactions with a resource (e.g., an API).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-rustworkx
|
||||
(package
|
||||
(name "python-rustworkx")
|
||||
(version "0.17.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Qiskit/rustworkx")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sr0wrfb9wzxcljhb7swwgk2hdxqjfmcfj785jq624mx14kqc4k8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--test-path" "tests")
|
||||
#:imported-modules (append %cargo-build-system-modules
|
||||
%pyproject-build-system-modules)
|
||||
#:modules '(((guix build cargo-build-system)
|
||||
#:prefix cargo:)
|
||||
(guix build pyproject-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'prepare-cargo-build-system
|
||||
(lambda args
|
||||
(for-each
|
||||
(lambda (phase)
|
||||
(format #t "Running cargo phase: ~a~%" phase)
|
||||
(apply (assoc-ref cargo:%standard-phases phase)
|
||||
#:cargo-target #$(cargo-triplet) args))
|
||||
'(unpack-rust-crates
|
||||
configure
|
||||
check-for-pregenerated-files
|
||||
patch-cargo-checksums))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; Delete the source directory to avoid interference.
|
||||
(delete-file-recursively "rustworkx")
|
||||
;; Matplotlib needs to be able to write its configuration file
|
||||
;; somewhere.
|
||||
(setenv "MPLCONFIGDIR" "/tmp")
|
||||
;; For fontconfig.
|
||||
(setenv "XDG_CACHE_HOME" "/tmp"))))))
|
||||
(propagated-inputs (list python-numpy))
|
||||
(native-inputs
|
||||
(append (list graphviz
|
||||
python-matplotlib
|
||||
python-networkx
|
||||
python-pillow
|
||||
python-setuptools
|
||||
python-setuptools-rust
|
||||
python-stestr
|
||||
rust
|
||||
`(,rust "cargo"))
|
||||
(or (and=> (%current-target-system)
|
||||
(compose list make-rust-sysroot))
|
||||
'())))
|
||||
(inputs (cargo-inputs 'python-rustworkx))
|
||||
(home-page "https://www.rustworkx.org")
|
||||
(synopsis "High performance graph library for Python")
|
||||
(description
|
||||
"@code{rustworkx} is a Python package for working with graphs and complex
|
||||
networks. It enables the creation, interaction with, and study of graphs and
|
||||
networks.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-safety-schemas
|
||||
(package
|
||||
(name "python-safety-schemas")
|
||||
@@ -40983,6 +41052,36 @@ files.")
|
||||
(define-deprecated-package python-xdg
|
||||
python-xdg-base-dirs)
|
||||
|
||||
(define-public python-xkbcommon
|
||||
(package
|
||||
(name "python-xkbcommon")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sde1000/python-xkbcommon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0r9fknyys2mr5fl9hbyp8n9izf27553yf49krzinzksnfr9b6c7s"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-cffi))
|
||||
(native-inputs (list libxkbcommon python-setuptools))
|
||||
(arguments
|
||||
(list
|
||||
#:test-backend
|
||||
#~'unittest
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'cleanup
|
||||
(lambda _
|
||||
(delete-file-recursively "xkbcommon"))))))
|
||||
(home-page "https://github.com/sde1000/python-xkbcommon")
|
||||
(synopsis "Bindings for libxkbcommon using cffi")
|
||||
(description "Bindings for libxkbcommon using cffi.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-xlib
|
||||
(package
|
||||
(name "python-xlib")
|
||||
|
||||
@@ -768,6 +768,9 @@ def contents() -> str:
|
||||
" test_threading"
|
||||
" test_asyncio"
|
||||
" test_shutdown"
|
||||
,@(if (target-ppc32?)
|
||||
'(" test_ssl")
|
||||
'())
|
||||
,@(if (system-hurd?)
|
||||
'(" test_posix" ;multiple errors
|
||||
" test_time"
|
||||
|
||||
@@ -101,18 +101,3 @@ file, without requiring the old and new versions to both be present at the
|
||||
sending end. The library uses a \"streaming\" design similar to that of zlib
|
||||
with the aim of allowing it to be embedded into many different applications.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public librsync-0.9
|
||||
(package
|
||||
(inherit librsync)
|
||||
(version "0.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/librsync/librsync/"
|
||||
version "/librsync-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--enable-shared")))
|
||||
(inputs '())))
|
||||
|
||||
@@ -1079,14 +1079,14 @@ highlighting tool to ease code review from your terminal.")
|
||||
(define-public difftastic
|
||||
(package
|
||||
(name "difftastic")
|
||||
(version "0.68.0")
|
||||
(version "0.69.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "difftastic" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "012h76wx5jv6czc9j4awfan7vhrc6g5fdgnxrjmzg5q27wn99hn6"))))
|
||||
(base32 "1wa2vhp26vbim8qp3rlahxmf65lzgacc5p6czc4hqsl3gglg0fs5"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -1509,7 +1509,7 @@ defaults for 80% of the use cases.")
|
||||
(define-public gitlogue
|
||||
(package
|
||||
(name "gitlogue")
|
||||
(version "0.8.0")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1519,7 +1519,7 @@ defaults for 80% of the use cases.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"007sf2b605jkjk4qyxar1bq7fh71yvv9ixsxfqrs3hzschyj3m2g"))
|
||||
"008cqcc4kjandfi6pqrnr689xb11d6fdhcb48kbv0227v3f5gvn3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -3360,7 +3360,7 @@ command.")
|
||||
(define-public wasm-bindgen-cli
|
||||
(package
|
||||
(name "wasm-bindgen-cli")
|
||||
(version "0.2.118")
|
||||
(version "0.2.120")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3369,7 +3369,7 @@ command.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02yy57pa4p53vrhpgc8xf737dnqiifnnnjinh49yq1345kd3287j"))
|
||||
(base32 "0404jgzfcbmjvr1zl9jgw49nqs1s182cbvdzwh92i76qd2cpg166"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
||||
+2588
-2347
File diff suppressed because it is too large
Load Diff
@@ -133,7 +133,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
(define-public fish
|
||||
(package
|
||||
(name "fish")
|
||||
(version "4.6.0")
|
||||
(version "4.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -141,7 +141,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
"releases/download/" version "/"
|
||||
"fish-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1ak12wpjllckv566k9jjy59si25whsib3j8ip8yqmqm06gvnb4gw"))
|
||||
(base32 "1nx9m8kis1v4w27mdzzpj9l9mpnz0w7n1v7kaajd9lv5ny63njn5"))
|
||||
;; TODO: Unbundle corrosion.
|
||||
(patches (search-patches "corrosion-honor-CARGO_BUILD_TARGET.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
@@ -218,9 +218,11 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
;; "Found existing zombie processes. Clean up zombies before running this test."
|
||||
;; Disabling parallel tests does not reliably prevent it.
|
||||
(delete-file "tests/checks/jobs.fish")
|
||||
;; This one needs to chdir successfully.
|
||||
;; These ones need to chdir successfully.
|
||||
(substitute* "tests/checks/vars_as_commands.fish"
|
||||
(("/usr/bin") "/tmp"))
|
||||
(substitute* "tests/checks/cd.fish"
|
||||
(("cd bin") "cd tmp"))
|
||||
;; shebangless scripts don't work
|
||||
(delete-file "tests/checks/noshebang.fish")
|
||||
;; This doesn't work
|
||||
@@ -236,6 +238,8 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
|
||||
(("/usr/bin/e\"") (string-append coreutils "/bin/e\""))
|
||||
(("\"/bin") "\"/tmp")
|
||||
(("\"/usr") "\"/tmp"))
|
||||
(substitute* "tests/checks/colon-delimited-var.fish"
|
||||
(("/usr/bin:a:.:b") "/tmp/bin:a:.:b"))
|
||||
(substitute* "tests/test_driver.py"
|
||||
(("\"cc\"") "\"gcc\"")))))
|
||||
;; Source /etc/fish/config.fish from $__fish_sysconf_dir/config.fish.
|
||||
|
||||
+14
-2
@@ -48,6 +48,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
@@ -272,13 +273,24 @@ efficiency through the use of a compact vector representation of n-grams.")
|
||||
;; Disable support for proprietary TTS engines.
|
||||
"--with-voxin=no" "--with-ibmtts=no"
|
||||
"--with-kali=no" "--with-baratinoo=no")
|
||||
#:imported-modules ,%pyproject-build-system-modules
|
||||
#:modules ((guix build gnu-build-system)
|
||||
((guix build pyproject-build-system)
|
||||
#:prefix python:)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-bin-bash
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/modules/generic.c"
|
||||
(("/bin/bash")
|
||||
(search-input-file inputs "/bin/bash"))))))))
|
||||
(search-input-file inputs "/bin/bash")))))
|
||||
(add-after 'install 'wrap-spd-conf
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(wrap-program (search-input-file outputs "bin/spd-conf")
|
||||
`("GUIX_PYTHONPATH" =
|
||||
(,(getenv "GUIX_PYTHONPATH")
|
||||
,(python:site-packages inputs outputs)))))))))
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
@@ -297,7 +309,7 @@ efficiency through the use of a compact vector representation of n-grams.")
|
||||
pipewire
|
||||
pulseaudio
|
||||
python
|
||||
python-xdg-base-dirs))
|
||||
python-pyxdg))
|
||||
(synopsis "Common interface to speech synthesizers")
|
||||
(description "The Speech Dispatcher project provides a high-level
|
||||
device independent layer for access to speech synthesis through a simple,
|
||||
|
||||
@@ -118,13 +118,13 @@ is in the public domain.")
|
||||
(define-public sqlite-next
|
||||
(package
|
||||
(inherit sqlite)
|
||||
(version "3.51.0")
|
||||
(version "3.53.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (sqlite-uri version 2025))
|
||||
(uri (sqlite-uri version 2026))
|
||||
(sha256
|
||||
(base32
|
||||
"19bc2inw7f9fn0y6j3b57w4mk6bzi2q8hp5yn6qyd8kav7ynvqj2"))))
|
||||
"0ninfc6kh0idcslsdlcv7l6261pswxjsdfp0cnmcxqig34w9n7l5"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:tests? _ #f)
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
@@ -65,45 +66,71 @@
|
||||
(define-public plover
|
||||
(package
|
||||
(name "plover")
|
||||
(version "4.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openstenoproject/plover")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d7vkxdz7g9jvlrn5wx9502yqcdyqmalk4yn7lkla0am9hzqp14l"))))
|
||||
(version "5.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openstenoproject/plover")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dx5afcfqskwzkf6zfpii704f2b21z6al3d0g2h4xwza82cmknnl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-p" "pytest-qt"
|
||||
"-p" "xvfb"
|
||||
;; FIXME: Ignore failing test.
|
||||
"--ignore" "test/gui_qt/test_dictionaries_widget.py"
|
||||
"test")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "-m" "pytest"
|
||||
"-p" "pytest-qt"
|
||||
"-p" "xvfb"
|
||||
"test"
|
||||
;; FIXME: Ignore failing test.
|
||||
"--ignore" "test/gui_qt/test_dictionaries_widget.py"))))
|
||||
;; FIXME: adjust after packaging pyside-6-tools.
|
||||
(add-after 'unpack 'set-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "plover_build_utils/setup.py"
|
||||
(("\"pyside6-(rcc|uic)\"" all prog)
|
||||
(simple-format #f "~s, \"-g\", \"python\""
|
||||
(search-input-file
|
||||
inputs (string-append "/lib/qt6/libexec/" prog)))))))
|
||||
;; FIXME: test_i18n_files_up_to_date would not pass
|
||||
;; if the phase is run after build.
|
||||
(add-after 'build 'update-i18n-catalog-for-tests
|
||||
(lambda _
|
||||
(invoke "python" "setup.py" "extract_messages" "update_catalog")))
|
||||
;; Ensure that icons are found at runtime.
|
||||
(add-after 'wrap 'wrap-executable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/plover")
|
||||
`("QT_PLUGIN_PATH" prefix
|
||||
(,(search-input-directory inputs "/lib/qt5/plugins/")))
|
||||
(,(string-append #$(this-package-input "qtwayland")
|
||||
"/lib/qt6/plugins/")
|
||||
,(string-append #$(this-package-input "qtsvg")
|
||||
"/lib/qt6/plugins/")
|
||||
,(string-append #$(this-package-input "python-pyside-6")
|
||||
"/lib/qt6/plugins/")))
|
||||
`("LD_LIBRARY_PATH" prefix
|
||||
(,(string-append #$(this-package-input "dbus") "/lib"))))))
|
||||
(add-after 'install 'install-desktop
|
||||
(lambda _
|
||||
(install-file "plover/assets/plover.png"
|
||||
(string-append
|
||||
#$output "/share/icons/hicolor/128x128/apps"))
|
||||
(let ((desktop
|
||||
(string-append
|
||||
#$output "/share/applications/plover.desktop")))
|
||||
(install-file "linux/plover.desktop" (dirname desktop))
|
||||
(substitute* desktop
|
||||
(("Exec=plover")
|
||||
(string-append "Exec=" #$output "/bin/plover"))))))
|
||||
(add-after 'install 'install-udev-rules
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(rules (string-append out "/lib/udev/rules.d")))
|
||||
(mkdir-p rules)
|
||||
(call-with-output-file
|
||||
(string-append rules "/99-plover-uinput.rules")
|
||||
(lambda _
|
||||
(let* ((dir (string-append #$output "/lib/udev/rules.d"))
|
||||
(file (string-append dir "/99-plover-uinput.rules")))
|
||||
(mkdir-p dir)
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(display
|
||||
(string-append
|
||||
@@ -112,26 +139,37 @@
|
||||
port)))))))))
|
||||
(native-inputs
|
||||
(list python-babel
|
||||
python-evdev
|
||||
python-mock
|
||||
python-pytest
|
||||
python-pytest-qt
|
||||
python-pytest-xvfb
|
||||
python-wheel))
|
||||
python-setuptools))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
dbus
|
||||
python-appdirs
|
||||
qtbase
|
||||
qtsvg
|
||||
qtwayland
|
||||
xhost))
|
||||
(propagated-inputs
|
||||
(list python-appdirs
|
||||
python-dbus-1.2
|
||||
python-evdev
|
||||
python-hidapi
|
||||
python-packaging
|
||||
python-pkginfo
|
||||
python-plover-stroke
|
||||
python-pyqt
|
||||
python-psutil
|
||||
python-pygments
|
||||
python-pyserial
|
||||
python-pyside-6
|
||||
python-readme-renderer
|
||||
python-requests-cache
|
||||
python-requests-futures
|
||||
python-rtf-tokenize
|
||||
python-wcwidth
|
||||
python-xlib
|
||||
qtsvg-5
|
||||
xhost))
|
||||
python-xkbcommon
|
||||
python-xlib))
|
||||
(home-page "https://www.openstenoproject.org/plover/")
|
||||
(synopsis "Stenography engine")
|
||||
(description
|
||||
@@ -139,4 +177,3 @@
|
||||
allows anyone to use stenography to write on their computer, up to
|
||||
speeds of 200WPM and beyond.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
|
||||
@@ -416,8 +416,8 @@ which will be used as a snippet in origin."
|
||||
(define-public tree-sitter-c
|
||||
(tree-sitter-grammar
|
||||
"c" "C"
|
||||
"1vw7jd3wrb4vnigfllfmqxa8fwcpvgp1invswizz0grxv249piza"
|
||||
"0.23.5"))
|
||||
"19yc4g5fdibfqbn49ggywk9k2by78s8lrsjp1cx2lagb1dvxnv42"
|
||||
"0.24.1"))
|
||||
|
||||
(define-public tree-sitter-cairo
|
||||
(tree-sitter-grammar
|
||||
@@ -1148,7 +1148,7 @@ which will be used as a snippet in origin."
|
||||
#:repository-url
|
||||
"https://github.com/benwilliamgraham/tree-sitter-llvm")))
|
||||
|
||||
(define-public tree-sitter-lua
|
||||
(define-public tree-sitter-lua-0.4
|
||||
(tree-sitter-grammar
|
||||
"lua" "Lua"
|
||||
"082hc274h96sa98n3vxicjmjvnbdhrpjaimxsh002xl69rdl80jm"
|
||||
@@ -1161,6 +1161,19 @@ which will be used as a snippet in origin."
|
||||
(delete-file-recursively "test/highlight") ;FIXME
|
||||
#$(tree-sitter-delete-generated-files grammar-directories)))))
|
||||
|
||||
(define-public tree-sitter-lua
|
||||
(tree-sitter-grammar
|
||||
"lua" "Lua"
|
||||
"1mhlwpj4ajqajgjw99l9xhiqnyg9hwn7zdgvdw037vk3k8vrldjp"
|
||||
"0.5.0"
|
||||
#:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-lua"
|
||||
#:get-cleanup-snippet
|
||||
(lambda (grammar-directories)
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(delete-file-recursively "test/highlight") ;FIXME
|
||||
#$(tree-sitter-delete-generated-files grammar-directories)))))
|
||||
|
||||
(define-public tree-sitter-luadoc
|
||||
(let ((version "1.1.0")
|
||||
(commit "818acda56809f994274de64a42f97f509b3c0ad2")
|
||||
@@ -1192,7 +1205,7 @@ which will be used as a snippet in origin."
|
||||
"1.2.0"
|
||||
#:repository-url
|
||||
"https://github.com/tree-sitter-grammars/tree-sitter-luau"
|
||||
#:inputs (list tree-sitter-lua)
|
||||
#:inputs (list tree-sitter-lua-0.4)
|
||||
#:get-cleanup-snippet
|
||||
(lambda (grammar-directories)
|
||||
#~(begin
|
||||
@@ -1224,8 +1237,8 @@ which will be used as a snippet in origin."
|
||||
(define-public tree-sitter-markdown
|
||||
(tree-sitter-grammar
|
||||
"markdown" "Markdown (CommonMark Spec v0.30)"
|
||||
"0r8jlmyr1bnyqqipmpmxxw4qw81c9n0l29xdfkz2n2zmjqps5v9r"
|
||||
"0.4.1"
|
||||
"0vz9r1dbbdj8vwf45izmbajhjbl98ww2dvlk1faqy33kx7plsiar"
|
||||
"0.5.3"
|
||||
#:repository-url "https://github.com/MDeiml/tree-sitter-markdown"
|
||||
#:grammar-directories '("tree-sitter-markdown"
|
||||
"tree-sitter-markdown-inline")
|
||||
@@ -1586,8 +1599,8 @@ which will be used as a snippet in origin."
|
||||
(package
|
||||
(inherit (tree-sitter-grammar "query"
|
||||
"Query"
|
||||
"0fbqwg7km4yqjq8p2fkj9hpy0sfnijnf1hsk34wsirlp3af3hc67"
|
||||
"0.7.0"
|
||||
"1m7w05228ky26ph4k9vfwjwkhghppnpvci2i45iwncjanrni6byk"
|
||||
"0.8.0"
|
||||
#:repository-url
|
||||
"https://github.com/tree-sitter-grammars/tree-sitter-query"))
|
||||
(synopsis "Tree-sitter grammar for Tree-sitter's query language")
|
||||
@@ -2074,15 +2087,15 @@ files.")))
|
||||
(define-public tree-sitter-vim
|
||||
(tree-sitter-grammar "vim"
|
||||
"Vimscript"
|
||||
"0wr0sijh3vpka0gysbf0ki8zkvwfg8r5lvhi3xbwmkbyszjzgrqw"
|
||||
"0.7.0"
|
||||
"1myz19yimx179gzd6w64zyshfb4hbxp7qfrdf6nvf9a2w8bc2wij"
|
||||
"0.8.1"
|
||||
#:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-vim"))
|
||||
|
||||
(define-public tree-sitter-vimdoc
|
||||
(tree-sitter-grammar "vimdoc"
|
||||
"Vimdoc"
|
||||
"1gi16hmh4vk9hdfkg9kvwxd7m4rq8r6vymk7fgxqqrbyrks9f0mw"
|
||||
"4.0.0"
|
||||
"18f1dr3j79axg6yqrvm0fc2w4cil403al9xifc4h4vkkp6hg6y9b"
|
||||
"4.1.0"
|
||||
#:repository-url
|
||||
"https://github.com/neovim/tree-sitter-vimdoc"
|
||||
#:license license:expat))
|
||||
|
||||
@@ -96,7 +96,7 @@ also use Valgrind to build new tools.")
|
||||
(define-public valgrind
|
||||
(package
|
||||
(inherit valgrind/pinned)
|
||||
(version "3.26.0")
|
||||
(version "3.27.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://sourceware.org/pub/valgrind"
|
||||
@@ -105,7 +105,7 @@ also use Valgrind to build new tools.")
|
||||
"/valgrind-" version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"1mvbc6x0w6blkv8wn5fh7pcm6bk9p4m81bxd99jg21li08bwfm4d"))))))
|
||||
"1vsv47wkmz2yd15alzd03839ikmd26bip9wfd58qzvjphbg3fnav"))))))
|
||||
|
||||
(define-public valgrind/interactive
|
||||
(package/inherit valgrind
|
||||
|
||||
@@ -1184,7 +1184,7 @@ provides an integration with GitHub and GitLab.")
|
||||
(define-public got
|
||||
(package
|
||||
(name "got")
|
||||
(version "0.123")
|
||||
(version "0.124")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1193,7 +1193,7 @@ provides an integration with GitHub and GitLab.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09l55364d8lga34gq8h6y9rs8r3xka57d1dzjr34zvp20dgpkbjk"))))
|
||||
"0i4w1njqggdqdxw3mismyqy0kjhnr4gsrd9b2p2awhwk1ac8xwwg"))))
|
||||
(inputs
|
||||
(list libevent
|
||||
`(,util-linux "lib")
|
||||
@@ -1316,14 +1316,6 @@ other git-like projects such as @code{libgit2}.")
|
||||
"-DREGEX_BACKEND=pcre2"
|
||||
"-DUSE_HTTP_PARSER=http-parser"
|
||||
"-DUSE_SSH=ON" ; cmake fails to find libssh if this is missing
|
||||
,@(if (%current-target-system)
|
||||
`((string-append
|
||||
"-DPKG_CONFIG_EXECUTABLE="
|
||||
(search-input-file
|
||||
%build-inputs
|
||||
(string-append "/bin/" ,(%current-target-system)
|
||||
"-pkg-config"))))
|
||||
'())
|
||||
;; See https://github.com/libgit2/libgit2/issues/7169
|
||||
,@(if (target-32bit?)
|
||||
'("-DCMAKE_C_FLAGS=-D_FILE_OFFSET_BITS=64")
|
||||
|
||||
@@ -10117,7 +10117,7 @@ week, a month) and then browse/organise it while staying disconnected.")
|
||||
(define-public uriparser
|
||||
(package
|
||||
(name "uriparser")
|
||||
(version "1.0.0")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -10126,7 +10126,7 @@ week, a month) and then browse/organise it while staying disconnected.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05y33g80wgf155lm6ir21kw2an59fgf3q4w26iaarc8zi75m324k"))))
|
||||
"1a4032wn6p9mv5lizh5rpg5gwvq69bk7zfqix7vjv5cap1zqvk84"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list googletest doxygen graphviz))
|
||||
(arguments (if (%current-target-system)
|
||||
|
||||
+11
-8
@@ -3289,7 +3289,7 @@ resources and provides animations for switching between backgrounds.")
|
||||
(define-public swaynotificationcenter
|
||||
(package
|
||||
(name "swaynotificationcenter")
|
||||
(version "0.10.1")
|
||||
(version "0.12.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -3297,7 +3297,7 @@ resources and provides animations for switching between backgrounds.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cx3ql7qb2wajck1vip9sm2a122jv9x8g2r0bnw4rrxd91yca7a9"))))
|
||||
(base32 "0zg599v36ljd8561rpw1rzhacxms2x9gma6r19636cajd0gyr62k"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -3324,13 +3324,16 @@ resources and provides animations for switching between backgrounds.")
|
||||
scdoc
|
||||
vala))
|
||||
(inputs
|
||||
(list json-glib
|
||||
(list blueprint-compiler
|
||||
json-glib
|
||||
glib
|
||||
granite-6
|
||||
gtk+
|
||||
gtk-layer-shell
|
||||
granite
|
||||
gtk
|
||||
gtk4-layer-shell
|
||||
libadwaita
|
||||
libhandy
|
||||
libgee
|
||||
libshumate
|
||||
pulseaudio
|
||||
wayland-protocols))
|
||||
(synopsis "Notification daemon with a graphical interface")
|
||||
@@ -3358,7 +3361,7 @@ compository, supporting the following features:
|
||||
(define-public waybar
|
||||
(package
|
||||
(name "waybar")
|
||||
(version "0.14.0")
|
||||
(version "0.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3367,7 +3370,7 @@ compository, supporting the following features:
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1b1783382y38mzzrzw53p20lwpfs0n2npqbs91j9ddgg6xk82s4q"))))
|
||||
(base32 "1ify8zywlq6zrmbzp293q72pnzy3czkvrb4zia2xnsvsmy04mmp3"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "--wrap-mode=nodownload")))
|
||||
|
||||
@@ -116,7 +116,7 @@ knowledge of the Z-Wave protocol.")
|
||||
(lambda _
|
||||
(substitute* "binding.gyp"
|
||||
(("std=c\\+\\+11")
|
||||
"std=c++20"))))
|
||||
"std=c++17"))))
|
||||
(replace 'build
|
||||
;; For some reason, `npm install` doesn't build
|
||||
;; the addon automatically, so we do it explicitly here.
|
||||
|
||||
@@ -216,6 +216,10 @@
|
||||
|
||||
syslog-configuration
|
||||
syslog-configuration?
|
||||
syslog-configuration-syslogd
|
||||
syslog-configuration-config-file
|
||||
syslog-configuration-pid-file
|
||||
syslog-configuration-extra-options
|
||||
syslog-service ; deprecated
|
||||
syslog-service-type
|
||||
%default-syslog.conf
|
||||
@@ -1686,6 +1690,8 @@ mail.* -/var/log/maillog
|
||||
(default (file-append inetutils "/libexec/syslogd")))
|
||||
(config-file syslog-configuration-config-file
|
||||
(default %default-syslog.conf))
|
||||
(pid-file syslog-configuration-pid-file
|
||||
(default "/var/run/syslog.pid"))
|
||||
(extra-options syslog-configuration-extra-options
|
||||
(default '())))
|
||||
|
||||
@@ -1721,7 +1727,7 @@ reload its settings file.")))
|
||||
"-f" #$syslog.conf
|
||||
#$@(syslog-configuration-extra-options config))
|
||||
#:file-creation-mask #o137
|
||||
#:pid-file "/var/run/syslog.pid"))
|
||||
#:pid-file #$(syslog-configuration-pid-file config)))
|
||||
(stop #~(make-kill-destructor))))
|
||||
|
||||
(define %default-syslog-files
|
||||
|
||||
@@ -801,7 +801,9 @@ port=" (number->string port) "
|
||||
(list (service-extension account-service-type
|
||||
(const %mysql-accounts))
|
||||
(service-extension shepherd-root-service-type
|
||||
mysql-shepherd-services)))
|
||||
mysql-shepherd-services)
|
||||
(service-extension profile-service-type
|
||||
(compose list mysql-configuration-mysql))))
|
||||
(default-value (mysql-configuration))
|
||||
(description "Run the MySQL or MariaDB database server,
|
||||
@command{mysqld}.")))
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
|
||||
;;;
|
||||
;;; 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 services firmware)
|
||||
#:use-module (gnu packages firmware)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services dbus)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
#:export (fwupd-configuration
|
||||
fwupd-configuration?
|
||||
fwupd-configuration-fields
|
||||
fwupd-configuration-fwupd
|
||||
|
||||
fwupd-service-type))
|
||||
|
||||
(define-configuration/no-serialization fwupd-configuration
|
||||
(fwupd
|
||||
(package fwupd)
|
||||
"The fwupd package that will be installed in the system profile."))
|
||||
|
||||
(define fwupd-service-type
|
||||
(service-type
|
||||
(name 'fwupd)
|
||||
(extensions
|
||||
(list
|
||||
(service-extension profile-service-type
|
||||
(compose list fwupd-configuration-fwupd))
|
||||
(service-extension dbus-root-service-type
|
||||
(compose list fwupd-configuration-fwupd))
|
||||
(service-extension udev-service-type
|
||||
(compose list fwupd-configuration-fwupd))
|
||||
(service-extension polkit-service-type
|
||||
(compose list fwupd-configuration-fwupd))))
|
||||
(default-value (fwupd-configuration))
|
||||
(description
|
||||
"This service runs the fwupd daemon on the Guix System.")))
|
||||
@@ -532,7 +532,16 @@ avoid potential infinite waits blocking libvirt."))
|
||||
(string-append
|
||||
"LINUX_MODULE_DIRECTORY="
|
||||
"/run/booted-system/kernel/lib/modules"))))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
(stop #~(make-kill-destructor))
|
||||
(actions
|
||||
(list (shepherd-signal-action
|
||||
'reload SIGHUP
|
||||
#:documentation "Send a @code{SIGHUP} signal
|
||||
to @command{libvirtd} to reload its configuration (both its configuration file,
|
||||
and the content of @file{/etc/libvirtd}, in which live the XML files
|
||||
that define e.g. the VMs and their network)."
|
||||
#:message "Service libvirtd has been asked \
|
||||
to reload its configuration.")))))))
|
||||
|
||||
(define (/etc/qemu/firmware config)
|
||||
(let ((firmwares (libvirt-configuration-firmwares config)))
|
||||
|
||||
+9
-3
@@ -10,7 +10,7 @@
|
||||
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;;; Copyright © 2020, 2022, 2025 Maxim Cournoyer <maxim@guixotic.coop>
|
||||
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <jannek@gnu.org>
|
||||
;;; Copyright © 2020, 2023, 2026 Janneke Nieuwenhuizen <jannek@gnu.org>
|
||||
;;; Copyright © 2020, 2022, 2025 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com>
|
||||
@@ -1033,7 +1033,7 @@ LOGO=guix-icon
|
||||
HOME_URL=\"https://guix.gnu.org\"
|
||||
DOCUMENTATION_URL=\"https://guix.gnu.org/en/manual\"
|
||||
SUPPORT_URL=\"https://guix.gnu.org/en/help\"
|
||||
BUG_REPORT_URL=\"https://lists.gnu.org/mailman/listinfo/bug-guix\"
|
||||
BUG_REPORT_URL=\"https://codeberg.org/guix/guix/issues\"
|
||||
"))
|
||||
|
||||
(define* (operating-system-etc-service os)
|
||||
@@ -1537,9 +1537,14 @@ a list of <menu-entry>, to populate the \"old entries\" menu."
|
||||
"pci-arbiter"
|
||||
"--host-priv-port='${host-port}'"
|
||||
"--device-master-port='${device-port}'"
|
||||
"--next-task='${disk-task}'"
|
||||
"--next-task='${acpi-task}'"
|
||||
"'$(pci-task=task-create)'"
|
||||
"'$(task-resume)'"))
|
||||
(acpi-command
|
||||
(list (file-append hurd "/hurd/acpi.static")
|
||||
"acpi"
|
||||
"--next-task='${disk-task}'"
|
||||
"'$(acpi-task=task-create)'"))
|
||||
(rumpdisk-command
|
||||
(list (file-append hurd "/hurd/rumpdisk.static")
|
||||
"rumpdisk"
|
||||
@@ -1570,6 +1575,7 @@ a list of <menu-entry>, to populate the \"old entries\" menu."
|
||||
(list (file-append hurd "/hurd/exec.static") "exec"
|
||||
"'$(exec-task=task-create)'")))
|
||||
(list pci-arbiter-command
|
||||
acpi-command
|
||||
rumpdisk-command
|
||||
root-file-system-command
|
||||
exec-server-command)))
|
||||
|
||||
+3
-2
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -37,6 +37,7 @@
|
||||
#:use-module (gnu packages hurd)
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
@@ -72,7 +73,7 @@
|
||||
diffutils patch gawk tar gzip bzip2 xz lzip zstd
|
||||
guile-3.0-latest guile-colorized guile-readline
|
||||
net-base nss-certs inetutils less procps shadow sudo which
|
||||
info-reader))
|
||||
info-reader pciutils))
|
||||
|
||||
(define %base-services/hurd
|
||||
(append (list (service hurd-console-service-type
|
||||
|
||||
@@ -30,16 +30,10 @@
|
||||
#:use-module (guix search-paths)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:export (%default-lockfiles
|
||||
%node-build-system-modules
|
||||
#:export (%node-build-system-modules
|
||||
node-build
|
||||
node-build-system))
|
||||
|
||||
(define %default-lockfiles
|
||||
(list "package-lock.json"
|
||||
"yarn.lock"
|
||||
"npm-shrinkwrap.json"))
|
||||
|
||||
(define %node-build-system-modules
|
||||
;; Build-side modules imported by default.
|
||||
`((guix build node-build-system)
|
||||
@@ -53,10 +47,6 @@
|
||||
"Return the default Node package, resolved lazily."
|
||||
(@* (gnu packages node) node-lts))
|
||||
|
||||
(define (default-guile-json)
|
||||
"Return the default guile-json package, resolved lazily."
|
||||
(@* (gnu packages guile) guile-json-4))
|
||||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(node (default-node))
|
||||
@@ -88,12 +78,17 @@
|
||||
(build node-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||
|
||||
(define (default-guile-json)
|
||||
"Return the default guile-json package."
|
||||
;; Lazily resolve the binding to avoid a circular dependency.
|
||||
(let ((mod (resolve-interface '(gnu packages guile))))
|
||||
(module-ref mod 'guile-json-4)))
|
||||
|
||||
(define* (node-build name inputs
|
||||
#:key
|
||||
source
|
||||
(npm-flags ''())
|
||||
(test-target "test")
|
||||
(lockfiles %default-lockfiles)
|
||||
(tests? #t)
|
||||
(phases '%standard-phases)
|
||||
(outputs '("out"))
|
||||
@@ -115,7 +110,6 @@
|
||||
#:system #$system
|
||||
#:npm-flags #$npm-flags
|
||||
#:test-target #$test-target
|
||||
#:lockfiles '#$lockfiles
|
||||
#:tests? #$tests?
|
||||
#:phases #$phases
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
|
||||
@@ -105,7 +105,6 @@
|
||||
source
|
||||
(phases '%standard-phases)
|
||||
(grammar-directories '("."))
|
||||
(lockfiles %default-lockfiles)
|
||||
(tests? #t)
|
||||
(outputs '("out" "js"))
|
||||
(search-paths '())
|
||||
@@ -124,7 +123,6 @@
|
||||
#:source #+source
|
||||
#:system #$system
|
||||
#:phases #$phases
|
||||
#:lockfiles '#$lockfiles
|
||||
#:tests? #$tests?
|
||||
#:grammar-directories '#$grammar-directories
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
@@ -147,7 +145,6 @@
|
||||
guile source
|
||||
(phases '%standard-phases)
|
||||
(grammar-directories '("."))
|
||||
(lockfiles %default-lockfiles)
|
||||
(tests? #t)
|
||||
(outputs '("out" "js"))
|
||||
(search-paths '())
|
||||
@@ -182,7 +179,6 @@
|
||||
#:build #$build
|
||||
#:target #$target
|
||||
#:phases #$phases
|
||||
#:lockfiles '#$lockfiles
|
||||
#:tests? #$tests?
|
||||
#:grammar-directories '#$grammar-directories
|
||||
#:outputs #$(outputs->gexp outputs)
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
|
||||
;;; Copyright © 2024 Daniel Khodabakhsh <d.khodabakhsh@gmail.com>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -30,7 +29,6 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (json)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:export (%standard-phases
|
||||
delete-dependencies
|
||||
@@ -42,6 +40,34 @@
|
||||
replace-fields
|
||||
with-atomic-json-file-replacement))
|
||||
|
||||
(define* (assoc-ref* alist key #:optional default)
|
||||
"Like assoc-ref, but return DEFAULT instead of #f if no value exists."
|
||||
(match (assoc key alist)
|
||||
(#f default)
|
||||
((_ . value) value)))
|
||||
|
||||
(define* (alist-pop alist key #:optional (= equal?))
|
||||
"Return two values, the first pair in ALIST with key KEY, and the other
|
||||
elements. Equality calls are made as (= KEY ALISTCAR)."
|
||||
(define (found? pair)
|
||||
(= key (car pair)))
|
||||
|
||||
(let ((before after (break found? alist)))
|
||||
(if (pair? after)
|
||||
(values (car after) (append before (cdr after)))
|
||||
(values #f before))))
|
||||
|
||||
(define* (alist-update alist key proc #:optional (= equal?))
|
||||
"Return an association list like ALIST, but with KEY mapped to the result of
|
||||
PROC applied to the first value found under the comparison (= KEY ALISTCAR).
|
||||
If no such value exists, return the list unchanged.
|
||||
Unlike acons, this removes the previous association of KEY (assuming it is
|
||||
unique), but the result may still share storage with ALIST."
|
||||
(let ((pair rest (alist-pop alist key =)))
|
||||
(if (pair? pair)
|
||||
(acons key (proc (cdr pair)) rest)
|
||||
alist)))
|
||||
|
||||
;;;
|
||||
;;; package.json modification procedures
|
||||
;;;
|
||||
@@ -80,19 +106,23 @@ listed in 'dependencies-to-remove', a list of strings naming npm packages.
|
||||
|
||||
To prevent the deleted dependencies from being reintroduced, use this function
|
||||
only after the 'patch-dependencies' phase."
|
||||
(let ((predicate (lambda (dependency)
|
||||
(member (car dependency) dependencies-to-remove)))
|
||||
(dependency? (cut member <> (list "devDependencies"
|
||||
"dependencies"
|
||||
"peerDependencies"
|
||||
"optionalDependencies"))))
|
||||
(lambda (pkg-meta)
|
||||
(map (match-lambda
|
||||
(((? dependency? key) . dependencies)
|
||||
(cons key (remove predicate dependencies)))
|
||||
(otherwise
|
||||
otherwise))
|
||||
pkg-meta))))
|
||||
(lambda (pkg-meta)
|
||||
(fold
|
||||
(lambda (dependency-key pkg-meta)
|
||||
(alist-update
|
||||
pkg-meta
|
||||
dependency-key
|
||||
(lambda (dependencies)
|
||||
(remove
|
||||
(lambda (dependency)
|
||||
(member (car dependency) dependencies-to-remove))
|
||||
dependencies))))
|
||||
pkg-meta
|
||||
(list
|
||||
"devDependencies"
|
||||
"dependencies"
|
||||
"peerDependencies"
|
||||
"optionalDependencies"))))
|
||||
|
||||
(define* (modify-json-fields
|
||||
fields
|
||||
@@ -206,7 +236,8 @@ only after the 'patch-dependencies' phase."
|
||||
(begin
|
||||
(mkdir dir)
|
||||
(setenv "HOME" (string-append (getcwd) "/" dir))
|
||||
(format #t "set HOME to ~s~%" (getenv "HOME"))))))))
|
||||
(format #t "set HOME to ~s~%" (getenv "HOME")))))))
|
||||
#t)
|
||||
|
||||
(define (module-name module)
|
||||
(let* ((package.json (string-append module "/package.json"))
|
||||
@@ -226,65 +257,67 @@ only after the 'patch-dependencies' phase."
|
||||
(for-each (lambda (dir)
|
||||
(let ((nm (string-append dir "/lib/node_modules")))
|
||||
(for-each (lambda (module)
|
||||
(hash-set! index (module-name module)
|
||||
(string-append "file://" module)))
|
||||
(hash-set! index (module-name module) module))
|
||||
(list-modules nm))))
|
||||
input-paths)
|
||||
index))
|
||||
|
||||
(define* (patch-dependencies #:key inputs #:allow-other-keys)
|
||||
"Replace versions by paths when found among INPUTS in `package.json'."
|
||||
|
||||
(define resolve-dependencies
|
||||
(let ((index (index-modules (map cdr inputs))))
|
||||
(cut map
|
||||
(match-lambda
|
||||
((dependency . version)
|
||||
(cons dependency (hash-ref index dependency version))))
|
||||
<>)))
|
||||
(define index (index-modules (map cdr inputs)))
|
||||
|
||||
(define (resolve key getter)
|
||||
(define (resolve-dependencies dependencies)
|
||||
(map
|
||||
(match-lambda
|
||||
((dependency . version)
|
||||
(cons dependency (hash-ref index dependency version))))
|
||||
dependencies))
|
||||
|
||||
(with-atomic-json-file-replacement
|
||||
(lambda (pkg-meta)
|
||||
(assoc-set! pkg-meta key
|
||||
(resolve-dependencies (getter pkg-meta)))))
|
||||
(fold
|
||||
(lambda (proc pkg-meta) (proc pkg-meta))
|
||||
pkg-meta
|
||||
(list
|
||||
(lambda (pkg-meta)
|
||||
(alist-update pkg-meta "devDependencies" resolve-dependencies))
|
||||
(lambda (pkg-meta)
|
||||
(assoc-set!
|
||||
pkg-meta
|
||||
"dependencies"
|
||||
(resolve-dependencies
|
||||
; Combined "peerDependencies" and "dependencies" dependencies
|
||||
; with "dependencies" taking precedent.
|
||||
(fold
|
||||
(lambda (dependency dependencies)
|
||||
(assoc-set! dependencies (car dependency) (cdr dependency)))
|
||||
(assoc-ref* pkg-meta "peerDependencies" '())
|
||||
(assoc-ref* pkg-meta "dependencies" '())))))))))
|
||||
#t)
|
||||
|
||||
(modify-json
|
||||
(resolve "devDependencies"
|
||||
(lambda (pkg-meta)
|
||||
(or (assoc-ref pkg-meta "devDependencies") '())))
|
||||
(resolve "dependencies"
|
||||
;; Combined "peerDependencies" and "dependencies" dependencies
|
||||
;; with "dependencies" taking precedent.
|
||||
(lambda (pkg-meta)
|
||||
(fold
|
||||
(lambda (dependency dependencies)
|
||||
(assoc-set! dependencies
|
||||
(car dependency) (cdr dependency)))
|
||||
(or (assoc-ref pkg-meta "peerDependencies") '())
|
||||
(or (assoc-ref pkg-meta "dependencies") '()))))))
|
||||
|
||||
(define* (delete-lockfiles #:key lockfiles #:allow-other-keys)
|
||||
"Delete LOCKFILES if they exist."
|
||||
(define* (delete-lockfiles #:key inputs #:allow-other-keys)
|
||||
"Delete 'package-lock.json', 'yarn.lock', and 'npm-shrinkwrap.json', if they
|
||||
exist."
|
||||
(for-each (lambda (pth)
|
||||
(when (file-exists? pth)
|
||||
(delete-file pth)))
|
||||
lockfiles))
|
||||
'("package-lock.json"
|
||||
"yarn.lock"
|
||||
"npm-shrinkwrap.json"))
|
||||
#t)
|
||||
|
||||
(define* (configure #:key inputs #:allow-other-keys)
|
||||
(define* (configure #:key outputs inputs #:allow-other-keys)
|
||||
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
||||
(invoke npm "--offline"
|
||||
"--ignore-scripts"
|
||||
"--install-links"
|
||||
"--no-audit"
|
||||
"install")))
|
||||
(invoke npm "--offline" "--ignore-scripts" "--install-links" "install")
|
||||
#t))
|
||||
|
||||
(define* (build #:key inputs #:allow-other-keys)
|
||||
(let* ((package-meta (call-with-input-file "package.json" json->scm))
|
||||
(scripts (assoc-ref package-meta "scripts")))
|
||||
(if (and scripts (assoc-ref scripts "build"))
|
||||
(let ((package-meta (call-with-input-file "package.json" json->scm)))
|
||||
(if (assoc-ref* (assoc-ref* package-meta "scripts" '()) "build" #f)
|
||||
(let ((npm (string-append (assoc-ref inputs "node") "/bin/npm")))
|
||||
(invoke npm "run" "build"))
|
||||
(format #t "there is no build script to run~%"))))
|
||||
(format #t "there is no build script to run~%"))
|
||||
#t))
|
||||
|
||||
(define* (check #:key tests? inputs test-target #:allow-other-keys)
|
||||
"Run 'npm run TEST-TARGET' if TESTS?"
|
||||
@@ -301,7 +334,8 @@ only after the 'patch-dependencies' phase."
|
||||
"--owner=0"
|
||||
"--group=0"
|
||||
"--numeric-owner"
|
||||
"-czf" "../package.tgz" "."))
|
||||
"-czf" "../package.tgz" ".")
|
||||
#t)
|
||||
|
||||
(define* (install #:key outputs inputs #:allow-other-keys)
|
||||
"Install the node module to the output store item."
|
||||
@@ -313,7 +347,8 @@ only after the 'patch-dependencies' phase."
|
||||
"--loglevel" "info"
|
||||
"--production"
|
||||
"--install-links"
|
||||
"install" "../package.tgz")))
|
||||
"install" "../package.tgz")
|
||||
#t))
|
||||
|
||||
(define* (avoid-node-gyp-rebuild #:key outputs #:allow-other-keys)
|
||||
"Adjust the installed 'package.json' to remove an 'install' script that
|
||||
@@ -341,25 +376,28 @@ would try to run 'node-gyp rebuild'."
|
||||
;; For further details, see:
|
||||
;; - https://docs.npmjs.com/cli/v8/configuring-npm/package-json#default-values
|
||||
;; - https://docs.npmjs.com/cli/v8/using-npm/scripts#best-practices
|
||||
(let* ((installed-package.json
|
||||
(search-input-file outputs (string-append "/lib/node_modules/"
|
||||
(module-name ".")
|
||||
"/package.json")))
|
||||
;; We don't want to use an atomic replacement here, because we often
|
||||
;; don't even need to overwrite this file. Therefore, let's use some
|
||||
;; helpers that we'd otherwise not need.
|
||||
(pkg-meta (call-with-input-file installed-package.json json->scm))
|
||||
(scripts (or (assoc-ref pkg-meta "scripts") '())))
|
||||
(when (equal? "node-gyp rebuild" (assoc-ref scripts "install"))
|
||||
(call-with-output-file installed-package.json
|
||||
(lambda (out)
|
||||
(scm->json
|
||||
(assoc-set! pkg-meta
|
||||
"scripts"
|
||||
(assoc-set! scripts
|
||||
"install"
|
||||
"echo Guix: avoiding node-gyp rebuild"))
|
||||
out))))))
|
||||
(define installed-package.json
|
||||
(search-input-file outputs (string-append "/lib/node_modules/"
|
||||
(module-name ".")
|
||||
"/package.json")))
|
||||
;; We don't want to use an atomic replacement here, because we often don't
|
||||
;; even need to overwrite this file. Therefore, let's use some helpers
|
||||
;; that we'd otherwise not need.
|
||||
(define pkg-meta
|
||||
(call-with-input-file installed-package.json json->scm))
|
||||
(define scripts
|
||||
(assoc-ref* pkg-meta "scripts" '()))
|
||||
|
||||
(when (equal? "node-gyp rebuild" (assoc-ref* scripts "install" #f))
|
||||
(call-with-output-file installed-package.json
|
||||
(lambda (out)
|
||||
(scm->json
|
||||
(assoc-set! pkg-meta
|
||||
"scripts"
|
||||
(assoc-set! scripts
|
||||
"install"
|
||||
"echo Guix: avoiding node-gyp rebuild"))
|
||||
out)))))
|
||||
|
||||
(define %standard-phases
|
||||
(modify-phases gnu:%standard-phases
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2018, 2020-2022, 2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2018, 2020-2022, 2025-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2012, 2015 Free Software Foundation, Inc.
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
@@ -149,6 +149,7 @@ Raise an '&http-get-error' condition if downloading fails."
|
||||
(response-code resp)))
|
||||
(case code
|
||||
((200)
|
||||
(set-port-filename! data (uri->string uri))
|
||||
(values data resp))
|
||||
((301 ; moved permanently
|
||||
302 ; found (redirection)
|
||||
|
||||
@@ -927,7 +927,8 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
|
||||
(inputs (cran-package-inputs meta repository
|
||||
#:download-source download-source))
|
||||
(substitutable? (and substitutable? (not git?) (not hg?)
|
||||
(not (source-size-too-big? source-url))))
|
||||
(not (false-if-exception
|
||||
(source-size-too-big? source-url)))))
|
||||
(package
|
||||
`(package
|
||||
(name ,(cran-guix-name name))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2024, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
@@ -703,7 +703,7 @@ values.")))))))))
|
||||
(loop tail 'regular
|
||||
(append (append-map
|
||||
for-type
|
||||
(ensure-list (load* file (make-user-module '()))))
|
||||
(ensure-list (load* file '())))
|
||||
result))))
|
||||
(('manifest . manifest)
|
||||
;; Otherwise '--system' is ignored.
|
||||
@@ -715,8 +715,8 @@ values.")))))))))
|
||||
(manifest-entries
|
||||
(ensure-manifest
|
||||
(load* manifest
|
||||
(make-user-module '((guix profiles)
|
||||
(gnu))))
|
||||
'((guix profiles)
|
||||
(gnu)))
|
||||
manifest)))
|
||||
result))))
|
||||
(('expression . str)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
|
||||
;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020-2022, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2024 Richard Sent <richard@freakingpenguin.com>
|
||||
;;; Copyright © 2025 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
@@ -120,9 +120,9 @@ Perform the deployment specified by FILE.\n"))
|
||||
"Load FILE as a user module."
|
||||
(let* ((guix-path (dirname (search-path %load-path "guix.scm")))
|
||||
(environment-modules (scheme-modules* guix-path "gnu/machine"))
|
||||
(module (make-user-module (append '((gnu) (gnu machine))
|
||||
environment-modules))))
|
||||
(load* file module)))
|
||||
(modules (append '((gnu) (gnu machine))
|
||||
environment-modules)))
|
||||
(load* file modules)))
|
||||
|
||||
(define* (show-what-to-deploy machines #:key (dry-run? #f) (roll-back? #f))
|
||||
"Show the list of machines in MACHINES to deploy or roll back."
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015-2025 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015-2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Mike Gerwitz <mtg@gnu.org>
|
||||
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;;
|
||||
@@ -319,8 +319,8 @@ use '--preserve' instead~%"))
|
||||
|
||||
(define (load-manifest file) ;TODO: factorize
|
||||
"Load the user-profile manifest (Scheme code) from FILE and return it."
|
||||
(let ((user-module (make-user-module '((guix profiles) (gnu)))))
|
||||
(load* file user-module)))
|
||||
(let ((modules '((guix profiles) (gnu))))
|
||||
(load* file modules)))
|
||||
|
||||
(define (options/resolve-packages store opts)
|
||||
"Return OPTS with package specification strings replaced by manifest entries
|
||||
@@ -369,8 +369,7 @@ for the corresponding packages."
|
||||
(packages->outputs (read/eval str) mode))
|
||||
(('load mode file)
|
||||
;; Add all the outputs of the package defined in FILE.
|
||||
(let ((module (make-user-module '())))
|
||||
(packages->outputs (load* file module) mode)))
|
||||
(packages->outputs (load* file '()) mode))
|
||||
(('manifest . file)
|
||||
(manifest-entries (load-manifest file)))
|
||||
(('nesting? . #t)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user