1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-08 07:04:08 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Ian Eure baed3ca1b6 gnu: librewolf: Update to 148.0.2-1 [security-fixes].
Contains fixes for:

CVE-2026-3845: Heap buffer overflow in the Audio/Video: Playback
               component in Firefox for Android
CVE-2026-3846: Same-origin policy bypass in the CSS Parsing and
               Computation component
CVE-2026-3847: Memory safety bugs fixed in Firefox 148.0.2

* gnu/packages/librewolf.scm (librewolf): Update to 148.0.2-1.

Change-Id: Id3868e10d38f5f111bd00bc140a9dc64f132caa9
2026-03-10 15:35:09 -07:00
137 changed files with 3886 additions and 10998 deletions
+3 -3
View File
@@ -37,13 +37,13 @@ Tick a box by changing it from [ ] to [x].
```
- Package **addition**
- [ ] The packages includes tests when available.
- [ ] Fixed errors reported by `guix lint` (`./pre-inst-env guix lint PACKAGE ...`).
- [ ] Verified cryptographic signature provided by upstream.
- [ ] The packages don't use bundled copies of software.
- [ ] Synopsis and description are written in conformance with [the guidelines](https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- [ ] Commit messages follow [the "ChangeLog" style](https://www.gnu.org/prep/standards/html_node/Change-Logs.html).
- [ ] The change doesn't break `guix pull` (`guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master --disable-authentication`).
- Successfully cross-compiled to the following target(s) (this is optional):
- [ ] x86_64-linux-gnu
-9
View File
@@ -480,15 +480,6 @@ tests/import/texlive\.scm @guix/tex
etc/news\.scm @guix/translations
po/ @guix/translations
gnu/packages/version-control\.scm @guix/vcs
gnu/services/version-control\.scm @guix/vcs
gnu/tests/version-control\.scm @guix/vcs
guix/build/bzr\.scm @guix/vcs
guix/build/cvs\.scm @guix/vcs
guix/build/git\.scm @guix/vcs
guix/build/hg\.scm @guix/vcs
guix/build/svn\.scm @guix/vcs
gnu/packages/xfce\.scm @guix/xfce
gnu/packages/zig\.scm @guix/zig
-4
View File
@@ -14,10 +14,6 @@ Copyright © 2026 Noé Lopez <noelopez@free.fr>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.6.0 (since 1.5.0)
** Distribution
*** GNOME updated to version 48
* Changes in 1.5.0 (since 1.4.0)
** Package management
*** New rpm format for the guix pack command
-13
View File
@@ -111,9 +111,6 @@ build daemon, from within the generated build program."
#~(begin
(use-modules (ice-9 match))
;; To avoid lots of readlink calls
(fluid-set! %file-port-name-canonicalization #f)
(eval-when (expand load eval)
;; (gnu packages …) modules are going to be looked up
;; under SOURCE. (guix config) is looked up in FRONT.
@@ -172,13 +169,6 @@ build daemon, from within the generated build program."
;; build output.
(connect sock AF_UNIX build-output)
(when (integer? proto)
;; port->connection doesn't setup buffering, so
;; do this here
(setvbuf (store-connection-socket store)
'block
%default-store-connection-buffer-size))
(display
(and=>
;; Silence autoload warnings and the likes.
@@ -249,9 +239,6 @@ Display a spinner when nothing happens."
#:rest rest)
"Return a derivation that unpacks SOURCE into STORE and compiles Scheme
files."
;; Avoid lots of readlink calls
(fluid-set! %file-port-name-canonicalization #f)
;; Build the build program and then use it as a trampoline to build from
;; SOURCE.
(mlet %store-monad ((build (build-program source version guile-version
-7
View File
@@ -20,9 +20,6 @@
(use-modules (srfi srfi-26))
;; Avoid lots of readlink calls
(fluid-set! %file-port-name-canonicalization #f)
;; Add ~/.config/guix/current to the search path.
(eval-when (expand load eval)
(and=> (or (getenv "XDG_CONFIG_HOME")
@@ -44,10 +41,6 @@
(match (command-line)
((program source)
;; The build procedure outputs to this port, so setup buffering to avoid
;; one char per syscall.
(setvbuf (current-error-port) 'line)
(with-error-handling
(with-store store
(let* ((script (string-append source "/build-aux/build-self.scm"))
+107 -93
View File
@@ -25,6 +25,7 @@ choice.
* Running the Test Suite:: Testing Guix.
* Running Guix Before It Is Installed:: Hacker tricks.
* The Perfect Setup:: The right tools.
* Alternative Setups:: Other possible tools that do the job.
* Source Tree Structure:: Source code guided tour.
* Packaging Guidelines:: Growing the distribution.
* Coding Style:: Hygiene of the contributor.
@@ -66,7 +67,7 @@ GNU Guix depends on the following packages:
@itemize
@item @url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x,
version 3.0.9 or later;
@item @url{https://codeberg.org/guile-gcrypt/guile-gcrypt, Guile-Gcrypt}, version
@item @url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version
0.1.0 or later;
@item
@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile
@@ -75,11 +76,11 @@ gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to
@uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS
until version 3.7.8 included.};
@item
@uref{https://codeberg.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
or later;
@item @uref{https://codeberg.org/guile-compression/guile-zlib, Guile-zlib},
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
version 0.1.0 or later;
@item @uref{https://codeberg.org/guile-compression/guile-lzlib, Guile-lzlib};
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
@item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
@item
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.10.0
@@ -101,7 +102,7 @@ Support for build offloading (@pxref{Daemon Offload Setup}) and
version 0.13.0 or later.
@item
@uref{https://codeberg.org/guile-compression/guile-zstd, Guile-zstd}, for zstd
@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd
compression and decompression in @command{guix publish} and for
substitutes (@pxref{Invoking guix publish}).
@@ -535,64 +536,14 @@ to build again each time you update a package file, run
@node The Perfect Setup
@section The Perfect Setup
@cindex editor setup, for Scheme
@cindex Scheme code editing
All configuration and development in Guix is done in the Scheme
language. Like all languages of the Lisp family, Scheme has a simple
syntax. The perfect setup is one where the editor you choose makes
working with that syntax seamless and pleasant; for that it must
absolutely support a few things for Scheme:
@itemize
@item
automatic indentation, such that hitting the ``Enter'' key (or
@kbd{RET}) places cursor ``at the right place'' on the next line;
@item
``parentheses matching'', allowing you to jump from a closing
parenthesis to the corresponding opening parenthesis and vice-versa;
@item
syntax highlighting, so that keywords are visually distinguishable.
@end itemize
The following optional features can make your life easier:
@itemize
@item
structural editing of Scheme syntax;
@item
Guile integration so you can easily evaluate code, jump to procedure
definitions, view documentation, and so on.
@end itemize
The following sections look at editor setups that are known to work
well. Do share your setup for these and other editors for inclusion in
this manual! @xref{Submitting Patches}.
@menu
* Emacs:: Best-of-breed editor for Scheme code.
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: Classical Unix editors.
@end menu
@node Emacs
@subsection Emacs
@url{https://www.gnu.org/software/emacs, Emacs} is probably the most
widely used editor in the community; it is also the one that,
historically, has always had excellent support for Lisp languages, being
itself a Lisp implementation!
@quotation Note
If you are just getting started with Emacs, @pxref{Guile Studio} for a
smooth way to start your transition.
@end quotation
Just like for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile
Reference Manual}), Emacs works best when empowered by the wonderful
@url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
The Perfect Setup to hack on Guix is basically the perfect setup used
for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
Manual}). First, you need more than an editor, you need
@url{https://www.gnu.org/software/emacs, Emacs}, empowered by the
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@example
guix install emacs guile emacs-geiser emacs-geiser-guile emacs-guix
guix install emacs guile emacs-geiser emacs-geiser-guile
@end example
Geiser allows for interactive and incremental development from within
@@ -611,15 +562,6 @@ facilities to directly operate on the syntax tree, such as raising an
s-expression or wrapping it, swallowing or rejecting the following
s-expression, etc.
Cherry on the cake: the Emacs-Guix package provides a convenient
interface to many commands---e.g., it lets you browse packages, install
or remove packages, and so on---as well as development helpers that
enhance @code{scheme-mode} and Geiser. @xref{Introduction,,,
emacs-guix, Emacs-Guix Reference Manual}, to make sure you don't miss
out!
@unnumberedsubsubsec Taming Boilerplate with Templates
@cindex code snippets
@cindex templates
@cindex reducing boilerplate
@@ -659,8 +601,6 @@ trigger string @code{origin...}, which can be expanded further. The
@code{origin} snippet in turn may insert other trigger strings ending on
@code{...}, which also can be expanded further.
@unnumberedsubsubsec Updating Copyright Lines
@cindex insert or update copyright
@cindex @code{M-x guix-copyright}
@cindex @code{M-x copyright-update}
@@ -689,30 +629,104 @@ copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs.
@unnumberedsubsubsec Referencing Bug Reports
@node Viewing Bugs within Emacs
@subsection Viewing Bugs within Emacs
@cindex bug references, Emacs
Emacs has a nice minor mode called @code{bug-reference}, which can be
used to follow link to issues and pull requests such as @samp{#1234} or
@samp{guix/guix#1234} (@pxref{Bug Reference,,, emacs, The GNU Emacs
Manual}). To set it up, enable it in the relevant modes:
Emacs has a nice minor mode called @code{bug-reference}, which, when
combined with @samp{emacs-debbugs} (the Emacs package), can be used to
open links such as @samp{<https://bugs.gnu.org/58697>} or
@samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From
there you can easily consult the email thread via the Gnus interface,
reply or modify the bug status, all without leaving the comfort of
Emacs! Below is a sample configuration to add to your @file{~/.emacs}
configuration file:
@lisp
;;; Bug references.
(require 'bug-reference)
(add-hook 'prog-mode-hook #'bug-reference-prog-mode)
(add-hook 'gnus-mode-hook #'bug-reference-mode)
(add-hook 'erc-mode-hook #'bug-reference-mode)
;; Add extra hooks for your mail user agent: Gnus, mu4e, etc.
(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)
(add-hook 'gnus-article-mode-hook #'bug-reference-mode)
;;; This extends the default expression (the top-most, first expression
;;; provided to 'or') to also match URLs such as
;;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.
;;; It is also extended to detect "Fixes: #NNNNN" git trailers.
(setq bug-reference-bug-regexp
(rx (group (or (seq word-boundary
(or (seq (char "Bb") "ug"
(zero-or-one " ")
(zero-or-one "#"))
(seq (char "Pp") "atch"
(zero-or-one " ")
"#")
(seq (char "Ff") "ixes"
(zero-or-one ":")
(zero-or-one " ") "#")
(seq "RFE"
(zero-or-one " ") "#")
(seq "PR "
(one-or-more (char "a-z+-")) "/"))
(group (one-or-more (char "0-9"))
(zero-or-one
(seq "#" (one-or-more
(char "0-9"))))))
(seq (? "<") "https://bugs.gnu.org/"
(group-n 2 (one-or-more (char "0-9")))
(? ">"))
(seq (? "<") "https://issues.guix.gnu.org/"
(? "issue/")
(group-n 2 (one-or-more (char "0-9")))
(? ">"))))))
(setq bug-reference-url-format "https://issues.guix.gnu.org/%s")
(require 'debbugs)
(require 'debbugs-browse)
(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)
(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)
;; The following allows Emacs Debbugs user to open the issue directly within
;; Emacs.
(setq debbugs-browse-url-regexp
(rx line-start
"http" (zero-or-one "s") "://"
(or "debbugs" "issues.guix" "bugs")
".gnu.org" (one-or-more "/")
(group (zero-or-one "cgi/bugreport.cgi?bug="))
(group-n 3 (one-or-more digit))
line-end))
;; Change the default when run as 'M-x debbugs-gnu'.
(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
;; Show feature requests.
(setq debbugs-gnu-default-severities
'("serious" "important" "normal" "minor" "wishlist"))
@end lisp
When working from a Git checkout of Guix, setup is automatic:
@code{bug-reference} automatically detects that the project is hosted on
Codeberg@footnote{
@c 'vc-git-repository-url' is used by
@c 'bug-reference-setup-from-vc-alist', which checks for one of these
@c names for the remote.
As of Emacs@tie{}30.2, auto-detection works if and
only if the Git remote is called @code{upstream} or @code{origin}.} and
infers the issue and pull request URL from there.
For more information, refer to @ref{Bug Reference,,, emacs, The GNU
Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
Guide}.
@node Alternative Setups
@section Alternative Setups
Alternative setups than Emacs may let you work on Guix with a
similar development experience and they might work better with the
tools you currently use or help you make the transition to Emacs.
The options listed below only provide the alternatives to the Emacs
based setup, which is the most widely used in the Guix community. If
you want to really understand how the perfect setup for Guix development
is supposed to work, we encourage you to read the section before this
regardless of the editor you choose to use.
@menu
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: When you are evil to the root.
@end menu
@node Guile Studio
@subsection Guile Studio
@@ -730,9 +744,9 @@ Guile Studio comes with Geiser preinstalled and prepared for action.
@node Vim and NeoVim
@subsection Vim and NeoVim
@cindex Vim, for Scheme code editing
Vim (and NeoVim) are also packaged in Guix, in case these popular modal
editors are more to your taste.
Vim (and NeoVim) are also packaged in Guix, just in case you decided
to go for the evil path.
@example
guix install vim
@@ -2496,8 +2510,8 @@ For example, to list all open issues on @code{guix-patches}, hit:
For a more convenient (shorter) way to access both the bugs and patches
submissions, you may want to configure the
@code{debbugs-gnu-default-packages} and
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Minor
Mode,,, debbugs-ug, The Debbugs User Guide}).
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing
Bugs within Emacs}).
To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be
used.
-3
View File
@@ -523,9 +523,6 @@ info sicp
You'll find more books, tutorials and other resources at
@url{https://schemers.org/}.
@xref{The Perfect Setup,,, guix, GNU Guix Reference Manual}, on how to
set up your editor for Scheme hacking.
@end quotation
+10 -217
View File
@@ -149,7 +149,6 @@ Copyright @copyright{} 2025 Rodion Goritskov@*
Copyright @copyright{} 2025 dan@*
Copyright @copyright{} 2025 Noé Lopez@*
Copyright @copyright{} 2026 David Elsing@*
Copyright @copyright{} 2026 Nguyễn Gia Phong@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -441,7 +440,7 @@ Services
* Power Management Services:: Extending battery life, etc.
* Audio Services:: The MPD.
* Virtualization Services:: Virtualization services.
* Version Control Services:: Software version control servers.
* Version Control Services:: Providing remote access to Git repositories.
* Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in.
* Guix Services:: Services relating specifically to Guix.
@@ -8048,9 +8047,6 @@ Intimidated by the Scheme language or curious about it? The Cookbook
has a short section to get started that recaps some of the things shown
above and explains the fundamentals. @xref{A Scheme Crash Course,,,
guix-cookbook, GNU Guix Cookbook}, for more information.
@xref{The Perfect Setup}, on how to set up your editor for Scheme
hacking.
@end quotation
Once a package definition is in place, the
@@ -18037,9 +18033,6 @@ misplaced parentheses can often be identified by reformatting your file:
guix style -f config.scm
@end example
@xref{The Perfect Setup}, on how to set up your editor for Scheme
hacking.
The Cookbook has a short section to get started with the Scheme
programming language that explains the fundamentals, which you will find
helpful when hacking your configuration. @xref{A Scheme Crash Course,,,
@@ -19924,7 +19917,7 @@ declaration.
* Power Management Services:: Extending battery life, etc.
* Audio Services:: The MPD.
* Virtualization Services:: Virtualization services.
* Version Control Services:: Software version control servers.
* Version Control Services:: Providing remote access to Git repositories.
* Game Services:: Game servers.
* PAM Mount Service:: Service to mount volumes when logging in.
* Guix Services:: Services relating specifically to Guix.
@@ -42375,30 +42368,13 @@ How often to run the node cleaning job. The default is once per day, at
@node Version Control Services
@subsection Version Control Services
The @code{(gnu services version-control)} module provides services to
allow remote access to local Git and Fossil repositories.
For Git, the following services are available.
@itemize
@item The @ref{git-daemon-service-type, Git daemon service}
provides access via the unsecured TCP-based @code{git://} protocol.
@item The @code{nginx} web server can proxy some requests
to @ref{git-http-backend, Git Smart HTTP backend}.
@item The @ref{cgit-service-type, cgit service} also implements
Git Smart HTTP protocol, in addition to a web interface.
@item The @ref{gitolite-service-type, Gitolite service} offers access
through SSH. The @ref{gitile-service-type, Gitile service}
can be used along side it to provide a web interface.
@end itemize
Fossil repositories are served along with a web interface
by the @ref{fossil-service-type, Fossil service}.
@anchor{git-daemon-service-type}
@subsubheading Git Daemon Service
@cindex Git daemon service
@cindex Git, hosting
The @code{(gnu services version-control)} module provides a service to
allow remote access to local Git repositories. There are three options:
the @code{git-daemon-service-type}, which provides access to repositories via
the @code{git://} unsecured TCP-based protocol, extending the
@code{nginx} web server to proxy some requests to
@code{git-http-backend}, or providing a web interface with
@code{cgit-service-type}.
@defvar git-daemon-service-type
Type for a service that runs @command{git daemon}, a simple TCP server to
@@ -42457,15 +42433,7 @@ Extra options that will be passed to @command{git daemon}.@footnote{Run
The @code{git://} protocol lacks authentication. When you pull from a
repository fetched via @code{git://}, you don't know whether the data you
receive was modified or is even coming from the specified host, and your
connection is subject to eavesdropping.
@anchor{git-http-backend}
@subsubheading Git HTTP Backend
@cindex Git HTTP backend
@cindex Git, hosting
It's better to use an authenticated
connection is subject to eavesdropping. It's better to use an authenticated
and encrypted transport, such as @code{https}. Although Git allows you
to serve repositories using unsophisticated file-based web servers,
there is a faster protocol implemented by the @code{git-http-backend}
@@ -42540,7 +42508,6 @@ HTTPS@. You will also need to add an @code{fcgiwrap} proxy to your
system services. @xref{Web Services}.
@end deffn
@anchor{cgit-service-type}
@subsubheading Cgit Service
@cindex Cgit service
@@ -43493,7 +43460,6 @@ could instantiate a cgit service like this:
(cgitrc "")))
@end lisp
@anchor{gitolite-service-type}
@subsubheading Gitolite Service
@cindex Gitolite service
@@ -43673,7 +43639,6 @@ Extra content to add verbatim into the git configuration file.
@end table
@end deftp
@anchor{gitile-service-type}
@subsubheading Gitile Service
@cindex Gitile service
@@ -43808,155 +43773,6 @@ like to serve.
@end table
@end deftp
@anchor{fossil-service-type}
@subsubheading Fossil Service
@cindex Fossil service
@cindex Fossil, forge
@uref{https://fossil-scm.org, Fossil} is a distributed
software configuration management system. In addition to version control
like Git, Fossil also supports bug tracking, wiki, forum, chat, etc.,
all accessible via its built-in web interface.
Fossil is highly reliable thanks to its robust file format based on SQLite
with atomic transactions. Its server is CPU, memory and bandwidth efficient
enough run comfortably on a cheap VPS or single board computer,
and be accessed over suboptimal connections.
The following example will configure Fossil to listen on a unix socket
behind a reverse proxy and serve repositories from a custom location.
@lisp
(service fossil-service-type
(fossil-configuration
(repository "/srv/museum")
(repo-list? #t)
(base-url "https://museum.example")
(socket-file "/var/run/fossil.sock")
(compress? #f)))
@end lisp
@deftp {Data Type} fossil-configuration
Available @code{fossil-configuration} fields are:
@table @asis
@item @code{package} (default: @code{fossil}) (type: package)
The Fossil package to use.
@item @code{user} (default: @code{"fossil"}) (type: string)
The user running the Fossil server.
@item @code{group} (default: @code{"fossil"}) (type: string)
The user group running the Fossil server.
@item @code{log-file} (default: @code{"/var/log/fossil.log"}) (type: string)
The path to the server's log.
@item @code{repository} (default: @code{"/var/lib/fossil"}) (type: string)
The name of the Fossil repository to be served, or a directory
containing one or more repositories with names ending in @code{.fossil}.
In the latter case, a prefix of the URL pathname is used to search the
directory for an appropriate repository. Files not matching the pattern
@code{*.fossil*} will be served as static content. Invoke
@command{fossil server --help} for more information.
@item @code{acme?} (default: @code{#f}) (type: boolean)
Deliver files from the @code{.well-known} subdirectory.
@item @code{base-url} (type: maybe-string)
The URL used as the base (useful for reverse proxies)
@item @code{chroot} (type: maybe-string)
The directory to use for chroot instead of @code{repository}.
@item @code{ckout-alias} (type: maybe-string)
The @var{name} for @code{/doc/@var{name}/...} to be treated as
@code{/doc/ckout/...}.
@item @code{compress?} (default: @code{#t}) (type: boolean)
Compress HTTP response.
@item @code{create?} (default: @code{#f}) (type: boolean)
Create a new @code{repository} if it does not already exist.
@item @code{error-log-file} (type: maybe-string)
The path for HTTP error log.
@item @code{ext-root} (type: maybe-string)
The document root for the /ext extension mechanism.
@item @code{files} (type: maybe-list-of-strings)
The glob patterns for static files.
@item @code{from} (type: maybe-string)
The path to be used as the diff baseline for the /ckout page.
@item @code{jail?} (default: @code{#t}) (type: boolean)
Whether to enter the chroot jail after dropping root privileges.
@item @code{js-mode} (type: maybe-fossil-js-mode)
How JavaScript is delivered with pages, either @code{'inline} at the end
of the HTML file, as @code{'separate} HTTP requests, or one single HTTP
request for all JavaScript @code{'bundled} together. Depending on the
needs of any given page, @code{'inline} and @code{'bundled} modes might
result in a single amalgamated script or several, but both approaches
result in fewer HTTP requests than the @code{'separate} mode.
@item @code{https?} (default: @code{#f}) (type: boolean)
Indicate that the requests are coming through a reverse proxy that has
already translated HTTPS into HTTP.
@item @code{ip} (type: maybe-string)
The IP for the server to listen on.
@item @code{local-authentication?} (default: @code{#f}) (type: boolean)
Enable automatic login for requests from localhost.
@item @code{localhost?} (default: @code{#f}) (type: boolean)
Listen on @code{127.0.0.1} only.
@item @code{main-menu} (type: maybe-string)
The file whose contents is to override the repository's @code{mainmenu}
setting.
@item @code{max-latency} (type: maybe-number)
The maximum latency in seconds for a single HTTP request.
@item @code{port} (default: @code{8080}) (type: port-number)
The port number for the server to listen on.
@item @code{list-repositories?} (default: @code{#f}) (type: boolean)
If @code{repository} is dir, URL @code{/} lists repos.
@item @code{redirect-to-https?} (default: @code{#t}) (type: boolean)
If set to @code{#f}, do not force redirects to HTTPS regardless of the
repository setting @code{redirect-to-https}.
@item @code{scgi?} (default: @code{#f}) (type: boolean)
Accept SCGI rather than HTTP.
@item @code{skin} (type: maybe-string)
The skin label to use, overriding repository settings.
@item @code{socket-file} (type: maybe-string)
The unix-domain socket to use instead of TCP/IP.
@item @code{socket-mode} (default: @code{0o640}) (type: mode-number)
The file permissions to set for the unix socket.
@item @code{th-trace?} (default: @code{#f}) (type: boolean)
Trace TH1 execution (for debugging purposes).
@item @code{tls-certificate} (type: maybe-string)
The certicate file (@file{fullchain.pem}) with which to enable TLS
(HTTPS) encryption.
@item @code{tls-private-key} (type: maybe-string)
The file storing the TLS private key.
@end table
@end deftp
@node Game Services
@subsection Game Services
@@ -50672,29 +50488,6 @@ cat $(herd configuration tor)
This can come in as a handy debugging tool!
@end deffn
@deffn {Procedure} shepherd-signal-action name signal @
[#:documentation `Send signal @var{signal} to the running service`] @
[#:message `Service has been asked to perform @var{name}`]
Return a shepherd action with @var{name} to send @var{signal} to the
running process. The optional @var{documentation} and @var{message} can be used
to customize the documentation and output message.
Many daemons perform special actions after receiving a specific signal.
For example the @command{syslogd} logger will reread its configuration file
after receiving @code{SIGHUP}.
After adding
@lisp
(shepherd-signal-action 'reload SIGHUP))
@end lisp
the @code{reload} action will be available and can be used with
@example
herd reload syslogd
@end example
@end deffn
@defvar shepherd-root-service-type
The service type for the Shepherd ``root service''---i.e., PID@tie{}1.
-44
View File
@@ -33,7 +33,6 @@
;; Copyright © 2025 Rivulet Cedar <rivulet_cedar@yeah.net>
;; Copyright © 2025 jgart <jgart@dismail.de>
;; Copyright © 2025 Steve George <steve@futurile.net>
;; Copyright © 2026 Noé Lopez <noelopez@free.fr>
;;
;; Copying and distribution of this file, with or without modification, are
@@ -43,49 +42,6 @@
(channel-news
(version 0)
(entry (commit "b52ce9041ad58aeababd2d50d3e72bc23dffff60")
(title
(en "GNOME 48 is now available")
(fr "GNOME 48 maintenant disponible")
(pt "GNOME 48 já está disponível")
(de "GNOME 48 jetzt verfügbar"))
(body
(en "The GNOME desktop was updated from version 46 to 48, bringing
accent colors, an improved Files (Nautilus) application, a new image
viewer (Loupe), and more:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")
(fr "La version 48 de lenvironnement de bureau GNOME est maintenant
disponible. Les nouvelles fonctionnalitées incluent: les couleurs daccent,
lapplication Fichiers (Nautilus) améliorée, un nouveau visionneur
dimages (Loupe), et plus:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")
(pt "GNOME desktop foi atualizado da versão 46 para a 48, trazendo
cores acentuadas, um aplicativo de arquivos (Nautilus) melhorado, um novo
visualizador de imagens (Loupe), e mais:
@itemize
@item @url{https://release.gnome.org/47/, Notas de lançamento do GNOME 47}
@item @url{https://release.gnome.org/48/, Notas de lançamento do GNOME 48}
@end itemize")
(de "Die GNOME-Desktopumgebung wurde von Version 46 auf 48
aktualisiert. Neue Funktionen in dieser Version sind die Möglichkeit, eine
Akzentfarbe zu wählen, Verbesserungen in der Dateien-Anwendung (Nautilus), ein
neuer Bildbetrachter (Loupe), und mehr. Für eine ausführlichere Liste an
Änderungen, siehe:
@itemize
@item @url{https://release.gnome.org/47/, GNOME 47 release notes}
@item @url{https://release.gnome.org/48/, GNOME 48 release notes}
@end itemize")))
(entry (commit "d659fe8666c4bc38fcbdbe7b7a35101f2d7cc41b")
(title
(en "Potential security vulnerability in glibc")
+1 -1
View File
@@ -33,7 +33,7 @@
"node-build-system"
"ocaml-build-system"
"perl-build-system"
"pyproject-build-system"
"python-build-system"
"qt-build-system"
"r-build-system"
"rakudo-build-system"
+1 -25
View File
@@ -1197,20 +1197,6 @@ the \"texlive\" importer."
#:scope (list "etc/news.scm"
(make-regexp* "^po/"))))
(define-team vcs
(team 'vcs
#:name "Version control team"
#:description
"Version control packages, services, and Guix download backends."
#:scope (list "gnu/packages/version-control.scm"
"gnu/services/version-control.scm"
"gnu/tests/version-control.scm"
"guix/build/bzr.scm"
"guix/build/cvs.scm"
"guix/build/git.scm"
"guix/build/hg.scm"
"guix/build/svn.scm")))
(define-team xfce
(team 'xfce
#:name "Xfce team"
@@ -1545,7 +1531,7 @@ the \"texlive\" importer."
(define-member (person "Nguyễn Gia Phong"
"cnx@loang.net"
"cnx")
build-tools python qa-packages sysadmin vcs)
build-tools python qa-packages sysadmin)
(define-member (person "Lilah Tascheter"
"lilah@lunabee.space"
@@ -1617,16 +1603,6 @@ the \"texlive\" importer."
"folaht")
documentation)
(define-member (person "Thanos Apollo"
"public@thanosapollo.org"
"thanosapollo")
vcs)
(define-member (person "Ashish SHUKLA"
"ashish.is@lostca.se"
"group")
vcs)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))
+8 -10
View File
@@ -55,7 +55,7 @@
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
# Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022, 2026 jgart <jgart@dismail.de>
# Copyright © 2022 jgart <jgart@dismail.de>
# Copyright © 2023-2025 Zheng Junjie <z572@z572.online>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
@@ -213,7 +213,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/connman.scm \
%D%/packages/containers.scm \
%D%/packages/convmv.scm \
%D%/packages/codex.scm \
%D%/packages/coq.scm \
%D%/packages/cpio.scm \
%D%/packages/cpp.scm \
@@ -314,6 +313,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
%D%/packages/genealogy.scm \
%D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/ghostscript.scm \
@@ -1092,7 +1092,6 @@ dist_patch_DATA = \
%D%/packages/patches/ceph-fix-cmake.patch \
%D%/packages/patches/cf-tool-add-languages.patch \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/cl-ana-pr-49.patch \
%D%/packages/patches/cl-asdf-config-directories.patch \
%D%/packages/patches/clamav-config-llvm-libs.patch \
%D%/packages/patches/clamav-system-tomsfastmath.patch \
@@ -1125,7 +1124,6 @@ dist_patch_DATA = \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/codex-acp-0.9.2-remove-patch-sections.patch \
%D%/packages/patches/codex-acp-0.9.2-replace-result-flatten.patch \
%D%/packages/patches/codex-0.98.0-remove-patch-sections.patch \
%D%/packages/patches/cogl-fix-double-free.patch \
%D%/packages/patches/collada-dom-boost.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
@@ -1229,7 +1227,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-treelib-remove-python2-compat.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-disable-jit-compilation.patch \
%D%/packages/patches/emacs-doc-toc-shell-commands.patch \
@@ -1431,6 +1428,7 @@ dist_patch_DATA = \
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
%D%/packages/patches/gemmi-fix-sajson-types.patch \
%D%/packages/patches/gemrb-remove-ifdef-and-externalize-path-setting-to-cmake.patch \
%D%/packages/patches/genimage-mke2fs-test.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/gettext-libunicode-update.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
@@ -1541,6 +1539,7 @@ dist_patch_DATA = \
%D%/packages/patches/grfcodec-gcc-compat.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/grub-hurd64.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
@@ -1580,7 +1579,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gst-plugins-base-null-pointer.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/gzdoom-find-system-libgme.patch \
%D%/packages/patches/hare-fallback-cache.patch \
@@ -1608,7 +1606,6 @@ dist_patch_DATA = \
%D%/packages/patches/hurd-rumpdisk-no-hd.patch \
%D%/packages/patches/hurd-startup.patch \
%D%/packages/patches/hwloc-1-test-btrfs.patch \
%D%/packages/patches/hwloc-add-with-opencl.patch \
%D%/packages/patches/i3lock-blur-fix-build-on-gcc-10.patch \
%D%/packages/patches/i7z-gcc-10.patch \
%D%/packages/patches/icecat-adjust-mozilla-desktop.patch \
@@ -1970,6 +1967,7 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/nextpnr-imgui.patch \
%D%/packages/patches/nhc98-c-update.patch \
%D%/packages/patches/nix-dont-build-html-doc.diff \
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
@@ -2379,10 +2377,10 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-1.78-unwinding-fix.patch \
%D%/packages/patches/rust-1.81-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-codex-0.98.0-arg0-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-core-file-lock.patch \
%D%/packages/patches/rust-codex-0.98.0-core-remove-self-dep.patch \
%D%/packages/patches/rust-codex-0.98.0-test-shebangs.patch \
%D%/packages/patches/rust-codex-0.98.0-test-timeout.patch \
%D%/packages/patches/rust-codex-0.98.0-windows-sandbox-protocol-version.patch \
%D%/packages/patches/rust-codex-0.98.0-execpolicy-file-lock.patch \
%D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
+2 -9
View File
@@ -3835,15 +3835,8 @@ platform-specific methods.")
"0y5w8pl91xapi49ih1pw7h48lac201cj7fm89hkklmzi9m2715gx"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list #$@(cond ((target-aarch64?)
'("--with-aarch64"))
((target-arm32?)
'("--with-arm"))
(else
'()))
"--with-python=no"
"--disable-static")))
`(#:configure-flags (list "--with-python=no"
"--disable-static")))
(inputs
(list openldap gnutls cyrus-sasl))
(synopsis "User-space component to the Linux auditing system")
+77 -73
View File
@@ -186,83 +186,85 @@ engine with a Lua scripting interface.")
(synopsis "Combined display server, multimedia framework and game engine (SDL)")))
(define-public durden
(let ((commit "43211acd7994836d5c4ba039d7ecc939dcf8a5aa")
(revision "2"))
(package
(name "durden")
(version (git-version "0.6.1" revision commit))
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://github.com/letoram/durden")
(commit commit)))
(sha256
(base32 "1jns4lq959s8ydykm0yg9sddzh74k7fdvjrnbz3z91idb7abl92d"))
(patches (search-patches "durden-shadow-arcan.patch"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
("util/" "share/arcan/appl/durden/util/")
("distr/durden" "bin/durden"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "distr/durden"
(("/usr/share/\\$applname")
(string-append (assoc-ref outputs "out")
"/share/arcan/appl"))
(("@ARCAN_STORE_PATH@")
(string-append (assoc-ref inputs "arcan")
"/bin/arcan"))
(("([\\([:blank:]]+)basename " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/basename "))
(("([\\([:blank:]]+)date " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/date "))
(("([\\([:blank:]]+)ln " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/ln "))
(("([\\([:blank:]]+)mkdir " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/mkdir "))
(("([\\([:blank:]]+)true; " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/true; "))
(("([\\([:blank:]]+)\\[ " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/[ "))))))))
(inputs (list arcan coreutils))
(home-page "https://durden.arcan-fe.com/")
(synopsis "Desktop Environment for Arcan")
(description
"Durden is a desktop environment for the Arcan Display Server.
It serves both as a reference showcase on how to take advantage of some of the
features in Arcan, and as an entry to the advanced-user side of the desktop
environment spectrum.")
(license (list license:bsd-3 license:expat license:cc-by3.0
license:cc-by4.0 license:asl2.0)))))
(define-public xarcan
(package
(name "durden")
(name "xarcan")
(version "0.6.3")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://codeberg.org/letoram/durden")
(url "https://github.com/letoram/xarcan")
(commit version)))
(sha256
(base32 "1w12mdjdbhw13134fj4kv43n1z6vrh1jhg1wc7m5hw82w8ncwqkm"))
(patches (search-patches "durden-shadow-arcan.patch"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("durden/" "share/arcan/appl/durden/")
("util/" "share/arcan/appl/durden/util/")
("distr/durden" "bin/durden"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "distr/durden"
(("/usr/share/\\$applname")
(string-append (assoc-ref outputs "out")
"/share/arcan/appl"))
(("@ARCAN_STORE_PATH@")
(string-append (assoc-ref inputs "arcan")
"/bin/arcan"))
(("([\\([:blank:]]+)basename " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/basename "))
(("([\\([:blank:]]+)date " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/date "))
(("([\\([:blank:]]+)ln " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/ln "))
(("([\\([:blank:]]+)mkdir " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/mkdir "))
(("([\\([:blank:]]+)true; " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/true; "))
(("([\\([:blank:]]+)\\[ " _ separator)
(string-append separator
(assoc-ref inputs "coreutils")
"/bin/[ "))))))))
(inputs (list arcan coreutils))
(home-page "https://durden.arcan-fe.com/")
(synopsis "Desktop Environment for Arcan")
(description
"Durden is a desktop environment for the Arcan Display Server.
It serves both as a reference showcase on how to take advantage of some of the
features in Arcan, and as an entry to the advanced-user side of the desktop
environment spectrum.")
(license (list license:bsd-3 license:expat license:cc-by3.0
license:cc-by4.0 license:asl2.0))))
(define-public xarcan
(package
(name "xarcan")
(version "0.7.1")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(uri (git-reference
(url "https://codeberg.org/letoram/xarcan")
(commit version)))
(sha256
(base32 "1jpk272y58h94ss6j87i0cl1zlfp4g5803y0kpi09q8yy37icvcg"))))
(base32 "1g24mmwnc45ig0x8jk0v91488k8933w07vxi4305sla56q4n82p4"))))
(build-system meson-build-system)
(arguments
(list
@@ -300,7 +302,6 @@ environment spectrum.")
openssl
pixman
xcb-util
xcb-util-image
xcb-util-wm
xkbcomp
xkeyboard-config
@@ -308,8 +309,11 @@ environment spectrum.")
xtrans))
(home-page "https://arcan-fe.com")
(synopsis "Patched Xserver that bridges connections to Arcan")
(description
"Patched Xserver with a KDrive backend that uses the arcan-shmif
to map Xlib/Xcb/X clients to a running arcan instance. It allows
running an X session as a window under Arcan.")
(description "Patched Xserver with a KDrive backend that uses the arcan-shmif
to map Xlib/Xcb/X clients to a running arcan instance. It allows running an X session
as a window under Arcan.")
(license (list license:bsd-3 license:expat))))
;; Package was merged into arcan in upstream.
(define-deprecated-package arcan-wayland
arcan)
-27
View File
@@ -11791,33 +11791,6 @@ can be used to control telescopes over a serial port for tracking celestial
objects.")
(license license:gpl2+)))
(define-public stiff
(package
(name "stiff")
(version "2.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/astromatic/stiff")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1iffrncag1w6nd9c6v3dlx9m79nfg6ph42i0gsvlq8pvjph7s6pa"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list "CFLAGS=-O2 -g -fcommon")))
(inputs
(list libtiff zlib libjpeg-turbo))
(home-page "https://www.astromatic.net/software/stiff/")
(synopsis "Convert scientific FITS images to TIFF format")
(description
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
Transport System} images to the more popular TIFF format for illustration
purposes.")
(license license:gpl3+)))
(define-public stuff
;; XXX: No version tag available in GitHub.
;; See: https://github.com/astromatic/stuff/issues/6
+7 -43
View File
@@ -2366,7 +2366,7 @@ to explore and analyze bulk RNA-seq data.")
(define-public python-cell2cell
(package
(name "python-cell2cell")
(version "0.8.4")
(version "0.7.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2375,7 +2375,7 @@ to explore and analyze bulk RNA-seq data.")
(file-name (git-file-name name version))
(sha256
(base32
"0z5dcm9i74c5iaqq92y25khg7i2smrfj8jb1g26iwzwf1cqxghmn"))
"02cqc5rm0qkm0np1k7bim1w7f5qjnwf1jcm5albd9cpvfs4bwgdr"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2685,7 +2685,7 @@ parsing of Variant Call Format (VCF) files.")
(define-public python-decoupler
(package
(name "python-decoupler")
(version "2.1.4")
(version "2.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2694,7 +2694,7 @@ parsing of Variant Call Format (VCF) files.")
(file-name (git-file-name name version))
(sha256
(base32
"07kpcjbnp5c00p3iw2my6k3bxfivswyxs2dljj0yhgjhxw2900av"))))
"05d70zrgv8l9ihkgmr7hqcgn66yx1v1lm0hcfbc370asp97k2f74"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7294,42 +7294,6 @@ trees (phylogenies) and characters.")
with Python.")
(license license:expat)))
(define-public deacon
(package
(name "deacon")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "deacon" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1p7q48ql67mxqi7fv0jaxbfn0js85sb2ai0h3vfvizwd1lfyldxl"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:features ''("ensure_simd/scalar"))) ; Avoid AVX2 dependency.
(native-inputs (list pkg-config))
(inputs (cons* bzip2
xz
`(,zstd "lib")
(cargo-inputs 'deacon)))
(home-page "https://github.com/bede/deacon")
(synopsis
"Accelerated DNA sequence search and [host] depletion using minimizers")
(description
"Deacon filters DNA sequences in FASTA/Q files and streams using
SIMD-accelerated minimizer comparison with query sequence(s), emitting either
matching sequences (search mode), or sequences without matches (deplete mode).
Sequences match when they share enough distinct minimizers with the indexed
query to exceed chosen absolute and relative thresholds. Query size has little
impact on filtering speed, enabling ultrafast search and depletion with gene-,
genome- and pangenome-scale queries using a laptop.")
;; Upstream suggests compiling with '-C target-cpu=native'
(properties '((tunable? . #t)))
(license license:expat)))
(define-public delly
(package
(name "delly")
@@ -20363,7 +20327,7 @@ bgzipped text file that contains a pair of genomic coordinates per line.")
(build-system pyproject-build-system)
(arguments
(list
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
;; tests: 107 failed, 54 passed, 8 skipped, 7 xfailed, 14 errors
#:tests? #f)) ;most of them need remote data
(native-inputs
(list python-biopython
@@ -25279,7 +25243,7 @@ CSIv1, CSIv2 and FAI files.")
(define-public python-gseapy
(package
(name "python-gseapy")
(version "1.1.12")
(version "1.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -25288,7 +25252,7 @@ CSIv1, CSIv2 and FAI files.")
(file-name (git-file-name name version))
(sha256
(base32
"0xdh2v0s2jwj5n541z9zlcq5f6ka0r8jk03jdv8z3j27hc6azf3s"))))
"06gh09dwwj2xr5zx8i41smy8arx2pw7rll7sk50np28z419bnyz9"))))
(build-system cargo-build-system)
(arguments
(list
+43 -54
View File
@@ -44,7 +44,6 @@
(define-module (gnu packages bootloaders)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages disk)
#:use-module (gnu packages bison)
@@ -115,13 +114,13 @@
(define*-public (make-grub platform)
(package
(name (string-append "grub-" platform))
(version "2.14")
(version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
(sha256
(base32
"0hvd8i3ib6nwymfmvd6dia6axrn4xmrlsrg2r3c3i22vadrkr3dw"))
"1ahgzvvvwdxx7rl08pv5dyqlgp76jxz0q2cflxvsdsn4yy8p7jgk"))
(patches (search-patches
"grub-efi-fat-serial-number.patch"
"grub-setup-root.patch"))
@@ -149,21 +148,13 @@
;; This needs to be compiled with clang for powerpc64le.
(if #$(and=> (%current-target-system)
target-ppc64le?)
(list "TARGET_CC=powerpc64le-linux-gnu-clang"
"CFLAGS=-Wno-error")
(list "TARGET_CC=powerpc64le-linux-gnu-clang")
'())
(if #$(and (target-ppc64le? (%current-system))
(not (%current-target-system)))
(list "CC=clang" "CFLAGS=-Wno-error")
(list "CC=clang")
'()))
;; The 'configure' script detects --image-base support and uses it,
;; but that shifts the i386-pc kernel.img start address from 0x9000
;; to 0x9074, breaking grub-install. Override with -Ttext.
;; See <https://lists.gnu.org/archive/html/grub-devel/2026-01/msg00041.html>.
#:make-flags
#~(list "TARGET_IMG_BASE_LDOPT=-Wl,-Ttext")
;; GRUB fails to load modules stripped with --strip-unneeded.
#:strip-flags
#~(list "--strip-debug" "--enable-deterministic-archives")
@@ -208,6 +199,14 @@
(setenv "BUILD_FREETYPE_CFLAGS"
(string-append "-I" freetype
"/include/freetype2"))))))
#$@(if (target-hurd64?)
#~((add-after 'unpack 'apply-hurd64-patch
(lambda _
(let ((patch
#$(local-file
(search-patch "grub-hurd64.patch"))))
(invoke "patch" "--force" "-p1" "-i" patch)))))
#~())
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:
@@ -230,7 +229,7 @@
(("test_unset grub_func_test")
"test_unset")))))))
(inputs
(append (list gettext-minimal freetype ncurses libtasn1
(append (list gettext-minimal freetype ncurses
;; Console-setup's ckbcomp is invoked by grub-kbdcomp. It
;; is required for generating alternative keyboard layouts.
@@ -286,6 +285,22 @@
;; targets are used.
(if (member (%current-system) (package-supported-systems qemu-minimal))
(list qemu-minimal)
'())
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
;; capable of assembling 64-bit instructions. However, our default
;; binutils on 32-bit x86 is not 64-bit capable.
(if (string-match "^i[3456]86-" (%current-system))
(let ((binutils (package/inherit
binutils
(name "binutils-i386")
(arguments
(substitute-keyword-arguments (package-arguments binutils)
((#:configure-flags flags ''())
#~(cons* "--enable-64-bit-bfd" #$flags)))))))
(list (make-ld-wrapper "ld-wrapper-i386"
#:binutils binutils)
binutils))
'())))
(home-page "https://www.gnu.org/software/grub/")
(synopsis "GRand Unified Boot loader")
@@ -390,8 +405,7 @@ menu to select one of the installed operating systems.")
"test_sha512sum"
"grub_cmd_tr"
"test_unset"
"file_filter_test"
"asn1_test")
"file_filter_test")
" "))))))))
(supported-systems '("i686-linux" "x86_64-linux")))))
@@ -443,27 +457,22 @@ menu to select one of the installed operating systems.")
((target-arm32?) "arm")
(else ""))))
(substitute* "tests/util/grub-shell.in"
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
(("OVMF-ia32\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu/OVMF(32)?\\.fd")
(("OVMF\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
(("/usr/share/qemu-efi/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
@@ -515,41 +524,19 @@ menu to select one of the installed operating systems.")
#$@(if (or (target-x86?)
(target-arm?))
#~((replace 'patch-ovmf-path
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(lambda* (#:key inputs #:allow-other-keys)
(let ((arch #$(cond ((target-x86?) "ia32")
((target-arm?) "arm")
(else ""))))
(substitute* "tests/util/grub-shell.in"
(("\\$\\{srcdir\\}/OVMF(32)?\\.fd")
(("OVMF-ia32\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu/OVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("\\$\\{srcdir\\}/AAVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/qemu-efi-aarch64/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/AAVMF/AAVMF(32)?\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin")))
inputs (string-append
"/share/firmware/ovmf_" arch ".bin")))
(("/usr/share/ovmf-arm/QEMU_EFI\\.fd")
(search-input-file
(or native-inputs inputs)
(string-append
"/share/firmware/ovmf_" arch ".bin"))))))))
inputs (string-append
"/share/firmware/ovmf_" arch ".bin"))))))))
#~())))))
(native-inputs
(cond
@@ -573,7 +560,9 @@ menu to select one of the installed operating systems.")
(package
(inherit (make-grub "ieee1275"))
(synopsis "GRand Unified Boot loader (ieee1275 version)")
(supported-systems '("powerpc-linux" "powerpc64le-linux"))))
(supported-systems '("i686-linux" "x86_64-linux"
"i586-gnu" "x86_64-gnu"
"powerpc-linux" "powerpc64le-linux"))))
(define-public grub-qemu
(package
-411
View File
@@ -1,411 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Danny Milosavljevic <dannym@friendly-machines.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; This module is separate from (gnu packages rust-apps) to avoid a
;;; circular module dependency: (gnu packages rust-sources), which
;;; defines rust-codex-0.98.0, transitively loads (gnu packages
;;; rust-apps) through its #:use-module chain. If the codex package
;;; lived in rust-apps.scm, loading rust-sources would trigger loading
;;; rust-apps before rust-codex-0.98.0 is defined, causing an unbound
;;; variable error.
(define-module (gnu packages codex)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages llvm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rust-sources)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control))
(define-public codex
(package
(name "codex")
(version (package-version rust-codex-0.98.0))
(source
(origin
(inherit (package-source rust-codex-0.98.0))
(patches (search-patches
"codex-0.98.0-remove-patch-sections.patch"
"rust-codex-0.98.0-test-shebangs.patch"
"rust-codex-0.98.0-test-timeout.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-install-paths '(list "cli" "exec" "exec-server"
"linux-sandbox" "mcp-server" "network-proxy"
"app-server" "tui")
;; schema_fixtures_match_generated (upstream fixture is stale:
;; FileChange::Update in codex-protocol gained old_content,
;; new_content, move_path fields but the committed JSON schema
;; fixture was not regenerated).
#:cargo-test-flags '(list "--workspace"
"--exclude" "codex-app-server-protocol"
"--"
;; These tests exercise sandbox denial and
;; escalation, which requires Landlock to
;; cleanly deny filesystem access. Inside the
;; build container Landlock returns NotEnforced
;; and the sandbox binary panics instead.
;; Disabling Landlock would not help either,
;; since these tests need a working sandbox to
;; have anything to deny and escalate.
"--skip" "sandbox_denied_shell_returns_original_output"
"--skip" "shell_escalated_permissions_rejected_then_ok"
"--skip" "unified_exec_runs_under_sandbox"
;; These tests (in codex-exec) directly call
;; spawn_command_under_linux_sandbox to verify
;; that python and bash work correctly inside
;; the Landlock sandbox. The sandbox binary
;; (codex-exec) panics with LandlockRestrict
;; (exit code 101) before the inner command
;; even starts.
"--skip" "python_getpwuid_works_under_sandbox"
"--skip" "python_multiprocessing_lock_works_under_sandbox"
"--skip" "sandbox_distinguishes_command_and_policy_cwds"
;; These linux-sandbox tests directly invoke
;; the Landlock sandbox via
;; process_exec_tool_call; same root cause.
"--skip" "test_writable_root"
"--skip" "test_timeout"
"--skip" "test_root_read"
"--skip" "test_dev_null_write"
"--skip" "test_no_new_privs_is_enabled"
;; This test iterates many approval scenarios;
;; one of them
;; (danger_full_access_on_request_allows_network)
;; runs a command through the Landlock sandbox
;; binary, which panics with LandlockRestrict
;; inside the build container. Cargo --skip
;; cannot target individual scenarios, so we
;; skip the entire matrix.
"--skip" "approval_matrix_covers_all_modes"
;; This test verifies session-level patch
;; approval caching: approve once, skip
;; future prompts for the same file. When
;; Landlock is unavailable (as in the Guix
;; build container) the sandbox binary panics,
;; triggering the escalation-retry path, which
;; interferes with the approval cache and
;; causes a spurious re-prompt on the second
;; patch.
"--skip" "approving_apply_patch_for_session_skips_future_prompts_for_same_file"
;; These tests expect to interrupt a
;; long-running 'sleep 60' and receive
;; TurnAborted. Default test config is
;; OnRequest + ReadOnly. What happens:
;;
;; 1. ReadOnly wraps the command with
;; codex-linux-sandbox (Landlock-based).
;; 2. Landlock is unavailable in the Guix
;; build container, so the sandbox
;; binary exits instantly (~1 ms).
;; 3. Orchestrator gets SandboxErr::Denied.
;; wants_no_sandbox_approval(OnRequest)
;; returns false (sandboxing.rs:222),
;; so no escalation -- denial returned
;; directly.
;; 4. ToolEmitter::finish sends the error
;; to the mock model as
;; function_call_output.
;; 5. Second mock SSE response fires,
;; turn finishes with TurnComplete.
;; 6. Op::Interrupt arrives 100 ms later,
;; but the turn is already done --
;; TurnAborted is never emitted,
;; test times out.
;;
;; The similar interrupt_long_running_tool_
;; emits_turn_aborted passes because it
;; sends the interrupt with no delay and
;; has only one mock response (so the turn
;; cannot complete first).
"--skip" "interrupt_persists_turn_aborted_marker_in_next_request"
"--skip" "interrupt_tool_records_history_entries"
;; Upstream bug: test hardcodes "0.0.0" in the
;; expected user-agent string but the workspace
;; version is "0.98.0".
"--skip" "get_user_agent_returns_current_codex_user_agent"
;; Same upstream bug: mcp-server tests
;; check the initialize response which
;; includes "version": "0.0.0" but the
;; server returns "0.98.0".
"--skip" "test_codex_tool_passes_base_instructions"
"--skip" "test_shell_command_approval_triggers_elicitation"
"--skip" "test_patch_approval_triggers_elicitation"
;; These codex-exec-server tests need
;; "dotslash", a Meta tool that lazily
;; downloads pre-built binaries from a
;; JSON manifest. The test helper
;; create_transport runs
;; `dotslash -- fetch <path>` to obtain a
;; custom bash binary described in
;; exec-server/tests/suite/bash.
;; dotslash is not available in the build
;; container.
"--skip" "list_tools"
"--skip" "accept_elicitation_for_prompt_rule"
;;; Test isolation bug: each test in
;;; state/src/runtime.rs calls
;;; unique_temp_dir() to get its own
;;; temporary directory (and thus its
;;; own SQLite database). That function
;;; names directories using the current
;;; nanosecond timestamp, so when tests
;;; run in parallel several can receive
;;; the same name and open the same
;;; database. The initial SQLite
;;; migration runs CREATE TABLE threads
;;; (without IF NOT EXISTS), so any init
;;; after the first panics with "table
;;; threads already exists". Any of
;;; these tests
;;; can be the victim.
"--skip" "init_removes_legacy_state_db_files"
"--skip" "upsert_and_get_thread_memory"
"--skip" "get_last_n_thread_memories_for_cwd_matches_exactly"
"--skip" "upsert_thread_memory_errors_for_unknown_thread"
"--skip" "get_last_n_thread_memories_for_cwd_zero_returns_empty"
"--skip" "get_last_n_thread_memories_for_cwd_does_not_prefix_match"
"--skip" "deleting_thread_cascades_thread_memory")
#:cargo-package-crates
''(;;; Tier 0: No internal deps.
"codex-async-utils"
"codex-client"
"codex-execpolicy"
"codex-file-search"
"codex-git"
"codex-keyring-store"
"codex-utils-absolute-path"
"codex-utils-cache"
"codex-utils-cargo-bin"
"codex-utils-home-dir"
"codex-utils-json-to-toml"
"codex-utils-pty"
"codex-utils-readiness"
"codex-utils-string"
"codex-backend-openapi-models"
"codex-process-hardening"
"codex-ansi-escape"
;;; Tier 1: Depends on tier 0.
"codex-utils-image"
"codex-apply-patch"
"codex-protocol"
"codex-windows-sandbox"
"codex-api"
"codex-experimental-api-macros"
"codex-secrets"
"codex-execpolicy-legacy"
"codex-debug-client"
;;; Tier 2.
"codex-app-server-protocol"
"codex-rmcp-client"
"codex-otel"
"codex-state"
"codex-core"
"codex-linux-sandbox"
"codex-feedback"
;;; Tier 3.
"codex-arg0"
"codex-lmstudio"
"codex-login"
"codex-ollama"
"codex-common"
"codex-mcp-server"
"codex-backend-client"
"codex-responses-api-proxy"
;;; Tier 4.
"codex-cloud-requirements"
"codex-exec"
"codex-exec-server"
"codex-stdio-to-uds"
"codex-network-proxy"
"codex-chatgpt"
"codex-cloud-tasks-client"
;;; Tier 5.
"codex-app-server"
"codex-app-server-test-client"
"codex-tui"
;;; Tier 6.
"codex-cloud-tasks"
;; The main executable.
"codex-cli")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
(lambda _
(chdir "codex-rs")))
(add-after 'chdir-to-workspace 'update-version-in-snapshots
(lambda _
;; Snapshot test files contain hardcoded v0.0.0 version strings.
;; Update them to match the actual package version.
(let ((snap-files (find-files "." "\\.snap$")))
(substitute* snap-files
(("\\(v0\\.0\\.0\\) ") "(v0.98.0)")))))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
;; Replace git dependencies with version references so cargo
;; resolves them from the vendored sources.
(substitute* "Cargo.toml"
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = \"0.5.0\"")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = \"0.1.0\""))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
;; Handle inline deps: name = { path = "..." }
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
;; Handle inline deps with package: name = { package = "...", path = "..." }
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
;; Handle section deps: [dependencies.X] with path = "..."
(("^(path = \"\\.\\./[^\"]*\")" all path-line)
(string-append path-line "\nversion = \"0.98.0\""))))))
(add-after 'chdir-to-workspace 'patch-hardcoded-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash-bin (string-append
(assoc-ref inputs "bash-minimal") "/bin"))
(coreutils-bin (string-append
(assoc-ref inputs "coreutils") "/bin"))
(git-bin (string-append
(assoc-ref inputs "git-minimal") "/bin"))
(sed-bin (string-append
(assoc-ref inputs "sed") "/bin"))
;; Include .policy files: the execpolicy-legacy
;; crate embeds default.policy via include_str!
;; at compile time, so its paths must also be
;; patched.
(rs-files (find-files "." "\\.(rs|policy)$")))
(substitute* rs-files
(("\"/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
(("\"/usr/bin/bash\"")
(string-append "\"" bash-bin "/bash\""))
(("\"/usr/bin/sh\"")
(string-append "\"" bash-bin "/sh\""))
;;; bash/sh with inline arguments, e.g. "/bin/bash -i".
(("\"/bin/bash ")
(string-append "\"" bash-bin "/bash "))
(("\"/bin/sh ")
(string-append "\"" bash-bin "/sh "))
;; coreutils.
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils.
(("\"/usr/bin/(cat|cp|head|ls|touch|true)\"" all cmd)
(string-append "\"" coreutils-bin "/" cmd "\""))
;; coreutils with inline arguments
;; like "/bin/echo END-EVENT".
(("\"/bin/(cat|cp|date|echo|head|ls|rm|sleep|true|touch) " all cmd)
(string-append "\"" coreutils-bin "/" cmd " "))
(("\"/usr/bin/git\"")
(string-append "\"" git-bin "/git\""))
(("\"/usr/bin/sed\"")
(string-append "\"" sed-bin "/sed\"")))
;; @SHELL@ placeholder from test-shebangs patch
(substitute*
(list "rmcp-client/src/program_resolver.rs"
"tui/src/external_editor.rs")
(("@SHELL@")
(string-append bash-bin "/sh")))
;; shebang in test-only file
(substitute*
"core/tests/suite/user_notification.rs"
(("#!/bin/bash")
(string-append "#!" bash-bin "/bash"))))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp")
(setenv "USER" "nixbld"))))))
(native-inputs (list clang ;bindgen uses libclang to parse BoringSSL's C headers
cmake-minimal ;BoringSSL is compiled from C source
libunwind ;BoringSSL tests verify stack unwinding in assembly
perl python-minimal ;for tests
pkg-config))
(inputs (cons* bash-minimal coreutils git-minimal sed
openssl sqlite `(,zstd "lib")
(cargo-inputs 'codex)))
(home-page "https://github.com/openai/codex")
(synopsis "AI-assisted coding CLI and TUI")
(description
"Codex is an AI-powered coding assistant that runs in the terminal.
It provides an interactive TUI for conversations with AI models, with
support for shell command execution, file editing, and code generation.
Configure providers via @file{~/.codex/config.toml}.")
(license license:asl2.0)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zed-industries/codex-acp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description
"This package provides an Agent Client Protocol (ACP) compatible agent
that bridges the Zed Codex runtime with ACP clients over stdio. It
supports multiple LLM providers through configuration in
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
operations.")
(license license:asl2.0)))
+39 -45
View File
@@ -5,7 +5,7 @@
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024, 2025, 2026 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024, 2025 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2024 Foundation Devices, Inc. <hello@foundation.xyz>
;;; Copyright © 2024 Jean-Pierre De Jesus DIAZ <jean@foundation.xyz>
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
@@ -197,55 +197,42 @@ Container Runtime fully written in C.")
(define-public conmon
(package
(name "conmon")
(version "2.2.1")
(version "2.1.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/conmon")
(commit (string-append "v" version))))
(url "https://github.com/containers/conmon")
(commit (string-append "v" version))))
(sha256
(base32 "0n9l6030ibhk7pmsq85rarcf9b0kzglxibd1xnb6vzmkz3ywg1il"))
(base32 "0fiixv9h5dycrixs7s3bq81d06p7qs8491mskxj42wqlkdq5diay"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
;; XXX: uses `go get` to download 50 packages, runs a ginkgo test suite
;; then tries to download busybox and use a systemd logging library
;; see also https://github.com/containers/conmon/blob/main/nix/derivation.nix
#:tests? #f
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'prepare-tests
(lambda* (#:key inputs #:allow-other-keys)
(setenv "RUNTIME_BINARY"
(search-input-file inputs "sbin/runc"))
;; We need to skip all tests requiring journald.
(for-each
(lambda (test file)
(substitute* file
(((string-append "@test \"" test "\" \\{\n$") all)
(string-append all "skip 'no journald in Guix';"))))
'("log driver as journald should pass"
"log driver as journald with short cid should fail"
"multiple log drivers should pass"
"log management: should work with multiple log drivers")
'("test/01-basic.bats"
"test/01-basic.bats"
"test/01-basic.bats"
"test/06-log-management.bats")))))))
(add-after 'unpack 'set-env
(lambda _
;; when running go, things fail because
;; HOME=/homeless-shelter.
(setenv "HOME" "/tmp"))))))
(inputs
(list crun
glib
libseccomp))
(native-inputs
(list bats
git
go-md2man
pkg-config
socat
runc))
(list git
go
pkg-config))
(home-page "https://github.com/containers/conmon")
(synopsis "Monitoring tool for Open Container Initiative (OCI) runtime")
(description
@@ -545,7 +532,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
(version "1.9.0")
(version "1.8.0")
(source
(origin
(method git-fetch)
@@ -554,7 +541,7 @@ Layer-4 sockets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(base32 "0bwczkf4kbrx47sa6mnp5kyn65dbg52qnlfyjyydrwshal8rz3gw"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -562,10 +549,19 @@ Layer-4 sockets.")
(arguments
(list
#:install-source? #f
;; XXX: Tests require root access, see test_linux.sh.
#:tests? #f
#:import-path "github.com/containernetworking/plugins/plugins/..."
#:unpack-path "github.com/containernetworking/plugins"))
#:tests? #f ; TODO: Figure out how to run tests.
#:import-path "github.com/containernetworking/plugins"
#:phases
#~(modify-phases %standard-phases
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
;; XXX: Migrate to go-build-system logic.
(invoke "./build_linux.sh"))))
(replace 'install
(lambda* (#:key import-path #:allow-other-keys)
(copy-recursively (string-append "src/"import-path "/bin")
(string-append #$output "/bin")))))))
(native-inputs
(list go-github-com-alexflint-go-filemutex
go-github-com-buger-jsonparser
@@ -597,7 +593,7 @@ configure network interfaces in Linux containers.")
(define-public gvisor-tap-vsock
(package
(name "gvisor-tap-vsock")
(version "0.8.8")
(version "0.8.7")
(source
(origin
(method git-fetch)
@@ -606,7 +602,7 @@ configure network interfaces in Linux containers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xz710dmy58gngd0qizjw8g9nkraksqald8vzhwc5h36dqkc8nrf"))
(base32 "1p9vypphssvqfcm3y2nc7b9v0wcc2smkrqq8k60vskaiza89974k"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -649,9 +645,7 @@ configure network interfaces in Linux containers.")
go-github-com-containers-winquit
go-github-com-coreos-stream-metadata-go
go-github-com-dustin-go-humanize
go-github-com-foxcpp-go-mockdns
go-github-com-google-gopacket
go-github-com-inetaf-tcpproxy
go-github-com-insomniacslk-dhcp
;; go-github-com-linuxkit-virtsock ;Windows only
go-github-com-mdlayher-vsock
@@ -660,6 +654,7 @@ configure network interfaces in Linux containers.")
go-github-com-onsi-ginkgo
go-github-com-onsi-gomega
go-github-com-opencontainers-go-digest
go-github-com-pkg-errors
go-github-com-sirupsen-logrus
go-github-com-songgao-packets
go-github-com-songgao-water
@@ -669,7 +664,6 @@ configure network interfaces in Linux containers.")
go-golang-org-x-mod
go-golang-org-x-sync
go-golang-org-x-sys
go-gopkg-in-yaml-v3
go-gvisor-dev-gvisor))
(home-page "https://github.com/containers/gvisor-tap-vsock")
(synopsis "Network stack for virtualization based on gVisor")
@@ -714,7 +708,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(define-public podman
(package
(name "podman")
(version "5.8.1")
(version "5.8.0")
(outputs '("out" "docker"))
(properties
`((output-synopsis "docker" "docker alias for podman")
@@ -727,7 +721,7 @@ Its main purpose is to support the key usage by @code{docker-init}:
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256
(base32 "1wdsdc0nj4m1v8mn95dhavi87ad0adqmld70da59gvp2abff5f0f"))
(base32 "0vyl6d198iqrxx3c5vgbdx95fxkmn9fcb0napq44h8bzvjcl9fnj"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -885,7 +879,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.43.0")
(version "1.42.1")
(source
(origin
(method git-fetch)
@@ -893,7 +887,7 @@ being rootless and not requiring any daemon to be running.")
(url "https://github.com/containers/buildah")
(commit (string-append "v" version))))
(sha256
(base32 "0pwdd0mxhxy530c2sbsz0rnnb1jyl41rvnqn9ywfgb6lz5f4ja2a"))
(base32 "1agblw09yw4pc81c2nsjy3j83gznn4micyjyrgpqxlmp93w5w5h0"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+37 -31
View File
@@ -2763,39 +2763,45 @@ comma separated value (CSV) files.")
(license license:bsd-3))))
(define-public immer
(package
(name "immer")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/arximboldi/immer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04ckvmi391pspqiglzgi8h57gwr8822xhlrg5qdxf5yg6scgkfj2"))))
(build-system cmake-build-system)
(arguments
(list
#:modules `((guix build cmake-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs (list boost libgc c-rrb))
(native-inputs (list catch2-3 doctest fmt pkg-config))
(home-page "https://sinusoid.es/immer")
(synopsis "Immutable data structures")
(description "Immer is a library of persistent and immutable data structures
;; Use latest commit to fix build with gcc 14.
(let ((commit "df6ef46d97e1fe81f397015b9aeb32505cef653b")
(revision "0"))
(package
(name "immer")
(version (git-version "0.8.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/arximboldi/immer")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "032rb84ahvdnc1m6sj4lflrwnk4p1f2jsq1pv03xbgizp2lr2pkx"))))
(build-system cmake-build-system)
(arguments
(list
;; -Werror appears to report false positives.
;; See <https://github.com/arximboldi/immer/issues/223>.
#:configure-flags #~'("-DDISABLE_WERROR=ON")
#:modules `((guix build cmake-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(replace 'check (assoc-ref gnu:%standard-phases 'check)))))
(inputs (list boost libgc c-rrb))
(native-inputs (list catch2-3 doctest fmt pkg-config))
(home-page "https://sinusoid.es/immer")
(synopsis "Immutable data structures")
(description "Immer is a library of persistent and immutable data structures
written in C++.")
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
(license license:boost1.0)))
(properties '((lint-hidden-cpe-vendors . ("immer_project"))))
(license license:boost1.0))))
(define-public zug
(package
(name "zug")
(version "0.1.2")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2803,7 +2809,7 @@ written in C++.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1fy6wvvlp1253lzh66zcq5sp656jxvanxf7iq8pi37ymjq5fyynh"))
(base32 "06vsbzx4ripidpb6ia7y1y8pmjk6gxzr93ilby90ahj6p2x08baf"))
(modules '((guix build utils)))
(snippet #~(delete-file-recursively "tools"))))
(build-system cmake-build-system)
@@ -2825,7 +2831,7 @@ composable sequential transformations.")
(define-public lager
(package
(name "lager")
(version "0.1.3")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2833,7 +2839,7 @@ composable sequential transformations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "123a75qklhiyic3yaj74h4p8jav2m92x9ssjnfsdiilhycp4p764"))))
(base32 "1by9d49qnkncifyjcq16zy605d7v4ps6hvc01q5nsp1nbswm94m4"))))
(build-system cmake-build-system)
(arguments (list #:configure-flags #~(list "-Dlager_BUILD_EXAMPLES=no")
#:modules `((guix build cmake-build-system)
+5 -9
View File
@@ -77,10 +77,13 @@ command-line environment with support for file manipulation on remote WebDAV
servers.")
(license license:gpl2+)))
;; This package isn't reproducible due to non-deterministic behaviour in a
;; procedural macros that's provided by a crate used by pimsync.
;; See https://github.com/stalwartlabs/hashify/issues/4
(define-public pimsync
(package
(name "pimsync")
(version "0.5.7")
(version "0.5.6")
(source
(origin
(method git-fetch)
@@ -89,20 +92,13 @@ servers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0x90l9k3sfnszrvmzqclykpv2py33v9jh92ps68wdd7xkrjp42ga"))))
(base32 "01qxg0mk7if96rmb0q88wgjpnv1fb8iw2dbzwlm0ars1mi3xpmr3"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-guix-vendored-dependencies
(lambda _
(substitute* "Cargo.toml"
(("^\\[patch.crates-io\\]")
"")
(("^hashify.*$")
"hashify = { version = \"*\" }\n"))))
(add-after 'unpack 'setup-environment
(lambda _
(setenv "PIMSYNC_VERSION"
+2 -1
View File
@@ -237,7 +237,8 @@ blurred background.")
(base32 "09vb9b0pmyhj6fh0b6by59bykszbkdayhz678pnb4pyrdmlvv1am"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
`(#:modules ((guix build utils)
(srfi srfi-26))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-26))
+94
View File
@@ -357,3 +357,97 @@ and white.")
and background layers of images, which can then be encoded into a DjVu file.")
(home-page "https://jwilk.net/software/didjvu")
(license license:gpl2)))
(define-public ocrodjvu
(let ((revision "0")
(commit "0dd3364462fc77d5674b4457fcc8230835323c30"))
(package
(name "ocrodjvu")
(version (git-version "0.12" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
;; Use the following fork repository, as upstream
;; doesn't seem too concerned with Python 3
;; compatibility.
(url "https://github.com/rmast/ocrodjvu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0x64hg9ysrk8sismxb4jgk0sq7r9j90v2i9765xhmxpiy6f0lpni"))))
(build-system gnu-build-system)
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build pyproject-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%default-gnu-imported-modules
,@%pyproject-build-system-modules)
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-for-python-3.11
(lambda _
(substitute* "lib/cli/ocrodjvu.py"
;; The getargspec function has been removed in python 3.11.
(("init_args, _, _, _ = inspect.getargspec\\(cls.__init__\\)")
"init_args = inspect.getfullargspec(cls.__init__).args"))))
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("yield self\\._test_signal, name")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
"return True"))
;; Disable tests with tesseract. They can't work without
;; the language files that must downloaded by the final user
;; as they are not packaged in Guix.
(substitute* "tests/ocrodjvu/test.py"
(("engines = stdout\\.getvalue\\(\\)\\.splitlines\\(\\)")
"engines = ['ocrad']"))
(substitute* "tests/ocrodjvu/test_integration.py"
(("engines = 'tesseract', 'cuneiform', 'gocr', 'ocrad'")
"engines = 'ocrad'"))))
(replace 'install
(lambda _
(invoke "make" "install"
"DESTDIR=" (string-append "PREFIX=" #$output))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-path
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(wrap-program (search-input-file outputs file)
`("PATH" ":" prefix
(,(string-append
#$(this-package-input "djvulibre") "/bin:"
#$(this-package-input "ocrad") "/bin:"
#$(this-package-input "tesseract-ocr")
"/bin")))))
'("bin/djvu2hocr"
"bin/hocr2djvused"
"bin/ocrodjvu")))))))
(native-inputs
(list (libc-utf8-locales-for-target) libxml2 python-pynose python-pillow))
(inputs
(list bash-minimal
djvulibre
ocrad
python-djvulibre
python-future
python-html5lib
python-lxml
python-pyicu
python-regex
python-wrapper
tesseract-ocr))
(synopsis "Program to perform OCR on DjVu files")
(description
"@code{ocrodjvu} is a wrapper for OCR systems, that allows you to perform
OCR on DjVu files.")
(home-page "https://jwilk.net/software/ocrodjvu")
(license license:gpl2))))
+213 -280
View File
@@ -9,7 +9,6 @@
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,7 +38,6 @@
#:use-module (guix build-system copy)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@@ -56,12 +54,94 @@
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
;; Compilers and tooling for the D programming language.
;; Note: The GNU D compiler is defined in (gnu packages gcc) instead.
(define-public d-tools
(package
(name "d-tools")
(version "2.105.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(mkdir-p "bin")
(setenv "CC" #$(cc-for-target))
(setenv "LD" #$(ld-for-target))
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
(apply invoke "ldc2" "--of=bin/dustmite"
(find-files "DustMite" ".*\\.d"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
"--rdmd-default-compiler" "ldmd2"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/man")))
(for-each delete-file (find-files "bin" "\\.o$"))
(copy-recursively "bin" bin)
(copy-recursively "man" man)))))))
(native-inputs
(list ldc
(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://github.com/dlang/tools")
(synopsis "Useful D-related tools")
(description
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
which runs D source files as scripts, and @code{dustmite}, which reduces D code
to a minimal test case.")
(license license:boost1.0)))
;; LLVM-based D compiler
(define-public gdmd
(let ((commit "ff2c97a47408fb71c18a2d453294d18808a97cc5")
(revision "1"))
(package
(name "gdmd")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/D-Programming-GDC/gdmd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0pd70clk70069xcjysaas7zszzmigrcw1zl2xxv8kzdg7y7xrzvm"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("dmd-script" "bin/gdmd")
("dmd-script.1" "share/man/man1/gdmd.1"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-gdc-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd-script"
(("my \\$gdc_dir.*")
(string-append "my $gdc_dir = \""
(dirname (search-input-file inputs "/bin/gdc"))
"\";\n"))))))))
(inputs (list gdc perl))
(home-page "https://github.com/D-Programming-GDC/gdmd")
(synopsis "DMD-like wrapper for GDC")
(description "This package provides a DMD-like wrapper for the
@acronym{GNU D Compiler,GDC}.")
(license license:gpl3+))))
;; We use GDC, the D frontend for GCC, to bootstrap ldc. We then use
;; ldc to bootstrap itself so that no reference remains to GDC.
@@ -329,12 +409,8 @@ integration tests...\n")
(properties
(alist-delete 'hidden? (package-properties ldc-bootstrap)))))
;; Reference D compiler
;; Note: Has limited supported-systems.
;; DMD built with GDC as the bootstrap D compiler (via the gdmd wrapper).
;; Shared libraries are not built, tests are disabled.
;;; Bootstrap version of phobos that is built with GDC, using GDC's standard
;;; library.
(define-public dmd-bootstrap
(package
;; This package is purposefully named just "dmd" and not "dmd-bootstrap",
@@ -342,16 +418,16 @@ integration tests...\n")
;; and their names must have the same length to avoid corrupting the
;; binary.
(name "dmd")
(version "2.111.0")
(version "2.106.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/dmd")
(commit (string-append "v" version))))
(url "https://github.com/dlang/dmd")
(commit (string-append "v" version))))
(file-name (git-file-name "dmd" version))
(sha256
(base32
"0cz5qdd1j89w2s7nzw9ahzwsqiraidg4ajy7syy7qkk7mwcyrf6r"))))
"1bq4jws1vns2jjzfz7biyngrx9y5pvvgklymhrvb5kvbzky1ldmy"))))
(build-system gnu-build-system)
(arguments
(list
@@ -360,198 +436,111 @@ integration tests...\n")
;; Disable tests, as gdmd cannot cope with some arguments used such as
;; '-conf'.
#:tests? #f
#:out-of-source? #t
#:test-target "test"
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
;; XXX: Proceed despite conflicts from symbols provided by both
;; the source built and GDC.
"DFLAGS=-L--allow-multiple-definition"
"ENABLE_RELEASE=1"
(string-append "HOST_CXX=" #$(cxx-for-target))
"HOST_DMD=gdmd"
(string-append "INSTALL_DIR=" #$output)
(string-append "SYSCONFDIR=" #$output "/etc")
"ENABLE_RELEASE=1"
;; Do not build the shared libphobos2.so library, to avoid
;; retaining a reference to gcc:lib.
"SHARED=0"
"VERBOSE=1")
#:modules
`(,@%default-gnu-modules
(srfi srfi-1)
(srfi srfi-26))
(string-append "SYSCONFDIR=" #$output "/etc")
"VERBOSE=1"
"-f" "posix.mak")
#:phases
#~(let* ((phase-in-sub-dir (lambda (phase sub-dir)
(lambda args
(with-directory-excursion sub-dir
(apply
(assoc-ref %standard-phases phase)
args)))))
(target-bin-sh (string-append
#$(this-package-input "bash-minimal")
"/bin/sh")))
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(let ((dmd-source source)
(phobos-source #$(this-package-native-input
(git-file-name "phobos" version))))
(mkdir "source")
(chdir "source")
(copy-recursively dmd-source "dmd" #:keep-mtime? #t)
(copy-recursively phobos-source "phobos" #:keep-mtime? #t)
(for-each (lambda (f)
(false-if-exception (make-file-writable f)))
(find-files ".")))))
(add-after 'unpack 'patch-git-ls-tree
;; The druntime Makefile tries to use git ls-tree to get all
;; source files in dmd/druntime/. We replace the command with a
;; listing of those files.
(lambda _
(with-directory-excursion "dmd/druntime"
(substitute* "Makefile"
(("^MANIFEST *:*=.*$")
(string-append "MANIFEST := "
(string-join (map (cut string-drop <> 2)
(find-files "./")))
"\n"))))))
(add-after 'unpack 'patch-paths-in-phobos
(lambda _
(with-directory-excursion "phobos"
;; (substitute* "std/datetime/timezone.d"
;; (("\"/usr/share/zoneinfo/\"")
;; (format #f "~s" target-zoneinfo)))
;; (substitute* "std/net/curl.d"
;; (("\"libcurl\\.so\"")
;; (format #f "~s" target-lib-curl)))
(substitute* "std/process.d"
(("return \"/bin/sh\";")
(format #f "return ~s;" target-bin-sh))
(("#!/bin/sh")
(string-append "#!" target-bin-sh))))))
(add-after 'unpack 'patch-tests
(lambda _
;; Since the implementation of SOURCE_DATE_EPOCH support in
;; Ddoc, this test fails, as it expects Ddoc timestamps to
;; match the output of the `date` command.
;; XXX: Report upstream.
(substitute* (string-append
"dmd/compiler/test/compilable"
"/extra-files/ddocYear-postscript.sh")
(("^YEAR=.*$") "YEAR=1970\n"))
;; This test creates a shell script and runs it.
(substitute* "dmd/compiler/test/dshell/test6952.d"
(("/usr/bin/env bash") target-bin-sh))
;; In the sarif json output, the compiler version string ends
;; with a raw newline for some reason, causing these tests to
;; fail.
(for-each
delete-file
'("dmd/compiler/test/compilable/sarif_success_test.d"
"dmd/compiler/test/fail_compilation/sarif_test.d"
"dmd/compiler/test/fail_compilation/sarifmultiple_test.d"))
;; tries to debug 64bit executable
;; not in executable format: file format not recognized
#$@(if (target-32bit?)
'((delete-file
"dmd/compiler/test/runnable/gdb_slice_debuginfo_64.d"))
'())
;; Locations in stack traces are broken for some reason,
;; causing these tests to fail.
;; XXX: Report upstream.
(for-each
delete-file
'("dmd/compiler/test/runnable/test17559.d"
"dmd/compiler/test/runnable/test19086.d"))
(substitute* "dmd/druntime/test/exceptions/Makefile"
(((string-append "line_trace line_trace_21656 "
"long_backtrace_trunc rt_trap_exceptions "))
""))
(substitute* "dmd/druntime/test/gc/Makefile"
((" invariant ") " "))))
(delete 'bootstrap)
(delete 'configure)
(replace 'build
(phase-in-sub-dir 'build "dmd"))
(add-after 'build 'build-phobos
(phase-in-sub-dir 'build "phobos"))
(replace 'check
(phase-in-sub-dir 'check "dmd"))
(add-after 'check 'check-phobos
(phase-in-sub-dir 'check "phobos"))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((platform (cond (#$(target-linux?) "linux")))
(bits (if #$(target-64bit?) 64 32))
(build-sub-dir (format #f "generated/~a/release/~a"
platform bits))
(out (assoc-ref outputs "out"))
(lib (assoc-ref outputs "lib"))
(out-bin (string-append out "/bin"))
(out-etc (string-append out "/etc"))
(out-include (string-append out "/include/d/dmd"))
(out-lib (string-append out "/lib"))
(lib-lib (string-append lib "/lib"))
(out-man (string-append out "/share/man")))
(with-directory-excursion "dmd"
(with-directory-excursion build-sub-dir
(install-file "dmd" out-bin)
(install-file "libdruntime.a" out-lib)
(for-each (cut install-file <> lib-lib)
(find-files "." "^libdruntime\\.so[.0-9]*$")))
(copy-recursively "druntime/import" out-include)
(copy-recursively "compiler/docs/man" out-man))
(with-directory-excursion "phobos"
(with-directory-excursion build-sub-dir
(install-file "libphobos2.a" out-lib)
(for-each (cut install-file <> lib-lib)
(find-files "." "^libphobos2\\.so[.0-9]*$")))
(copy-recursively "etc" (string-append out-include "/etc"))
(copy-recursively "std" (string-append out-include "/std")))
(mkdir-p out-etc)
(with-output-to-file (string-append out-etc "/dmd.conf")
(lambda _
(format #t "[Environment]\n")
(format #t "DFLAGS=")
(format #t " -I~a" out-include)
(format #t " -L-L~a" out-lib)
(format #t " -L-L~a" lib-lib)
(format #t " -L--export-dynamic")
(format #t " -fPIC")
(format #t "\n"))))))
(replace 'install-license-files
;; Phobos license is identical.
(phase-in-sub-dir 'install-license-files "dmd"))))))
(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")))))
(outputs '("out" "lib" "debug"))
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-phobos-source-and-chdir
;; Start with building phobos, which in turns will automatically
;; build druntime and dmd. A minimal dmd command is still
;; required to do so, which is why we need dmd-bootstrap-0.
(lambda _
(symlink "." "dmd") ;to please the build system expected layout
(copy-recursively
#$(this-package-native-input (git-file-name "phobos" version))
"phobos")
(chdir "phobos")))
(add-after 'copy-phobos-source-and-chdir 'adjust-phobos-install-dirs
(lambda _
(substitute* "posix.mak"
;; Install to lib directory, not to e.g. 'linux/lib64'.
(("\\$\\(INSTALL_DIR)/\\$\\(OS)/\\$\\(lib_dir)")
(string-append #$output "/lib"))
;; Do not install license file, already done by the gnu build
;; system.
((".*\\$\\(INSTALL_DIR)/phobos-LICENSE.txt.*") ""))))
(delete 'configure)
(add-after 'install 'install-druntime
(lambda args
(chdir "../druntime")
(apply (assoc-ref %standard-phases 'install) args)
(chdir "..")))
(add-after 'install-druntime 'install-includes
(lambda _
;; Normalize the include files prefix to include/dmd.
(let ((include-dir (string-append #$output "/include/dmd")))
(mkdir-p include-dir)
(rename-file (string-append #$output "/src/phobos")
(string-append include-dir))
(copy-recursively "druntime/import" include-dir))
(delete-file-recursively (string-append #$output "/src"))))
(add-after 'install-druntime 'install-dmd
(assoc-ref %standard-phases 'install))
(add-after 'install-license-files 'refine-install-layout
(lambda _
(let* ((docdir (string-append #$output "/share/doc/"
(strip-store-file-name #$output)))
;; The dmd binary gets installed to
;; e.g. /linux/bin64/dmd.
(dmd (car (find-files #$output "^dmd$")))
(dmd.conf (car (find-files #$output "^dmd.conf$")))
(os-dir (dirname (dirname dmd))))
;; Move samples from root to the doc directory.
(rename-file (string-append #$output "/samples")
(string-append docdir "/samples"))
;; Remove duplicate license file.
(delete-file (string-append #$output
"/dmd-boostlicense.txt"))
;; Move dmd binary and dmd.conf.
(install-file dmd (string-append #$output "/bin"))
(install-file dmd.conf (string-append #$output "/etc"))
(delete-file-recursively os-dir))))
(add-after 'refine-install-layout 'patch-dmd.conf
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (search-input-file outputs "etc/dmd.conf")
(("lib(32|64)")
"lib")
(("\\.\\./src/(phobos|druntime/import)")
"include/dmd")))))))
(native-inputs (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
"1yw7nb5d78cx9m7sfibv7rfc7wj3w0dw9mfk3d269qpfpnwzs4n9")))))
(home-page "https://github.com/dlang/dmd")
(synopsis "Reference D Programming Language compiler")
(description "@acronym{DMD, Digital Mars D compiler} is the reference
compiler for the D programming language.")
(license license:boost1.0)
(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"))
;; This variant exists only for bootstrapping purposes.
(properties '((hidden? . #t)))))
(properties '((hidden? . #t)))
;; DMD built with dmd-bootstrap as the bootstrap D compiler.
;; Shared libraries are built now, tests are no longer disabled.
(license license:boost1.0)))
;;; Second bootstrap of DMD, built using dmd-bootstrap, with its shared
;;; libraries preserved.
(define-public dmd
(package
(inherit dmd-bootstrap)
@@ -560,37 +549,41 @@ compiler for the D programming language.")
(strip-keyword-arguments
'(#:tests?) ;reinstate tests
(package-arguments dmd-bootstrap))
((#:disallowed-references _ ''())
((#:disallowed-references _ ''())
(list dmd-bootstrap))
((#:modules _ ''())
'((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))) ;for fold
((#:make-flags flags ''())
#~(fold delete #$flags '("HOST_DMD=gdmd"
#~(fold delete #$flags '("DFLAGS=-L--allow-multiple-definition"
"HOST_DMD=gdmd"
"SHARED=0")))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'install 'rewrite-references-to-bootstrap
;; D compilers can keep references to the include files used to
;; build a binary in exception messages. For dmd, rewrite the
;; references to dmd-bootstrap to itself, to reduce its closure
;; size.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((in-dmd-bootstrap #$(this-package-native-input "dmd"))
(out (assoc-ref outputs "out"))
(out-bin-dmd (string-append out "/bin/dmd")))
;; XXX: Use sed, as replace-store-references wouldn't replace
;; the references, while substitute* throws an error.
(add-after 'patch-dmd.conf 'rewrite-references-to-bootstrap
;; DMD keeps references to include files used to build a
;; binary. Rewrite those of dmd-bootstrap to itself, to reduce
;; its closure size.
(lambda* (#:key native-inputs inputs outputs
#:allow-other-keys)
(let ((dmd (search-input-file outputs "bin/dmd"))
(dmd-bootstrap (dirname
(dirname
(search-input-file
(or native-inputs inputs)
"bin/dmd")))))
;; XXX: Use sed, as replace-store-references wouldn't
;; replace the references, while substitute* throws an
;; error.
(invoke "sed" "-i"
(format #f "s,~a,~a,g" in-dmd-bootstrap out)
out-bin-dmd))))))))
(native-inputs
(modify-inputs (package-native-inputs dmd-bootstrap)
(delete "gdmd")
(append dmd-bootstrap)))
(format #f "s,~a,~a,g" dmd-bootstrap #$output)
dmd))))))))
(native-inputs (modify-inputs (package-native-inputs dmd-bootstrap)
(replace "gdmd" dmd-bootstrap)))
(properties
(alist-delete 'hidden? (package-properties dmd-bootstrap)))))
;; D related tools
(define-public dub
(package
(name "dub")
@@ -641,66 +634,6 @@ while providing the opportunity to customize things when
needed.")
(license license:expat)))
(define-public d-tools
(package
(name "d-tools")
(version "2.105.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hvz786k0pi8697x1vk9x5bx52jiy7pvi13wmfkx15ddvv0x5j33"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
;; Skip broken make ONESHELL shell test.
(substitute* "rdmd_test.d"
(("makeVersion = .*$") "makeVersion = \"skip\";"))))
(delete 'configure)
(replace 'build
(lambda _
(mkdir-p "bin")
(setenv "CC" #$(cc-for-target))
(setenv "LD" #$(ld-for-target))
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
(apply invoke "ldc2" "--of=bin/dustmite"
(find-files "DustMite" ".*\\.d"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
"--rdmd-default-compiler" "ldmd2"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/man")))
(for-each delete-file (find-files "bin" "\\.o$"))
(copy-recursively "bin" bin)
(copy-recursively "man" man)))))))
(native-inputs
(list ldc
(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://github.com/dlang/tools")
(synopsis "Useful D-related tools")
(description
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
which runs D source files as scripts, and @code{dustmite}, which reduces D code
to a minimal test case.")
(license license:boost1.0)))
;; D libraries
(define-public gtkd
(package
(name "gtkd")
@@ -753,8 +686,8 @@ to a minimal test case.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lievenhey/d_demangler")
(commit (string-append "version-" version))))
(url "https://github.com/lievenhey/d_demangler")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(base32
@@ -772,8 +705,8 @@ to a minimal test case.")
(install-file "libd_demangle.so"
(string-append #$output "/lib")))))))
(native-inputs (list dmd))
(synopsis "D symbol demangling library")
(description "@code{libd_demangle.so} is a small shared library that can be used to
demangle D symbols. It exposes a C interface that wraps D's @code{std.demangle}.")
(license license:gpl3+)
(home-page "https://github.com/lievenhey/d_demangler")))
(home-page "https://github.com/lievenhey/d_demangler")
(synopsis "Utility to demangle D symbols")
(description "@command{d_demangle} is a small utility that can be used to
demangle D symbols. A shared library is also provided.")
(license license:gpl3+)))
+256 -438
View File
@@ -14,7 +14,7 @@
;;; Copyright © 2022, 2024, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2020-2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2023, 2024, 2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2022 Christian Gelinek <cgelinek@radlogic.com.au>
;;; Copyright © 2022 jgart <jgart@dismail.de>
@@ -29,7 +29,6 @@
;;; Copyright © 2025, 2026 Gabriel Wicki <gabriel@erlikon.ch>
;;; Copyright © 2026 Thomas Kramer <thomas@f-si.org>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,7 +64,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -78,11 +76,11 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages embedded)
#:use-module (gnu packages engineering)
#:use-module (gnu packages embedded)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
@@ -95,41 +93,37 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages logging)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages logging)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages maths)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages regex)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
@@ -138,16 +132,16 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages stb)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages toolkits)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
(define delkw (@@ (guix utils) delkw))
@@ -287,7 +281,7 @@ formal verification. This is the Yosyshq fork of ABC.")
(define-public apycula
(package
(name "apycula")
(version "0.31")
(version "0.28")
;; The pypi tar.gz file includes the necessary .pickle files, not available
;; in the home-page repository.
(source
@@ -295,24 +289,11 @@ formal verification. This is the Yosyshq fork of ABC.")
(method url-fetch)
(uri (pypi-uri "apycula" version))
(sha256
(base32 "0pf43cd071kv5ann78hl5qrcj9vhndr46ds2g12sgnfjfvh6pfpg"))))
(base32 "0llwcz4fji4sbdajlr43spf3mgdaw42rm15va1l9zb8314fn7wq1"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ;requires Gowin EDA tools
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-setup
(lambda _
;; Acceptable, but degraded performance.
(substitute* "setup.py"
((".*fastcrc.*") ""))))))) ;TODO: Package python-fastcrc
(propagated-inputs
(list python-cattrs
python-crcmod
python-numpy
python-msgpack
python-msgspec))
(native-inputs (list python-setuptools python-setuptools-scm))
(arguments (list #:tests? #f)) ;requires Gowin EDA tools
(inputs (list python-crc))
(native-inputs (list python-setuptools))
(home-page "https://github.com/YosysHQ/apicula/")
(synopsis "Gowin FPGA bitstream format")
(description
@@ -354,44 +335,6 @@ supporting gerber, excellon and g-code. It is part of the RiNgDove EDA
suite.")
(license license:gpl2+)))
(define-public charlib
(package
(name "charlib")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stineje/CharLib")
(commit version)))
(sha256
(base32 "0phklm6wcpvwdfx00k0q8qvpvdqf6wjvzirkfji7vc7ils7wz2sl"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(inputs
(list ngspice
pyspice
python-liberty-parser
python-matplotlib
python-numpy
python-ply
python-pyyaml
python-requests
python-schema
python-scipy
python-tqdm))
(native-inputs
(list python-poetry-core
python-pytest
python-setuptools))
(home-page "https://stineje.github.io/CharLib")
(synopsis "CMOS standard-cell characterization")
(description
"@code{Charlib} is an @acronym{EDA, Electronic Design Automation} tool used to
extract timing and power characteristics from CMOS combinational and sequential
standard-cells. It is compatible with @code{ngspice} and @code{Xyce}.")
(license license:gpl2)))
(define-public ciel
(package
(name "ciel")
@@ -734,57 +677,6 @@ Simulator Trace} files.")
;; Exception against free government use in tcl_np.c and tcl_np.h.
(license (list license:gpl2+ license:expat license:tcl/tk)))))
(define-public horizon-eda
(package
(name "horizon-eda")
(version "2.7.2")
;; TODO: try to unbundle some of the 3rd parties.
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/horizon-eda/horizon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16q22yf407820430cva8i2b3dcmwpjdsbx0wlarj8v2mj5ixs932"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no tests
#:glib-or-gtk? #t))
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
`(,glib "bin")
gobject-introspection
pkg-config))
(inputs (list boost
cairomm
cppzmq
curl
glib
glibmm
glm
gsettings-desktop-schemas
gtk+
gtkmm-3
libarchive
libgit2-glib
librsvg
libspnav
libzip
opencascade-occt
podofo
sqlite
`(,util-linux "lib")
zeromq))
(home-page "https://horizon-eda.org/")
(synopsis "@acronym{PCB, Printed Circuit Board} design tool")
(description "Horizon is an @acronym{EDA, Electronic Design Automation}
package supporting an integrated end-to-end workflow for PCB design, including
from parts management and schematic entry to gerber export.")
(license license:gpl3+)))
(define-public iverilog
(package
(name "iverilog")
@@ -905,10 +797,71 @@ iCE40 FPGAs and providing simple tools for analyzing and creating bitstream
files.")
(license license:isc)))
(define-public json-for-vhdl
;; No tagged releases.
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
(revision "0"))
(package
(name "json-for-vhdl")
(version (git-version "20220905" revision commit)) ;last revision
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Paebbels/JSON-for-VHDL/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("src" "share/json-for-vhdl/work/src"
#:include ("vhdl")))
#:phases
#~(modify-phases %standard-phases
;; The examples/Encodings_VUnit test requires vhdl builtins.
(add-after 'unpack 'fix-check
(lambda _
(substitute* "tests/VUnit/run.py"
(("from_argv\\(\\)")
"from_argv()\nvu.add_vhdl_builtins()")))))))
(native-search-paths
(list (search-path-specification
(variable "FW_JSON_VHDL")
(separator #f)
(files (list "share/json-for-vhdl")))))
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
(synopsis "Parse and query JSON data structures in VHDL")
(description
"The JSON-for-VHDL library provides a parser to query JSON data
structures from external files on disk. It provides a context to be
used in the declarative section of design units.")
(license license:asl2.0))))
;;; Required by python-vunit.
(define json-for-vhdl-for-vunit
(let ((commit "95e848b8902c6b4275d715462e1a2cc60706917c") ;sync with vunit
(revision "0"))
(package
(inherit json-for-vhdl)
(name "json-for-vhdl-for-vunit")
(version (git-version "20220106" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Paebbels/JSON-for-VHDL/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1c106hm0sfnzdi5j9vaacjlz7i5m1dm75j7lrgcdsa4siw5ac7k3")))))))
(define-public klayout
(package
(name "klayout")
(version "0.30.7")
(version "0.30.6") ;keep in sync with python-klayout
(source
(origin (method git-fetch)
(uri (git-reference
@@ -917,7 +870,7 @@ files.")
(file-name (git-file-name name version))
(sha256
(base32
"0xyrn9vhx871vm141hgsb9qrdim51vfk2mw8hcqyam1ixkbz5jjv"))))
"0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))))
(build-system copy-build-system)
(arguments
(list
@@ -1057,155 +1010,6 @@ It simulates the netlists of the cells with ngspice and writes the
characterization result in a liberty library file.")
(license license:agpl3+)))
(define-public lepton-eda
(package
(name "lepton-eda")
(version "1.9.18-20220529")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lepton-eda/lepton-eda/")
(commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
"ac_cv_path_MSGMERGE=true"
(string-append "--with-pcb-datadir="
#$(this-package-input "pcb")
"/share")
(string-append "--with-pcb-lib-path="
#$(this-package-input "pcb")
"/share/pcb/pcblib-newlib:"
#$(this-package-input "pcb")
"/share/pcb/newlib")
"--with-gtk3"
"CFLAGS=-fcommon"
"--enable-guild"
"--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; For logs and auto-compilation
(setenv "HOME" "/tmp")
;; Ensure that readline is found by lepton-shell
(substitute* "script.in"
(("\\(eval-when \\(expand load eval\\)" m)
(string-append "
(add-to-load-path \"" #$(this-package-input "guile-readline")
"/share/guile/site/3.0\")
(set! %load-compiled-path (cons \""
#$(this-package-input "guile-readline")
"/lib/guile/3.0/site-ccache/"
"\" %load-compiled-path))
" m)))))
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
(("\"liblepton\"")
(string-append "\"" #$output "/lib/liblepton.so" "\""))
(("\"libleptonattrib\"")
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
(("\"libleptongui\"")
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
(("\"libglib-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
(("\"libgobject-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
(("\"libgtk-3\"")
(string-append
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
;; For finding libraries when running tests before installation.
(setenv "LIBLEPTONGUI"
(string-append (getcwd)
"/libleptongui/src/.libs/libleptongui.so"))
(setenv "LIBLEPTON"
(string-append (getcwd)
"/libleptongui/src/.libs/liblepton.so"))
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd)
"/libleptonattrib/src/.libs/:"
(getenv "LIBRARY_PATH")))))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang
(find-files "build-tools"))
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "." "\\.po$"))
;; This would normally be created by invoking 'git', but it
;; doesn't work here.
(call-with-output-file "version.h"
(lambda (port)
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
#$(string-drop version
(+ 1
(string-index version #\-))))
(format port
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
#$(string-take version
(string-index version #\-)))
(format port
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
(add-after 'install 'compile-scheme-files
(lambda _
(unsetenv "LIBLEPTONGUI")
(unsetenv "LIBLEPTON")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
(list autoconf
automake
desktop-file-utils
flex
gettext-minimal
groff
gawk
libtool
pkg-config
m4
perl
texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
pcb
shared-mime-info))
(home-page "https://lepton-eda.github.io/")
(synopsis
"Suite of tools for designing @acronym{PCB, Printed Circuit Boards}")
(description
"Lepton is an @acronym{EDA, Electronic Design Automation} tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and PCB layout, and many other features.")
(license license:gpl2+)))
(define-public libngspice
;; Note: The ngspice's build system does not allow us to build both the
;; library and the executables in one go. Thus, we have two packages.
@@ -1258,7 +1062,7 @@ an embedded event driven algorithm.")
(define-public librelane
(package
(name "librelane")
(version "3.0.0rc1")
(version "3.0.0rc0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1267,7 +1071,7 @@ an embedded event driven algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
"1593qrpsczdlml5cqqrx51fvlpxr9k85l2aba2dj0fv7gink4hx0"))))
"1hi4ppdwl1zh7yw1ncy1jrqc6za4mz243mqvfjr7mcdm349pyvb0"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1322,7 +1126,7 @@ an embedded event driven algorithm.")
python-rapidfuzz
python-rich
python-semver
python-yamlcore
python-yamlcore-0.0.2
ruby
verilator
yosys))
@@ -1552,6 +1356,7 @@ management with library, schematic and board editors.")
libparse, enabling dotlib file parsing.")
(license license:asl2.0)))
(define-public libpsf
;; There are no release nor tags.
(let ((commit "001dc734e01725e739847c8cde6480a0cf35a082")
@@ -1910,145 +1715,143 @@ circuits. This is commonly used as a part of toolchains in a process called
@acronym{LVS, layout versus schematic} with the intent to verify that the
layout of a circuit corresponds to the desired netlists.")
(license license:gpl1)))
(define-public nextpnr
(package
(name "nextpnr")
(version "0.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YosysHQ/nextpnr/")
(commit (string-append "nextpnr-" version))
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
;; json11 and python-console, which have custom modifications or
;; no longer have their original upstream.
(recursive? #t)))
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
;; The following sources have all been patched, so
;; cannot easily be unbundled.
"QtPropertyBrowser"
"json11"
"python-console"
"oourafft"
"imgui"
"qtimgui")))
(sha256
(base32 "01iwavnnz9pik49mw8z83529grvaa45pvihivmnfzhq1z49cg0c2"))))
(outputs '("out" "bba"))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:configure-flags
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
"-DBUILD_GUI=ON"
"-DUSE_OPENMP=ON"
"-DBUILD_TESTS=ON"
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
"-DHIMBAECHEL_SPLIT=ON"
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
(search-input-directory
%build-inputs "share/prjbeyond-db"))
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
(search-input-directory
%build-inputs "share/prjpeppercorn"))
(string-append
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
(string-append "-DICESTORM_INSTALL_PREFIX="
#$(this-package-native-input "icestorm"))
(string-append "-DTRELLIS_INSTALL_PREFIX="
#$(this-package-native-input "prjtrellis")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-test
(lambda _
(substitute* "himbaechel/uarch/gatemate/tests/lut.cc"
(("9LU") "8LU"))))
(add-after 'unpack 'unbundle-googletest
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(3rdparty\\/googletest.*")
(string-append "find_package(GTest)\n"
"add_library(gtest_main ALIAS "
"GTest::gtest_main)\n"))
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
(string-append
#$(this-package-native-input "googletest") "/include)")))))
(add-after 'unpack 'unbundle-sanitizers-cmake
(lambda _
(substitute* "CMakeLists.txt"
;; Use the system sanitizers-cmake module. This is made
;; necessary 'sanitizers-cmake' installing a FindPackage
;; module but no CMake config file.
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
(string-append
#$(this-package-native-input "sanitizers-cmake")
"/share/sanitizers-cmake/cmake")))))
(add-after 'install 'run-tests
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "PATH"
(string-append #$output "/bin:" (getenv "PATH")))
;; ice40
(invoke "./nextpnr-ice40-test")
(chdir "../source")
(setenv "NEXTPNR" "nextpnr-ice40")
(with-directory-excursion "ice40/smoketest/attosoc"
(invoke "./smoketest.sh"))
(with-directory-excursion "tests/ice40/regressions"
(invoke "make" (string-append
"NPNR=" #$output "/bin/nextpnr-ice40")))
;; generic
(setenv "NPNR" "nextpnr-generic")
(invoke "nextpnr-generic" "--uarch" "example" "--test")
(with-directory-excursion "tests/generic/flow/bel-pin"
(invoke "./run.sh"))
;; ecp5
(invoke "nextpnr-ecp5"
"--um5g-25k" "--package" "CABGA381" "--test")
(with-directory-excursion "tests/ecp5/regressions"
(invoke "make"
(string-append
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
(native-inputs
(list apycula
googletest
icestorm
iverilog
gzip
prjbeyond-db
`(,prjpeppercorn "db")
prjtrellis
python-minimal-wrapper
sanitizers-cmake
yosys))
(inputs
(list boost
eigen
pybind11))
(synopsis
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
(let ((commit "d8117e3cadaa4f4db606b64a465b7638b05dac68")
(revision "1"))
(package
(name "nextpnr")
(version (git-version "0.9" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/YosysHQ/nextpnr/")
(commit commit)
;; XXX: Fetch some bundled libraries such as QtPropertyBrowser,
;; json11 and python-console, which have custom modifications or
;; no longer have their original upstream.
(recursive? #t)))
(file-name (git-file-name name version))
(snippet
#~(begin
(use-modules (guix build utils)
(ice-9 ftw)
(srfi srfi-26))
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
(with-directory-excursion directory
(let* ((pred (negate (cut member <>
(cons* "." ".." preserve))))
(items (scandir "." pred)))
(for-each (cut delete-file-recursively <>) items))))
(delete-all-but "3rdparty"
;; The following sources have all been patched, so
;; cannot easily be unbundled.
"QtPropertyBrowser"
"json11"
"python-console"
"oourafft")))
(patches (search-patches "nextpnr-imgui.patch"))
(sha256
(base32 "0668adviwh8n9c5xy7k3qiyfn77rrzd79b403i3m19hhy8vq907p"))))
(outputs '("out" "bba"))
(build-system qt-build-system)
(arguments
(list
#:qtbase qtbase ;for Qt 6
#:configure-flags
#~(list "-DARCH=generic;ice40;ecp5;himbaechel"
"-DBUILD_GUI=ON"
"-DUSE_OPENMP=ON"
"-DBUILD_TESTS=ON"
"-DHIMBAECHEL_UARCH=ng-ultra;gowin;gatemate"
"-DHIMBAECHEL_NGULTRA_DEVICES=ng-ultra"
"-DHIMBAECHEL_SPLIT=ON"
(string-append "-DHIMBAECHEL_PRJBEYOND_DB="
(search-input-directory
%build-inputs "share/prjbeyond-db"))
(string-append "-DHIMBAECHEL_PEPPERCORN_PATH="
(search-input-directory
%build-inputs "share/prjpeppercorn"))
(string-append
"-DEXPORT_BBA_FILES=" #$output:bba "/share/nextpnr/bba-files")
(string-append "-DCURRENT_GIT_VERSION=nextpnr-" #$version)
(string-append "-DICESTORM_INSTALL_PREFIX="
#$(this-package-native-input "icestorm"))
(string-append "-DTRELLIS_INSTALL_PREFIX="
#$(this-package-native-input "prjtrellis")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unbundle-googletest
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(3rdparty\\/googletest.*")
(string-append "find_package(GTest)\n"
"add_library(gtest_main ALIAS "
"GTest::gtest_main)\n"))
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/googletest.*")
(string-append
#$(this-package-native-input "googletest") "/include)")))))
(add-after 'unpack 'unbundle-sanitizers-cmake
(lambda _
(substitute* "CMakeLists.txt"
;; Use the system sanitizers-cmake module. This is made
;; necessary 'sanitizers-cmake' installing a FindPackage
;; module but no CMake config file.
(("\\$\\{CMAKE_SOURCE_DIR}/3rdparty/sanitizers-cmake/cmake")
(string-append
#$(this-package-native-input "sanitizers-cmake")
"/share/sanitizers-cmake/cmake")))))
(add-after 'install 'run-tests
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "PATH"
(string-append #$output "/bin:" (getenv "PATH")))
;; ice40
(invoke "./nextpnr-ice40-test")
(chdir "../source")
(setenv "NEXTPNR" "nextpnr-ice40")
(with-directory-excursion "ice40/smoketest/attosoc"
(invoke "./smoketest.sh"))
(with-directory-excursion "tests/ice40/regressions"
(invoke "make" (string-append
"NPNR=" #$output "/bin/nextpnr-ice40")))
;; generic
(setenv "NPNR" "nextpnr-generic")
(invoke "nextpnr-generic" "--uarch" "example" "--test")
(with-directory-excursion "tests/generic/flow/bel-pin"
(invoke "./run.sh"))
;; ecp5
(invoke "nextpnr-ecp5"
"--um5g-25k" "--package" "CABGA381" "--test")
(with-directory-excursion "tests/ecp5/regressions"
(invoke "make"
(string-append
"NPNR=" #$output "/bin/nextpnr-ecp5")))))))))
(native-inputs
(list apycula
googletest
icestorm
iverilog
gzip
prjbeyond-db
`(,prjpeppercorn "db")
prjtrellis
python-minimal-wrapper
sanitizers-cmake
yosys))
(inputs
(list boost
eigen
pybind11-2
qtimgui))
(synopsis
"Place-and-Route tool for @acronym{FPGA, Field Programmable Gate Array}")
(description "@code{nextpnr} is an @acronym{EDA, Electronic Design
Automation}, portable and vendor neutral FPGA place and route tool.")
(home-page "https://github.com/YosysHQ/nextpnr/")
(license license:isc)))
(home-page "https://github.com/YosysHQ/nextpnr/")
(license license:isc))))
(define-public nextpnr-cli
(package
@@ -2061,6 +1864,9 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(substitute-keyword-arguments (package-arguments nextpnr)
((#:configure-flags flags '())
#~(delete! "-DBUILD_GUI=ON" #$flags)))))
(inputs
(modify-inputs (package-inputs nextpnr)
(delete "qtimgui")))
(synopsis
(string-append (package-synopsis nextpnr) " Cli only version."))))
@@ -2089,7 +1895,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(define-public nvc
(package
(name "nvc")
(version "1.19.3")
(version "1.19.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2098,7 +1904,7 @@ Automation}, portable and vendor neutral FPGA place and route tool.")
(file-name (git-file-name name version))
(sha256
(base32
"1zizz2dafm53lzpjayy6vig5pz5ri9cszdivg0jzzh8s3ggkpy1i"))))
"1wcniiphnzk81y9p093v6zqq9vd7qhw08639svacwmhd8a67yr6b"))))
(build-system gnu-build-system)
(arguments
(list #:out-of-source? #t
@@ -2299,7 +2105,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
(define-public prjpeppercorn
(package
(name "prjpeppercorn")
(version "1.12")
(version "1.9")
(source
(origin
(method git-fetch)
@@ -2308,7 +2114,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15qv7a0lpl671jlpafs9is0x0vms6i7jbkhp4l723lnr9kafqgm7"))))
(base32 "1z0kzkdham3pwh4fj03yyv9bla5v08mbv0ysbyq1snxr8cdabm8y"))))
(outputs (list "out"
"db")) ;FPGA database files
(build-system cmake-build-system)
@@ -2334,7 +2140,7 @@ chip database for NG-Ultra architecture from NanoXplore.")
(copy-recursively "tools"
(string-append datadir "/tools"))))))))
(inputs
(list boost))
(list boost-1.88))
(synopsis "GateMate FPGAs bitstream tools")
(description
"@code{Prjpeppercorn} includes programming tools for GateMate
@@ -2382,7 +2188,7 @@ architecture from Cologne Chip. It also provides data needed to produce a
(lambda _
(chdir "libtrellis"))))))
(native-inputs (list python-minimal-wrapper))
(inputs (list openocd boost pybind11))
(inputs (list openocd boost-1.88 pybind11-2))
(synopsis "Placement and routing for ECP5 FPGAs")
(description
"Project Trellis is a Nextpnr backend compatible with ECP5 FPGAs.
@@ -2795,8 +2601,16 @@ for @acronym{EDA, elecronic design automation} and chip design.")))
(define-public python-klayout
(package
(name "python-klayout")
(version (package-version klayout))
(source (package-source klayout))
(version "0.30.6") ;keep in sync with klayout
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/klayout/klayout")
(commit (string-append "v" version))))
(sha256
(base32 "0p4achjlynhg5wc0zmxkzljx115l7vcg3mp3f8i8pjydv8visnh4"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3186,7 +3000,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(define-public python-cocotbext-axi
(package
(name "python-cocotbext-axi")
(version "0.1.28")
(version "0.1.26")
(source
(origin
(method git-fetch)
@@ -3195,7 +3009,7 @@ testing to @code{cocotb}, removing the need of manipulating Makefiles.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kwdzz0mq134m0kxhwwj0d1nr1cbrzv36844476knna34xi2riyg"))))
(base32 "0xgfvvpff9r7g7fiswv1m0dklyw6c8v2r3qpd6qq3rzvnvrhsrin"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-cocotb python-cocotb-bus))
@@ -3544,7 +3358,7 @@ to enforce it.")
(define-public python-vunit
(package
(name "python-vunit")
(version "5.0.0-dev.9") ;v4.7.0 dates back from 2 years ago.
(version "5.0.0-dev.8") ;v4.7.0 dates back from 2 years ago.
(source
(origin
(method git-fetch)
@@ -3553,7 +3367,7 @@ to enforce it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1j9rvlshzi4mdy7wah1j8ri63drkjb47xly22q40wvl2xp2ghqgs"))))
(base32 "0a1bz5jh28i59x63fkgqf333jb68bm2hjicg2zlahzyydr4y1wji"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3563,31 +3377,35 @@ to enforce it.")
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-ghdl-version
(add-after 'unpack 'fix-ghdl-jit
(lambda _
;; Guix uses ghdl 6.0.0.
(substitute* "tests/unit/test_ghdl_interface.py"
(("GHDL 5\\.0\\.1") "GHDL 6.0.0")
(("GNAT Version: 14\\.2\\.0") "GNAT Version: 15.2.0"))))
;; TODO: Remove when fixed upstream (see:
;; https://github.com/VUnit/vunit/pull/1121).
(substitute* "vunit/sim_if/ghdl.py"
((": \"llvm\",")
(string-append
": \"llvm\",\n\tr\"static elaboration, LLVM JIT code "
"generator\": \"llvm-jit\",")))))
(add-after 'install 'unbundle
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((site-packages
(string-append (site-packages inputs outputs)
"/vunit/vhdl/")))
(mkdir-p (string-append site-packages "JSON-for-VHDL"))
(symlink
(search-input-directory inputs "share/json-for-vhdl/work/src")
(string-append site-packages "JSON-for-VHDL/src"))
(symlink
(search-input-directory inputs "share/osvvm/work/osvvm")
(string-append site-packages "osvvm")))))
(add-after 'check 'run-examples
;; Run examples as an extra check.
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "examples/vhdl"
(for-each
(lambda (dir)
(invoke "python3" (string-append dir "/run.py")
"-p" (if parallel-build?
(number->string (parallel-job-count))
"1"))
(invoke "python3" (string-append dir "/run.py"))
(delete-file-recursively "vunit_out"))
(scandir "."
(negate
@@ -3617,7 +3435,7 @@ to enforce it.")
python-setuptools
python-setuptools-scm))
(inputs
(list osvvm-2023.04))
(list json-for-vhdl-for-vunit osvvm-2023.04))
(propagated-inputs
(list python-colorama))
(home-page "https://vunit.github.io")
+1 -3
View File
@@ -72,9 +72,7 @@ as bold, underscore or italic.")
(file-name (git-file-name name version))
(sha256
(base32
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))
(patches
(search-patches "emacs-buttercup-1.38-native-comp-spy-on-trampoline-scope.patch"))))
"09n8skr5wi8bs7x81d5bi6z89dd8s1zi9a5f4r2qadaz69slncxq"))))
(build-system emacs-build-system)
(arguments
(list
+126 -186
View File
@@ -204,14 +204,12 @@
#:use-module (gnu packages aspell)
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages calendar)
#:use-module (gnu packages chez)
#:use-module (gnu packages cmake)
#:use-module (gnu packages code)
#:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dav)
#:use-module (gnu packages dictionaries)
#:use-module (gnu packages djvu)
#:use-module (gnu packages ebook)
@@ -4918,79 +4916,77 @@ or unexpected behavior inside an elisp configuration file (typically
(define-public emacs-w3m
;; Emacs-w3m follows a "rolling release" model.
(let ((commit "ec18c21418bf7c1be159bd3cf7e79a370d4be1f3")
(revision "0"))
(package
(name "emacs-w3m")
(version (git-version "20251229" revision commit)) ;commit date
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"00rkvr6cpisma5r6g88bq0im7qh9l30fy8r4g4wgs1k53lai7k68"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:configure-flags
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
(string-append "--with-icondir="
#$output "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install")
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (search-input-file inputs "/bin/w3m"))
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
("w3m-icon-directory"
(string-append #$output "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(search-input-file inputs "/bin/convert"))
("w3m-imagick-identify-program"
(search-input-file inputs "/bin/identify")))))
(replace 'install
(lambda _
(invoke "make" "install" "install-icons")
(with-directory-excursion (emacs:elpa-directory #$output)
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+))))
(package
(name "emacs-w3m")
(version "20220508.2259")
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit "bbcebbe20ebfa807a3e4beaadf40ce6f4be213e7")))
(file-name (git-file-name name version))
(sha256
(base32
"0y892n8jaxzyxi1fgyklc7zfh57ibp4yyywmif69dm28hykj6lmz"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules `(,@%default-gnu-imported-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:configure-flags
#~(list (string-append "--with-lispdir=" (emacs:elpa-directory #$output))
(string-append "--with-icondir="
#$output "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install")
#:tests? #f ; no check target
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported") "EMACS_FLAVOR=emacs"))))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (search-input-file inputs "/bin/w3m"))
("w3m-touch-command" (search-input-file inputs "/bin/touch"))
("w3m-icon-directory"
(string-append #$output "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(search-input-file inputs "/bin/convert"))
("w3m-imagick-identify-program"
(search-input-file inputs "/bin/identify")))))
(replace 'install
(lambda _
(invoke "make" "install" "install-icons")
(with-directory-excursion (emacs:elpa-directory #$output)
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+)))
(define-public emacs-wget
(package
@@ -5397,16 +5393,16 @@ installed on your machine and launch it.")
(version "1.8.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://www.github.com/tonini/alchemist.el")
(commit (string-append "v" version))))
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"alchemist-" version ".tar"))
(sha256
(base32 "1cci0sq568ghx6x7my96m0iiwvqz2f4dh6k3gn3mmfyvi7bmrpww"))))
(base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
(arguments
(list
#:tests? #f ; TODO Tests are failing; investigate
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-server
@@ -5414,13 +5410,8 @@ installed on your machine and launch it.")
(let ((server (string-append (elpa-directory #$output)
"/alchemist-server")))
(mkdir-p server)
(delete-file-recursively "alchemist-server/test")
(copy-recursively "alchemist-server" server)))))))
(propagated-inputs
(list emacs-company
emacs-dash
emacs-elixir-mode
emacs-pkg-info))
(copy-recursively "alchemist-server" server)
(delete-file-recursively (string-append server "/test"))))))))
(home-page "https://www.github.com/tonini/alchemist.el")
(synopsis "Elixir tooling integration into Emacs")
(description
@@ -8053,7 +8044,7 @@ next matching page.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/alezost-emacs/bui.el")
(url "https://notabug.org/alezost/emacs-bui.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -8062,7 +8053,7 @@ next matching page.")
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash))
(home-page "https://gitlab.com/alezost-emacs/bui.el")
(home-page "https://notabug.org/alezost/emacs-bui")
(synopsis "Buffer interface library for Emacs")
(description
"BUI (Buffer User Interface) is a library for making @code{list} and
@@ -8131,7 +8122,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/alezost-emacs/build-farm")
(url "https://notabug.org/alezost/emacs-build-farm.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -8140,7 +8131,7 @@ management tasks from Emacs. To begin with, run @code{M-x guix-about} or
(build-system emacs-build-system)
(propagated-inputs
(list emacs-bui emacs-magit-popup))
(home-page "https://gitlab.com/alezost-emacs/build-farm")
(home-page "https://notabug.org/alezost/emacs-build-farm")
(synopsis "Emacs interface for Hydra and Cuirass build farms")
(description
"This Emacs package provides an interface for Hydra and
@@ -8416,41 +8407,6 @@ them whenever another command is invoked.")
a command.")
(license license:gpl3+)))
(define-public emacs-khalel
(package
(name "emacs-khalel")
(version "0.1.15")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/hperrey/khalel")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06h5272kmg0ykf0zqdy2qwhlzszqsw176l1brk04bg8xyc3a4384"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-input-binaries
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "khalel.el"
("khalel-khal-command"
(search-input-file inputs "/bin/khal"))
("khalel-vdirsyncer-command"
(search-input-file inputs "/bin/vdirsyncer"))))))))
(inputs (list khal vdirsyncer))
(home-page "https://gitlab.com/hperrey/khalel")
(synopsis "Interact with local or remote CalDAV calendars")
(description
"Khalel accesses calendars stored in ICS files and provides means of
listing existing events, edit them as well as to create new ones largely
through an Org mode interface.")
(license license:gpl3+)))
(define-public emacs-khardel
(package
(name "emacs-khardel")
@@ -14444,7 +14400,7 @@ Features degrade gracefully when viewed from terminal.")
(define-public emacs-org-supertag
(package
(name "emacs-org-supertag")
(version "5.8.1")
(version "5.6.3")
(source
(origin
(method git-fetch)
@@ -14453,7 +14409,7 @@ Features degrade gracefully when viewed from terminal.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hdag8kxn2zxwac0fq14c741k4pwzkwvjh5ybwsqc7220vqzhmhm"))))
(base32 "0ccr3s4mhk28klizbsb7cqhgg2h3092mpg1qvnzpzf53hwlhds2p"))))
(build-system emacs-build-system)
(arguments
(list #:tests? #f ;no tests
@@ -17984,16 +17940,12 @@ strings, and code folding.")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/redguardtoo/js-comint")
(commit version)))
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"js-comint-" version ".el"))
(sha256
(base32 "09wfafrklkybfg44skn1lg2hvcj4gfdv908dq87w1r4wv6ibkvka"))))
(base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #f)) ; Tests depend on Eask
(home-page "https://github.com/redguardtoo/js-comint")
(synopsis "Interacting with a JavaScript interpreter")
(description
@@ -18168,7 +18120,7 @@ Emacs buffers.")
(define-public emacs-markdown-mode
(package
(name "emacs-markdown-mode")
(version "2.8")
(version "2.7")
(source
(origin
(method git-fetch)
@@ -18177,26 +18129,10 @@ Emacs buffers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05xcmp744sm1cp38zal5sqzj463igbsfhjn7vhgpzd97df95h9mp"))))
(base32 "1w6y18bg0fpvb5xwr827ynzbj0f0nh3dms3n0xq6hg38dcyly46b"))))
(build-system emacs-build-system)
(arguments
(list #:test-command #~(list "make" "test")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-failing-tests
(lambda _
(let ((skip-tests
`("-export/buffer-local-css-path"
"-export/relative-css-path"
"-export/url-css-path"
"/wiki-link-rules"
"/wiki-link-search-under-project")))
(substitute* "tests/markdown-test.el"
(("\\(ert-deftest test-markdown([a-z/-]*) \\(\\)"
all test)
(if (member test skip-tests)
(string-append all "(skip-unless nil)")
all)))))))))
(arguments (list #:test-command #~(list "make" "test")
#:tests? #f)) ; XXX: 5 unexpected results
(home-page "https://jblevins.org/projects/markdown-mode/")
(synopsis "Emacs Major mode for Markdown files")
(description
@@ -21288,25 +21224,29 @@ required by the LaTeX output produced by Org mode.")
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))))
(define-public emacs-org-contacts
(package
(name "emacs-org-contacts")
(version "1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://repo.or.cz/org-contacts")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1djnyswjbsb1k3ciyd2f9xfjfkhbkkfw3dzfmzzr8dx5v71gm47b"))))
(build-system emacs-build-system)
(home-page "https://repo.or.cz/org-contacts")
(synopsis "Contacts management system for Org mode")
(description "Manage your contacts from Org mode. You can auto
;; XXX: Upstream does not tag version bumps. Commit below matches latest
;; version bump.
(let ((commit "217ba04c9d638067a6ccb0829cf1885f54c1d568"))
(package
(name "emacs-org-contacts")
(version "1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://repo.or.cz/org-contacts")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0f0vjdvx0hffj2xvyrya8yfl77djmzmpxdxsx58ym4lmdvwyb6x3"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-org))
(home-page "https://repo.or.cz/org-contacts")
(synopsis "Contacts management system for Org mode")
(description "Manage your contacts from Org mode. You can auto
complete email addresses, export contacts to a vCard file, put birthdays
in your Org Agenda, and more.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-org-vcard
(package
@@ -39161,14 +39101,14 @@ user interfaces for various built-in modes.")
(define-public emacs-calibre
(package
(name "emacs-calibre")
(version "1.5.2")
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/calibre-" version
".tar"))
(sha256
(base32 "0iqgd44wca54l5rn8g6c9qak2c1wblbnrx5a0118hkgckimp8c3k"))))
(base32 "08rcwrydrlc995sdxn5ssm5f6ighxi5yr6i7bx9a1nf7n91mgbgh"))))
(build-system emacs-build-system)
(arguments
(list
@@ -39453,13 +39393,11 @@ or regions to a REPL from ~a buffers.") language))))
(version "1.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/diadochos/org-babel-eval-in-repl")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://stable.melpa.org/packages/"
"org-babel-eval-in-repl-" version ".tar"))
(sha256
(base32 "1fjifl69qja3ab0g72f1hkfns992qq0v9pw8p4hgvjycx7fpzk0a"))
(base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
(modules '((guix build utils)))
(snippet
#~(begin (delete-file "eval-in-repl-matlab.el")))))
@@ -41985,10 +41923,10 @@ service, and connect it with Emacs via inter-process communication.")
(license license:gpl3+))))
(define-public emacs-telega
(let ((commit "805819bf81dffe2922e9e06ae02d58429d03aa1a"))
(let ((commit "70945291fff62ad0c8c2d2c28cbad319138ae811"))
(package
(name "emacs-telega")
(version "0.8.601") ; see telega-version in telega.el
(version "0.8.600") ; see telega-version in telega.el
(source
(origin
(method git-fetch)
@@ -41996,7 +41934,7 @@ service, and connect it with Emacs via inter-process communication.")
(url "https://github.com/zevlg/telega.el")
(commit commit)))
(sha256
(base32 "0d02ymr5fw6fknzf9ikaky48swd9yfp5zn846zlwb5083p6bpmis"))
(base32 "08z81m3aa7lf895iy5fkdp52qkvl2nw1r1k1k67dipnyrj4y2bfk"))
(file-name (git-file-name "emacs-telega" version))
(patches
(search-patches "emacs-telega-test-env.patch"))))
@@ -42053,8 +41991,10 @@ service, and connect it with Emacs via inter-process communication.")
(string-append ";; " all))))))))
(inputs
(list emacs-telega-server ffmpeg tgs2png))
(native-inputs '())
(propagated-inputs
(list emacs-transient ; requires 0.9.0
(list emacs-company
emacs-transient ; requires 0.9.0
emacs-visual-fill-column))
(home-page "https://zevlg.github.io/telega.el/")
(synopsis "GNU Emacs client for the Telegram messenger")
+3 -4
View File
@@ -28,7 +28,6 @@
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;; Copyright © 2026 Nikita Alkhovik <forgoty13@gmail.com>
;;; Copyright © 2026 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2026 Spencer King <spencer.king@wustl.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1166,7 +1165,7 @@ The following systems are supported:
(define-public sameboy
(package
(name "sameboy")
(version "1.0.3")
(version "1.0.2")
(source
(origin
(method git-fetch)
@@ -1175,12 +1174,12 @@ The following systems are supported:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "107k6lfh4y9q73azab0r7pb7hs8fwk46537pfc5liqp38blz6ij5"))))
(base32 "0pwnik37c3sgvib5xbadwbq2mjjvgxilhig09rjb3xp5i1d7ykja"))))
(build-system gnu-build-system)
(native-inputs
(list rgbds pkg-config))
(inputs
(list libpng sdl2))
(list sdl2))
(arguments
`(#:tests? #f ; There are no tests
#:make-flags `(,(string-append "CC=" ,(cc-for-target))
+213 -12
View File
@@ -358,6 +358,155 @@ tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
(license license:gpl2+)))
(define-public lepton-eda
(package
(name "lepton-eda")
(version "1.9.18-20220529")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lepton-eda/lepton-eda/")
(commit version)))
(sha256
(base32
"06plrcab3s2rpyf0qv2gzc1yp33627xi8105niasgixckk6glnc2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
"ac_cv_path_MSGMERGE=true"
(string-append "--with-pcb-datadir="
#$(this-package-input "pcb")
"/share")
(string-append "--with-pcb-lib-path="
#$(this-package-input "pcb")
"/share/pcb/pcblib-newlib:"
#$(this-package-input "pcb")
"/share/pcb/newlib")
"--with-gtk3"
"CFLAGS=-fcommon"
"--enable-guild"
"--enable-contrib")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; For logs and auto-compilation
(setenv "HOME" "/tmp")
;; Ensure that readline is found by lepton-shell
(substitute* "script.in"
(("\\(eval-when \\(expand load eval\\)" m)
(string-append "
(add-to-load-path \"" #$(this-package-input "guile-readline")
"/share/guile/site/3.0\")
(set! %load-compiled-path (cons \""
#$(this-package-input "guile-readline")
"/lib/guile/3.0/site-ccache/"
"\" %load-compiled-path))
" m)))))
(add-before 'build 'fix-dynamic-link
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liblepton/scheme/lepton/ffi/lib.scm"
(("\"liblepton\"")
(string-append "\"" #$output "/lib/liblepton.so" "\""))
(("\"libleptonattrib\"")
(string-append "\"" #$output "/lib/libleptonattrib.so" "\""))
(("\"libleptongui\"")
(string-append "\"" #$output "/lib/libleptongui.so" "\""))
(("\"libglib-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libglib-2.0.so") "\""))
(("\"libgobject-2.0\"")
(string-append
"\"" (search-input-file inputs "/lib/libgobject-2.0.so") "\""))
(("\"libgtk-3\"")
(string-append
"\"" (search-input-file inputs "/lib/libgtk-3.so") "\"")))
;; For finding libraries when running tests before installation.
(setenv "LIBLEPTONGUI"
(string-append (getcwd)
"/libleptongui/src/.libs/libleptongui.so"))
(setenv "LIBLEPTON"
(string-append (getcwd)
"/libleptongui/src/.libs/liblepton.so"))
(setenv "LD_LIBRARY_PATH"
(string-append (getcwd)
"/libleptonattrib/src/.libs/:"
(getenv "LIBRARY_PATH")))))
(add-before 'bootstrap 'prepare
(lambda _
;; Some of the scripts there are invoked by autogen.sh.
(for-each patch-shebang
(find-files "build-tools"))
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
(chmod po #o666))
(find-files "." "\\.po$"))
;; This would normally be created by invoking 'git', but it
;; doesn't work here.
(call-with-output-file "version.h"
(lambda (port)
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
#$(string-drop version
(+ 1
(string-index version #\-))))
(format port
"#define PACKAGE_DOTTED_VERSION \"~a\"~%"
#$(string-take version
(string-index version #\-)))
(format port
"#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))))
(add-after 'install 'compile-scheme-files
(lambda _
(unsetenv "LIBLEPTONGUI")
(unsetenv "LIBLEPTON")
(unsetenv "LD_LIBRARY_PATH")
(invoke "make" "precompile"))))))
(native-inputs
(list autoconf
automake
desktop-file-utils
flex
gettext-minimal
groff
gawk
libtool
pkg-config
m4
perl
texinfo))
(inputs
(list glib
gtk+
gtksheet
guile-3.0
guile-readline
pcb
shared-mime-info))
(home-page "https://lepton-eda.github.io/")
(synopsis "GPL Electronic Design Automation")
(description
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
design, schematic capture, simulation, prototyping, and production. Lepton
EDA includes tools for schematic capture, attribute management, bill of
materials (BOM) generation, netlisting into over 20 netlist formats, analog
and digital simulation, and printed circuit board (PCB) layout, and many other
features.")
(license license:gpl2+)))
(define-public pcb
(package
(name "pcb")
@@ -1258,6 +1407,57 @@ in the context of per-cpu data. The library offers ABI headers to interface
with the kernel and various utilities such as per-cpu counters.")
(license (list license:lgpl2.1 license:expat)))))
(define-public horizon-eda
(package
(name "horizon-eda")
(version "2.7.0")
;; TODO: try to unbundle some of the 3rd parties.
;; We have packages for nlohmann-json, range-v3, catch2 and clipper.
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/horizon-eda/horizon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1sq1d2x9wq168cz91l2rd93gnlq5scknb45bi1njqqcw3jjjhsk3"))))
(build-system meson-build-system)
(arguments
(list
#:tests? #f ; no tests
#:glib-or-gtk? #t))
(native-inputs (list cmake-minimal ;; OpenCASCADE is only found by cmake
`(,glib "bin")
gobject-introspection
pkg-config))
(inputs (list boost
cairomm
cppzmq
curl
glib
glibmm
glm
gsettings-desktop-schemas
gtk+
gtkmm-3
libarchive
libgit2-glib
librsvg
libspnav
libzip
opencascade-occt
podofo
sqlite
`(,util-linux "lib")
zeromq))
(home-page "https://horizon-eda.org/")
(synopsis "Electronic Design Automation package")
(description "Horizon EDA is an Electronic Design Automation package
supporting an integrated end-to-end workflow for printed circuit board design
including parts management and schematic entry.")
(license license:gpl3+)))
(define-public linsmith
(package
(name "linsmith")
@@ -3056,27 +3256,28 @@ extension and customization.")
(define-public libmedfile
(package
(name "libmedfile")
(version "6.0.1")
(version "4.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://files.salome-platform.org/Salome/medfile/med-"
"https://files.salome-platform.org/Salome/other/med-"
version ".tar.gz"))
(sha256
(base32
"1a0zbdaj3s459s0cdayq4s3k3vbrfg7y32sf7s7qvi2bhz3fvwgq"))))
"017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"))))
(build-system cmake-build-system)
(inputs (list hdf5 zlib))
(inputs (list hdf5-1.10))
(arguments
(list
#:parallel-tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda _
(delete-file-recursively
(string-append #$output "/bin/testc")))))))
`(#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-test-output
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively
(string-append out "/bin/testc"))
#t))))))
(home-page "https://www.salome-platform.org")
(synopsis "Library to read and write MED files")
(description
+2 -5
View File
@@ -36,7 +36,6 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages rocm)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl))
@@ -224,16 +223,14 @@ testing InfiniBand networks.")
#$(this-package-input "rdma-core"))
(string-append "--with-rdmacm="
#$(this-package-input "rdma-core"))
(string-append "--with-rocm="
#$(this-package-input "rocr-runtime")))
#$(this-package-input "rdma-core")))
;; 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
+6 -6
View File
@@ -255,7 +255,7 @@ wallet and graphical user interface.")
(define-public bitcoin-cash-node
(package
(name "bitcoin-cash-node")
(version "29.0.0")
(version "28.0.1")
(source
(origin
(method git-fetch)
@@ -264,7 +264,7 @@ wallet and graphical user interface.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fk0zfnl99552yfhzzvzj46lg16fr4dbgh0agp5pqll30wbk78d9"))))
(base32 "19v38clhxg6yd4xb8wh8bm3sf1ipv3ifg68nwgq0p8l5zqx41wgw"))))
(build-system cmake-build-system)
(native-inputs
(list help2man
@@ -1014,7 +1014,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.18.4.7")
(version "0.18.4.6")
(source
(origin
(method git-fetch)
@@ -1030,7 +1030,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
(base32 "1nbv07jjwznz2x0ch1467vhnd0b4j3y01gv78dzbm7pilbb9wh72"))))
(base32 "0l2ris97ibl2smyd4dyav5d81ky22nyv21qhzmmxsbgz3ds7d1mx"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -2603,7 +2603,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
(version "4.14")
(version "4.13")
(source
(origin
(method git-fetch)
@@ -2612,7 +2612,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256 (base32 "10dp6kxmvdx5lz4n144s9av32nzfxgfw28kf92dnmrv13q5p7id2"))
(sha256 (base32 "1flpr0kzyl72hm5vjs9jixiv8fdhvwchlz3p2banb8naxlpads0x"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
+4 -8
View File
@@ -1253,15 +1253,11 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
#~(modify-phases #$phases
(replace 'install
(lambda _
(let ((fmw (string-append #$output "/share/firmware"))
(build-dir "Build/ArmVirtQemu-AARCH64/RELEASE_GCC/FV"))
(let ((fmw (string-append #$output "/share/firmware")))
(mkdir-p fmw)
;; QEMU's virt machine requires 64 MiB pflash devices on
;; AArch64. Pad the firmware files to match.
(copy-file (string-append build-dir "/QEMU_EFI.fd")
(string-append fmw "/ovmf_aarch64.bin"))
(truncate-file (string-append fmw "/ovmf_aarch64.bin")
(* 64 1024 1024))))))))))))
(copy-file (string-append "Build/ArmVirtQemu-AARCH64/"
"RELEASE_GCC/FV/QEMU_EFI.fd")
(string-append fmw "/ovmf_aarch64.bin"))))))))))))
(define-public ovmf-arm
(let ((base (make-ovmf-firmware "armhf")))
+6 -211
View File
@@ -11,7 +11,7 @@
;;; Copyright © 2021 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2018, 2022 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2022 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2023 B. Wilson <x@wilsonb.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@@ -20,9 +20,6 @@
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,12 +59,8 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation)
#:use-module (gnu packages electronics)
#:use-module (gnu packages elf)
@@ -81,7 +74,6 @@
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
@@ -91,9 +83,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-26))
@@ -256,118 +246,6 @@ firmware from it.")
(home-page "https://dfu-util.sourceforge.net/")
(license license:gpl2+)))
(define-public genimage
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
(revision "0"))
(package
(name "genimage")
(version (git-version "18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pengutronix/genimage")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((ice-9 match)
,@%default-gnu-imported-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'guixify
(lambda* (#:key inputs #:allow-other-keys)
(map (match-lambda
((input directory regexp)
(substitute* "config.c"
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
(string-append ".def = \"" (assoc-ref inputs input)
"/" directory "/" command "\"")))))
'(("cpio" "bin" "cpio")
("coreutils" "bin" "dd")
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
("genext2fs" "bin" "genext2fs")
("cdrkit-libre" "bin" "genisoimage")
("mtools" "bin" "mcopy|mmd")
;; mkcramfs is obsolete.
("dosfstools" "sbin" "mkdosfs")
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
("squashfs-tools" "bin" "mksquashfs")
("qemu" "bin" "qemu-img")
;; rauc and fiptool are unsupported.
("tar" "bin" "tar")
("u-boot-tools" "bin" "mkimage")))
(substitute* "util.c"
(("\"/bin/sh\"")
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
(add-before 'check 'disable-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/flash.test")
(("test_expect_success \"flash\"")
"test_expect_fail \"flash\""))
(substitute* '("test/hdimage.test")
(("test_expect_success fdisk,sfdisk \"hdimage\"")
"test_expect_fail fdisk,sfdisk \"hdimage\"")
(("test_expect_success hexdump \"hdimage no-partition\"")
"test_expect_fail hexdump \"hdimage no-partition\""))))
(add-before 'check 'fix-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/ext2test.2.dump"
"test/ext3test.2.dump"
"test/ext4test.2.dump"
"test/ext2test-percent.2.dump"
"test/mke2fs.2.dump"
"test/mke2fs.3.dump")
(("root") "unknown"))))
(add-before 'check 'setenv-check
(lambda _
;; Our container doesn't provide access to /etc/mtab
(setenv "EXT2FS_NO_MTAB_OK" "1")
;; Make test reproducible
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
(replace 'check
(lambda _
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
(native-inputs
(list autoconf
automake
;;; Note: cramfs is obsolete.
dtc ; for the tests
pkg-config
util-linux)) ; for the tests
(inputs
`(("bash" ,bash)
("cdrkit-libre" ,cdrkit-libre)
("cpio" ,cpio)
;; Note: invoked by final executable.
("coreutils" ,coreutils) ; chmod, dd
("dosfstools" ,dosfstools)
("e2fsprogs" ,e2fsprogs)
("f2fs-tools" ,f2fs-tools)
("genext2fs" ,genext2fs)
("libconfuse" ,libconfuse)
("mtd-utils" ,mtd-utils)
("mtools" ,mtools)
("qemu" ,qemu-minimal)
("squashfs-tools" ,squashfs-tools)
("tar" ,tar)
("u-boot-tools" ,u-boot-tools)))
(synopsis "Create Flash images according to specification")
(description "@command{genimage} creates Flash images according to a
specification file.")
(home-page "https://github.com/pengutronix/genimage")
(license license:gpl2))))
(define-public teensy-loader-cli
(package
(name "teensy-loader-cli")
@@ -569,87 +447,6 @@ referred to as the \"Odin 3 protocol\".")
dump Intel Firmware Descriptor data of an image file.")
(license license:gpl2)))
(define-public bincfg
(package
(name "bincfg")
(version "25.09")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://review.coreboot.org/coreboot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1n64dwr5fzdnaj45bjci85ap5yra5gwz4x056zn6481xwvbsmv"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no test suite
#:make-flags
#~(list
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'unpack 'chdir
(lambda _
(chdir "util/bincfg")))
(add-after 'build 'build-binaries
(lambda* (#:key make-flags #:allow-other-keys)
(for-each
(lambda (target result)
(apply invoke "make" (string-append "gen-" target) make-flags)
(rename-file result
(string-append target ".bin")))
(list
;; generate GbE for X200
"gbe-ich9m"
;; generate GbE for X220/x230
"gbe-82579LM"
;; generate IFD for X200
"ifd-x200")
(list
"flashregion_3_gbe.bin"
"flashregion_3_gbe.bin"
"flashregion_0_fd.bin"))))
;; The Makefile has no install target.
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin"))
(lib (string-append #$output "/lib/bincfg"))
(data (string-append #$output "/share/bincfg")))
;; Install the program
(install-file "bincfg" bin)
;; And its data
(for-each
(lambda (path)
(install-file path data))
(append (find-files "." ".*\\.set")
(find-files "." ".*\\.spec")))
;; And the files generated with the data
(for-each
(lambda (path)
(install-file path lib))
(find-files "." ".*\\.bin"))))))))
(native-inputs (list bison flex))
(home-page "https://coreboot.org")
(synopsis "Encoder/decoder for binary formats described in text files")
(description "
The bincfg program comes with specifications files for the following binary
formats:
@itemize
@item Various DDR3 and DDR4 SPD
@item Configuration data for the Intel 82579LM Gigabit Ethernet PHY
@item Configuration data for the Intel Gigabit Ethernet controller present in
the Intel ICH9-M chipset.
@item Intel Firmware Descriptor data for the Lenovo ThinkPad X200
@item Configuration data for the ITE IT8718F SuperIO
@end itemize
It also comes with example files generated by bincfg.")
(license license:gpl3+)))
(define-public intelmetool
(package
(name "intelmetool")
@@ -816,7 +613,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
(define-public openfpgaloader
(package
(name "openfpgaloader")
(version "1.1.1")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -825,7 +622,7 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
(file-name (git-file-name name version))
(sha256
(base32
"00wbf7z5f55422fmqczxc6f7a2lmr52m1qx8m3ky5gl006rkf0sm"))))
"1jr9vx0r53h2wkmcyjkc5l90wvk4glinlkf42m00j7rp41bckfvp"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config))
@@ -841,11 +638,9 @@ Unifinished Extensible Firmware Interface (UEFI) images.")
#~(modify-phases %standard-phases
(add-after 'install 'install-rules
(lambda _
(for-each
(lambda (f)
(install-file
f (string-append #$output "/lib/udev/rules.d/")))
(find-files "../source" "\\.rules$")))))))
(install-file
"../source/99-openfpgaloader.rules"
(string-append #$output "/lib/udev/rules.d/")))))))
(synopsis "Utility for programming FPGA")
(description "This package provides a program to transfer a bitstream
to an FPGA. To use @code{openfpgaloader} without root privileges it is
+2 -1
View File
@@ -4206,7 +4206,8 @@ characteristic so that they sit smoothly with the Tamil glyphs.")
(base32 "1594lxdk6788bb3i3c2fh74z4pwpzcp2r1xl3cz8cz77nrcjkl8m"))))
(build-system trivial-build-system)
(arguments
(list #:modules '((guix build utils))
(list #:modules '((guix build utils)
(ice-9 ftw))
#:builder
#~(let* ((orig #$(package-source this-package))
(dist (string-append orig "/dist/v" #$version))
+4 -4
View File
@@ -2604,7 +2604,7 @@ to applications simultaneously competing for fingerprint readers.")
(define-public desktop-file-utils
(package
(name "desktop-file-utils")
(version "0.28")
(version "0.26")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@@ -2612,10 +2612,10 @@ to applications simultaneously competing for fingerprint readers.")
"desktop-file-utils-" version ".tar.xz"))
(sha256
(base32
"0w4ai6a3bwrdh86n2pvgv664djlmlds5lfa2hbgc4hnq67id80a4"))))
(build-system meson-build-system)
"02bkfi6fyk4c0gh2avd897882ww5zl7qg7bzzf28qb57kvkvsvdj"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(list autoconf automake pkg-config))
(inputs
(list glib))
(home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/")
+10 -6
View File
@@ -22,7 +22,7 @@
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
;;; Copyright © 2020-2022, 2024-2026 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2020-2022, 2024-2025 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2026 Andy Tai <atai@atai.org>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
@@ -953,7 +953,7 @@ clone.")
(define-public trenchbroom
(package
(name "trenchbroom")
(version "2025.4")
(version "2024.2")
(source
(origin
(method git-fetch)
@@ -962,12 +962,16 @@ clone.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0858q0dfr8f3z8aaafgvrx3zbmjlsldjyw6jjic4x4psyw2xfg3h"))))
(base32 "18cb3w7wxc9y2izh0flkkl77sg897dh0g49zq7rbhpvw35j4xgaj"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
#~(list "-DCMAKE_BUILD_TYPE=Release" "-G" "Unix Makefiles"
"-DCMAKE_PREFIX_PATH=cmake/packages"
(string-append "-DFREEIMAGE_INCLUDE_PATH="
#$freeimage "/include")
(string-append "-DFREEIMAGE_LIBRARY="
#$freeimage "/lib/libfreeimage.so")
(string-append "-Dfreetype_INCLUDE_DIR="
#$freetype "/include/freetype2")
(string-append "-Dfreetype_LIBRARY="
@@ -1012,7 +1016,7 @@ clone.")
(inputs
(list assimp
bash-minimal
catch2-3.8
catch2
fmt
freeglut
freeimage
@@ -1023,8 +1027,8 @@ clone.")
libxxf86vm
mesa
miniz
qtbase
qtsvg
qtbase-5
qtsvg-5
tinyxml2))
(native-inputs (list git pandoc python p7zip))
(home-page "https://kristianduske.com/trenchbroom/")
+19 -191
View File
@@ -19,7 +19,6 @@
;;; Copyright © 2024 Nguyễn Gia Phong <cnx@loang.net>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2025-2026 Jonas Meeuws <jonas.meeuws@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,10 +55,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix memoization)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix search-paths)
#:use-module (guix utils)
@@ -1427,195 +1424,26 @@ as the 'native-search-paths' field."
"gfortran" '("fortran")
%generic-search-paths)))
(define* (make-gdc gcc #:optional bootstrap-gdc #:key frontend-version)
(define gdc (custom-gcc gcc "gdc" '("d") (list $LIBRARY_PATH)))
(define version (package-version gdc))
(define (since-version? since) (version>=? version since))
(define (until-version? until) (version>? until version))
(package
(inherit gdc)
(arguments
(substitute-keyword-arguments (package-arguments gdc)
((#:modules modules)
`(,@modules
(ice-9 ftw)))
((#:configure-flags flags)
#~(append
#$flags
(list "--disable-c++tools"
#$@(if (since-version? "11") #~("--disable-libatomic") #~())
"--disable-libcc1"
"--disable-libgomp"
"--disable-libitm"
"--disable-libquadmath"
"--disable-libsanitizer"
"--disable-libssp"
#$@(if (until-version? "15") #~("--disable-libstdcxx") #~())
"--disable-plugin")))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'strip 'gdc-cleanup-install
(lambda* (#:key outputs #:allow-other-keys)
(define (delete-except-matches prefix patterns)
;; Remove all files except for those matching any of the
;; patterns.
(define (should-delete? path statbuf)
(define suffix (substring path (string-length prefix)))
(not (or (zero? (string-length suffix))
(any (cut string-match <> suffix)
patterns))))
(for-each (lambda (path)
(format #t "Deleting ~a\n" path)
(delete-file path))
(find-files prefix should-delete?))
;; Clean up empty directories.
(define (dir-empty? path statbuf)
(and (eq? (stat:type statbuf) 'directory)
(zero? (length (filter
(lambda (name)
(not (or (string=? name ".")
(string=? name ".."))))
(scandir path))))))
(while #t
(let* ((empty-dirs (find-files prefix dir-empty?
#:stat lstat
#:directories? #t)))
(if (zero? (length empty-dirs))
(break)
(for-each rmdir empty-dirs)))))
;; Leave out non-GDC binaries, man pages, locale files, and
;; c++ headers.
(delete-except-matches
(assoc-ref outputs "out")
(list "^/bin/.*gdc$"
"^/libexec/"
"^/share/info/gdc"
"^/share/man/man1/gdc"
"^/share/man/man7/"))
;; Leave out C/C++ libraries, headers and empty directories.
(delete-except-matches
(assoc-ref outputs "lib")
(list "^/lib/gcc/.*/include/d/"
"^/lib/gcc/.*/.*\\.[ao]$"
"^/lib/libgcc_s.*"
"^/lib/libgdruntime.*"
"^/lib/libgphobos.*"))
;; Repeat for the debug files.
(delete-except-matches
(assoc-ref outputs "debug")
(list "^/lib/debug/.*/bin/.*gdc\\.debug$"
"^/lib/debug/.*/lib/libgcc_s"
"^/lib/debug/.*/lib/libgdruntime"
"^/lib/debug/.*/lib/libgphobos"))))))))
(inputs
(modify-inputs (package-inputs gdc)
;; This makes flags like -static-libstdc++ work. Required for using this
;; compiler as a bootstrap compiler for GDC 12+.
;; Additionally, this allows us to support linking with GCC libraries,
;; without building or storing them ourselves.
(append (list gcc "lib"))))
(native-inputs
(let ((orig (package-native-inputs gdc)))
(if bootstrap-gdc
(modify-inputs orig
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
;; to build.
(append bootstrap-gdc))
orig)))
(synopsis "GNU D Compiler")
(description
(string-append
"GDC is the D frontend for the @acronym{GNU Compiler Collection,GCC}. It
also includes the druntime and phobos libraries."
(if frontend-version
(format #f "~%~%This compiler is based on the DMD frontend version ~a."
frontend-version)
"")))
(home-page "https://www.gdcproject.org/")))
(define-public gdc-11 ;kept for bootstrapping
(hidden-package
(custom-gcc gcc-11 "gdc" '("d")
%generic-search-paths)))
(define-public gdc-9
(make-gdc gcc-9 #:frontend-version "2.076.2"))
(define-public gdc-10
(make-gdc gcc-10 #:frontend-version "2.076.2"))
(define-public gdc-11
(make-gdc gcc-11 #:frontend-version "2.076.2"))
(define-public gdc-12
(make-gdc gcc-12 gdc-11 #:frontend-version "2.100.2"))
(define-public gdc-13
(make-gdc gcc-13 gdc-11 #:frontend-version "2.103.1"))
(define-public gdc-14
(make-gdc gcc-14 gdc-11 #:frontend-version "2.108.1"))
(define-public gdc-15
(make-gdc gcc-15 gdc-11 #:frontend-version "2.111.0"))
(define-public gdc gdc-14)
(define* (make-gdmd gdc)
(let ((gdc-version (package-version gdc))
(gdmd-version "0.26.0"))
(package
(name "gdmd")
(version (string-append gdc-version "-" gdmd-version))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/D-Programming-GDC/gdmd")
(commit (string-append "script-" gdmd-version))))
(file-name (git-file-name name gdmd-version))
(sha256
(base32
"0i9warhlwyspjs3rpvs2989820909lgzjnsflpd9mp2flq7isjh0"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("dmd-script" "bin/gdmd")
("dmd-script.1" "share/man/man1/gdmd.1"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-gdc-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd-script"
(("my \\$gdc_dir.*")
(string-append "my $gdc_dir = \""
(dirname
(search-input-file inputs "/bin/gdc"))
"\";\n"))))))))
(inputs (list gdc perl))
(synopsis "DMD-like wrapper for GDC")
(description "This package provides a DMD-like wrapper for the
@acronym{GNU D Compiler,GDC}.")
(license gpl3+)
(home-page "https://github.com/D-Programming-GDC/gdmd"))))
(define-public gdmd-9
(make-gdmd gdc-9))
(define-public gdmd-10
(make-gdmd gdc-10))
(define-public gdmd-11
(make-gdmd gdc-11))
(define-public gdmd-12
(make-gdmd gdc-12))
(define-public gdmd-13
(make-gdmd gdc-13))
(define-public gdmd-14
(make-gdmd gdc-14))
(define-public gdmd-15
(make-gdmd gdc-15))
(define-public gdmd gdmd-14)
;;; Alias tracking the latest GDC version.
(define-public gdc
(hidden-package
(let ((base (custom-gcc gcc
"gdc" '("d")
%generic-search-paths)))
(package
(inherit base)
(native-inputs
(modify-inputs (package-native-inputs base)
;; Since GCC 12, GDC is self-hosted, requiring a version of itself
;; to build.
;; XXX: GCC must be prepended as well to avoid an issue with the C++
;; headers ordering.
(prepend gcc gdc-11)))))))
(define-public gm2
(hidden-package
+154
View File
@@ -0,0 +1,154 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages genimage)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bootloaders)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages disk)
#:use-module (gnu packages linux)
#:use-module (gnu packages mtools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages textutils)
#:use-module (gnu packages virtualization))
(define-public genimage
(let ((commit "00009af6e29cfd46909bc8b4180147dda9f82ba8")
(revision "0"))
(package
(name "genimage")
(version (git-version "18" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pengutronix/genimage")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1mijyq79cb0yj4jm9ln9smpddq1f6r8cnsa568qca0krcv0p3zag"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((ice-9 match)
,@%default-gnu-imported-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'guixify
(lambda* (#:key inputs #:allow-other-keys)
(map (match-lambda
((input directory regexp)
(substitute* "config.c"
(((format #f "\\.def = \"(~a)\"" regexp) _ command)
(string-append ".def = \"" (assoc-ref inputs input)
"/" directory "/" command "\"")))))
'(("cpio" "bin" "cpio")
("coreutils" "bin" "dd")
("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
("genext2fs" "bin" "genext2fs")
("cdrkit-libre" "bin" "genisoimage")
("mtools" "bin" "mcopy|mmd")
;; mkcramfs is obsolete.
("dosfstools" "sbin" "mkdosfs")
("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
("f2fs-tools" "sbin" "(mkfs|sload).f2fs")
("squashfs-tools" "bin" "mksquashfs")
("qemu" "bin" "qemu-img")
;; rauc and fiptool are unsupported.
("tar" "bin" "tar")
("u-boot-tools" "bin" "mkimage")))
(substitute* "util.c"
(("\"/bin/sh\"")
(string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
(add-before 'check 'disable-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/flash.test")
(("test_expect_success \"flash\"")
"test_expect_fail \"flash\""))
(substitute* '("test/hdimage.test")
(("test_expect_success fdisk,sfdisk \"hdimage\"")
"test_expect_fail fdisk,sfdisk \"hdimage\"")
(("test_expect_success hexdump \"hdimage no-partition\"")
"test_expect_fail hexdump \"hdimage no-partition\""))))
(add-before 'check 'fix-failing-tests
(lambda _
;; We don't have /etc/passwd so uid 0 is not known as "root".
;; Thus patch it out.
(substitute* '("test/ext2test.2.dump"
"test/ext3test.2.dump"
"test/ext4test.2.dump"
"test/ext2test-percent.2.dump"
"test/mke2fs.2.dump"
"test/mke2fs.3.dump")
(("root") "unknown"))))
(add-before 'check 'setenv-check
(lambda _
;; Our container doesn't provide access to /etc/mtab
(setenv "EXT2FS_NO_MTAB_OK" "1")
;; Make test reproducible
(setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
(setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
(replace 'check
(lambda _
(invoke "make" "TEST_LOG_COMPILER=" "check"))))))
(native-inputs
(list autoconf
automake
;;; Note: cramfs is obsolete.
dtc ; for the tests
pkg-config
util-linux)) ; for the tests
(inputs
`(("bash" ,bash)
("cdrkit-libre" ,cdrkit-libre)
("cpio" ,cpio)
;; Note: invoked by final executable.
("coreutils" ,coreutils) ; chmod, dd
("dosfstools" ,dosfstools)
("e2fsprogs" ,e2fsprogs)
("f2fs-tools" ,f2fs-tools)
("genext2fs" ,genext2fs)
("libconfuse" ,libconfuse)
("mtd-utils" ,mtd-utils)
("mtools" ,mtools)
("qemu" ,qemu-minimal)
("squashfs-tools" ,squashfs-tools)
("tar" ,tar)
("u-boot-tools" ,u-boot-tools)))
(synopsis "Create Flash images according to specification")
(description "@command{genimage} creates Flash images according to a
specification file.")
(home-page "https://github.com/pengutronix/genimage")
(license license:gpl2))))
+13 -9
View File
@@ -20,7 +20,7 @@
;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
;;; Copyright © 2022 Patrick Noll <patrick@patricknoll.com>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2022-2023, 2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@@ -500,7 +500,7 @@ topology functions.")
(define-public gnome-maps
(package
(name "gnome-maps")
(version "49.4")
(version "49.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -508,7 +508,7 @@ topology functions.")
name "-" version ".tar.xz"))
(sha256
(base32
"1c04z2ly9vri98gmn4p5lhmfxhqjsc6rqz7kyprf0shdsicazyl6"))))
"1pxx50cig25dz0ab5xkbppnibb4zcv3r3vy31dkn6ncf24vykj5z"))))
(build-system meson-build-system)
(arguments
(list
@@ -532,9 +532,14 @@ topology functions.")
"share/zoneinfo"))))
(add-after 'install 'wrap
(lambda _
(wrap-program (string-append #$output "/bin/gnome-maps")
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")))))))))
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(substitute* (string-append #$output "/share/gnome-maps/"
"org.gnome.Maps")
(("imports\\.package\\.init" all)
(string-append "'" gi-typelib-path "'.split(':').forEach("
"path => imports.gi.GIRepository.Repository."
"prepend_search_path(path));\n"
all)))))))))
(native-inputs
(list gettext-minimal
`(,glib "bin")
@@ -543,8 +548,7 @@ topology functions.")
pkg-config
tzdata-for-tests))
(inputs
(list bash-minimal
folks
(list folks
evolution-data-server
geoclue
geocode-glib
@@ -563,7 +567,7 @@ topology functions.")
libshumate
libsoup
libxml2
webkitgtk))
webkitgtk-for-gtk3))
(synopsis "Graphical map viewer and wayfinding program")
(description "GNOME Maps is a graphical map viewer. It uses map data from
the OpenStreetMap project. It can provide directions for walking, bicycling,
-77
View File
@@ -141,83 +141,6 @@
It uses pandoc as back-end for parsing Markdown.")
(license license:gpl3)))
(define-public amberol
(package
(name "amberol")
(version "2025.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/World/amberol.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0ymzpf9lkhibaaah059a0pncy23kk9xiq1w37clqc5hhwzpqwpmw"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:tests? #f ;no tests
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules `(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))
(substitute* "meson.build"
(("'Cargo.lock',")
""))
(delete-file "Cargo.lock")))
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
#:cargo-target #$(cargo-triplet)
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums))))
(add-after 'install 'wrap-program
(lambda _
(wrap-program (string-append #$output "/bin/amberol")
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix
(,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
(native-inputs
(cons* bash-minimal
gettext-minimal
`(,glib "bin")
pkg-config
rust
`(,rust "cargo")
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(inputs
(cons* bash-minimal
gstreamer
gst-plugins-bad
gtk
libadwaita
(cargo-inputs 'amberol)))
(home-page "https://apps.gnome.org/Amberol/")
(synopsis "Music player for GNOME")
(description "Amberol is a minimalistic music player for GNOME. It works
with one playlist in which you can add local audio files and directories.")
(license license:gpl3+)))
(define-public blanket
(package
(name "blanket")
+12 -91
View File
@@ -39,7 +39,7 @@
;;; Copyright © 2019, 2024, 2025 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
;;; Copyright © 2019-2026 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019-2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@@ -82,7 +82,7 @@
;;; Copyright © 2024 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2025 Noé Lopez <noelopez@free.fr>
;;; Copyright © 2025 Ashvith Shetty <ashvithshetty0010@zohomail.in>
;;; Copyright © 2025, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Abra K. <abra_k_332@protonmail.me>
;;; Copyright © 2025 Ben Hansen <git@beha.pw>
;;; Copyright © 2026 Roman Riabenko <roman@riabenko.com>
@@ -188,7 +188,6 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages node-xyz)
#:use-module (gnu packages nss)
#:use-module (gnu packages ocr)
#:use-module (gnu packages openldap)
@@ -653,73 +652,6 @@ of writing test cases for asynchronous interactions.")
(home-page "https://launchpad.net/gtx")
(license license:lgpl2.1+)))
(define-public decibels
(package
(name "decibels")
(version "49.0")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://gnome/sources/" name "/"
(version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1jkkyv9r87skqyjhzflzzczzwf3ycwnavw1r3qa6jzlnwai9pdr9"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-gst-init
(lambda _
;; `null' is no longer accepted as of gstreamer 2.28.1 (see:
;; <https://gitlab.gnome.org/GNOME/decibels/-/merge_requests/178>).
(substitute* "src/stream.ts"
(("Gst.init\\(null)")
"Gst.init([])"))))
(add-after 'unpack 'skip-gnome-post-install
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))))
(add-after 'install 'wrap-program
(lambda _
(let ((typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append #$output "/bin/org.gnome.Decibels")
`("GI_TYPELIB_PATH" ":" prefix (,typelib-path))))))
(add-after 'glib-or-gtk-wrap 'install-alias
(lambda _
(symlink (string-append #$output "/bin/org.gnome.Decibels")
(string-append #$output "/bin/decibels")))))))
(native-inputs
(list blueprint-compiler
gettext-minimal
`(,glib "bin")
pkg-config
node-typescript))
(inputs
(list bash-minimal
gjs
gst-plugins-bad ;for GstPlay
gstreamer
libadwaita))
(home-page "https://gitlab.gnome.org/GNOME/decibels")
(synopsis "GNOME audio file player")
(description "Decibels, also known as Audio Player, is an audio player
focused on simplicity. It offers few advanced features such as:
@itemize
@item{An elegant waveform of the track.}
@item{Adjustable playback speed.}
@item{Easy seek controls.}
@item{Playing multiple files at the same time.}
@end itemize")
(license license:gpl3+)))
(define-public dee
(package
(name "dee")
@@ -983,7 +915,6 @@ tomorrow, the rest of the week and for special occasions.")
gtk
gvfs
json-glib
localsearch
libadwaita
libdazzle
libmediaart
@@ -991,7 +922,8 @@ tomorrow, the rest of the week and for special occasions.")
python-pycairo
python-pygobject
python
tinysparql))
tracker
tracker-miners))
(synopsis "Simple music player for GNOME desktop")
(description "GNOME Music is the new GNOME music playing application that
aims to combine an elegant and immersive browsing experience with simple
@@ -1013,16 +945,6 @@ and straightforward controls.")
(base32
"0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
(build-system gnu-build-system)
(native-inputs (list bison flex))
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-rpcgen-parse
(lambda _
(substitute* "rpcgen_parse.y"
(("#include \"rpcgen_int.h\"")
(string-append
"#include \"rpcgen_int.h\"\n"
"int yylex();\n"))))))))
(synopsis "External Data Representation Library")
(description "PortableXDR is an implementation of External Data
Representation (XDR) Library. It is a standard data serialization format, for
@@ -10490,7 +10412,6 @@ playing media, scanning, and much more.")
(propagated-inputs
(list baobab
cheese
decibels
epiphany
evince
file-roller
@@ -10524,7 +10445,7 @@ playing media, scanning, and much more.")
dbus
dconf
desktop-file-utils
font-adwaita
font-abattis-cantarell
font-dejavu
gnome-default-applications
gnome-online-accounts
@@ -11321,10 +11242,6 @@ supports both X and Wayland display servers.")
(sha256
(base32 "17ampw9p1fp7s7i43cz9r68v6mm7xmb1sndx1mqmkns35kn8yl8a"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "CFLAGS=-g -O2 -Wno-error=implicit-function-declaration")))
(native-inputs
(list desktop-file-utils intltool pkg-config))
(inputs
@@ -12555,7 +12472,7 @@ desktop environment.")
(define-public gnome-boxes
(package
(name "gnome-boxes")
(version "49.1")
(version "48.1")
(source
(origin
(method url-fetch)
@@ -12563,7 +12480,7 @@ desktop environment.")
(version-major version) "/"
"gnome-boxes-" version ".tar.xz"))
(sha256
(base32 "1jj41r9ras2ys0r2cw8f5bs3nkz0fj1jl693sc5q50yhvl0qhism"))))
(base32 "1q2zzq6hizz5dillhqqddddlyjz7wy1sffyj06mh9axdrpa5aaj1"))))
(outputs '("out" "debug"))
(build-system meson-build-system)
(arguments
@@ -12579,7 +12496,11 @@ desktop environment.")
(substitute* "src/installed-media.vala"
(("qemu-img")
(search-input-file inputs
"/bin/qemu-img"))))))))
"/bin/qemu-img")))))
(add-before 'configure 'relax-gcc-14-strictness
(lambda _
(setenv "CFLAGS"
"-g -O2 -Wno-error=int-conversion"))))))
(native-inputs
(list desktop-file-utils ;for update-desktop-database
gettext-minimal
+1 -1
View File
@@ -527,7 +527,7 @@ gpgpme starting with version 1.7.")
(package
(name "guile-gcrypt")
(version "0.5.0")
(home-page "https://codeberg.org/guile-gcrypt/guile-gcrypt")
(home-page "https://notabug.org/cwebber/guile-gcrypt")
(source (origin
(method git-fetch)
(uri (git-reference
+1 -26
View File
@@ -21,7 +21,7 @@
;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2023 Miguel Ángel Moreno <mail@migalmoreno.com>
;;; Copyright © 2023 conses <contact@conses.eu>
;;; Copyright © 2023, 2024, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
;;; Copyright © 2024 Superfly Johnson <superfly.johnson@yahoo.com>
@@ -182,31 +182,6 @@ can be ignored.")
keys, no configuration options, and Unix-style composability.")
(license license:bsd-3)))
(define-public go-filippo-io-bigmod
(package
(name "go-filippo-io-bigmod")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FiloSottile/bigmod")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "029h8qh9ym384q56aprm1if9arq7kmqdsv6l2wbjhkq8w307vd7r"))))
(build-system go-build-system)
(propagated-inputs
(list go-golang-org-x-sys))
(arguments
'(#:import-path "filippo.io/bigmod"))
(home-page "https://github.com/FiloSottile/bigmod")
(synopsis "Constant-time library for big integers modulo a prime")
(description "Bigmod is a constant-time library for big integers modulo a
prime, usable for cryptographic applications. Exported from
crypto/internal/bigmod, the backend of crypto/rsa and crypto/ecdsa.")
(license license:bsd-3)))
(define-public go-filippo-io-edwards25519
(package
(name "go-filippo-io-edwards25519")
+4 -4
View File
@@ -1125,7 +1125,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.24)
(name "go")
(version "1.25.8")
(version "1.25.7")
(source
(origin
(method git-fetch)
@@ -1134,7 +1134,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vgz80mrxlkljr8ynficwvshinirqxbiv2ikscf941ladbv0g604"))))
(base32 "0mjygpbswf91af07bbc1xpbw1adbcd210401rp5wpqv6d5rqn3jc"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
@@ -1170,7 +1170,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.24)
(name "go")
(version "1.26.1")
(version "1.26.0")
(source
(origin
(method git-fetch)
@@ -1179,7 +1179,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1blfc89jxlr7n35j77i523k8rsxvz16f44qzd0h65c940zrrmf77"))))
(base32 "1n37n62bg2kb39s4a5273lpmqk1n5f5yi6jgfm8m7489j11ay8rl"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.24)
((#:phases phases)
+27 -43
View File
@@ -338,14 +338,14 @@ another.")
(define-public orc
(package
(name "orc")
(version "0.4.42")
(version "0.4.41")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/data/src/"
"orc/orc-" version ".tar.xz"))
(sha256
(base32
"03694b8jnaqhi9z49v45qchcbvp1i9maamn4fiwcjg5gb6mi5jby"))))
"18kz8sc8vh0rzk0n221zc8km9pp9gdcjsr04phwwv2ajcm7zs6yb"))))
(build-system meson-build-system)
(arguments
`(#:phases
@@ -375,7 +375,7 @@ arrays of data.")
(define-public gstreamer-docs
(package
(name "gstreamer-docs")
(version "1.28.1")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -383,7 +383,7 @@ arrays of data.")
"/gstreamer-docs-" version ".tar.xz"))
(sha256
(base32
"0bp2rffj82a8c5l119dv4kxjkl1l35d9b0lynfc0vk2krcrb5xyv"))))
"11q0yydchisd4c0jnqa6kmnf66kf25fim3l456krlwcy1qpsvd4j"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -435,7 +435,7 @@ the GStreamer multimedia framework.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.28.1")
(version "1.26.3")
(source
(origin
(method url-fetch)
@@ -444,7 +444,7 @@ the GStreamer multimedia framework.")
version ".tar.xz"))
(sha256
(base32
"0125cqbm5a2bhi37bzs6hgj89r057py3zhkmrfc8ggxx6px2ypmn"))))
"1016z0znl2j43n08rl19zdhfvfsgnmg44qh8fk6dr4qj481icrnw"))))
(build-system meson-build-system)
(arguments
(list #:disallowed-references (list (this-package-native-input "python"))
@@ -516,7 +516,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
(version "1.28.1")
(version "1.26.3")
(source
(origin
(method url-fetch)
@@ -524,13 +524,11 @@ This package provides the core library and elements.")
name "-" version ".tar.xz"))
(sha256
(base32
"15r42ff1mwkj5p3z0dij6d9isi1q02gmjnp8i26xgx9gm71a8ihl"))
(patches (search-patches "gst-plugins-base-null-pointer.patch"))))
"0cvrq9767w0aqzinifbirbc95jg4i4md4b8f4b70hlq217pzkyaf"))))
(build-system meson-build-system)
(propagated-inputs
(list glib ;required by gstreamer-sdp-1.0.pc
gstreamer ;required by gstreamer-plugins-base-1.0.pc
libdrm ;required by gstreamer-allocators-1.0.pc
libgudev ;required by gstreamer-gl-1.0.pc
;; wayland-client.h is referred to in
;; include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h
@@ -572,8 +570,9 @@ This package provides the core library and elements.")
(lambda _
(substitute* "tests/check/meson.build"
;; This test causes nondeterministic failures (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/895>).
((".*'elements/appsrc.c'.*") ""))
;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/950).
((".*'elements/appsrc.c'.*")
""))
;; Some other tests fail on other architectures.
#$@(cond
((target-x86-32?)
@@ -625,7 +624,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
(version "1.28.1")
(version "1.26.3")
(source
(origin
(method url-fetch)
@@ -634,7 +633,7 @@ for the GStreamer multimedia library.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "139n8in88003dbx4kv6i69zhl4bs07f1mf201q2n4yhvwjp2d3kk"))))
(base32 "0lrwscda9yy8a61bv65c3392vb5m8phrl5i7bwgbprnz1rkwjkpy"))))
(build-system meson-build-system)
(arguments
(list
@@ -745,14 +744,14 @@ model to base your own plug-in on, here it is.")
(define-public gst-plugins-bad
(package
(name "gst-plugins-bad")
(version "1.28.1")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"18hk8gh97r2cwdazl5ikjwsczk3bkvr4z7nmjc45bdgqhwvmkhan"))
"0qbmblksgl2nmbi6brw54b1bzziw9flvqk2zb576y9qlmyn8vi4m"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -958,7 +957,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
(version "1.28.1")
(version "1.26.3")
(source
(origin
(method url-fetch)
@@ -966,7 +965,7 @@ par compared to the rest.")
(string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32 "0y2sz79ms498mag3rsvkng8q5pmg9f2v0njfq3zw7k1z0v5z70j0"))))
(base32 "19fvv6rvrcvhw4lnx078xb4b85pzbwbrqwdk841sqd7pjpl5wzs1"))))
(build-system meson-build-system)
(arguments
(list #:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
@@ -1015,7 +1014,7 @@ think twice about shipping them.")
(define-public gst-libav
(package
(name "gst-libav")
(version "1.28.1")
(version "1.26.3")
(source
(origin
(method url-fetch)
@@ -1024,7 +1023,7 @@ think twice about shipping them.")
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "16zfxw6h865sqi71j47lllr3y7jlnwsrwmfxvjnxh3wdlfn1madz"))))
(base32 "0kbjs8z545maj3j2qzgpg41v3yr53q1c852v80zbmf5rld87xnis"))))
(build-system meson-build-system)
(native-inputs (list perl pkg-config python-wrapper ruby))
(inputs (list ffmpeg))
@@ -1038,7 +1037,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
(define-public gst-editing-services
(package
(name "gst-editing-services")
(version "1.28.1")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1046,7 +1045,7 @@ decoders, muxers, and demuxers provided by FFmpeg.")
"gst-editing-services-" version ".tar.xz"))
(sha256
(base32
"1p0ml4yyqs840l9zlgw41k1lh8z9jvaangap5azfwsrmw75h0q1x"))))
"1lkgs5h76qzqfpqvi31vs5xr68bbi0kwkw2g0ahvcs1l5hysj86x"))))
(build-system meson-build-system)
(arguments
(list
@@ -1094,7 +1093,7 @@ given, also pass them to the build system instead of the ones used by PKG."
#~(modify-phases #$phases
(add-after 'unpack 'disable-auto-plugins
(lambda _
(substitute* "meson.options"
(substitute* "meson_options.txt"
(("'auto'") "'disabled'")))))))))))
(define-public gst-plugins-bad-minimal
@@ -1108,14 +1107,14 @@ binary, but none of the actual plugins.")))
(define-public gst-rtsp-server
(package
(name "gst-rtsp-server")
(version "1.28.1")
(version "1.26.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0cpqvdxr7falww14xblqs7la6q2f1z1zbli4vjdp9yqcy9mfil3c"))))
(base32 "1ibg83sa0nswqan5fg378bg36jis5sn1dwfl1mvqjiw4m59qlpj1"))))
(build-system meson-build-system)
(arguments
(list #:phases
@@ -1143,7 +1142,7 @@ RTSP connections and messages.")
(define-public python-gst
(package
(name "python-gst")
(version "1.28.1")
(version "1.26.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1151,7 +1150,7 @@ RTSP connections and messages.")
"gst-python-" version ".tar.xz"))
(sha256
(base32
"11bhdylgkfcgdlfcv61vyjp0f27sqp3i4y7d8c2a2nxrmnaylz6l"))))
"04hv5pj8br56knvw1nsx74j1lpxskbm6znsdqac28iszqjkvjhwk"))))
(build-system meson-build-system)
(arguments
(list
@@ -1163,22 +1162,7 @@ RTSP connections and messages.")
#:configure-flags
#~(list (string-append
"-Dpygi-overrides-dir="
(py:site-packages %build-inputs %outputs) "/gi/overrides"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The 'fundamentals' test fails with a segmentation fault since
;; 1.28.1 (see:
;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4937>).
(substitute* "testsuite/meson.build"
((".*'fundamentals',.*") ""))))
(delete 'check) ;moved after install
(add-after 'install 'check
(assoc-ref %standard-phases 'check))
(add-before 'check 'add-install-to-pythonpath
;; Required for the 'plugins' test.
(assoc-ref py:%standard-phases 'add-install-to-pythonpath)))))
(py:site-packages %build-inputs %outputs) "/gi/overrides"))))
(native-inputs
(list pkg-config python))
;; XXX: Move back to propagated-inputs once we no longer need to use
+56
View File
@@ -1672,6 +1672,62 @@ documents.")
("guile-cairo" ,guile2.2-cairo)
("guile-rsvg" ,guile2.2-rsvg)))))
(define-public guile-gnome
(package
(name "guile-gnome")
(version "2.16.5")
(source (origin
(method url-fetch)
(uri
(string-append "mirror://gnu/" name
"/guile-gnome-platform/guile-gnome-platform-"
version ".tar.gz"))
(sha256
(base32
"1gnf3j96nip5kl99a268i0dy1hj7s1cfs66sps3zwysnkd7qr399"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config
at-spi2-core
;;("corba" ,corba) ; not packaged yet
gconf
gobject-introspection
;;("gthread" ,gthread) ; not packaged yet
gnome-vfs
gdk-pixbuf
gtk+-2
libglade
libgnome
libgnomecanvas
libgnomeui
pango
libffi
glib))
(inputs (list guile-2.2))
(propagated-inputs
`(("guile-cairo" ,guile2.2-cairo)
("g-wrap" ,g-wrap)
("guile-lib" ,guile2.2-lib)))
(arguments
`(#:tests? #f ;FIXME
#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* (find-files "." "^Makefile.in$")
(("guilesite :=.*guile/site" all)
(string-append all "/@GUILE_EFFECTIVE_VERSION@")))
#t))))))
(outputs '("out" "debug"))
(synopsis "Guile interface for GTK+ programming for GNOME")
(description
"Includes guile-clutter, guile-gnome-gstreamer,
guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
(home-page "https://www.gnu.org/software/guile-gnome/")
(license license:gpl2+)
(properties '((upstream-name . "guile-gnome-platform")
(ftp-directory . "/gnu/guile-gnome/guile-gnome-platform")))))
;;;
;;; C++ bindings.
;;;
+133 -163
View File
@@ -44,7 +44,7 @@
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022, 2025-2026 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2022, 2025 Evgeny Pisemsky <mail@pisemsky.site>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
@@ -169,13 +169,12 @@
(name "artanis")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/artanis.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"0qpksi681z10jsip8ka0phq5kmkpxfcy5nvm861dsbjb335klbb6"))
(method url-fetch)
(uri (string-append "mirror://gnu/artanis/artanis-"
version ".tar.gz"))
(sha256
(base32
"16cwjyl0ykz6r7vvczrwaik6y4pc0fwc0hvwskfbgv9z71j2alzi"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -214,10 +213,7 @@
(propagated-inputs
(list guile-json-4 guile-curl guile-readline guile-redis))
(native-inputs
(list autoconf
automake
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
bash-minimal ;for the `source' builtin
(list bash-minimal ;for the `source' builtin
pkg-config
util-linux)) ;for the `script' command
(arguments
@@ -820,16 +816,16 @@ library for GNU Guile based on the actor model.")
(name "guile-daemon")
(version "0.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alezost/guile-daemon")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"0mdxdiwb52zgpz144vii8f4jdia8a7w1i1mpffw8zh3ghglfrjzl"))))
(method url-fetch)
(uri (string-append "https://github.com/alezost/" name
"/releases/download/v" version
"/" name "-" version ".tar.gz"))
(sha256
(base32
"08gaqrgjlly9k5si72vvpbr4xhq5v52l5ma5y6a7spid5dd057cy"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake texinfo pkg-config))
(list pkg-config))
(inputs
(list guile-3.0))
(home-page "https://github.com/alezost/guile-daemon")
@@ -1436,19 +1432,20 @@ HTML (via SXML) or any other format for rendering.")
(name "guile-sjson")
(version "0.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/dustyweb/guile-sjson")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"1npbla3vy1m0dqvr8gfzx1ncd2mp2cm59mnb7g490vak29kc8s9j"))
(method url-fetch)
(uri (string-append "https://dustycloud.org/misc/sjson-" version
".tar.gz"))
(sha256
(base32
"08sr16fg5cqvik3wblav6k4b6djc5ydhgfvxa49bc5bh1irqvrcn"))
(modules '((guix build utils)))
(snippet
;; Allow builds with Guile 3.0.
#~(substitute* "configure.ac"
(("2\\.2 2\\.0")
"3.0 2.2 2.0")))))
'(begin
;; Allow builds with Guile 3.0.
(substitute* "configure"
(("2\\.2 2\\.0")
"3.0 2.2 2.0"))
#t))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake pkg-config))
@@ -1872,14 +1869,12 @@ types are supported.")
(name "guile-aa-tree")
(version "3.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-aa-tree.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0ghbrszjhv2abgpf11js6grqrri53frysf4360a5yvwhy9bb42pc"))))
(method url-fetch)
(uri (string-append "mirror://savannah/guile-aa-tree/guile-aa-tree-"
version ".tar.gz"))
(sha256
(base32
"0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
(build-system guile-build-system)
(inputs (list guile-3.0))
(arguments
@@ -2170,16 +2165,15 @@ allows users to interact with the Guile REPL through Jupyter.")
(name "guile-sparql")
(version "0.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/roelj/guile-sparql")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"0iy390dsa0rs6d4gapw1s03gz4zba26w5sdiyvnzlygwv0d1inww"))))
(method url-fetch)
(uri (string-append
"https://github.com/roelj/guile-sparql/releases/download/"
version "/guile-sparql-" version ".tar.gz"))
(sha256
(base32 "1jf4972f9fpm0rd865xpnc9mzl3xv6vhfnp0iygadydy905z9nln"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake texinfo pkg-config))
(list pkg-config))
(inputs
(list guile-3.0))
(home-page "https://github.com/roelj/guile-sparql")
@@ -2194,19 +2188,17 @@ using S-expressions.")
(name "guile-debbugs")
(version "0.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-debbugs.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"0ipv3vywx02yhyssq5rp1bifg1qkydgh6kr16vfspxs601q8bbm2"))))
(method url-fetch)
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
version ".tar.gz"))
(sha256
(base32
"1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9"))))
(build-system gnu-build-system)
(propagated-inputs
(list guile-email))
(native-inputs
(list autoconf automake texinfo guile-3.0 pkg-config))
(list guile-3.0 pkg-config))
(home-page "https://savannah.gnu.org/projects/guile-debbugs/")
(synopsis "Guile interface to the Debbugs bug tracking service")
(description
@@ -2457,14 +2449,13 @@ written in pure Scheme by using Guile's foreign function interface.")
(name "guile-xosd")
(version "0.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alezost/guile-xosd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "https://github.com/alezost/" name
"/releases/download/v" version
"/" name "-" version ".tar.gz"))
(sha256
(base32
"0jc88zg6icdg70mxbg732hx5by5bahqjm68yhx2ypqdqi7kqq1fk"))))
"10r29bpyrsvjalnzkam2falj9k34lvxmch05zs606zp1nk93whp3"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2477,7 +2468,7 @@ written in pure Scheme by using Guile's foreign function interface.")
(or (getenv "CPATH") "")))
#t)))))
(native-inputs
(list autoconf automake libtool texinfo pkg-config))
(list pkg-config))
(inputs
(list guile-3.0 libx11 libxext libxinerama xosd))
(home-page "https://github.com/alezost/guile-xosd")
@@ -2521,6 +2512,10 @@ library}.")
(assoc-ref %standard-phases 'check)))))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list guile-3.0 yaml-cpp))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(home-page "https://gitlab.com/yorgath/guile-yamlpp")
(synopsis "Guile YAML reader/writer based on @code{yaml-cpp}")
(description
@@ -3330,12 +3325,13 @@ writing a Guix package.")))
(package
(inherit guile-g-golf)
(name "g-golf-adw-1-examples")
(version "0.8.4")
;; XXX: Update version when we have a recent enough libadwaita.
(version "0.8.0")
(source
(g-golf-source #:version version
#:hash
(content-hash
"0qwwvqhhjc141dfj881mah1bgvwlgz111qrh0ml7qf4mc2ssjxqf")))
"14b6pjchra0axqifpm90m7jbxla2sarhd7bfhzqbn7d14b74sv2d")))
(build-system glib-or-gtk-build-system)
(arguments
(list
@@ -3358,6 +3354,10 @@ writing a Guix package.")))
(chdir "examples/adw-1")
;; Re-use the existing Makefile for its wildcard syntax.
(rename-file "Makefile.am" "Makefile")
(substitute* "Makefile"
;; Fix syntax error.
(("hello-world")
"hello-world \\"))
;; Add a rule to install the examples. We install to the
;; documentation directory where examples are usually located,
;; but we will later create a copy in /bin for `guix shell'.
@@ -3374,6 +3374,7 @@ install:
for f in $(EXTRA_DIST); do \\
cp -r $$f $(examplesdir)/$$f; \\
done
cp demo/g-resources $(examplesdir)/demo/g-resources
" #$output)
(close-port port))))
(delete 'configure)
@@ -3381,7 +3382,10 @@ install:
(lambda _
;; Create files for adwaita-1-demo needed in install phase.
(with-directory-excursion "demo"
(invoke "make"))))
(system* "make")
(system* "glib-compile-resources"
"--target" "g-resources"
"g-resources.xml"))))
(add-before 'install 'patch-scm-files
(lambda* (#:key inputs #:allow-other-keys)
;; `current-filename' calls in examples are broken.
@@ -3395,12 +3399,7 @@ install:
(("^exec guile ")
(string-append
"exec " (search-input-file inputs "/bin/guile")
" "))
((" \\(compile-g-resources")
" (chdir path)(compile-g-resources")
(("glib-compile-resources")
(search-input-file inputs
"/bin/glib-compile-resources")))))
" ")))))
(map (cut string-drop <> 2) ;strip ./ prefix
(find-files "." (lambda (file stat)
;executables or .scm modules
@@ -3454,11 +3453,11 @@ install:
bash-minimal
libadwaita
(librsvg-for-system)
`(,glib "bin") ;for glib-compile-resources
gtk
guile-3.0
guile-g-golf))
(native-inputs (list guile-3.0))
(native-inputs (list `(,glib "bin") ;for glib-compile-resources
guile-3.0))
(propagated-inputs (list))
(synopsis "G-Golf Adw-1 examples")
(description
@@ -3530,6 +3529,10 @@ wrap G-Golf applications when writing a Guix package.")))
(install-file "socket.scm" share-dir))))
(delete 'check)
(delete 'install))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(inputs (list gcc guile-3.0))
(synopsis "C bindings for UNIX sockets in multi-scheme (Guile, Gauche,
Chicken) Wayland library")
@@ -3603,6 +3606,10 @@ Probably can be replaced with guile's built-ins: @code{fdes->ports},
(install-file "shm.scm" share-dir))))
(delete 'check)
(delete 'install))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(inputs (list gcc guile-3.0))
(synopsis "C bindings for wayland shared memory (SHM) in multi-scheme
(Guile, Gauche, Chicken) wayland library")
@@ -3670,6 +3677,10 @@ Probably can be replaced with guile's built-in file-descriptor procedures.")
(substitute* (list client-file)
(("WAYLAND_BASE_PROTOCOL_PATH")
core-protocol-file))))))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_EXTENSIONS_PATH")
(files (list "lib/guile/3.0")))))
(native-inputs (list guile-3.0 pkg-config texinfo autoconf automake))
(inputs (list wayland wayland-protocols))
(propagated-inputs (list guile-wayland-scm-socket guile-wayland-scm-shm))
@@ -3684,22 +3695,15 @@ client bindings for Wayland.")
(name "g-wrap")
(version "1.9.15")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/g-wrap.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "mirror://savannah/g-wrap/g-wrap-"
version ".tar.gz"))
(sha256
(base32
"19bwqfk33djd51ijylvcmz3zz9pqvv1k7bk8k912b1bwbpfr3j0y"))))
"0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
libtool
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
texinfo
pkg-config))
(list pkg-config))
(propagated-inputs
(list guile-2.2 guile-lib))
(inputs
@@ -3791,34 +3795,14 @@ quotes.")
(name "guile-reader")
(version "0.6.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-reader.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "mirror://savannah/guile-reader/guile-reader-"
version ".tar.gz"))
(sha256
(base32
"0y3dq509hwm30ixb3cs3wci2lpni78438q7zz8f7way8vqp5164a"))))
"0nqkk4x18i7p3k9jxld4fnk8d69bq9ag6hqsyjzbfw9fmhrh08kb"))))
(build-system gnu-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-before 'bootstrap 'copy-config.rpath
(lambda* (#:key inputs #:allow-other-keys)
;; This file is not automatically copied by 'autoreconf'.
(let ((config-rpath (search-input-file
inputs
"/share/gettext/config.rpath")))
(install-file config-rpath "build-aux")))))))
(native-inputs
(list autoconf
automake
libtool
gnu-gettext ;for 'AC_LIB_LINKFLAGS_FROM_LIBS' macro
texinfo
pkg-config
gperf))
(native-inputs (list pkg-config gperf))
(inputs (list guile-3.0))
(synopsis "Framework for building readers for GNU Guile")
(description
@@ -3847,18 +3831,15 @@ many readers as needed).")
(name "guile-ncurses")
(version "3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-ncurses.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00xhlca5s278i4g74qgks35ymisa98rhcj63bflja289gpb7j8wf"))))
(method url-fetch)
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
version ".tar.gz"))
(sha256
(base32
"0cypz1ikw66n8bc2klsnnaj1plpl22dwq6pwyc7dvffamz7fi2gf"))))
(build-system gnu-build-system)
(inputs (list ncurses guile-3.0))
(native-inputs (list autoconf automake libtool texinfo pkg-config))
(native-inputs (list pkg-config))
(arguments
`(#:modules ((guix build gnu-build-system)
((guix build guile-build-system)
@@ -3907,16 +3888,13 @@ library.")
(name "guile-lib")
(version "0.2.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://https.git.savannah.gnu.org/git/guile-lib.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"1f5a1mi1w487ia677nl8b6gixbgcavnbykzmgqs0yiyrc3w6vdcz"))
(patches (search-patches
"guile-lib-fix-tests-for-guile2.2.patch"))))
(method url-fetch)
(uri (string-append "mirror://savannah/guile-lib/guile-lib-"
version ".tar.gz"))
(sha256
(base32
"1ca95g15a88l7rpqcnzmhj1kyxc7gyfbvnni1hckv8z677cc4x0k"))
(patches (search-patches "guile-lib-fix-tests-for-guile2.2.patch"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings
@@ -3934,7 +3912,6 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
(native-inputs
(list autoconf
automake
texinfo
gettext-minimal
guile-3.0
pkg-config))
@@ -4086,7 +4063,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
(define-public guile-irregex
(package
(name "guile-irregex")
(version "0.9.12")
(version "0.9.11")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4094,7 +4071,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
version ".tar.gz"))
(sha256
(base32
"1rmlmkf2pnly7mqi407vi2k6k19m2h44d4jvzfkrizk892qj61yc"))))
"026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
(build-system guile-build-system)
(arguments
(list
@@ -4705,27 +4682,27 @@ a standalone WebAssembly toolchain.")
(name "guile-file-names")
(version "0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/brandoninvergo/guile-file-names")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "http://brandon.invergo.net/software/download/"
"guile-file-names/guile-file-names-"
version ".tar.gz"))
(sha256
(base32
"0hmsbvbcl9a7366afcqi0pdhjhlq7l137nkmv1a5z9b8pcgzx90s"))))
"01chizdxkhw6aqv629vxka9f5x3534ij7r0jqndawsg2vxm1r9sz"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-target-directory
(lambda _
(substitute* "src/Makefile.am"
(substitute* "src/Makefile.in"
(("guilemoddir = \\$\\(GUILE_SITE\\)")
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")))))))
"guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
#t)))))
(inputs
(list guile-2.2))
(native-inputs
(list autoconf automake texinfo pkg-config))
(list pkg-config))
(home-page "https://gitlab.com/brandoninvergo/guile-file-names")
(synopsis "Manipulate file names")
(description
@@ -5788,14 +5765,12 @@ processing filters.")
(name "guile-cv")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://https.git.savannah.gnu.org/git/guile-cv.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (string-append "mirror://gnu/guile-cv/guile-cv-"
version ".tar.gz"))
(sha256
(base32
"15qmhfiijca2468s8s9xhb0wskiy4wgym9p5jqi4xy30ddnpvyk2"))))
"00620zxm1rxlws7vn1zp2zzcb6y6r3szzj6b4b9fyjb86k972izb"))))
(build-system gnu-build-system)
(arguments
(list
@@ -5809,7 +5784,8 @@ processing filters.")
(("SITEDIR=\"\\$datadir/guile-cv\"")
"SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"")
(("SITECCACHEDIR=\"\\$libdir/guile-cv/")
"SITECCACHEDIR=\"$libdir/"))))
"SITECCACHEDIR=\"$libdir/"))
(delete-file "configure"))) ;trigger 'bootstrap' phase
(add-after 'unpack 'substitute-libs
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "cv/init.scm"
@@ -6056,20 +6032,13 @@ implementation in itself.")
(sha256
(base32 "0g508aajkyi513wbhm1rhs03ilnb701lwlrvppkmc0vynydlk9ws"))))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'check
(lambda _
(invoke "guile" "--no-auto-compile" "run-tests.scm")
(delete-file "run-tests.scm")
(delete-file-recursively "tests")))
(add-after 'build 'install-info-documentation
(lambda _
(invoke "makeinfo" "doc/guile-uuid.texi" "-o"
(string-append #$output "/share/info/")))))))
(list #:phases #~(modify-phases %standard-phases
(add-before 'build 'remove-unnecessary-file
(lambda _
(delete-file "run-tests.scm")
(delete-file-recursively "tests"))))))
(build-system guile-build-system)
(native-inputs (list guile-3.0 texinfo))
(native-inputs (list guile-3.0))
(propagated-inputs (list guile-gcrypt))
(home-page "https://codeberg.org/elb/guile-uuid")
(synopsis "UUID generation and manipulation library for Guile Scheme")
@@ -6080,6 +6049,7 @@ standard hex-and-dash format of any variant and version.
Conversion between binary and hex-and-dash string UUIDs is also included.")
(license license:gpl3+)))
(define-public guile-semver
(package
(name "guile-semver")
+6 -6
View File
@@ -829,7 +829,7 @@ Guile's foreign function interface.")
(package
(name "guile-sqlite3")
(version "0.1.3")
(home-page "https://codeberg.org/guile-sqlite3/guile-sqlite3.git")
(home-page "https://notabug.org/guile-sqlite3/guile-sqlite3.git")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -966,13 +966,13 @@ manipulate repositories of the Git version control system.")
;; in the same method.
(method url-fetch)
(uri
(string-append "https://codeberg.org/guile-compression/guile-zlib/archive/v"
(string-append "https://notabug.org/guile-zlib/guile-zlib/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
;; content nar-sha256: 0rwjlqr1hl2vczs16xsihw8pyj6s70p1yv9ky0sawhm6g30639k9
(base32
"04p9lb3bq5y0k358s8agpksx9x68vzx330cb8jkn4qp3qj7cmnx2"))))
"1h9q7rw8bh5mwa8qjik0pqwcr8v9hnk7xnvwcbsg6yfa695wlv3g"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake pkg-config guile-3.0))
(inputs (list guile-3.0 zlib))
@@ -981,7 +981,7 @@ manipulate repositories of the Git version control system.")
"This package provides Guile bindings for zlib, a lossless
data-compression library. The bindings are written in pure Scheme by using
Guile's foreign function interface.")
(home-page "https://codeberg.org/guile-compression/guile-zlib")
(home-page "https://notabug.org/guile-zlib/guile-zlib")
(license license:gpl3+)))
(define-public guile2.2-zlib
@@ -991,7 +991,7 @@ Guile's foreign function interface.")
(package
(name "guile-lzlib")
(version "0.3.0")
(home-page "https://codeberg.org/guile-compression/guile-lzlib")
(home-page "https://notabug.org/guile-lzlib/guile-lzlib")
(source
(origin
;; Note: Until "builtin:git-download" can be taken for granted, this
@@ -1027,7 +1027,7 @@ pure Scheme by using Guile's foreign function interface.")
(package
(name "guile-zstd")
(version "0.1.1")
(home-page "https://codeberg.org/guile-compression/guile-zstd")
(home-page "https://notabug.org/guile-zstd/guile-zstd")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
+8 -18
View File
@@ -638,7 +638,7 @@ RGB animations.")
(define-public ddcutil
(package
(name "ddcutil")
(version "2.2.5")
(version "2.1.4")
(source
(origin
(method git-fetch)
@@ -647,7 +647,7 @@ RGB animations.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mmzfa0g726dmqrmyyysnzxrhdkd93ay4dzzv0kqkvgdcqizh5z8"))))
(base32 "0wk82cdg7vddk6pbnn6qq3p71j4bppq13is2ck40glig08ax1bg5"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool pkg-config))
@@ -689,7 +689,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
(define-public ddcui
(package
(name "ddcui")
(version "0.6.0")
(version "0.5.4")
(source
(origin
(method git-fetch)
@@ -698,7 +698,7 @@ read/write access to i2c devices to users in the @samp{i2c} group.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "13gqgswkkqbn1x97ayiwj4ds2rbdnw564c2rhpi89zymhc1azj19"))))
(base32 "1hq19gdy9ybraclkqvv1nlf46irql5b6wrc1y6wi0ihkqly20vgz"))))
(build-system qt-build-system)
(arguments
(list #:tests? #f)) ; No test suite
@@ -1813,7 +1813,7 @@ package also includes @code{usbrelayd}.")))
(define-public guile-usbrelay
(package
(name "guile-usbrelay")
(version "0.1.1")
(version "0.1.0")
(home-page "https://codeberg.org/pisemsky/guile-usbrelay")
(source
(origin
@@ -1823,7 +1823,7 @@ package also includes @code{usbrelayd}.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1nghzsash3z398p2bp2vw0a1rzaclq9a6iqxbm7ffyzbldcca81l"))))
(base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72"))))
(build-system guile-build-system)
(arguments
(list
@@ -1831,19 +1831,9 @@ package also includes @code{usbrelayd}.")))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'compile-ffi
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
(setenv "GUILE_AUTO_COMPILE" "0")
(invoke "guild" "compile-ffi" "--no-exec"
"modules/usbrelay/ffi/hidapi.ffi")))
(add-after 'build 'install-udev-rules
(lambda _
(let ((rules (string-append #$output "/lib/udev/rules.d")))
(mkdir-p rules)
(call-with-output-file (string-append rules "/50-usbrelay.rules")
(lambda (port)
(display (string-append
"ATTRS{idVendor}==\"16c0\", ATTRS{idProduct}==\"05df\", "
"MODE=\"0660\", GROUP=\"usbrelay\"\n") port)))))))))
(invoke "guile" "make.scm"))))))
(native-inputs (list gcc guile-3.0 nyacc pkg-config))
(inputs (list hidapi))
(propagated-inputs (list nyacc))
+3 -48
View File
@@ -63,49 +63,6 @@ as approved and published by the @acronym{VHDL, Very High Speed Hardware
Description Language} Analysis and Standardization Group.")
(license license:asl2.0)))
(define-public json-for-vhdl
;; No tagged releases.
(let ((commit "0dc9e317440263cd4941f157f5e5668baa858ec2")
(revision "0"))
(package
(name "json-for-vhdl")
(version (git-version "20220905" revision commit)) ;last revision
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Paebbels/JSON-for-VHDL/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1062g2c3dpsb67zhqrn1j04p7jl28g4mcxd6nhrqqfffjsvxkpw9"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("src" "share/json-for-vhdl/work/src"
#:include ("vhdl")))
#:phases
#~(modify-phases %standard-phases
;; The examples/Encodings_VUnit test requires vhdl builtins.
(add-after 'unpack 'fix-check
(lambda _
(substitute* "tests/VUnit/run.py"
(("from_argv\\(\\)")
"from_argv()\nvu.add_vhdl_builtins()")))))))
(native-search-paths
(list (search-path-specification
(variable "FW_JSON_VHDL")
(separator #f)
(files (list "share/json-for-vhdl")))))
(home-page "https://github.com/Paebbels/JSON-for-VHDL/")
(synopsis "Parse and query JSON data structures in VHDL")
(description
"The JSON-for-VHDL library provides a parser to query JSON data
structures from external files on disk. It provides a context to be
used in the declarative section of design units.")
(license license:asl2.0))))
(define-public neorv32
(package
(name "neorv32")
@@ -173,7 +130,7 @@ chip written in platform-independent VHDL.")
(define-public open-logic
(package
(name "open-logic")
(version "4.4.1")
(version "4.4.0")
(source
(origin
(method git-fetch)
@@ -185,7 +142,7 @@ chip written in platform-independent VHDL.")
(file-name (git-file-name name version))
(sha256
(base32
"1zydrmx35s3mi35im4s4lfd9mmzdwdrnxfh9fg4d12v4ai7ijfrk"))))
"01kxrglbq50v73796iq9a1vi68i8k2wykk7gga9847smfznqwjwr"))))
(outputs
'("out" "olo"))
(properties
@@ -202,7 +159,6 @@ chip written in platform-independent VHDL.")
(setenv "HOME" "/tmp")
(with-directory-excursion "3rdParty/en_cl_fix/sim"
(invoke "python3" "run.py" "--simulator" "nvc"
"-p" (number->string (parallel-job-count))
"--simulator-path"
(dirname (search-input-file inputs "bin/nvc"))))
(with-directory-excursion "sim"
@@ -211,8 +167,7 @@ chip written in platform-independent VHDL.")
;; https://github.com/VUnit/vunit/issues/777
(("compile_builtins=False, ")
""))
(invoke "python3" "run.py" "--nvc" "-v"
"-p" (number->string (parallel-job-count))))))))
(invoke "python3" "run.py" "--nvc" "-v"))))))
#:install-plan
#~'(;; Library work.
("src" "share/open-logic/work/src"
+5 -11
View File
@@ -58,7 +58,6 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages ruby)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls))
(define-public hexedit
@@ -255,11 +254,11 @@ for specifying patterns in the ImHex Hex Editor.")
(sha256 sha256-hash)))
(define-public imhex
(let* ((version "1.38.1")
(let* ((version "1.37.4")
(imhex-patterns
(make-imhex-patterns
version
(base32 "14c0w3pj3bcrwd6c5b0lbwdxbw003dcmyj5a4d86hab53v6hg91j"))))
(base32 "0m9g93fzmj2rsgaq25y4mmfigjh1xxyh41zjs6lp5ydsl5hhrn6q"))))
(package
(name "imhex")
(version version)
@@ -272,7 +271,7 @@ for specifying patterns in the ImHex Hex Editor.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "17aj8k2zbj78347rvfdy9gassw7kz9xj5vj30skvs5w4gf4lajln"))
(base32 "0l3fpizkz2ykdirbn9alddnnsg75w6kwpp92nvmird13l80z1sdr"))
(modules '((guix build utils) (ice-9 ftw) (ice-9 match)))
(snippet
#~(begin
@@ -301,7 +300,6 @@ for specifying patterns in the ImHex Hex Editor.")
"imgui"
;; Needs source to include miniaudio.h
"miniaudio"
"md4c"
"microtar")) ; XXX: unbundle
(delete-file-recursively dir)))
(scandir "."))
@@ -358,7 +356,7 @@ for specifying patterns in the ImHex Hex Editor.")
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda _
(substitute* "main/gui/source/window/platform/linux.cpp"
(substitute* "main/gui/source/window/linux_window.cpp"
(("dbus-send")
#$(file-append dbus "/bin/dbus-send")))
(substitute* "cmake/build_helpers.cmake"
@@ -382,12 +380,9 @@ for specifying patterns in the ImHex Hex Editor.")
curl
edlib
fmt
;; ImHex supports Wayland on GLFW >= 3.4. More info in:
;; https://github.com/WerWolv/ImHex/issues/1941#issuecomment-2446252019
glfw-3.4
glfw
libarchive
libffi
libssh2
llvm-17
lunasvg
plutovg
@@ -395,7 +390,6 @@ for specifying patterns in the ImHex Hex Editor.")
mesa
miniaudio
nativefiledialog-extended
openssl
xz
fontconfig
lz4
+22
View File
@@ -2003,6 +2003,28 @@ bindings for interpreted languages. This package includes the C++,
Python and R interfaces.")
(license license:asl2.0)))
(define-public stiff
(package
(name "stiff")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.astromatic.net/download/stiff/stiff-"
version ".tar.gz"))
(sha256
(base32 "14m92dskzw7bwsr64ha4p0mj3ndv13gwcbfic3qxrs3zq5353s7l"))))
(build-system gnu-build-system)
(inputs
(list libtiff zlib libjpeg-turbo))
(home-page "https://www.astromatic.net/software/stiff")
(synopsis "Convert scientific FITS images to TIFF format")
(description
"STIFF is a program that converts scientific @acronym{FITS, Flexible Image
Transport System} images to the more popular TIFF format for illustration
purposes.")
(license license:gpl3+)))
(define-public python-imgviz
(package
(name "python-imgviz")
+2 -2
View File
@@ -348,7 +348,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(define-public weechat
(package
(name "weechat")
(version "4.8.2")
(version "4.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -357,7 +357,7 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(file-name (git-file-name name version))
(sha256
(base32
"06lmbd27fdj7z7v6m096csswp73354516z64apfyz8lr5kh140wq"))))
"0hlhww2pxkvc19lq62fiafwp5mg08m80ahqj1h096gxg5ql07gc2"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(native-inputs
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -1840,19 +1840,17 @@ for xdg-desktop-portal that is using Qt/KF5.")
(arguments
(list #:builder #~(begin
(mkdir #$output))))
;; These inputs are used by plasma-desktop-service-type.
(inputs (list bolt ;for plasma-thunderbolt
fwupd ;for kinfocenter and discover
packagekit)) ;for discover
(propagated-inputs (list appmenu-gtk-module
aurorae
baloo
bluedevil
bolt ;for plasma-thunderbolt
breeze
breeze-gtk
breeze-icons ;default mouse icon
colord
discover
fwupd
kactivitymanagerd
kdeclarative ;required by sddm breeze theme
kde-cli-tools
@@ -1883,6 +1881,7 @@ for xdg-desktop-portal that is using Qt/KF5.")
milou
ocean-sound-theme
oxygen-sounds
packagekit ;for discover
plasma5support ;required by sddm breeze theme
plasma-browser-integration
plasma-desktop
@@ -3109,7 +3108,6 @@ hardware management, and a high degree of customizability.")
kcrash
kdbusaddons
kiconthemes
kirigami
knotifications
kwidgetsaddons
kwindowsystem
+3 -3
View File
@@ -244,17 +244,17 @@
;; It's used for cache validation and therefore can lead to strange bugs.
;; ex: date '+%Y%m%d%H%M%S'
;; or: (format-time-string "%Y%m%d%H%M%S")
(define %librewolf-build-id "20260310210845")
(define %librewolf-build-id "20260310145002")
(define-public librewolf
(package
(name "librewolf")
(version "148.0.2-2")
(version "148.0.2-1")
(source
(make-librewolf-source
#:version version
#:firefox-hash "142f4k4ykcm65kbvj60p472103r4k79v9fdsfljdav2rbr6qxjx6"
#:librewolf-hash "1i0m72i2d0800pxprq18jc040zfzvmg25lw7bi7hgbdh4zvadzdw"
#:librewolf-hash "0c664ci4j5xpqjf07bs8vcrl2scscc35sdcasd1aqn4fdssmghmq"
#:l10n firefox-l10n))
(build-system gnu-build-system)
(arguments
+19 -410
View File
@@ -185,7 +185,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages rocm)
#:use-module (gnu packages rpc)
#:use-module (gnu packages rrdtool)
#:use-module (gnu packages rsync)
@@ -531,32 +530,32 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.19-version "6.19.6")
(define-public linux-libre-6.19-version "6.19.5")
(define-public linux-libre-6.19-gnu-revision "gnu")
(define deblob-scripts-6.19
(linux-libre-deblob-scripts
linux-libre-6.19-version
linux-libre-6.19-gnu-revision
(base32 "0zl5352xsv12xkqrfygp5kd8nvjq718pg5iaz64y675abymacp8v")
(base32 "0y9rb4mm1n83h9wa68ivbpqj13va3vv5954j2ywqm7apwpx9ini2")))
(base32 "1awsjh9qs5inrwj34kzkrfvvysdaka6dnbilpn1ai66r6dqc2810")))
(define-public linux-libre-6.19-pristine-source
(let ((version linux-libre-6.19-version)
(hash (base32 "051fq8mkb7sf3m24a45cacr73fmpljfdn0pgjh0qrxhl6bvkz7sd")))
(hash (base32 "1yig0i2q7vn7p8g4lmkviddxi62mzhp0fv2hx3057qq9qz40bblm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.19)))
(define-public linux-libre-6.18-version "6.18.16")
(define-public linux-libre-6.18-version "6.18.15")
(define-public linux-libre-6.18-gnu-revision "gnu")
(define deblob-scripts-6.18
(linux-libre-deblob-scripts
linux-libre-6.18-version
linux-libre-6.18-gnu-revision
(base32 "1piyq7183bdf169w66k62yr1vbs0ls7pqx3cyyk7hisw8vhy643j")
(base32 "1wnlnds2hgap36a0licjyjzyhhggbgp83dc9xbbw07y8jwmc17ai")))
(base32 "1xdz33lshw1xs6a5qiwhvxzdh2a0acll1zdyk2mnn9d4579a4gn1")))
(define-public linux-libre-6.18-pristine-source
(let ((version linux-libre-6.18-version)
(hash (base32 "1qwfsbr315c6qh3hnqmyjwjcj0h8j3w56hbrxnrx3h849lgw08ag")))
(hash (base32 "0w7iy9mx1b42q4qz6y9rvny7nmvpwq0mf6b9vv84w4y4qcb64wbw")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.18)))
@@ -565,22 +564,22 @@ 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.76")
(define-public linux-libre-6.12-version "6.12.74")
(define-public linux-libre-6.12-gnu-revision "gnu")
(define deblob-scripts-6.12
(linux-libre-deblob-scripts
linux-libre-6.12-version
linux-libre-6.12-gnu-revision
(base32 "168aykyvyyp34549hqhlprl0n052q8wdb2y3vyxqw40wpf2vw3ln")
(base32 "1v6glxf94p9z0yq5m102jwcpyh6anpbp3h8wwff9hxlfy2wdlzzk")))
(base32 "1wyfggr9q0f10yr3nxsvx3nd3wscp5145fgxw0ps0b09ckcyr2mi")))
(define-public linux-libre-6.12-pristine-source
(let ((version linux-libre-6.12-version)
(hash (base32 "15nq7agr492b9lh57xp10hs48dx9g7k253y2lm4vvrj69j1kxd5v")))
(hash (base32 "0gm1mjn203gc11dqk82fkbsr96bnwcxq4sx5khc7yhwsvjqywmiv")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.12)))
(define-public linux-libre-6.6-version "6.6.129")
(define-public linux-libre-6.6-version "6.6.127")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@@ -590,12 +589,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0z47f6mkllk1fgpq04x73djl5gh3mj50bxj2rpg4jlzm0rcirrag")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "12j42awg44w97zq8fzifpm300jm9q9ya7qkpn7xbnkr2480qz86a")))
(hash (base32 "1zn9z3ghjyff71s3yabfanrgyks3wnmn1p5w6301rczhnjbrrkd7")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
(define-public linux-libre-6.1-version "6.1.166")
(define-public linux-libre-6.1-version "6.1.164")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -605,12 +604,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiwwl5sgpc16x0v6phbknv94mc46gvwgc2z8s4pdgn4j54yrd8v")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "0jcl12gjlfdf9pwqg1m84rzwnrj3grxxgk5blrq8zlaq45sgr3c1")))
(hash (base32 "074xlcrx5lvbkbwgahfvjlvak0j1nig9azfxfdl64zxzgdzhigrk")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.202")
(define-public linux-libre-5.15-version "5.15.201")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@@ -620,12 +619,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 "1m6d53qx1ah4jwpa8hwjdmq0jn2hf7xmz1li6rwpdqjp97vvvh8b")))
(hash (base32 "15hv8rqgr6ca9rnbpb6hvzskqvb4h8x3w6nl4y2npbfsxpxzyajg")))
(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.251")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -635,7 +634,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 "00ac9gzidby7b82s2prq4c3w99a077f5li4v4yq8gdg3zqjpd1g6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
@@ -932,16 +931,6 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
("CONFIG_FUSE_FS" . m)
("CONFIG_CIFS" . m)
("CONFIG_9P_FS" . m)
;; Enable DMABUF used by wayland, pipewire and libcamera
;; https://codeberg.org/guix/guix/issues/5995
("CONFIG_UDMABUF" . #t)
("CONFIG_DMABUF_MOVE_NOTIFY" . #t)
("CONFIG_DMABUF_HEAPS" . #t)
("CONFIG_DMABUF_HEAPS_SYSTEM" . #t)
("CONFIG_DMABUF_HEAPS_CMA" . #t)
,@(if (version>=? version "6.17")
'(("CONFIG_DMABUF_HEAPS_CMA_LEGACY" . #t))
'())
;; Disable the EFI pstore storage backend to avoid causing
;; unrecoverable failures on some EFI systems:
;; https://lists.gnu.org/archive/html/help-guix/2025-01/msg00173.html
@@ -1484,48 +1473,6 @@ 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-6.19
(package
(name "reform-debian-packages")
(version "2023-07-10-537-g032a28b") ;from git describe
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.mnt.re/reform/reform-debian-packages.git")
(commit "032a28b6c8b48077523ea1631cde65b763ab3c43")))
(file-name (git-file-name name version))
(sha256
(base32 "084xnykhnhpbb0kd5wr4nml08g4gjy7jqzrdb9i0chbfx12fnnyr"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("linux/patches6.19/" "/patches6.19")
("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.18
(package
(name "reform-debian-packages")
@@ -1610,321 +1557,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
license:gpl3
license:x11))))
(define-public linux-libre-arm64-mnt-reform-6.19
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
(let ((base (make-linux-libre* linux-libre-6.19-version
linux-libre-6.19-gnu-revision
linux-libre-6.19-source
'("aarch64-linux")
#: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 wireguard
("CONFIG_WIREGUARD" . m)
;; Provide support for ath9k wireless
("CONFIG_ATH9K" . m)
("CONFIG_ATH9K_HTC" . m))
(default-extra-linux-options
linux-libre-6.19-version)))))
(package
(inherit base)
(inputs (list reform-debian-packages-for-6.19))
(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
"patches6.19/" 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/audio/0000-revert-crashy-audiomix-pm-support.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/0001-FROM-UPSTREAM-drm-bridge-dw-hdmi-qp-Add-support-for-.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-Revert-PCI-dw-rockchip-Simplify-regulator-setup-with.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/0074-MERGED-phy-hdmi-Add-HDMI-2.1-FRL-configuration-optio.patch"
"rk3588-mnt-reform2/0075-PCI-host-common-Add-an-API-to-check-for-any-device-u.patch"
"rk3588-mnt-reform2/0076-PCI-qcom-Check-for-the-presence-of-a-device-instead-.patch"
"rk3588-mnt-reform2/0077-PCI-dwc-Check-for-the-device-presence-during-suspend.patch"
"rk3588-mnt-reform2/0078-PCI-dw-rockchip-Fix-LTSSM-set-functions.patch"
"rk3588-mnt-reform2/0079-MERGED-phy-rockchip-samsung-hdptx-Use-usleep_range-i.patch"
"rk3588-mnt-reform2/0079-WIP-PCI-dw-rockchip-port-some-suspend-code-from-vend.patch"
"rk3588-mnt-reform2/0080-MERGED-phy-rockchip-samsung-hdptx-Fix-coding-style-a.patch"
"rk3588-mnt-reform2/0081-MERGED-phy-rockchip-samsung-hdptx-Consistently-use-r.patch"
"rk3588-mnt-reform2/0082-MERGED-phy-rockchip-samsung-hdptx-Enable-lane-output.patch"
"rk3588-mnt-reform2/0083-MERGED-phy-rockchip-samsung-hdptx-Cleanup-_cmn_init_.patch"
"rk3588-mnt-reform2/0084-MERGED-phy-rockchip-samsung-hdptx-Compute-clk-rate-f.patch"
"rk3588-mnt-reform2/0085-MERGED-phy-rockchip-samsung-hdptx-Drop-hw_rate-drive.patch"
"rk3588-mnt-reform2/0086-MERGED-phy-rockchip-samsung-hdptx-Switch-to-driver-s.patch"
"rk3588-mnt-reform2/0087-MERGED-phy-rockchip-samsung-hdptx-Extend-rk_hdptx_ph.patch"
"rk3588-mnt-reform2/0088-MERGED-phy-rockchip-samsung-hdptx-Add-HDMI-2.1-FRL-s.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.18
;; Kernel for use on the MNT/Reform systems
;; https://mntre.com/reform.html
@@ -2066,15 +1698,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
("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)
@@ -2401,15 +2024,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
("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)
@@ -10512,22 +10126,17 @@ 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))))
(arguments
(list #:configure-flags
#~(append (if #$(target-64bit?)
(list "--enable-efa")
'())
(list "--enable-efa")
'())
(list #$@(if (this-package-input "libcxi")
#~("--enable-cxi")
#~())
#$@(if (this-package-input "rocr-runtime")
#~((string-append "--with-rocr="
#$(this-package-input "rocr-runtime")))
#~())
"--enable-verbs"))
#:phases
#~(modify-phases %standard-phases
+133 -120
View File
@@ -197,7 +197,7 @@ read/write Bit Map Font (BMF) into text, JSON and XML.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/3b-bmfont/")
(url "https://github.com/Shinmera/3b-bmfont/")
(commit commit)))
(file-name (git-file-name "3b-bmfont2" version))
(sha256
@@ -304,7 +304,7 @@ vectors and streams.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/3d-math")
(url "https://github.com/Shinmera/3d-math")
(commit commit)))
(file-name (git-file-name "cl-3d-math" version))
(sha256
@@ -315,7 +315,7 @@ vectors and streams.")
(inputs
(list sbcl-documentation-utils
sbcl-type-templates))
(home-page "https://shinmera.com/docs/3d-math/")
(home-page "https://shinmera.github.io/3d-math/")
(synopsis "Linear algebra for 2D and 3D computations")
(description
"The @code{3d-math} library implements types, operators, and algorithms
@@ -328,6 +328,9 @@ compatible, and adds new functionality.")
(define-public cl-3d-math
(sbcl-package->cl-source-package sbcl-3d-math))
(define-public ecl-3d-math
(sbcl-package->ecl-package sbcl-3d-math))
(define-public sbcl-3d-matrices
(let ((commit "bc1ffa08dcf4732523e09adcf9deba4ddeb559ff")
(revision "3"))
@@ -511,7 +514,7 @@ alternative 4x4 matrix representation.")
(list sbcl-parachute))
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/3d-vectors/")
(home-page "https://shinmera.github.io/3d-vectors/")
(synopsis "Utility library implementing 2D, 3D, and 4D vectors")
(description
"@code{3D-VECTORS} is a library for vector math in 3D space. It contains
@@ -4391,8 +4394,8 @@ Lisp expressions in multiple implementations.")
(sbcl-package->cl-source-package sbcl-cl-all))
(define-public sbcl-cl-ana
(let ((commit "88abde5ad3fa327958720426b89a8457e6943b94")
(revision "3"))
(let ((commit "848185eed1ed65bab3a124870c122f761ce0d87e")
(revision "2"))
(package
(name "sbcl-cl-ana")
(version (git-version "0.0.0" revision commit))
@@ -4403,9 +4406,8 @@ Lisp expressions in multiple implementations.")
(url "https://github.com/ghollisjr/cl-ana")
(commit commit)))
(file-name (git-file-name "cl-ana" version))
(patches (search-patches "cl-ana-pr-49.patch"))
(sha256
(base32 "1dg8wkc2bv66lykr2fjgn91jw7aa9xnpk20h0g8pp2xr6981gfl9"))))
(base32 "026agqsxq3pg2k9jmy2wysil2z0yn5rykzzhr8rqxsspdwz51z1y"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list openmpi ;; for hdf-cffi
@@ -9451,6 +9453,9 @@ classes and cyclic data structures are supported.")
(define-public cl-prevalence
(sbcl-package->cl-source-package sbcl-cl-prevalence))
(define-public ecl-cl-prevalence
(sbcl-package->ecl-package sbcl-cl-prevalence))
(define-public sbcl-cl-progress-bar
(let ((commit "9374170858663c8fe829e9fb5a29bd2cb48d95ae"))
(package
@@ -12152,7 +12157,7 @@ options, e.g., by looking up an external key/value store
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/clip")
(url "https://github.com/shinmera/clip")
(commit commit)))
(file-name (git-file-name "clip" version))
(sha256
@@ -12160,7 +12165,7 @@ options, e.g., by looking up an external key/value store
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-array-utils sbcl-lquery))
(home-page "https://shinmera.com/docs/clip/")
(home-page "https://shinmera.github.io/clip/")
(synopsis "Common Lisp HTML templating engine")
(description
"Clip is an attempt at a templating library that allows you to write
@@ -14729,8 +14734,8 @@ replacement, which is called @code{*let}).")
(sbcl-package->clasp-package sbcl-defstar))
(define-public sbcl-deploy
(let ((commit "c9b869d943d39fcddd8c4aa380995645bd2e3c0b")
(revision "4"))
(let ((commit "5d57fcce38b6156be951f3fed9fbbdacf4ba2912")
(revision "3"))
(package
(name "sbcl-deploy")
(version (git-version "3.0.0" revision commit))
@@ -14742,17 +14747,13 @@ replacement, which is called @code{*let}).")
(commit commit)))
(file-name (git-file-name "deploy" version))
(sha256
(base32 "05xvv6f1nh7p1dmdyqbpddisf2f9v5kvq2ixa38i263p35rg82sr"))))
(base32 "1f2sahr2k4d291hn7x7bcy4nxav4va3rrw2gcw122zsg97siqy8h"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-cl-mpg123
sbcl-cl-out123))
(list sbcl-cl-mpg123 sbcl-cl-out123))
(inputs
(list sbcl-cffi
sbcl-documentation-utils
sbcl-pathname-utils
sbcl-trivial-features
sbcl-sha3))
(list sbcl-cffi sbcl-documentation-utils sbcl-pathname-utils
sbcl-trivial-features sbcl-sha3))
(home-page "https://codeberg.org/shinmera/deploy")
(synopsis "Deployment tools for standalone Common Lisp application")
(description
@@ -14803,7 +14804,7 @@ that have several attributes, and a central data payload. Most notably this
includes the OS filesystem, but can also be used to address other
filesystem-like things like archives, object stores, etc. in the same
manner.")
(home-page "https://shinmera.com/docs/depot/")
(home-page "https://codeberg.org/Shinmera/depot")
(license license:zlib))))
(define-public cl-depot
@@ -16662,7 +16663,7 @@ parser/composer.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/feeder")
(url "https://github.com/Shinmera/feeder")
(commit commit)))
(file-name (git-file-name "feeder" version))
(sha256
@@ -16670,7 +16671,7 @@ parser/composer.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils sbcl-local-time sbcl-plump))
(home-page "https://shinmera.com/docs/feeder/")
(home-page "https://shinmera.github.io/feeder/")
(synopsis "RSS, Atom and general feed parsing and generating")
(description
"Feeder is a syndication feed library. It presents a general protocol
@@ -16729,7 +16730,7 @@ given the Common Lisp implementation.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/file-attributes/")
(url "https://github.com/Shinmera/file-attributes/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -16737,7 +16738,7 @@ given the Common Lisp implementation.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-features))
(home-page "https://shinmera.com/docs/file-attributes/")
(home-page "https://shinmera.github.io/file-attributes/")
(synopsis "Access to common file attributes in Common Lisp")
(description
"This is a small OS portability library to retrieve and set file
@@ -16796,7 +16797,7 @@ avoids many of the pitfalls of pathnames.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/file-notify")
(url "https://github.com/Shinmera/file-notify")
(commit commit)))
(file-name (git-file-name "cl-file-notify" version))
(sha256
@@ -16806,7 +16807,7 @@ avoids many of the pitfalls of pathnames.")
(list sbcl-cffi
sbcl-documentation-utils
sbcl-trivial-features))
(home-page "https://codeberg.org/shinmera/file-notify")
(home-page "https://github.com/Shinmera/file-notify")
(synopsis "Get notifications for file accesses and changes")
(description
"File-Notify is a Common Lisp library for getting notifications for file
@@ -16829,7 +16830,7 @@ accesses and changes.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/file-select")
(url "https://github.com/Shinmera/file-select")
(commit commit)))
(file-name (git-file-name "file-select" version))
(sha256
@@ -16839,7 +16840,7 @@ accesses and changes.")
(list sbcl-cffi
sbcl-documentation-utils
sbcl-float-features))
(home-page "https://shinmera.com/docs/file-select/")
(home-page "https://shinmera.github.io/file-select/")
(synopsis "Invoke the native file selection dialogs to open or save files")
(description
"This library allows you to open native file dialogs to open and save
@@ -16894,7 +16895,7 @@ fashion.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/filesystem-utils/")
(url "https://github.com/Shinmera/filesystem-utils/")
(commit commit)))
(file-name (git-file-name "cl-filesystem-utils" version))
(sha256
@@ -16904,7 +16905,7 @@ fashion.")
(list sbcl-documentation-utils
sbcl-pathname-utils
sbcl-trivial-features))
(home-page "https://shinmera.com/docs/filesystem-utils/")
(home-page "https://shinmera.github.io/filesystem-utils/")
(synopsis "Collection of utilities for filesystem interaction")
(description
"This is an extension library to @code{pathname-utils}, to allow
@@ -17025,7 +17026,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/flare")
(url "https://github.com/Shinmera/flare")
(commit commit)))
(file-name (git-file-name "flare" version))
(sha256
@@ -17038,7 +17039,7 @@ the @command{flamegraph.pl} script, which is available in the Guix package
sbcl-for
sbcl-lambda-fiddle
sbcl-trivial-garbage))
(home-page "https://shinmera.com/docs/flare/")
(home-page "https://shinmera.github.io/flare/")
(synopsis "Easy particle systems with fine grained control")
(description
"FLARE is a library designed to allow quick and precise particle effect
@@ -17156,7 +17157,7 @@ a sequence (or chain) of such elements.")
(description
"Portability library for IEEE float features that are not
covered by the Common Lisp standard.")
(home-page "https://codeberg.org/shinmera/float-features")
(home-page "https://github.com/Shinmera/float-features")
(license license:zlib))))
(define-public cl-float-features
@@ -17178,7 +17179,7 @@ covered by the Common Lisp standard.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/flow")
(url "https://github.com/Shinmera/flow")
(commit commit)))
(file-name (git-file-name "flow" version))
(sha256
@@ -17190,7 +17191,7 @@ covered by the Common Lisp standard.")
(inputs
(list sbcl-closer-mop
sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/flow/")
(home-page "https://shinmera.github.io/flow/")
(synopsis "Tools for the representation of graphs and flowcharts")
(description
"FLOW is a flowchart graph library. Unlike other graphing libraries,
@@ -17384,7 +17385,7 @@ time, etc.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/font-discovery")
(url "https://github.com/Shinmera/font-discovery")
(commit commit)))
(file-name (git-file-name "font-discovery" version))
(sha256
@@ -17392,7 +17393,7 @@ time, etc.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-cffi sbcl-documentation-utils sbcl-trivial-indent))
(home-page "https://shinmera.com/docs/font-discovery/")
(home-page "https://shinmera.github.io/font-discovery/")
(synopsis "Find system font files matching a font spec")
(description
"This is a library to find system font files. It works on systems with
@@ -17416,7 +17417,7 @@ aren't already directly available on the system.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/for")
(url "https://github.com/Shinmera/for")
(commit commit)))
(file-name (git-file-name "cl-for" version))
(sha256
@@ -17424,7 +17425,7 @@ aren't already directly available on the system.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils sbcl-form-fiddle sbcl-lambda-fiddle))
(home-page "https://shinmera.com/docs/for/")
(home-page "https://shinmera.github.io/for/")
(synopsis "Extensible iteration macro library")
(description
"For is a library for an extensible iteration macro. It allows you to write
@@ -17452,7 +17453,7 @@ require code-walking and is easier to extend.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/forge/")
(url "https://github.com/Shinmera/forge/")
(commit commit)))
(sha256
(base32 "006vi2ihrn28pzrwa8b7axmv98bdaxzx7lacnh9pbacbjg3b7hb0"))
@@ -17494,7 +17495,7 @@ for the specific kind of project you're building to get the full picture.")
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/shinmera/form-fiddle")
(url "https://github.com/Shinmera/form-fiddle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -17507,7 +17508,7 @@ for the specific kind of project you're building to get the full picture.")
(description
"Often times we need to destructure a form definition in a Common Lisp
macro. This library provides a set of simple utilities to help with that.")
(home-page "https://shinmera.com/docs/form-fiddle/")
(home-page "https://shinmera.github.io/form-fiddle/")
(license license:zlib))))
(define-public cl-form-fiddle
@@ -20737,13 +20738,13 @@ performance and simplicity in mind.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/lambda-fiddle")
(url "https://github.com/Shinmera/lambda-fiddle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand"))))
(build-system asdf-build-system/sbcl)
(home-page "https://codeberg.org/shinmera/lambda-fiddle")
(home-page "https://github.com/Shinmera/lambda-fiddle")
(synopsis "Collection of utilities to process lambda-lists")
(description "This collection of utilities is useful in contexts where
you want a macro that uses lambda-lists in some fashion but need more precise
@@ -20768,7 +20769,7 @@ processing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/language-codes")
(url "https://github.com/Shinmera/language-codes")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -20776,7 +20777,7 @@ processing.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/language-codes/")
(home-page "https://shinmera.github.io/language-codes/")
(synopsis "Map ISO language codes to language names in Common Lisp")
(description
"This is a small library providing the ISO-639 language code to
@@ -20847,7 +20848,7 @@ text.")
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/shinmera/LASS")
(url "https://github.com/Shinmera/LASS")
(commit commit)))
(file-name (git-file-name "cl-lass" version))
(sha256
@@ -20861,7 +20862,7 @@ text.")
out in writing CSS quick and easy. LASS was largely inspired by SASS. LASS
supports two modes, one being directly in your lisp code, the other in pure
LASS files.")
(home-page "https://shinmera.com/docs/LASS/")
(home-page "https://shinmera.github.io/LASS/")
(license license:zlib))))
(define-public cl-lass
@@ -21454,6 +21455,9 @@ in Common Lisp.")
(define-public cl-lispbuilder-sdl
(sbcl-package->cl-source-package sbcl-lispbuilder-sdl))
(define-public ecl-lispbuilder-sdl
(sbcl-package->ecl-package sbcl-lispbuilder-sdl))
(define-public sbcl-list-named-class
(let ((commit "2955791a7469131bcab42d800883f27993ee1d62")
(revision "0"))
@@ -22193,7 +22197,7 @@ compression/decompression using bindings to the lzlib C library.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/machine-state")
(url "https://github.com/Shinmera/machine-state")
(commit commit)))
(file-name (git-file-name "cl-machine-state" version))
(sha256
@@ -22207,7 +22211,7 @@ compression/decompression using bindings to the lzlib C library.")
(arguments
'(#:tests? #f ; No tests.
#:asd-systems '("machine-state" "machine-state/opengl")))
(home-page "https://shinmera.com/docs/machine-state/")
(home-page "https://shinmera.github.io/machine-state/")
(synopsis "Retrieve machine state information about CPU time, memory usage and more")
(description
"This library implements various functions to access status information
@@ -23412,7 +23416,7 @@ various string metrics in Common Lisp:
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/mmap")
(url "https://github.com/Shinmera/mmap")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -23423,7 +23427,7 @@ various string metrics in Common Lisp:
sbcl-trivial-features))
(inputs
(list sbcl-cffi sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/mmap/")
(home-page "https://shinmera.github.io/mmap/")
(synopsis "File memory mapping for Common Lisp")
(description
"This is a utility library providing access to the @emph{mmap} family of
@@ -23485,7 +23489,7 @@ place.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/modularize")
(url "https://github.com/Shinmera/modularize")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -23494,7 +23498,7 @@ place.")
(inputs
(list sbcl-documentation-utils
sbcl-trivial-package-local-nicknames))
(home-page "https://shinmera.com/docs/modularize/")
(home-page "https://shinmera.github.io/modularize/")
(synopsis "Common Lisp modularization framework")
(description
"@code{MODULARIZE} is an attempt at providing a common interface to
@@ -23521,7 +23525,7 @@ tie modules together in functionality, hook into each other and so on.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/modularize-hooks")
(url "https://github.com/Shinmera/modularize-hooks")
(commit commit)))
(file-name (git-file-name "modularize-hooks" version))
(sha256
@@ -23530,7 +23534,7 @@ tie modules together in functionality, hook into each other and so on.")
(inputs
(list sbcl-closer-mop sbcl-lambda-fiddle sbcl-modularize
sbcl-trivial-arguments))
(home-page "https://shinmera.com/docs/modularize-hooks/")
(home-page "https://shinmera.github.io/modularize-hooks/")
(synopsis "Generic hooks and triggers extension for Modularize")
(description
"This is a simple extension to @code{MODULARIZE} that allows modules to
@@ -23553,7 +23557,7 @@ define and trigger hooks, which other modules can hook on to.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/modularize-interfaces")
(url "https://github.com/Shinmera/modularize-interfaces")
(commit commit)))
(file-name (git-file-name "modularize-interfaces" version))
(sha256
@@ -23562,7 +23566,7 @@ define and trigger hooks, which other modules can hook on to.")
(inputs
(list sbcl-lambda-fiddle sbcl-modularize sbcl-trivial-arguments
sbcl-trivial-indent))
(home-page "https://shinmera.com/docs/modularize-interfaces/")
(home-page "https://shinmera.github.io/modularize-interfaces/")
(synopsis "Programmatical interfaces extension for Modularize")
(description
"This is an extension to @code{MODULARIZE} that allows your application
@@ -23846,7 +23850,7 @@ for Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/multilang-documentation")
(url "https://github.com/Shinmera/multilang-documentation")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -23855,7 +23859,7 @@ for Common Lisp.")
(inputs
(list sbcl-documentation-utils sbcl-language-codes
sbcl-system-locale))
(home-page "https://shinmera.com/docs/multilang-documentation/")
(home-page "https://shinmera.github.io/multilang-documentation/")
(synopsis "Add multiple languages support to Common Lisp documentation")
(description
"This library provides a drop-in replacement function for
@@ -25038,7 +25042,7 @@ expressions.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/open-with")
(url "https://github.com/Shinmera/open-with")
(commit commit)))
(file-name (git-file-name "cl-open-with" version))
(sha256
@@ -25062,7 +25066,7 @@ expressions.")
"This package provides a small utility library to open a thing (usually
a file or URL) in an appropriate handler (usually an external file manager or
browser).")
(home-page "https://shinmera.com/docs/open-with/")
(home-page "https://shinmera.github.io/open-with/")
(license license:zlib))))
(define-public cl-open-with
@@ -25855,8 +25859,8 @@ variable portably in Common Lisp.")
(sbcl-package->ecl-package sbcl-path-parse))
(define-public sbcl-pathname-utils
(let ((commit "c0aa51ab78cb21581700d44deeed88a4743b6f13")
(revision "5"))
(let ((commit "3309d65a568acc392ade6a4096c940eb15e1149e")
(revision "4"))
(package
(name "sbcl-pathname-utils")
(version (git-version "1.1.0" revision commit))
@@ -25864,17 +25868,17 @@ variable portably in Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/pathname-utils")
(url "https://github.com/Shinmera/pathname-utils")
(commit commit)))
(file-name (git-file-name "cl-pathname-utils" version))
(sha256
(base32 "11hic5gspnkjfggdh4zzx9i1ha4vf7rjr2cyqmz1144sprl2nva6"))))
(base32 "0w7h0qhi53myakfbwvwgr9srbz5mmgsdcbynzkh5vjiibwjg1c3i"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-parachute))
(inputs
(list sbcl-trivial-features))
(home-page "https://shinmera.com/docs/pathname-utils/")
(home-page "https://shinmera.github.io/pathname-utils/")
(synopsis "Collection of utilities to help with pathname operations")
(description
"This package provides a Common Lisp system with a collection of common
@@ -25885,12 +25889,6 @@ handling the accessing of files on the underlying system however.")
(define-public cl-pathname-utils
(sbcl-package->cl-source-package sbcl-pathname-utils))
(define-public clasp-pathname-utils
(package
(inherit (sbcl-package->clasp-package sbcl-pathname-utils))
(arguments
(list #:tests? #f)))) ;see ECL variant
(define-public ecl-pathname-utils
(package
(inherit (sbcl-package->ecl-package sbcl-pathname-utils))
@@ -26158,13 +26156,13 @@ for Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/piping/")
(url "https://github.com/Shinmera/piping/")
(commit commit)))
(file-name (git-file-name "piping" version))
(sha256
(base32 "0in84qnfkynm36d4n4d6v87vprpi27xrydnga462wfhplji6klv5"))))
(build-system asdf-build-system/sbcl)
(home-page "https://shinmera.com/docs/piping/")
(home-page "https://shinmera.github.io/piping/")
(synopsis "Library to enable simple message pipelines")
(description
"This is a Common Lisp library to enable simple message pipelines.")
@@ -27050,6 +27048,9 @@ pattern-matching-like, but a char-by-char procedural parser.")
(define-public cl-prometheus
(sbcl-package->cl-source-package sbcl-prometheus))
(define-public ecl-prometheus
(sbcl-package->ecl-package sbcl-prometheus))
(define-public sbcl-promise
(let ((commit "801db8f853da7935ae2e487fd7f8763acbc5ad2a")
(revision "0"))
@@ -27060,7 +27061,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/promise")
(url "https://github.com/Shinmera/promise")
(commit commit)))
(file-name (git-file-name "cl-promise" version))
(sha256
@@ -27070,7 +27071,7 @@ pattern-matching-like, but a char-by-char procedural parser.")
(list sbcl-parachute))
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/promise/")
(home-page "https://shinmera.github.io/promise/")
(synopsis "Promise mechanism for asynchronous operations")
(description
"This library implements a basic promise datastructure, which is useful
@@ -27646,8 +27647,8 @@ Lisp. It is intended to be a replacement of PURI.")
(sbcl-package->ecl-package sbcl-quri))
(define-public sbcl-radiance
(let ((commit "8249b00388ffe1c7e516a148c8ea8e7d9bc4243c")
(revision "4"))
(let ((commit "8d826c7fe1935338565580931db43f46181e0e85")
(revision "3"))
(package
(name "sbcl-radiance")
(version (git-version "2.1.2" revision commit))
@@ -27655,14 +27656,26 @@ Lisp. It is intended to be a replacement of PURI.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shirakumo/radiance")
(commit commit)))
(url "https://github.com/Shirakumo/radiance")
(commit commit)))
(file-name (git-file-name "radiance" version))
(sha256
(base32 "1kl1936kzv1j2fmnm6n3nq503bxz38zzymwbwq3vhqa0jsqjwynm"))))
(base32 "1j823dgp87www0sjbcbv9j025bfxlkwhjd7kz6635mrqwmmlki4l"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:tests? #f)) ; TODO: The tests require some configuration.
`(#:tests? #f ; TODO: The tests require some configuration.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-quicklisp
(lambda _
;; Disable the automatic installation of systems by Quicklisp.
;; (Maybe there would be a way to package Quicklisp and make it
;; install things in the user's directory instead of
;; /gnu/store/...).
(substitute* "interfaces.lisp"
(("\\(unless \\(asdf:find-system configured-implementation NIL\\)"
all)
(string-append "#+quicklisp " all))))))))
(native-inputs
(list sbcl-alexandria
sbcl-dexador
@@ -27673,8 +27686,8 @@ Lisp. It is intended to be a replacement of PURI.")
sbcl-bordeaux-threads
sbcl-cl-ppcre
sbcl-closer-mop
sbcl-deploy
sbcl-documentation-utils
sbcl-deploy
sbcl-form-fiddle
sbcl-lambda-fiddle
sbcl-local-time
@@ -27684,7 +27697,7 @@ Lisp. It is intended to be a replacement of PURI.")
sbcl-trivial-indent
sbcl-trivial-mimes
sbcl-ubiquitous))
(home-page "https://codeberg.org/shirakumo/radiance")
(home-page "https://shirakumo.github.io/radiance/")
(synopsis "Common Lisp web application environment")
(description
"Radiance is a web application environment, which is sort of like a web
@@ -27710,7 +27723,7 @@ adaptations.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shirakumo/radiance-contribs")
(url "https://github.com/Shirakumo/radiance-contribs")
(commit commit)))
(file-name (git-file-name "radiance-contribs" version))
(sha256
@@ -27789,7 +27802,7 @@ sequence.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/random-state")
(url "https://github.com/Shinmera/random-state")
(commit commit)))
(file-name (git-file-name "cl-random-state" version))
(sha256
@@ -27797,7 +27810,7 @@ sequence.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/random-state/")
(home-page "https://shinmera.github.io/random-state/")
(synopsis "Portable random number generation")
(description
"This library is a collection of @dfn{pseudo random number generators}.
@@ -28659,7 +28672,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/sdf")
(url "https://github.com/Shinmera/sdf")
(commit commit)))
(file-name (git-file-name "sdf" version))
(sha256
@@ -28674,7 +28687,7 @@ can coexist and interoperate with other extensions to as CLIM and Iterate.")
sbcl-pathname-utils))
(arguments
`(#:asd-systems '("sdf" "sdf/bmfont")))
(home-page "https://codeberg.org/shinmera/sdf")
(home-page "https://github.com/Shinmera/sdf")
(synopsis "Signed distance font atlas generator")
(description
"This library generates
@@ -29446,7 +29459,7 @@ using advisors.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/simple-inferiors")
(url "https://github.com/Shinmera/simple-inferiors")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@@ -29454,7 +29467,7 @@ using advisors.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-bordeaux-threads sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/simple-inferiors/")
(home-page "https://shinmera.github.io/simple-inferiors/")
(synopsis "Common Lisp library to use inferior processes")
(description
"This is a library to allow easy handling of external processes, and
@@ -29674,7 +29687,7 @@ on top of Hunchentoot.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/simple-tasks")
(url "https://github.com/Shinmera/simple-tasks")
(commit commit)))
(file-name (git-file-name "simple-tasks" version))
(sha256
@@ -29682,7 +29695,7 @@ on top of Hunchentoot.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-array-utils sbcl-bordeaux-threads sbcl-dissect))
(home-page "https://shinmera.com/docs/simple-tasks/")
(home-page "https://shinmera.github.io/simple-tasks/")
(synopsis "Simple task scheduling framework")
(description "This is a task scheduling framework for Common Lisp.")
(license license:zlib))))
@@ -30507,7 +30520,7 @@ empty object).")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/staple/")
(url "https://github.com/Shinmera/staple/")
(commit commit)))
(sha256
(base32 "0qf0if7py3n4rszg25lcavpsqikfz6k5dvcmh5q67y8x5r12i5m7"))
@@ -31131,13 +31144,13 @@ and camel-case rules.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/system-load")
(url "https://github.com/Shinmera/system-load")
(commit commit)))
(file-name (git-file-name "cl-system-load" version))
(sha256
(base32 "08d8kr8j5l2m8p69f47iklxhna394vx9mrys0sgplf5f2bqb7xcv"))))
(build-system asdf-build-system/sbcl)
(home-page "https://codeberg.org/shinmera/system-load")
(home-page "https://github.com/Shinmera/system-load")
(synopsis "Access system's CPU and memory usage from Common Lisp")
(description
"System-Load is a Common Lisp library for accessing the system's CPU and
@@ -31159,7 +31172,7 @@ memory usage.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/system-locale/")
(url "https://github.com/Shinmera/system-locale/")
(commit commit)))
(file-name (git-file-name name commit))
(sha256
@@ -31167,7 +31180,7 @@ memory usage.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils))
(home-page "https://shinmera.com/docs/system-locale/")
(home-page "https://shinmera.github.io/system-locale/")
(synopsis "Get the system's locale and language settings in Common Lisp")
(description
"This library retrieves locale information configured on the
@@ -32068,13 +32081,13 @@ a simple-array ensuring that the resulting array is still a simple-array.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-arguments")
(url "https://github.com/Shinmera/trivial-arguments")
(commit commit)))
(file-name (git-file-name "trivial-arguments" version))
(sha256
(base32 "02vaqfavhj8jqxnr68nnzvzshm8jbgcy6m9lvyv4daa6f7ihqf88"))))
(build-system asdf-build-system/sbcl)
(home-page "https://codeberg.org/shinmera/trivial-arguments")
(home-page "https://github.com/Shinmera/trivial-arguments")
(synopsis "Common Lisp library to retrieve a function's lambda-list")
(description
"This is a simple library to retrieve the argument list of a function.")
@@ -32177,7 +32190,7 @@ information.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-benchmark/")
(url "https://github.com/Shinmera/trivial-benchmark/")
(commit commit)))
(file-name (git-file-name "cl-trivial-benchmark" version))
(sha256
@@ -32185,7 +32198,7 @@ information.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria))
(home-page "https://shinmera.com/docs/trivial-benchmark/")
(home-page "https://shinmera.github.io/trivial-benchmark/")
(synopsis "Easy to use benchmarking system for Common Lisp")
(description
"Trivial-Benchmark runs a block of code many times and outputs some
@@ -32494,13 +32507,13 @@ It provides four readtables. The default one lets you write strings like this:
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-extensible-sequences")
(url "https://github.com/Shinmera/trivial-extensible-sequences")
(commit commit)))
(file-name (git-file-name "cl-trivial-extensible-sequences" version))
(sha256
(base32 "0352psdd8j0phjycr6ldckwspyal4jcf0f2fizi6fwdp7nvadng7"))))
(build-system asdf-build-system/sbcl)
(home-page "https://shinmera.com/docs/trivial-extensible-sequences/")
(home-page "https://shinmera.github.io/trivial-extensible-sequences/")
(synopsis "Portability library for the extensible sequences protocol")
(description
"This package provides a portability layer for the extensible sequences
@@ -32671,7 +32684,7 @@ thin compatibility layer for gray streams.")
(method git-fetch)
(uri
(git-reference
(url "https://codeberg.org/shinmera/trivial-indent")
(url "https://github.com/Shinmera/trivial-indent")
(commit commit)))
(file-name (git-file-name "cl-trivial-indent" version))
(sha256
@@ -32683,7 +32696,7 @@ thin compatibility layer for gray streams.")
"This library allows you to define custom indentation hints for your
macros if the one recognised by SLIME automatically produces unwanted
results.")
(home-page "https://shinmera.com/docs/trivial-indent/")
(home-page "https://shinmera.github.io/trivial-indent/")
(license license:zlib))))
(define-public cl-trivial-indent
@@ -32737,7 +32750,7 @@ implementation specific equivalent.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/trivial-main-thread")
(url "https://github.com/Shinmera/trivial-main-thread")
(commit commit)))
(file-name (git-file-name "trivial-main-thread" version))
(sha256
@@ -32745,7 +32758,7 @@ implementation specific equivalent.")
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-bordeaux-threads sbcl-simple-tasks sbcl-trivial-features))
(home-page "https://shinmera.com/docs/trivial-main-thread/")
(home-page "https://shinmera.github.io/trivial-main-thread/")
(synopsis "Compatibility library to run things in the main thread")
(description
"This package provides a Common Lisp system which wraps the
@@ -33461,7 +33474,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/type-templates")
(url "https://github.com/Shinmera/type-templates")
(commit commit)))
(file-name (git-file-name "cl-type-templates" version))
(sha256
@@ -33474,7 +33487,7 @@ the elements in compound type specifier, e.g. @code{dimensions} in
(list sbcl-alexandria
sbcl-documentation-utils
sbcl-form-fiddle))
(home-page "https://shinmera.com/docs/type-templates/")
(home-page "https://shinmera.github.io/type-templates/")
(synopsis "Library for defining and expanding templated functions")
(description
"The Type-Templates library allows you to define types and template
@@ -33535,7 +33548,7 @@ reasoning about types, but without consing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/uax-14")
(url "https://github.com/Shinmera/uax-14")
(commit commit)))
(file-name (git-file-name "uax-14" version))
(sha256
@@ -33547,7 +33560,7 @@ reasoning about types, but without consing.")
(list sbcl-documentation-utils))
(arguments
`(#:asd-systems '("uax-14")))
(home-page "https://shinmera.com/docs/uax-14/")
(home-page "https://shinmera.github.io/uax-14/")
(synopsis "Unicode Standard Annex #14 for standardised line breaking")
(description
"This is an implementation of the Unicode Standards Annex
@@ -33618,7 +33631,7 @@ RFC7564.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/ubiquitous")
(url "https://github.com/Shinmera/ubiquitous")
(commit commit)))
(file-name (git-file-name "ubiquitous" version))
(sha256
@@ -33629,7 +33642,7 @@ RFC7564.")
(arguments
'(#:asd-systems '("ubiquitous"
"ubiquitous-concurrent")))
(home-page "https://shinmera.com/docs/ubiquitous/")
(home-page "https://shinmera.github.io/ubiquitous/")
(synopsis "Application configuration mechanism for Common Lisp")
(description
"@code{UBIQUITOUS} is a very easy-to-use library for persistent
@@ -34136,7 +34149,7 @@ algorithms.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/verbose/")
(url "https://github.com/Shinmera/verbose/")
(commit commit)))
(file-name (git-file-name "verbose" version))
(sha256
@@ -34145,7 +34158,7 @@ algorithms.")
(inputs
(list sbcl-bordeaux-threads sbcl-dissect sbcl-documentation-utils
sbcl-local-time sbcl-piping))
(home-page "https://shinmera.com/docs/verbose/")
(home-page "https://shinmera.github.io/verbose/")
(synopsis "Logging framework using the piping library")
(description
"This is a Common Lisp library providing logging faciltiy similar to
@@ -35065,7 +35078,7 @@ reading and writing.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/shinmera/zippy/")
(url "https://github.com/Shinmera/zippy/")
(commit commit)))
(sha256
(base32 "16cvyyf2nzd9r3fcy4w6d5wh8n3x833wldmrxmnzd3k2xrkhzfl9"))
@@ -35094,7 +35107,7 @@ can read and write zip files. It features:
@item can compress stream->stream;
@item extensible for other encryption and compression mechanisms.
@end itemize\n")
(home-page "https://shinmera.com/docs/zippy/")
(home-page "https://shinmera.github.io/zippy/")
(license license:zlib))))
(define-public cl-zippy
+6 -5
View File
@@ -329,7 +329,7 @@ family of functions.")
(define-public python-burr
(package
(name "python-burr")
(version "0.42.0")
(version "0.40.2")
(source
(origin
(method git-fetch)
@@ -338,7 +338,7 @@ family of functions.")
(commit (string-append "burr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0a2sf72qy9jkamg6r7d37mv7ayp698h031md7arfyq7v8q9q121n"))))
(base32 "0scdfdn2dkan5rkrh5ngai8j4i01rj6d6ncrhvab62r43c0h042q"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4666,7 +4666,7 @@ the tensors contained therein.")
libxml2
llvm-19
opencl-clhpp
opencl-headers-2022
opencl-headers
rang
mesa
mesa-opencl
@@ -4751,6 +4751,7 @@ different backends")
,(python:site-packages inputs outputs)))))))))
(inputs
(list bash-minimal
openblas
python
python-customtkinter
spirv-headers
@@ -6176,7 +6177,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
(define-public ctranslate2
(package
(name "ctranslate2")
(version "4.7.1")
(version "4.6.3")
(source
(origin
(method git-fetch)
@@ -6184,7 +6185,7 @@ Jax, PyTorch and TensorFlow — with a seamless integration between them.")
(url "https://github.com/OpenNMT/CTranslate2")
(commit (string-append "v" version))))
(file-name (git-file-name "CTranslate2" version))
(sha256 (base32 "09gr7pvc2b4xacjg8jbb20rini51071q2x998h88jr85wp5a8824"))
(sha256 (base32 "1msmf1imgvmhji48mjj8cq5y8d8fk8rywqh624vmilfawq75f497"))
(patches (search-patches "ctranslate2-local-build.patch"))))
(build-system cmake-build-system)
(arguments
+3 -2
View File
@@ -1939,7 +1939,7 @@ compresses it.")
(define-public claws-mail
(package
(name "claws-mail")
(version "4.4.0")
(version "4.3.1")
(source
(origin
(method url-fetch)
@@ -1948,7 +1948,7 @@ compresses it.")
version ".tar.xz"))
(sha256
(base32
"0nr5r8lzg44sdawa8hjdadgbnpnh0m0m51j1h1cpmk8gbyfm9q03"))))
"19k8yii61n6j80riw6i8nzypygb0kv3b6npw5ljmiav7qw8g5bfq"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@@ -1990,6 +1990,7 @@ compresses it.")
compface
curl
dbus
dbus-glib
enchant
expat
fontconfig
+10 -60
View File
@@ -507,13 +507,13 @@ triangulations.")
(define-public units
(package
(name "units")
(version "2.26")
(version "2.25")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
"0m1whwcggib8kyzmcjkw94sxnd8r19d7bh6k6gj2w8g2kyjgfhsc"))))
"02zclvjji25hsdriz4jwys5i21dbcmz3i4gap8266k8bq0xg9v9n"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal ;for wrap-program
@@ -4859,40 +4859,6 @@ wedges, pyramids, n-spheres, n-balls, n-cubes, n-simplices, and the
integration of real-, complex-, and vector-valued functions.")
(license license:gpl3+)))
(define-public python-simplesat
(package
(name "python-simplesat")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/enthought/sat-solver")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "--ignore=old")))
(native-inputs
(list python-mock
python-pytest
python-pyyaml
python-setuptools))
(propagated-inputs
(list python-attrs
python-okonomiyaki
python-six))
(home-page "https://github.com/enthought/sat-solver")
(synopsis
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
(description
"This package provides a prototype Python implementation for SAT-based
problems.")
(license license:bsd-3)))
(define-public slepc
(package
(name "slepc")
@@ -6078,38 +6044,29 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
(version "0.3.31")
(version "0.3.30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenMathLib/OpenBLAS")
(url "https://github.com/xianyi/OpenBLAS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ifbbk4mg4ykm92i9b09wwbcwpyzlfzn8lhds8f3p7cbcga7q530"))))
;; To build the package, we can either rely on a preset Makefile, or
;; generate a new one through a CMake configuration.
;; We choose the first option, so we delete the configure phase and we set
;; the build system to gnu-build-system to build the package through the
;; 'make' command.
"08crjjs7avnkk7l226pghhz68mw9ak62xcghc9hdpshbflwzd0vy"))))
(build-system gnu-build-system)
(arguments
(list
;; Set the test target (but tests are indeed already run in the build
;; phase, which calls 'make -C test all').
#:test-target "test"
;; No default baseline is supplied for powerpc-linux.
#:substitutable? (not (target-ppc32?))
#:make-flags
#~(list (string-append "PREFIX=" #$output)
"CFLAGS=-O3" ; optimization flags
"FFLAGS=-O3" ; optimization flags
"SHELL=bash"
"DEBUG=1" ; enable debug symbols -g
"MAKE_NB_JOBS=0" ; use jobserver for submakes
"NO_STATIC=1" ; avoid a 67 MiB static archive
"DEBUG=1" ; enable debug symbols
"MAKE_NB_JOBS=0" ;use jobserver for submakes
"NO_STATIC=1" ;avoid a 67 MiB static archive
;; This is the maximum number of threads OpenBLAS will ever use
;; (that is, if $OPENBLAS_NUM_THREADS is greater than that, then
@@ -6118,13 +6075,6 @@ parts of it.")
;; obviously wrong.
"NUM_THREADS=128"
;; OpenMP support prevents deadlocks when multithreaded Openblas
;; is called from an OpenMP parallel region and takes care of
;; deactivating threads when necessary. See
;; http://www.openmathlib.org/OpenBLAS/docs/faq/#using-openblas-with-openmp
;; for more details.
"USE_OPENMP=1"
;; DYNAMIC_ARCH is only supported on some architectures.
;; DYNAMIC_ARCH combined with TARGET=GENERIC provides a library
;; which uses the optimizations for the detected CPU. This can
@@ -6152,13 +6102,13 @@ parts of it.")
((target-riscv64?)
'("TARGET=RISCV64_GENERIC"))
(else '())))
;; no configure script
#:phases
#~(modify-phases %standard-phases
;; Skip configure phase since we rely on a preset Makefile.
(delete 'configure)
;; Get libgfortran found when building in utest.
(add-before 'build 'set-extralib
(lambda* (#:key inputs #:allow-other-keys)
;; Get libgfortran found when building in utest.
(setenv "FEXTRALIB"
(string-append
"-L"
+8 -8
View File
@@ -115,15 +115,15 @@ Health Federation.")
(define-public orthanc
(package
(name "orthanc")
(version "1.12.10")
(version "1.12.7")
(source
(origin
(method hg-fetch)
(uri (hg-reference (url "https://orthanc.uclouvain.be/hg/orthanc")
(changeset "8628c32729cf")))
(changeset "a30cc2fa7250")))
(file-name (hg-file-name name version))
(sha256
(base32 "16xkbs6amhx81yvn7avkg8nwha6sj55l6vipa5290yf0rgygyadr"))))
(base32 "1n8v0dh17g9ihny8cpq63qd6ai5l95i5h3sz9vwzfnd7q3qh0rb9"))))
(build-system cmake-build-system)
(arguments
(list
@@ -147,7 +147,7 @@ Health Federation.")
;; /etc/localtime is not present in the build container;
;; don't let that stop the build.
(substitute* "OrthancFramework/Sources/Toolbox.cpp"
(("if \\(!boost::filesystem::exists\\(LOCALTIME\\)\\)")
(("if \\(!SystemToolbox::IsExistingFile\\(LOCALTIME\\)\\)")
"if (false)"))))
;; There is no test target; simply run the binary.
(replace 'check
@@ -158,7 +158,7 @@ Health Federation.")
glibc-utf8-locales ;for one test
googletest
python))
(inputs (list boost
(inputs (list boost-1.83
civetweb
curl
dcmtk
@@ -184,11 +184,11 @@ mechanism for extending its functionality.")
(define-public orthanc-postgresql
;; No tags provided.
(let ((changeset "81d837d7d20d")
(let ((changeset "ddc98844d931")
(revision "0"))
(package
(name "orthanc-postgresql")
(version (git-version "10.0" revision changeset))
(version (git-version "7.2" revision changeset))
(source
(origin
(method hg-fetch)
@@ -197,7 +197,7 @@ mechanism for extending its functionality.")
(changeset changeset)))
(file-name (hg-file-name name version))
(sha256
(base32 "1ijxa8hlpxjcrcp0b54fzmxf01lqb9741bff4ak1nw24sn9z96ai"))))
(base32 "1zv2lrj0f3fahmdyiwyj70ayv5ysa3cj33i58fbk7hy2zclrkjzf"))))
(build-system cmake-build-system)
(arguments
(list
-9
View File
@@ -695,15 +695,6 @@ is to provide an accurate identifier for record tracks.")
(sha256
(base32 "0v866n5rwdz45ks8dlhl8hzx3p54hcjl0rz7x3rbsj4c96jn0m5c"))))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-gst-init
(lambda _
;; `None' is no longer accepted as of gstreamer
;; 2.28.1.
(substitute* "audioread/gstdec.py"
(("Gst.init\\(None\\)")
"Gst.init([])")))))))
(propagated-inputs (list ffmpeg python-pygobject))
(native-inputs
(list gstreamer
+88 -139
View File
@@ -38,7 +38,6 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
@@ -52,8 +51,6 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages oneapi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages profiling)
#:use-module (gnu packages python)
@@ -67,12 +64,9 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rocm)
#:use-module (gnu packages rocm-tools)
#:use-module (gnu packages ssh)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@@ -111,43 +105,42 @@
(native-inputs
(list pkg-config))
(arguments
(list #:configure-flags
#~(list "--localstatedir=/var")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
`(#:configure-flags '("--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-before 'check 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/linux-libnuma', which fails on some
;; machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-after 'install 'refine-libnuma
;; Give -L arguments for libraries to avoid propagation
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "lib"))
(numa (assoc-ref inputs "numactl")))
(substitute* (map (lambda (f) (string-append out "/" f))
'("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
(("-lnuma" lib)
(string-append "-L" numa "/lib " lib))))))
(add-after 'install 'avoid-circular-references
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib")))
;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
;; "lib" output doesn't refer to "out".
(substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
(("^.*prefix=.*$")
"")))))
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
;; Move section 3 man pages to the "doc" output.
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(copy-recursively (string-append out "/share/man/man3")
(string-append doc "/share/man/man3"))
(delete-file-recursively
(string-append out "/share/man/man3"))))))))
(home-page "https://www.open-mpi.org/projects/hwloc/")
(synopsis "Abstraction of hardware architectures")
(description
@@ -167,7 +160,7 @@ bind processes, and much more.")
(define-public hwloc-2
(package
(inherit hwloc-1)
(version "2.13.0")
(version "2.12.2")
(source (origin
(method url-fetch)
(uri (string-append "https://download.open-mpi.org/release/hwloc/v"
@@ -175,59 +168,34 @@ bind processes, and much more.")
"/hwloc-" version ".tar.bz2"))
(sha256
(base32
"1aqdznqp7f18yg95vbr5n6ccxxdiywacygvn3wbhzn7bnspkdsaj"))
;; XXX: Remove after updating package from 2.13.0.
(patches (search-patches "hwloc-add-with-opencl.patch"))))
"182v0n2mpnbvdsw0gjnbmaj027k2jxmw7yphi89i9dgb1zbn2gjn"))))
(native-inputs (modify-inputs (package-native-inputs hwloc-1)
(append autoconf)
(append automake)
(append libtool)
(append opencl-headers)
(append bash))) ;for completion tests
(inputs (modify-inputs (package-inputs hwloc-1)
(append level-zero)
;; XXX: rocm-smi requires libdrm/drm.h but doesn't propagate a
;; package providing these. For now, libdrm is used to provide
;; this header.
(append libdrm)
(append libxml2)
(append opencl-icd-loader)
(append rocm-smi-lib)
(delete "numactl"))) ;libnuma is no longer needed.
(arguments
(substitute-keyword-arguments (package-arguments hwloc-1)
((#:configure-flags flags '())
#~(cons* (string-append "--with-opencl="
#$(this-package-input "opencl-icd-loader"))
"--enable-rsmi"
(string-append "--with-rocm="
#$(this-package-input "rocm-smi-lib"))
#$flags))
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'delete-configure
(lambda _
;; Remove configure file to generate it with patch.
(delete-file "configure")))
(replace 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-before 'check 'skip-tests-that-require-/sys
(lambda _
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
(add-before 'check 'skip-test-that-fails-on-qemu
(lambda _
;; Skip test that fails on emulated hardware due to QEMU bug:
;; <https://bugs.gnu.org/40342>.
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
(("hwloc_topology_init" all)
(string-append "exit (77);\n" all)))))))))))
`(modify-phases ,phases
(replace 'skip-linux-libnuma-test
(lambda _
;; Arrange to skip 'tests/hwloc/linux-libnuma', which fails on
;; some machines: <https://github.com/open-mpi/hwloc/issues/213>.
(substitute* "tests/hwloc/linux-libnuma.c"
(("numa_available\\(\\)")
"-1"))))
(add-before 'check 'skip-tests-that-require-/sys
(lambda _
;; 'test-gather-topology.sh' requires /sys as of 2.9.0; skip it.
(setenv "HWLOC_TEST_GATHER_TOPOLOGY" "0")))
(add-before 'check 'skip-test-that-fails-on-qemu
(lambda _
;; Skip test that fails on emulated hardware due to QEMU bug:
;; <https://bugs.gnu.org/40342>.
(substitute* "tests/hwloc/hwloc_get_last_cpu_location.c"
(("hwloc_topology_init" all)
(string-append "exit (77);\n" all)))))))))))
(define-public hwloc
;; The latest stable series of hwloc.
@@ -278,43 +246,43 @@ bind processes, and much more.")
(outputs '("out" "debug"))
(arguments
(list
#:configure-flags #~(list (string-append
"CFLAGS=-g -O2"
" -Wno-error=implicit-function-declaration"
" -Wno-error=incompatible-pointer-types")
"--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
#:configure-flags #~`(#$(string-append
"CFLAGS=-g -O2"
" -Wno-error=implicit-function-declaration"
" -Wno-error=incompatible-pointer-types")
"--enable-mpi-ext=affinity" ;cr doesn't work
"--with-sge"
"--disable-static"
#$@(if (package? (this-package-input "valgrind"))
#~("--enable-memchecker"
"--with-valgrind")
#~("--without-valgrind"))
#$@(if (package? (this-package-input "valgrind"))
#~("--enable-memchecker"
"--with-valgrind")
#~("--without-valgrind"))
"--with-hwloc=external"
"--with-libevent"
"--with-hwloc=external"
"--with-libevent"
;; Help 'orterun' and 'mpirun' find their tools
;; under $prefix by default.
"--enable-mpirun-prefix-by-default"
;; Help 'orterun' and 'mpirun' find their tools
;; under $prefix by default.
"--enable-mpirun-prefix-by-default"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
"--enable-openib-udcm"
"--enable-openib-rdmacm"
"--enable-openib-rdmacm-ibaddr"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
"--enable-openib-udcm"
"--enable-openib-rdmacm"
"--enable-openib-rdmacm-ibaddr"
;; Enable support for the 'Process Management
;; Interface for Exascale' (PMIx) used e.g. by
;; Slurm for the management communication and
;; coordination of MPI processes.
"--with-pmix=internal"
;; Enable support for the 'Process Management
;; Interface for Exascale' (PMIx) used e.g. by
;; Slurm for the management communication and
;; coordination of MPI processes.
"--with-pmix=internal"
;; Enable support for SLURM's Process Manager
;; Interface (PMI).
(string-append "--with-pmi="
#$(this-package-input "slurm")))
;; Enable support for SLURM's Process Manager
;; Interface (PMI).
,(string-append "--with-pmi="
#$(this-package-input "slurm")))
#:phases #~(modify-phases %standard-phases
;; opensm is needed for InfiniBand support.
(add-after 'unpack 'find-opensm-headers
@@ -464,25 +432,6 @@ software vendors, application developers and computer science researchers.")
#:disallowed-references (list (canonical-package gcc))))))
;; XXX: ROCm support in Open MPI is enabled in a variant and not in the base
;; package due to its dependency rocm-hip-runtime retaining references to
;; clang-rocm, which causes the closure to go from ~400MB to ~2.4GB. See
;; https://codeberg.org/guix/guix/issues/5585
(define-public openmpi-rocm
(package/inherit openmpi-5
(name "openmpi-rocm")
(arguments
(substitute-keyword-arguments (package-arguments openmpi-5)
((#:configure-flags flags '())
#~(cons* (string-append "--with-rocm="
#$(this-package-input "rocm-hip-runtime"))
#$flags))))
(inputs (modify-inputs (package-inputs openmpi-5)
;; XXX: This might break openmpi-5 for architectures where ROCm
;; is not supported.
(append rocm-hip-runtime)))
(synopsis "MPI-3 implementation (with ROCm support)")))
(define-public openmpi-c++
(package/inherit openmpi
(name "openmpi-c++")
+2 -5
View File
@@ -62,7 +62,6 @@
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1451,11 +1450,10 @@ and auto-mapping slices to MIDI note numbers.")
(home-page "https://github.com/clearly-broken-software/ninjas2")
(license license:gpl3+)))
;; This package tracks the stable release of LilyPond.
(define-public lilypond
(package
(name "lilypond")
(version "2.24.4")
(version "2.25.30")
(source
(origin
(method url-fetch)
@@ -1463,7 +1461,7 @@ and auto-mapping slices to MIDI note numbers.")
"v" (version-major+minor version) "/"
"lilypond-" version ".tar.gz"))
(sha256
(base32 "073qa7m9xkghad4x37rxb9v45vp4vfmsylwnjzhj17y7f4ss0vz9"))))
(base32 "0q5id9v211i9zgjmwzmvi2qfvr3flh55kh476653r04a2br53962"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ;out-test/collated-files.html fails
@@ -7926,7 +7924,6 @@ streaming audio server.")
(native-inputs
(list xorg-server-for-tests
gettext-minimal
gobject-introspection
python-pytest
python-setuptools))
(inputs
+6 -7
View File
@@ -4040,7 +4040,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(define-public hcxtools
(package
(name "hcxtools")
(version "7.1.2")
(version "7.0.1")
(source
(origin
(method git-fetch)
@@ -4048,7 +4048,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(url "https://github.com/ZerBea/hcxtools")
(commit version)))
(sha256
(base32 "0da9ad3v53x080b75q34zi16mnd58xl5s5w6afafgq406ajd2zdz"))
(base32 "07j8fcy9fq1i4jns6v1gx85pm34q56022aw391mdzxq5yka7wpjr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs (list pkg-config))
@@ -5116,7 +5116,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(define-public yggtray
(package
(name "yggtray")
(version "0.1.15")
(version "0.1.14")
(source
(origin
(method git-fetch)
@@ -5125,7 +5125,7 @@ IPv6 Internet connectivity - it also works over IPv4.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0dv1aaps1kj9dspnawcv0da2jj3pj03am1cynh9p31a2kin8j9jp"))))
(base32 "1n4pg5fdbqf579d4xajah5y5dawizp8c8difwfsk7xrvjd3w5rcf"))))
(build-system cmake-build-system)
(arguments
(list
@@ -5158,7 +5158,7 @@ daemon.")
(define-public nebula
(package
(name "nebula")
(version "1.10.3")
(version "1.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5167,7 +5167,7 @@ daemon.")
(file-name (git-file-name name version))
(sha256
(base32
"0y0c9l6dzhdrhfzss1hv2sm18y2qzgmkcyiw9s3rav3ij1kcspxh"))
"1x4r8b3ny0vxipf404l8z00m5cs7cfy810670gmznl61jkaq1zd7"))
;; Remove windows-related binary blobs and files
(snippet
#~(begin
@@ -5196,7 +5196,6 @@ daemon.")
"nebula-cert")))))))
(inputs
(list go-dario-cat-mergo
go-filippo-io-bigmod
go-github-com-anmitsu-go-shlex
go-github-com-armon-go-radix
go-github-com-cyberdelia-go-metrics-graphite
+1 -3
View File
@@ -75,16 +75,14 @@
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Ensure writable cache directory
(setenv "HOME" "/tmp")
;; Remove test that relies on network access.
(delete-file "pynicotine/tests/unit/test_version.py")
(invoke "xvfb-run" "python" "-m" "unittest")))))))
(inputs (list bash-minimal
gspell
gtk
python-pycairo
python-pygobject
gobject-introspection
libappindicator
python-pytaglib))
(native-inputs (list gettext-minimal python-setuptools xvfb-run))
+7 -24
View File
@@ -59,13 +59,11 @@
;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader
;; note that they are released together (lockstep) and must be updated
;; together. Bump this version number and update hashes below
(define %opencl-version "2025.07.22")
;; together.
(define-public opencl-headers
(package
(name "opencl-headers")
(version %opencl-version)
(version "2024.10.24")
(source
(origin
(method git-fetch)
@@ -74,7 +72,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rir72cdigwkj3a0k8l066fgzvh41yf6vrczzflwh0h4vq3g7h2x"))))
(base32 "0c3s6g8b3ggfr36cl27axdf3kn79kj6cb880jizcf6q89nw6nf98"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Not enabled during build.
(synopsis "The Khronos OpenCL headers")
@@ -83,25 +81,10 @@
(home-page "https://registry.khronos.org/OpenCL/")
(license license:asl2.0)))
(define-public opencl-headers-2022
(package
(inherit opencl-headers)
(name "opencl-headers")
(version "2022.09.30")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/OpenCL-Headers")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0vzzkj5kd0invm5pvzlnhdl21n00jci6131a2cjviyz0vxp7xf2m"))))))
(define-public opencl-clhpp
(package
(name "opencl-clhpp")
(version %opencl-version)
(version "2024.10.24")
(source
(origin
(method git-fetch)
@@ -110,7 +93,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d7zyf2s2xpa002c36a081gyldai0mph3pjnyvswhx34c2b8yi44"))))
(base32 "1s9z30p80qc1dgp04wvc6szgcs4r167m3nk9622d2bbaaalgd5vg"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;The regression tests require a lot more dependencies.
@@ -127,7 +110,7 @@
(define-public opencl-icd-loader
(package
(name "opencl-icd-loader")
(version %opencl-version)
(version "2024.10.24")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -136,7 +119,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"12y5v3ri9dqm3zbhg6axy02hbcb0g23f44m2jvyvc2zv0lvy42wg"))))
"0rnyx83iwisxfj818dzf016fmi62kk1hrlfav0b8a1pjfbzmvr03"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests need stub loader setup.
(native-search-paths
+4 -4
View File
@@ -12,7 +12,7 @@
;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2023, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
@@ -188,8 +188,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.5.0")
(commit "520785e315eddbe47199ac557e88e60eca3ae97c")
(revision 2))
(commit "deedd482e437182dc8e35b9ef260cfd0dc68e7f2")
(revision 1))
(package
(name "guix")
@@ -205,7 +205,7 @@
(commit commit)))
(sha256
(base32
"1kkryhrr2vxyirr5xzl69386kvy9rqlkpz10qbdv222dw628lcda"))
"14rch8ycl3zy0da4xkrnbyjsxlwnfcm30dfrvjqcgz5s2v71jiaq"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
-45
View File
@@ -19,7 +19,6 @@
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Reza Housseini <reza@housseini.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -834,47 +833,3 @@ outside of a PMIx-enabled environment.")
(home-page "https://openpmix.github.io/")
;; The provided license is kind of BSD-style but specific.
(license (license:fsf-free "https://github.com/openpmix/prrte?tab=License-1-ov-file#License-1-ov-file"))))
(define-public python-simple-slurm
(package
(name "python-simple-slurm")
(version "0.3.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/amq92/simple_slurm")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1vfbd8rp4qd9375f2v26dm99c53jc3x3dpcllz812ly964qi7rnd"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list
;; these tests need slurm installed
"--deselect=test/test_cli.py::Testing::test_01_using_equal"
"--deselect=test/test_cli.py::Testing::test_02_using_spaces"
"--deselect=test/test_cli.py::Testing::test_03_using_equal_and_spaces"
"--deselect=test/test_core.py::Testing::test_14_srun_returncode"
"--deselect=test/test_core.py::Testing::test_15_sbatch_execution"
"--deselect=test/test_core.py::Testing::test_19_sbatch_execution_with_job_file"
"--deselect=test/test_core.py::Testing::test_22_parsable_sbatch_execution")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'hardcode-sbatch-and-srun-command
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "simple_slurm/core.py"
(("\"sbatch\"")
(string-append "\"" (search-input-file inputs "/bin/sbatch") "\""))
(("\"srun\"")
(string-append "\"" (search-input-file inputs "/bin/srun") "\""))))))))
(native-inputs (list python-setuptools python-pytest))
(inputs (list slurm))
(home-page "https://github.com/amq92/simple_slurm")
(synopsis "Simple Python wrapper for Slurm with flexibility in mind")
(description
"This package provides a simple Python wrapper for Slurm with flexibility in
mind.")
(license license:agpl3)))
+1 -4
View File
@@ -45,7 +45,6 @@
;;; Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Isidor Zeuner <guix@quidecco.pl>
;;; Copyright © 2026 John Dawson <dawson.john.andrew@gmail.com>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -137,7 +136,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wm)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
@@ -874,8 +872,7 @@ command-line programs (@command{pwqcheck}, @command{pwqfilter}, and
(string-append #$output "/share/man/man1")))))))
(build-system pyproject-build-system)
(inputs
(list bash-minimal gtk gobject-introspection python-i3ipc python-xdo
python-gpg python-pygobject))
(list bash-minimal gtk+ python-xdo python-gpg python-pygobject))
(propagated-inputs
(list xclip))
(native-inputs
-33
View File
@@ -1,33 +0,0 @@
Upstream status: https://github.com/ghollisjr/cl-ana/pull/49
From 491ba1127126ca6209b7c4dc1485377c7f772f7e Mon Sep 17 00:00:00 2001
From: Philip Taron <philip.taron@gmail.com>
Date: Mon, 16 Feb 2026 12:32:04 -0800
Subject: [PATCH] Fix type error in fixed-mem-cache for SBCL 2.6.0
In cl-ana.makeres, the fixed-mem-cache function uses
(setf (cdr (last cache)) (list id)) where cache can be nil (initial
state or after popping all elements). (last nil) returns nil, making
(setf (cdr nil) ...) undefined. SBCL 2.6.0's stricter type inference
catches this as a type conflict, causing COMPILE-FILE-ERROR.
Replace with nconc which handles the nil case correctly.
---
makeres/makeres.lisp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/makeres/makeres.lisp b/makeres/makeres.lisp
index 1999ac4..373bb57 100644
--- a/makeres/makeres.lisp
+++ b/makeres/makeres.lisp
@@ -936,8 +936,8 @@ compressed storage, but alas."
(> total maxmem))
do (unload-target (pop cache))))
(load-target id)
- (setf (cdr (last cache))
- (list id)))))))))
+ (setf cache
+ (nconc cache (list id))))))))))
;; Caching utility functions:
@@ -1,30 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-08
License: ASL2.0
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
The [patch] sections point to git repositories which are unavailable
in an offline build. The vendored crossterm, ratatui,
tokio-tungstenite and tungstenite forks are provided as cargo-inputs
instead.
--- a/codex-rs/Cargo.toml
+++ b/codex-rs/Cargo.toml
@@ -311,16 +311,3 @@
debug = 1 # Reduce debug symbol size
inherits = "test"
opt-level = 0
-
-[patch.crates-io]
-# Uncomment to debug local changes.
-# ratatui = { path = "../../ratatui" }
-crossterm = { git = "https://github.com/nornagon/crossterm", branch = "nornagon/color-query" }
-ratatui = { git = "https://github.com/nornagon/ratatui", branch = "nornagon-v0.29.0-patch" }
-tokio-tungstenite = { git = "https://github.com/JakkuSakura/tokio-tungstenite", rev = "2ae536b0de793f3ddf31fc2f22d445bf1ef2023d" }
-
-# Uncomment to debug local changes.
-# rmcp = { path = "../../rust-sdk/crates/rmcp" }
-
-[patch."ssh://git@github.com/JakkuSakura/tungstenite-rs.git"]
-tungstenite = { git = "https://github.com/JakkuSakura/tungstenite-rs", rev = "f514de8644821113e5d18a027d6d28a5c8cc0a6e" }
@@ -1,92 +0,0 @@
From 8d651d7247c4e8cf07ba805712cdb09e8095dd89 Mon Sep 17 00:00:00 2001
Message-ID: <8d651d7247c4e8cf07ba805712cdb09e8095dd89.1773006315.git.dannym@friendly-machines.com>
From: Danny Milosavljevic <dannym@friendly-machines.com>
Date: Sun, 8 Mar 2026 21:44:05 +0000
Subject: [PATCH] Scope native-comp trampoline disabling to spy-on only
See: <https://github.com/jorgenschaefer/emacs-buttercup/pull/257>
buttercup-with-cleanup disabled native-comp-enable-subr-trampolines
for the entire spec execution. This was a workaround for Emacs
bug#61880, where trampoline compilation fails when spy-on redefines
primitives that the trampoline compiler itself depends on (e.g.
file-exists-p).
However, disabling trampolines globally has the side effect that fset
overrides of C primitives become invisible to natively compiled code.
This breaks shut-up's message override when called indirectly through
native-compiled functions like display-message-or-buffer (from
simple.eln), because without a trampoline, the native code calls the C
primitive directly, bypassing the fset'd function.
Move the trampoline disabling from buttercup-with-cleanup into
buttercup--spy-on-and-call-replacement, scoping it to just the fset
call that installs the spy. This avoids the trampoline compilation
issue while allowing other fset overrides (e.g. from shut-up or
cl-letf) to work correctly with native-compiled callers.
---
buttercup.el | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/buttercup.el b/buttercup.el
index 07e003f..417786d 100644
--- a/buttercup.el
+++ b/buttercup.el
@@ -1293,12 +1293,23 @@ responsibility to ensure ARG is a command."
(error "Spies can only be created in `before-each' or `it'"))))
+(defvar native-comp-enable-subr-trampolines)
+(defvar comp-enable-subr-trampolines)
+
(defun buttercup--spy-on-and-call-replacement (spy fun)
"Replace the function in symbol SPY with a spy calling FUN."
(let ((orig-function (and (fboundp spy) (symbol-function spy))))
(when (buttercup--add-cleanup (lambda ()
(fset spy orig-function)))
- (fset spy (buttercup--make-spy fun)))))
+ ;; Disable subr trampoline generation around the fset call.
+ ;; Redefining certain primitives causes trampoline compilation
+ ;; to fail because the trampoline compiler itself depends on
+ ;; primitives that may have just been redefined.
+ ;; See <https://github.com/jorgenschaefer/emacs-buttercup/issues/230>
+ ;; and <https://debbugs.gnu.org/61880>.
+ (let ((native-comp-enable-subr-trampolines nil)
+ (comp-enable-subr-trampolines nil))
+ (fset spy (buttercup--make-spy fun))))))
(defun buttercup--make-spy (fun)
"Create a new spy function wrapping FUN and tracking every call to itself."
@@ -1343,24 +1354,13 @@ responsibility to ensure ARG is a command."
Should always be set to a value that is not `listp', except while
in a `buttercup-with-cleanup' environment.")
-(defvar native-comp-enable-subr-trampolines)
-(defvar comp-enable-subr-trampolines)
-
(defmacro buttercup-with-cleanup (&rest body)
"Execute BODY, cleaning spys and the rest afterwards."
- `(,@(if (fboundp 'with-suppressed-warnings)
- '(with-suppressed-warnings ((obsolete comp-enable-subr-trampolines)))
- '(progn))
- (let ((buttercup--cleanup-functions nil)
- ;; Redefining certain primitive's trampolines will cause problems,
- ;; see https://github.com/jorgenschaefer/emacs-buttercup/issues/230 and
- ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61880
- (comp-enable-subr-trampolines nil)
- (native-comp-enable-subr-trampolines nil))
- (unwind-protect (progn ,@body)
- (dolist (fun buttercup--cleanup-functions)
- (ignore-errors
- (funcall fun)))))))
+ `(let ((buttercup--cleanup-functions nil))
+ (unwind-protect (progn ,@body)
+ (dolist (fun buttercup--cleanup-functions)
+ (ignore-errors
+ (funcall fun))))))
(defun buttercup--add-cleanup (function)
"Register FUNCTION for cleanup in `buttercup-with-cleanup'."
base-commit: cc5a2ab7c7f18aaaf525fac61fe59bae5ad018dd
--
2.52.0
@@ -0,0 +1,40 @@
diff --git a/test/mke2fs.dump b/test/mke2fs.dump
index 8e63662..0c25798 100644
--- a/test/mke2fs.0.dump
+++ b/test/mke2fs.0.dump
@@ -11,7 +11,7 @@
Inode count: 8192
Block count: 32768
Reserved block count: 1638
-Free blocks: 26568
+Free blocks: 26566
Free inodes: 8141
First block: 1
Block size: 1024
@@ -29,7 +29,7 @@
Maximum mount count: -1
Last checked: Sat Jan 1 00:00:00 2000
Check interval: 0 (<none>)
-Lifetime writes: 141 kB
+Lifetime writes: 143 kB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
@@ -51,13 +51,13 @@
Journal start: 0
-Group 0: (Blocks 1-8192) csum 0x74a0 [ITABLE_ZEROED]
+Group 0: (Blocks 1-8192) csum 0x3f30 [ITABLE_ZEROED]
Primary superblock at 1, Group descriptors at 2-2
- Block bitmap at 3 (+2), csum 0x16cec4db
+ Block bitmap at 3 (+2), csum 0x8d67cdef
Inode bitmap at 7 (+6), csum 0xb1052088
Inode table at 11-522 (+10)
- 6093 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
- Free blocks: 2100-8192
+ 6091 free blocks, 1997 free inodes, 18 directories, 1997 unused inodes
+ Free blocks: 2102-8192
Free inodes: 52-2048
Group 1: (Blocks 8193-16384) csum 0x8fde [INODE_UNINIT, BLOCK_UNINIT, ITABLE_ZEROED]
Backup superblock at 8193, Group descriptors at 8194-8194
+32
View File
@@ -0,0 +1,32 @@
Upstream-status: Not presented upstream.
From a4eb7d1f2cbd02132a9f5512f1294182576d4653 Mon Sep 17 00:00:00 2001
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Fri, 8 Nov 2024 11:47:49 +0100
Subject: [PATCH] osdep/hurd: Support the 64bit Hurd.
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
* grub-core/osdep/hurd/getroot.c (grub_util_find_hurd_root_device):
Use mach_msg_type_number_t instead of size_t.
---
grub-core/osdep/hurd/getroot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/osdep/hurd/getroot.c b/grub-core/osdep/hurd/getroot.c
index 0efefdab4..b849700e6 100644
--- a/grub-core/osdep/hurd/getroot.c
+++ b/grub-core/osdep/hurd/getroot.c
@@ -58,7 +58,7 @@ grub_util_find_hurd_root_device (const char *path)
file_t file;
error_t err;
char *argz = NULL, *name = NULL, *ret;
- size_t argz_len = 0;
+ mach_msg_type_number_t argz_len = 0;
int i;
file = file_name_lookup (path, 0, 0);
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
@@ -1,46 +0,0 @@
From 7d7c9ce06837f20d5585f1bc28a47701d12cf8ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Sun, 1 Mar 2026 10:53:21 +0200
Subject: [PATCH] glcolorconvert: Fix NULL pointer dereference on buffers
without video meta
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4935
---
.../gst-libs/gst/gl/gstglcolorconvert.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index f2dc2dc7bbb..c13b4df69de 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -3428,10 +3428,12 @@ _init_convert (GstGLColorConvert * convert)
}
GstVideoMeta *v_meta = gst_buffer_get_video_meta (convert->inbuf);
- if (v_meta->width != convert->priv->padded_width
- || v_meta->height != convert->priv->padded_height) {
- gdouble padded_width = v_meta->width;
- gdouble padded_height = v_meta->height;
+ if ((v_meta && (v_meta->width != convert->priv->padded_width
+ || v_meta->height != convert->priv->padded_height)) ||
+ (!v_meta && (convert->in_info.width != convert->priv->padded_width ||
+ convert->in_info.height != convert->priv->padded_height))) {
+ gdouble padded_width = v_meta ? v_meta->width : convert->in_info.width;
+ gdouble padded_height = v_meta ? v_meta->height : convert->in_info.height;
gdouble display_width = GST_VIDEO_INFO_WIDTH (&convert->in_info);
gdouble display_height = GST_VIDEO_INFO_HEIGHT (&convert->in_info);
@@ -3449,8 +3451,8 @@ _init_convert (GstGLColorConvert * convert)
crop_vertices, GL_STATIC_DRAW);
gl->BindBuffer (GL_ARRAY_BUFFER, 0);
- convert->priv->padded_width = v_meta->width;
- convert->priv->padded_height = v_meta->height;
+ convert->priv->padded_width = padded_width;
+ convert->priv->padded_height = padded_height;
}
gl->BindTexture (GL_TEXTURE_2D, 0);
--
GitLab
@@ -1,90 +0,0 @@
From f30cc463a948260088b496c3609dd91c83c0ce1b Mon Sep 17 00:00:00 2001
From: Brice Goglin <Brice.Goglin@inria.fr>
Date: Mon, 16 Feb 2026 15:00:53 +0100
Subject: [PATCH] configure: add --with-opencl=<dir>
For non-ROCm non-CUDA installs.
Thanks to Romain Garbage for the suggestion.
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
(cherry picked from commit 462eff5a4541dfcb3db15034490c796c4f1d8ec6)
---
config/hwloc.m4 | 18 +++++++++++++++---
config/hwloc_internal.m4 | 13 ++++++++++++-
2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/config/hwloc.m4 b/config/hwloc.m4
index e0057e8e5..4a26a7ec0 100644
--- a/config/hwloc.m4
+++ b/config/hwloc.m4
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl SPDX-License-Identifier: BSD-3-Clause
-dnl Copyright © 2009-2025 Inria. All rights reserved.
+dnl Copyright © 2009-2026 Inria. All rights reserved.
dnl Copyright © 2009-2012, 2015-2017, 2020, 2023, 2025 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@@ -1365,6 +1365,18 @@ return rsmi_init(0);
echo "**** OpenCL configuration"
hwloc_opencl_happy=yes
+
+ if test "x$with_opencl" != x -a "x$with_opencl" != xyes; then
+ opencl_dir=$with_opencl
+ AC_MSG_NOTICE([using custom OpenCL install path $opencl_dir ...])
+ else
+ AC_MSG_NOTICE([assuming OpenCL is installed in standard directories ...])
+ fi
+ if test "x$opencl_dir" != x; then
+ HWLOC_OPENCL_CPPFLAGS="-I$opencl_dir/include/"
+ HWLOC_OPENCL_LDFLAGS="-L$opencl_dir/lib/"
+ fi
+
case ${target} in
*-*-darwin*)
# On Darwin, only use the OpenCL framework
@@ -1387,8 +1399,8 @@ return clGetDeviceIDs(0, 0, 0, NULL, NULL);
;;
*)
# On Others, look for OpenCL at normal locations
- HWLOC_OPENCL_CPPFLAGS="$HWLOC_CUDA_COMMON_CPPFLAGS"
- HWLOC_OPENCL_LDFLAGS="$HWLOC_CUDA_COMMON_LDFLAGS"
+ HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS $HWLOC_CUDA_COMMON_CPPFLAGS"
+ HWLOC_OPENCL_LDFLAGS="$HWLOC_OPENCL_LDFLAGS $HWLOC_CUDA_COMMON_LDFLAGS"
if test "x$rocm_dir" != x; then
if test -d "$rocm_dir/include/CL"; then
HWLOC_OPENCL_CPPFLAGS="$HWLOC_OPENCL_CPPFLAGS -I$rocm_dir/include/"
diff --git a/config/hwloc_internal.m4 b/config/hwloc_internal.m4
index da6505e91..1135a245f 100644
--- a/config/hwloc_internal.m4
+++ b/config/hwloc_internal.m4
@@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl SPDX-License-Identifier: BSD-3-Clause
-dnl Copyright © 2010-2025 Inria. All rights reserved.
+dnl Copyright © 2010-2026 Inria. All rights reserved.
dnl Copyright © 2009, 2011 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@@ -147,6 +147,17 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
[AC_MSG_ERROR([--with-amdgpu=<dir> missing the installation directory])])]
)
+ # OpenCL
+ AC_ARG_ENABLE([opencl],
+ AS_HELP_STRING([--disable-opencl],
+ [Disable the OpenCL device discovery]))
+ AC_ARG_WITH([opencl],
+ AS_HELP_STRING([--with-opencl=<dir>],
+ [Specify the OpenCL installation directory]),
+ [AS_IF([test "x$withval" = xyes -o "x$withval" = x],
+ [AC_MSG_ERROR([--with-opencl=<dir> missing the installation directory])])]
+ )
+
# LevelZero
AC_ARG_ENABLE([levelzero],
AS_HELP_STRING([--disable-levelzero],
+75
View File
@@ -0,0 +1,75 @@
Uptream-status: https://github.com/YosysHQ/nextpnr/pull/1480
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
index ff5d9208..c554cc96 100644
--- a/gui/CMakeLists.txt
+++ b/gui/CMakeLists.txt
@@ -46,12 +46,42 @@ target_include_directories(nextpnr-${target}-gui PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
+# Detect whether imgui/qtimgui packages are available from the system.
+find_path(IMGUI_INCLUDE_DIR NAMES imgui.h PATH_SUFFIXES imgui)
+find_path(QTIMGUI_INCLUDE_DIR NAMES QtImGui.h PATH_SUFFIXES qtimgui)
+find_library(IMGUI_LIB NAMES imgui)
+find_library(QTIMGUI_LIB NAMES qt_imgui_widgets)
+if (IMGUI_INCLUDE_DIR AND IMGUI_LIB)
+ message("Using system imgui library:
+ IMGUI_INCLUDE_DIR=${IMGUI_INCLUDE_DIR}
+ IMGUI_LIB=${IMGUI_LIB}")
+else()
+ message("Using bundled imgui library")
+ set(IMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/imgui)
+ set(IMGUI_SOURCES
+ ../3rdparty/imgui/imgui_widgets.cpp
+ ../3rdparty/imgui/imgui_draw.cpp
+ ../3rdparty/imgui/imgui.cpp
+ ../3rdparty/imgui/imgui_demo.cpp)
+endif()
+if (QTIMGUI_INCLUDE_DIR AND QTIMGUI_LIB)
+ message("Using system qtimgui library:
+ QTIMGUI_INCLUDE_DIR=${QTIMGUI_INCLUDE_DIR}
+ QTIMGUI_LIB=${QTIMGUI_LIB}")
+else()
+ message("Using bundled qtimgui library")
+ set(QTIMGUI_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui)
+ set(QTIMGUI_SOURCES
+ ../3rdparty/qtimgui/ImGuiRenderer.cpp
+ ../3rdparty/qtimgui/QtImGui.cpp)
+endif()
+
target_include_directories(nextpnr-${target}-gui PRIVATE
${CMAKE_SOURCE_DIR}/frontend
${CMAKE_SOURCE_DIR}/json
${CMAKE_SOURCE_DIR}/3rdparty/QtPropertyBrowser/src
- ${CMAKE_SOURCE_DIR}/3rdparty/imgui
- ${CMAKE_SOURCE_DIR}/3rdparty/qtimgui
+ ${IMGUI_INCLUDE_DIR}
+ ${QTIMGUI_INCLUDE_DIR}
)
target_link_libraries(nextpnr-${target}-gui PUBLIC
@@ -77,14 +107,17 @@ if (BUILD_PYTHON)
../3rdparty/python-console/ParseMessage.cpp
../3rdparty/python-console/modified/pyredirector.cc
../3rdparty/python-console/modified/pyinterpreter.cc
- ../3rdparty/imgui/imgui_widgets.cpp
- ../3rdparty/imgui/imgui_draw.cpp
- ../3rdparty/imgui/imgui.cpp
- ../3rdparty/imgui/imgui_demo.cpp
- ../3rdparty/qtimgui/ImGuiRenderer.cpp
- ../3rdparty/qtimgui/QtImGui.cpp
+ ${IMGUI_SOURCES}
+ ${QTIMGUI_SOURCES}
)
+ if (IMGUI_LIB)
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${IMGUI_LIB})
+ endif()
+ if (QTIMGUI_LIB)
+ target_link_libraries(nextpnr-${target}-gui PRIVATE ${QTIMGUI_LIB})
+ endif()
+
target_include_directories(nextpnr-${target}-gui PRIVATE
../3rdparty/python-console
../3rdparty/python-console/modified
@@ -0,0 +1,89 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-07
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::try_lock().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>
and is not yet stable in old Rust versions like Rust 1.88.
diff -ruN a/codex-rs/arg0/Cargo.toml b/codex-rs/arg0/Cargo.toml
--- a/codex-rs/arg0/Cargo.toml
+++ b/codex-rs/arg0/Cargo.toml
@@ -17,5 +17,6 @@
codex-core = { workspace = true }
codex-linux-sandbox = { workspace = true }
dotenvy = { workspace = true }
+libc = { workspace = true }
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
diff -ruN a/codex-rs/arg0/src/lib.rs b/codex-rs/arg0/src/lib.rs
--- a/codex-rs/arg0/src/lib.rs
+++ b/codex-rs/arg0/src/lib.rs
@@ -5,6 +5,8 @@
use codex_core::CODEX_APPLY_PATCH_ARG1;
#[cfg(unix)]
+use std::os::unix::io::AsRawFd;
+#[cfg(unix)]
use std::os::unix::fs::symlink;
use tempfile::TempDir;
@@ -13,6 +15,18 @@
const MISSPELLED_APPLY_PATCH_ARG0: &str = "applypatch";
const LOCK_FILENAME: &str = ".lock";
+// FIXME: Remove this helper when Rust provides stable file locking API.
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
+#[cfg(unix)]
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
/// Keeps the per-session PATH entry alive and locked for the process lifetime.
pub struct Arg0PathEntryGuard {
_temp_dir: TempDir,
@@ -216,7 +230,7 @@
.create(true)
.truncate(false)
.open(&lock_path)?;
- lock_file.try_lock()?;
+ try_lock_exclusive(&lock_file)?;
for filename in &[
APPLY_PATCH_ARG0,
@@ -307,10 +321,10 @@
Err(err) => return Err(err),
};
- match lock_file.try_lock() {
+ match try_lock_exclusive(&lock_file) {
Ok(()) => Ok(Some(lock_file)),
- Err(std::fs::TryLockError::WouldBlock) => Ok(None),
- Err(err) => Err(err.into()),
+ Err(ref e) if e.raw_os_error() == Some(libc::EWOULDBLOCK) => Ok(None),
+ Err(err) => Err(err),
}
}
@@ -318,6 +332,7 @@
mod tests {
use super::LOCK_FILENAME;
use super::janitor_cleanup;
+ use super::try_lock_exclusive;
use std::fs;
use std::fs::File;
use std::path::Path;
@@ -350,7 +365,7 @@
let dir = root.path().join("locked");
fs::create_dir(&dir)?;
let lock_file = create_lock(&dir)?;
- lock_file.try_lock()?;
+ try_lock_exclusive(&lock_file)?;
janitor_cleanup(root.path())?;
@@ -0,0 +1,91 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-01-25
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::try_lock()/try_lock_shared().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
and is not yet stable in old Rust versions like Rust 1.85.
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
diff -u a/codex-rs/core/src/message_history.rs b/codex-rs/core/src/message_history.rs
--- a/codex-rs/core/src/message_history.rs
+++ b/codex-rs/core/src/message_history.rs
@@ -41,6 +41,8 @@
use std::os::unix::fs::OpenOptionsExt;
#[cfg(unix)]
use std::os::unix::fs::PermissionsExt;
+#[cfg(unix)]
+use std::os::unix::io::AsRawFd;
/// Filename that stores the message history inside `~/.codex`.
const HISTORY_FILENAME: &str = "history.jsonl";
@@ -51,6 +53,28 @@
const MAX_RETRIES: usize = 10;
const RETRY_SLEEP: Duration = Duration::from_millis(100);
+// FIXME: Remove these helpers when Rust provides stable file locking API
+// The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
+#[cfg(unix)]
+fn try_lock_exclusive(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
+#[cfg(unix)]
+fn try_lock_shared(file: &File) -> std::io::Result<()> {
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_SH | libc::LOCK_NB) };
+ if ret == 0 {
+ Ok(())
+ } else {
+ Err(std::io::Error::last_os_error())
+ }
+}
+
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct HistoryEntry {
pub session_id: String,
@@ -126,7 +150,7 @@
tokio::task::spawn_blocking(move || -> Result<()> {
// Retry a few times to avoid indefinite blocking when contended.
for _ in 0..MAX_RETRIES {
- match history_file.try_lock() {
+ match try_lock_exclusive(&history_file) {
Ok(()) => {
// While holding the exclusive lock, write the full line.
// We do not open the file with `append(true)` on Windows, so ensure the
@@ -137,10 +161,10 @@
enforce_history_limit(&mut history_file, history_max_bytes)?;
return Ok(());
}
- Err(std::fs::TryLockError::WouldBlock) => {
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
std::thread::sleep(RETRY_SLEEP);
}
- Err(e) => return Err(e.into()),
+ Err(e) => return Err(e),
}
}
@@ -341,7 +365,7 @@
// Open & lock file for reading using a shared lock.
// Retry a few times to avoid indefinite blocking.
for _ in 0..MAX_RETRIES {
- let lock_result = file.try_lock_shared();
+ let lock_result = try_lock_shared(&file);
match lock_result {
Ok(()) => {
@@ -368,7 +392,7 @@
// Not found at requested offset.
return None;
}
- Err(std::fs::TryLockError::WouldBlock) => {
+ Err(ref e) if e.kind() == std::io::ErrorKind::WouldBlock => {
std::thread::sleep(RETRY_SLEEP);
}
Err(e) => {
@@ -0,0 +1,49 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-01-25
License: ASL2.0
Subject: Use libc::flock instead of unstable std File::lock().
The file_lock feature is tracked at <https://github.com/rust-lang/rust/issues/130994>.
and is not yet stable in old Rust versions like Rust 1.85.
The file_lock feature was stabilized after Rust 1.88, but we only have 1.88.
diff -u a/codex-rs/execpolicy/Cargo.toml b/codex-rs/execpolicy/Cargo.toml
--- a/codex-rs/execpolicy/Cargo.toml
+++ b/codex-rs/execpolicy/Cargo.toml
@@ -19,6 +19,7 @@
[dependencies]
anyhow = { workspace = true }
clap = { workspace = true, features = ["derive"] }
+libc = { workspace = true }
multimap = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
diff -u a/codex-rs/execpolicy/src/amend.rs b/codex-rs/execpolicy/src/amend.rs
--- a/codex-rs/execpolicy/src/amend.rs
+++ b/codex-rs/execpolicy/src/amend.rs
@@ -1,4 +1,5 @@
use std::fs::OpenOptions;
+use std::os::unix::io::AsRawFd;
use std::io::Read;
use std::io::Seek;
use std::io::SeekFrom;
@@ -100,10 +101,14 @@
path: policy_path.to_path_buf(),
source,
})?;
- file.lock().map_err(|source| AmendError::LockPolicyFile {
- path: policy_path.to_path_buf(),
- source,
- })?;
+ // FIXME: Use file.lock() when Rust 1.91 is available
+ let ret = unsafe { libc::flock(file.as_raw_fd(), libc::LOCK_EX) };
+ if ret != 0 {
+ return Err(AmendError::LockPolicyFile {
+ path: policy_path.to_path_buf(),
+ source: std::io::Error::last_os_error(),
+ });
+ }
let len = file
.metadata()
@@ -1,56 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-27
License: ASL2.0
Subject: Use @SHELL@ placeholder for shebangs in embedded test scripts.
Tests that create and execute temporary shell scripts at runtime use
a hardcoded "#!/bin/sh" shebang. Replace with @SHELL@ so the build
phase can substitute the actual store path.
Also change assertions to print the actual error on failure.
diff -ruN a/codex-rs/rmcp-client/src/program_resolver.rs b/codex-rs/rmcp-client/src/program_resolver.rs
--- a/codex-rs/rmcp-client/src/program_resolver.rs
+++ b/codex-rs/rmcp-client/src/program_resolver.rs
@@ -82,7 +82,7 @@
cmd.envs(&env.mcp_env);
let output = cmd.output().await;
- assert!(output.is_ok(), "Unix should execute scripts directly");
+ output.expect("Unix should execute scripts directly");
Ok(())
}
@@ -134,10 +134,7 @@
cmd.envs(&env.mcp_env);
let output = cmd.output().await;
- assert!(
- output.is_ok(),
- "Resolved program should execute successfully"
- );
+ output.expect("Resolved program should execute successfully");
Ok(())
}
@@ -185,7 +182,7 @@
#[cfg(unix)]
{
let file = dir.join(Self::TEST_PROGRAM);
- fs::write(&file, "#!/bin/sh\nexit 0")?;
+ fs::write(&file, "#!@SHELL@\nexit 0")?;
Self::set_executable(&file)?;
}
diff -ruN a/codex-rs/tui/src/external_editor.rs b/codex-rs/tui/src/external_editor.rs
--- a/codex-rs/tui/src/external_editor.rs
+++ b/codex-rs/tui/src/external_editor.rs
@@ -159,7 +159,7 @@
let dir = tempdir().unwrap();
let script_path = dir.path().join("edit.sh");
- fs::write(&script_path, "#!/bin/sh\nprintf \"edited\" > \"$1\"\n").unwrap();
+ fs::write(&script_path, "#!@SHELL@\nprintf \"edited\" > \"$1\"\n").unwrap();
let mut perms = fs::metadata(&script_path).unwrap().permissions();
perms.set_mode(0o755);
fs::set_permissions(&script_path, perms).unwrap();
@@ -1,20 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-03-05
License: ASL2.0
Subject: Increase per-event test timeout from 10 to 30 seconds.
In resource-constrained build environments, image processing (resize,
base64-encode, JSON serialization) can exceed 10 seconds under CPU
contention, causing intermittent test failures.
diff -ruN a/codex-rs/core/tests/common/lib.rs b/codex-rs/core/tests/common/lib.rs
--- a/codex-rs/core/tests/common/lib.rs
+++ b/codex-rs/core/tests/common/lib.rs
@@ -174,7 +174,7 @@
loop {
// Allow a bit more time to accommodate async startup work (e.g. config IO, tool discovery)
- let ev = timeout(wait_time.max(Duration::from_secs(10)), codex.next_event())
+ let ev = timeout(wait_time.max(Duration::from_secs(30)), codex.next_event())
.await
.expect("timeout waiting for event")
.expect("stream ended unexpectedly");
@@ -1,23 +0,0 @@
Author: Danny Milosavljevic <dannym@friendly-machines.com>
Date: 2026-02-25
License: ASL2.0
Subject: Add version to codex-protocol dependency in windows-sandbox-rs.
The codex-protocol dependency in windows-sandbox-rs uses the TOML table
format with an explicit path, rather than workspace inheritance
(workspace = true). Because it is not an intra-workspace dependency,
cargo cannot resolve its version from the workspace root Cargo.toml
and cargo package fails with "dependency `codex-protocol` does not
specify a version".
diff -u a/codex-rs/windows-sandbox-rs/Cargo.toml b/codex-rs/windows-sandbox-rs/Cargo.toml
--- a/codex-rs/windows-sandbox-rs/Cargo.toml
+++ b/codex-rs/windows-sandbox-rs/Cargo.toml
@@ -38,6 +38,7 @@
[dependencies.codex-protocol]
package = "codex-protocol"
path = "../protocol"
+version = "0.0.0"
[dependencies.rand]
default-features = false
+2 -2
View File
@@ -236,7 +236,7 @@ it.")
(define-public trealla
(package
(name "trealla")
(version "2.91.5")
(version "2.91.3")
(source
(origin
(method git-fetch)
@@ -245,7 +245,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
(base32 "1ih4jx652nnw1cyvsjmz8dmmcylrwl6lmczav9r8m4z7n6flgkql"))
(base32 "1ypwpxgcjz4gxb77pzjj1b202yr083cwj4dwp9m0vw0ynqgsl6va"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
-24
View File
@@ -938,30 +938,6 @@ files (.Z), such as the ones created by Unix's shell tool compress.")
Python.")
(license license:bsd-3)))
(define-public python-zipfile2
(package
(name "python-zipfile2")
(version "0.0.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/itziakos/zipfile2/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-setuptools))
(home-page "https://github.com/itziakos/zipfile2/")
(synopsis "Improved @code{ZipFile} Python class")
(description
"Zipfile2 is a backward compatible replacement to @code{ZipFile}. It
provides handling of symlinks, and exception management.")
(license license:psfl)))
(define-public python-zipp
(package
(name "python-zipp")
+84 -82
View File
@@ -616,28 +616,6 @@ using NumPy-like idioms.")
line drawing algorithm}.")
(license license:expat)))
(define-public python-catppuccin
(package
(name "python-catppuccin")
(version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "catppuccin" version))
(sha256
(base32 "0d38gjn6661pb9jl4bg6l698aw4llir44xacrg8nj8xw6nzz6d9h"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling python-pytest
;; These are optional dependencies but required for tests.
python-matplotlib python-pygments python-rich))
(home-page "https://github.com/catppuccin/python")
(synopsis "Pastel palette for Python libraries")
(description "Catppuccin for Python is a soothing pastel pallete for Python
libraries. It aims to be the middle ground between low and high contrast
themes. It also includes themes for IPython, Matplotlib, Pygments and Rich.")
(license license:expat)))
(define-public python-calmjs-parse
(package
(name "python-calmjs-parse")
@@ -4036,16 +4014,14 @@ commits.")
(define-public python-mkdocs-material
(package
(name "python-mkdocs-material")
(version "7.3.6")
(version "7.1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/squidfunk/mkdocs-material")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri
(pypi-uri "mkdocs-material" version))
(sha256
(base32 "06ghwidcdqimx6jc6yz1zdbyc8rqklkwj5h5cxsihazh0f52fivk"))
(base32 "0ci9xiasq9nfn09v11m7p49vzazdbgslw7rpzjd6y3hsmn9vljz3"))
(modules '((guix build utils)))
(snippet
;; TODO There are still bundled assets and minified JS.
@@ -4076,8 +4052,8 @@ commits.")
""))))
(add-after 'ensure-no-mtimes-pre-1980 'inject-javascript-assets
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "material/assets/javascripts/lunr/min")
(with-directory-excursion "material/assets/javascripts/lunr/min"
(mkdir-p "material/assets/javascripts/min/")
(with-directory-excursion "material/assets/javascripts/min/"
(symlink-js inputs))))
(add-after 'wrap 'replace-javascript-assets
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -4085,9 +4061,9 @@ commits.")
(js-assets (string-append site "/material/"
"assets/javascripts")))
(with-directory-excursion js-assets
(delete-file-recursively "lunr/min")
(mkdir-p "lunr/min")
(with-directory-excursion "lunr/min"
(delete-file-recursively "min")
(mkdir-p "min")
(with-directory-excursion "min"
(symlink-js inputs))))))))))
(native-inputs (list python-setuptools))
(inputs (list js-lunr-ar
@@ -17943,49 +17919,24 @@ JSON Reference and JSON Pointer.")
(define-public python-fastbencode
(package
(name "python-fastbencode")
(version "0.3.9")
(version "0.3.2") ;the last non Rust version
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/breezy-team/fastbencode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "fastbencode" version))
(modules '((guix build utils)))
;; Delete pre-generated Cython C files.
(snippet '(for-each delete-file (find-files "." "\\.c$")))
(sha256
(base32 "0d4sd1c2yv85spxx2gvi2fm0avlgpnb7nfkvw7hpxlx6qlaqi4ad"))))
(base32 "1daal7xgsl2sjxq8pcilcas9wd9j9796wd4rlkhrvv5h0k2k4k53"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-backend #~'unittest
#:test-flags #~(list "tests.test_suite")
#: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)))))))
(inputs (cargo-inputs 'fastbencode))
#:test-flags #~(list "fastbencode.tests.test_suite")))
(native-inputs
(append
(list python-setuptools-rust
rust
`(,rust "cargo"))
(or (and=> (%current-target-system)
(compose list make-rust-sysroot))
'())))
(list python-cython
python-setuptools))
(home-page "https://github.com/breezy-team/fastbencode")
(synopsis "Python Bencode (de)serializer with optional fast C extensions")
(description
@@ -18241,6 +18192,40 @@ how many previous alarms had gone off, and if there is music playing at the
time.")
(license license:expat)))
(define-public python-simplesat
(package
(name "python-simplesat")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/enthought/sat-solver")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z44pi8yb6pvc9bisl3qnn3glj7ir0ad2j4gd4jfg2kxvwvi0w0b"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags #~(list "--ignore=old")))
(propagated-inputs
(list python-attrs
python-okonomiyaki
python-six))
(native-inputs
(list python-mock
python-pytest
python-pyyaml
python-setuptools))
(home-page "https://github.com/enthought/sat-solver")
(synopsis
"@acronym{SAT, Boolean Satisfiability Problem} dependency handling")
(description
"This package provides a prototype Python implementation for SAT-based
problems.")
(license license:bsd-3)))
(define-public python-haas
;; A recent revision is required to avoid obsoleted dependencies.
(let ((commit "e9c45e88b682c9129ea0971ba31671429495de2c")
@@ -18272,6 +18257,27 @@ with Python's built-in unittest test-cases, but supports more advanced
features, such as project-specific plugins.")
(license license:bsd-3))))
(define-public python-zipfile2
(package
(name "python-zipfile2")
(version "0.0.12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/itziakos/zipfile2/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hmq33r3ffrrvm5nggsp69cjdbgjbwn6zbcrs2rhmb8pds0h81q7"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools python-pytest))
(home-page "https://github.com/itziakos/zipfile2/")
(synopsis "Improved @code{ZipFile} Python class")
(description "Zipfile2 is a backward compatible replacement to
@code{ZipFile}. It provides handling of symlinks, and exception management.")
(license license:psfl)))
(define-public python-okonomiyaki
(package
(name "python-okonomiyaki")
@@ -41257,19 +41263,17 @@ you do not want to store entirely on disk or on memory.")
(arguments
`(#:configure-flags '("PYTHON_VERSION=2")))))
(define-public python-yamlcore
(define-public python-yamlcore-0.0.2
;; This is a pinned version dependency for librelane
(package
(name "python-yamlcore")
(version "0.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/perlpunk/pyyaml-core")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03y7fabyky67cw4g71xcbwfdal79wxcnmr303qyllz21x2d4s5ac"))))
(version "0.0.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "yamlcore" version))
(sha256
(base32
"0vwjiryrx58ycmlbv668izswda4jmdpw7g9cn6bsy5my3iabjblb"))))
(build-system pyproject-build-system)
(native-inputs (list python-setuptools))
(inputs (list python-pyyaml))
@@ -41279,8 +41283,6 @@ you do not want to store entirely on disk or on memory.")
files.")
(license license:expat)))
(define-deprecated-package python-yamlcore-0.0.2 python-yamlcore)
(define-public shrinkwrap
(package
(name "shrinkwrap")
+1 -35
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2023, 2026 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2023 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2025 宋文武 <iyzsong@envs.net>
;;; Copyright © 2015, 2018-2021, 2023, 2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015-2019, 2024, 2025 Efraim Flashner <efraim@flashner.co.il>
@@ -36,7 +36,6 @@
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2024, 2026 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -103,7 +102,6 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-sdk)
#:use-module (gnu packages libevent)
@@ -5526,38 +5524,6 @@ different kinds of sliders, and much more.")
;; textengines/mathml/qwt_mml_document.{cpp,h} is dual LGPL2.1/GPL3 (either).
license:lgpl2.1 license:gpl3))))
(define-public jkqtplotter
(package
(name "jkqtplotter")
(version "4.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jkriege2/JKQtPlotter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yi80d8w4l69siia5rvdzakyzkm7vbpfk6ffcwc6vm6z0i58m9cl"))))
(build-system qt-build-system)
(inputs (list opencv qtsvg))
(arguments
(list
#:qtbase qtbase
#:tests? #f ;no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'delete-broken-binaries
(lambda _
(delete-file-recursively (string-append #$output "/bin")))))))
(home-page "https://jkriege2.github.io/JKQtPlotter/index.html")
(synopsis "Qt Plotting Library")
(description
"JKQTPlotter is a library of function and data plotter classes for Qt.
It includes a plotter widget and a LaTeX equation renderer and supports
a variety of graphs and charts.")
(license license:lgpl2.1+)))
(define-public dotherside
(package
(name "dotherside")
-53
View File
@@ -20,7 +20,6 @@
;;; Copyright © 2025 Jordan Moore <lockbox@struct.foo>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Laura Kirsch <laurakirsch240406@gmail.com>
;;; Copyright © 2026 bdunahu <bdunahu@operationnull.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -832,58 +831,6 @@ library.")
devices that are supported by the SoapySDR library.")
(license license:expat)))
(define-public python-meshtastic
(package
(name "python-meshtastic")
(version "2.7.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/meshtastic/python")
(commit version)
(recursive? #t))) ;TODO: package meshtastic/protobufs subproject
(file-name (git-file-name name version))
(sha256
(base32 "0fdxlwdf1ga00wa7vbfvhhd0dpwcxakdlmrjs24zhd6pq5k7jicf"))))
(build-system pyproject-build-system)
(arguments
(list
;; tests: 220 passed, 3 skipped, 77 deselected
#:test-flags
;; requires pytap2 input, which is not in Guix
#~(list "-k not test_tunnel_tunnel_arg")))
(native-inputs
(list python-poetry-core
python-pytest))
;; unpackaged (optional) inputs: python-print-color, python-dash
;; python-pytap2, python-dash-bootstrap-components
(propagated-inputs
(list python-argcomplete
python-bleak
python-dotmap
python-packaging
python-pandas
python-pandas-stubs
python-protobuf
python-pypubsub
python-pyqrcode
python-pyserial
python-pyyaml
python-requests
python-tabulate
python-wcwidth))
(home-page "https://github.com/meshtastic/python")
(synopsis "Python library and CLI for talking to Meshtastic devices")
(description
"@url{https://meshtastic.org/,Meshtastic} Python is a small library which
provides an easy API for sending and receiving messages over mesh radios. It
provides access to any of the operations/data available in the device user
interface or the Android applications. Events are delivered using a
publish-subscribe model, and you can subscribe to only the message types you
are interested in.")
(license license:gpl3))) ;XXX: both python API and protobufs
(define-public qspectrumanalyzer
(package
(name "qspectrumanalyzer")
-22
View File
@@ -325,28 +325,6 @@ acts as the performance backbone for a wide variety of compute
applications running on AMD GPUs.")
(license license:expat)))
(define-public rocm-validationsuite
(package
(name "rocm-validationsuite")
(version %rocm-version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ROCm/rocmvalidationsuite/")
(commit (string-append "rocm-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l577sd88f4f46am6w81n7rbswx39zy602xbqrk3zqb156k14s2s"))))
(build-system cmake-build-system)
(inputs (list rocblas))
(home-page "https://rocm.docs.amd.com/projects/ROCmValidationSuite/")
(synopsis "ROCm system validation and diagnostics")
(description "ROCm monitor for stress testing, detection and
troubleshooting issues impacting AMD GPUS in HPC environments.")
(license license:expat)))
(define hipblaslt-supported-targets
(list "gfx1100"
"gfx1101"
+1 -1
View File
@@ -293,7 +293,7 @@ available to ROCm and show their properties.")
"19jyymisxiikphzmq6h8vy5cg0r5dz3lxr5wvdf44frb8wxr8vla"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; Tests try to use git commit
(native-inputs (list git-minimal/pinned))
(native-inputs (list git))
(home-page "https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/")
(synopsis "ROCm cmake modules")
(description "ROCm cmake modules provides cmake modules for common build
+45 -141
View File
@@ -97,7 +97,6 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages ibus)
#:use-module (gnu packages icu4c)
@@ -698,90 +697,6 @@ Rust source code.")
through tools like `gdb`.")
(license license:gpl3)))
(define-public cocogitto
(package
(name "cocogitto")
(version "6.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "cocogitto" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0wpsvrws2lwy1kix0xfs5dqs8b7j5ixnaz2x25apfbnh6gf99vda"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "website")))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:cargo-test-flags
'(list "--"
;; Disable tests that depend on being run inside of the source repository
"--skip=conventional::changelog::release::test::should_get_a_release"
"--skip=git::hook::tests::add_all"
"--skip=git::hook::tests::add_pre_commit_hook"
"--skip=git::hook::tests::overwrite_pre_commit_hook"
"--skip=git::rev::cache::test::init_cache_ok"
"--skip=git::rev::revwalk::test::all_commits"
"--skip=git::rev::revwalk::test::from_previous_to_tag"
"--skip=git::rev::revwalk::test::from_tag_to_head"
"--skip=git::rev::revwalk::test::from_tag_to_tag_ok"
"--skip=git::rev::revwalk::test::get_release_range_integration_test"
"--skip=git::rev::revwalk::test::recursive_from_origin_to_head"
"--skip=cog_tests::changelog::get_changelog_range"
"--skip=cog_tests::commit::should_run_git_hooks")
#:modules '((guix build cargo-build-system)
(guix build utils)
(ice-9 match))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'prepare-for-tests
(lambda _
;; The tests try to run git as if it were already set up.
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.email" "git@example.com")
(invoke "git" "config" "--global" "user.name" "Guix")))
(add-after 'install 'install-completions
(lambda* (#:key native-inputs #:allow-other-keys)
(for-each
(match-lambda
((shell . path)
(mkdir-p (in-vicinity #$output (dirname path)))
(let ((binary
(if #$(%current-target-system)
(search-input-file native-inputs "bin/cog")
(in-vicinity #$output "bin/cog"))))
(with-output-to-file (in-vicinity #$output path)
(lambda _
(invoke binary "generate-completions" shell))))))
'(("bash" . "share/bash-completion/completions/cog")
("elvish" . "share/elvish/lib/cog")
("fish" . "share/fish/vendor_completions.d/cog.fish")
("nu" . "share/nushell/vendor/autoload/cog")
("zsh" . "share/zsh/site-functions/_cog"))))))))
(native-inputs
(append (if (%current-target-system)
(list this-package)
'())
(list git-minimal
gnupg
openssh
pkg-config)))
(inputs (cons* libgit2-1.9
libssh2
openssl
zlib
(cargo-inputs 'cocogitto)))
(home-page "https://github.com/cocogitto/cocogitto")
(synopsis
"Set of CLI tools for the Conventional Commit and SemVer specifications")
(description
"This package provides Cocogitto, a set of CLI tools for the Conventional
Commit and SemVer specifications.")
(license license:expat)))
(define-public codeberg-cli
(package
(name "codeberg-cli")
@@ -836,6 +751,49 @@ Commit and SemVer specifications.")
"This package provides CLI Tool for codeberg similar to gh and glab.")
(license license:agpl3+)))
(define-public codex-acp
(package
(name "codex-acp")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zed-industries/codex-acp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "190sq6s6jfz8dkj1y8305r7x6ln86qqr2j1bnfjci7f1x2wyzmsj"))
(patches (search-patches "codex-acp-0.9.2-remove-patch-sections.patch"
"codex-acp-0.9.2-replace-result-flatten.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:rust rust-1.88
#:install-source? #f
;; Skip doctests (--doc) because rustdoc is unavailable for non-default
;; Rust versions in Guix.
#:cargo-test-flags '(list "--lib" "--bins" "--tests")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-codex-deps
(lambda _
;; Rewrite git dependencies to use vendored sources from rust-codex
(substitute* "Cargo.toml"
(("git = \"https://github.com/zed-industries/codex\", branch = \"acp\"")
"version = \"0.0.0\"")))))))
(native-inputs (list pkg-config))
(inputs (cons* openssl sqlite `(,zstd "lib") (cargo-inputs 'codex-acp)))
(home-page "https://github.com/zed-industries/codex-acp")
(synopsis "ACP-compatible agent bridging Zed Codex with ACP clients")
(description
"This package provides an Agent Client Protocol (ACP) compatible agent
that bridges the Zed Codex runtime with ACP clients over stdio. It
supports multiple LLM providers through configuration in
@file{~/.codex/config.toml} and integrates with MCP servers for filesystem
operations.")
(license license:asl2.0)))
(define-public complgen
(package
(name "complgen")
@@ -1732,59 +1690,6 @@ replacement for i3status, written in pure Rust. It provides a way to display
bar. It is also compatible with sway.")
(license license:gpl3)))
(define-public ianny
(package
(name "ianny")
(version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zefr0x/ianny")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14nmpz7nkjj2rr3g4f3npg8dd5b533wp73q90q4vgp06rf9mbyq8"))))
(build-system meson-build-system)
(arguments
(list
#:imported-modules `(,@%meson-build-system-modules
,@%cargo-build-system-modules)
#:modules '(((guix build cargo-build-system) #:prefix cargo:)
(guix build meson-build-system)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "meson.build"
(("/etc/xdg/autostart")
(string-append (assoc-ref outputs "out")
"/etc/xdg/autostart")))
(delete-file "Cargo.lock")))
;; The meson 'configure phase changes to a different directory and
;; we need it created before unpacking the crates.
(add-after 'configure 'prepare-cargo-build-system
(lambda args
(for-each
(lambda (phase)
(format #t "Running cargo phase: ~a~%" phase)
(apply (assoc-ref cargo:%standard-phases phase)
#:vendor-dir "vendor"
args))
'(unpack-rust-crates
configure
check-for-pregenerated-files
patch-cargo-checksums)))))))
(native-inputs (list pkg-config rust `(,rust "cargo")))
(inputs
(cons dbus (cargo-inputs 'ianny)))
(home-page "https://github.com/zefr0x/ianny")
(synopsis "RSI break timer for Wayland")
(description "Desktop utility that helps prevent repetitive strain injuries
by keeping track of usage patterns and periodically reminding the user to take
breaks.")
(license license:gpl3)))
(define-public iwmenu
(package
(name "iwmenu")
@@ -1878,7 +1783,7 @@ JSON viewer and jq filter editor.")
(define-public jujutsu
(package
(name "jujutsu")
(version "0.39.0")
(version "0.38.0")
(source
(origin
(method git-fetch)
@@ -1887,7 +1792,7 @@ JSON viewer and jq filter editor.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c0n56b5y6wmyvcc18nhrfsmcavjlh2zwv9224lrcs6h602a5jdd"))))
(base32 "0c3fgxvvf7lj5p8s7fzx1mnxbiigplmgfqn49szj3z51m74d0xhm"))))
(build-system cargo-build-system)
(arguments
(list
@@ -1897,7 +1802,6 @@ JSON viewer and jq filter editor.")
''("--"
"--skip=test_gerrit_upload::test_gerrit_upload_rejected_by_remote"
"--skip=test_git_push::test_git_push_rejected_by_remote"
"--skip=test_git::test_push_updates_with_options"
"--skip=test_util_command::test_util_exec_sets_env")
#:modules
'((guix build cargo-build-system)
+601 -4775
View File
File diff suppressed because it is too large Load Diff
+7 -105
View File
@@ -728,7 +728,13 @@ intelligence.")
(file-name (git-file-name name version))
(sha256
(base32 "0rwj1ykknng39mhzna3fw3rcl3vngynsjdcj1namgkvw91zd9dl7"))
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"))))
;; TODO: Remove patches when Rust provides stable file locking API.
;; The file_lock feature is tracked at
;; <https://github.com/rust-lang/rust/issues/130994>.
(patches (search-patches "rust-codex-0.98.0-execpolicy-file-lock.patch"
"rust-codex-0.98.0-core-file-lock.patch"
"rust-codex-0.98.0-arg0-file-lock.patch"
"rust-codex-0.98.0-core-remove-self-dep.patch"))))
(build-system cargo-build-system)
(arguments
(list
@@ -812,110 +818,6 @@ intelligence.")
and runtime for AI-assisted coding.")
(license license:asl2.0)))))
(define-public rust-codex-0.98.0
(hidden-package
(package
(name "rust-codex")
(version "0.98.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openai/codex")
(commit "82464689ce0ba8a3b2065e73a8aa0cfdf2ad0625")))
(file-name (git-file-name name version))
(sha256
(base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc"))
(modules '((guix build utils)))
(snippet '(begin
;;; These are JSON manifests with a dotslash
;;; shebang that download and run pre-built
;;; binaries (ripgrep, bash) at runtime.
(delete-file "codex-cli/bin/rg")
(delete-file "codex-rs/exec-server/tests/suite/bash")
;; Bundled bubblewrap source tree; includes a
;; compiled BPF blob (demos/flatpak.bpf).
(delete-file-recursively "codex-rs/vendor/bubblewrap")))
(patches (search-patches "rust-codex-0.98.0-core-remove-self-dep.patch"
"rust-codex-0.98.0-windows-sandbox-protocol-version.patch"
"rust-codex-0.98.0-test-shebangs.patch"))))
(build-system cargo-build-system)
(arguments
(list
#:skip-build? #t
#:cargo-package-crates
;; Order matters: dependencies must come before packages that need them
''("codex-async-utils" ; No internal deps
"codex-client" ; No internal deps
"codex-execpolicy" ; No internal deps
"codex-file-search" ; No internal deps
"codex-git" ; No internal deps
"codex-keyring-store" ; No internal deps
"codex-utils-absolute-path" ; No internal deps
"codex-utils-cache" ; No internal deps
"codex-utils-cargo-bin" ; No internal deps
"codex-utils-home-dir" ; No internal deps
"codex-utils-json-to-toml" ; No internal deps
"codex-utils-pty" ; No internal deps
"codex-utils-readiness" ; No internal deps
"codex-utils-string" ; No internal deps
"codex-utils-image" ; Depends on codex-utils-cache
"codex-apply-patch" ; Depends on codex-utils-cargo-bin
"codex-protocol" ; Depends on codex-git, codex-utils-*
"codex-windows-sandbox" ; Depends on codex-utils-absolute-path, codex-protocol
"codex-api" ; Depends on codex-client, codex-protocol
"codex-experimental-api-macros" ; Macro crate (must come before app-server-protocol)
"codex-app-server-protocol" ; Depends on codex-protocol, codex-experimental-api-macros
"codex-rmcp-client" ; Depends on codex-keyring-store, codex-protocol
"codex-otel" ; Depends on codex-app-server-protocol, codex-api
"codex-state" ; Depends on codex-protocol, codex-otel
"codex-core" ; Depends on many packages above
"codex-linux-sandbox" ; Depends on codex-core, codex-utils-absolute-path
"codex-arg0" ; Depends on codex-apply-patch, codex-core, codex-linux-sandbox
"codex-lmstudio" ; Depends on codex-core
"codex-login" ; Depends on codex-core
"codex-ollama" ; Depends on codex-core
"codex-common" ; Depends on codex-core, codex-lmstudio, codex-ollama
"codex-mcp-server" ; Depends on codex-core, codex-common
"codex-network-proxy") ; Depends on codex-core, rama
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-workspace
(lambda _
(chdir "codex-rs")))
(add-after 'chdir-to-workspace 'patch-git-deps-to-vendor
(lambda _
(substitute* "Cargo.toml"
(("crossterm = \\{ git = [^}]+\\}")
"crossterm = { version = \"0.28.1\" }")
(("ratatui = \\{ git = [^}]+\\}")
"ratatui = { version = \"0.29.0\" }")
(("tokio-tungstenite = \\{ git = [^}]+\\}")
"tokio-tungstenite = { version = \"0.28.0\" }")
(("nucleo = \\{ git = [^}]+\\}")
"nucleo = { version = \"0.5.0\" }")
(("runfiles = \\{ git = [^}]+\\}")
"runfiles = { version = \"0.1.0\" }"))))
(add-after 'chdir-to-workspace 'add-version-to-workspace-deps
(lambda _
;; cargo package requires all dependencies to have versions.
;; Add version = "0.98.0" to internal path dependencies.
(let ((cargo-files (find-files "." "^Cargo\\.toml$")))
(substitute* cargo-files
(("(codex-[a-z0-9-]+) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = "))
(("(codex-[a-z0-9-]+) = \\{ package = " all name)
(string-append name " = { version = \"0.98.0\", package = "))
(("(mcp-types) = \\{ path = " all name)
(string-append name " = { version = \"0.98.0\", path = ")))))))))
(inputs (cargo-inputs 'rust-codex-0.0.0.785c0c43))
(home-page "https://github.com/openai/codex")
(synopsis "OpenAI Codex workspace crates")
(description
"This package provides the workspace crates for the OpenAI Codex CLI
and runtime for AI-assisted coding.")
(license license:asl2.0))))
;; Also update (@ (gnu packages gnome) glycin-loaders) when updating this.
(define-public rust-glycin-3
(package
-60
View File
@@ -1827,66 +1827,6 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
(define-public rust-1.94
(let ((base-rust
(rust-bootstrapped-package
rust-1.93 "1.94.0"
"0k274dla70wnajjli2w80by9k4nqf2wah1lw9xhzy8gkscf94gxq")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
(snippet
'(begin
(for-each delete-file-recursively
'("src/llvm-project"
"vendor/curl-sys-0.4.79+curl-8.12.0/curl"
"vendor/curl-sys-0.4.84+curl-8.17.0/curl"
"vendor/jemalloc-sys-0.5.3+5.3.0-patched/jemalloc"
"vendor/jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
"vendor/libffi-sys-4.1.0/libffi"
"vendor/libz-sys-1.1.21/src/zlib"
"vendor/libz-sys-1.1.23/src/zlib"
"vendor/libmimalloc-sys-0.1.44/c_src/mimalloc"
"vendor/openssl-src-111.28.2+1.1.1w/openssl"
"vendor/openssl-src-300.5.0+3.5.0/openssl"
"vendor/openssl-src-300.5.4+3.5.4/openssl"
"vendor/tikv-jemalloc-sys-0.5.4+5.3.0-patched/jemalloc"
"vendor/tikv-jemalloc-sys-0.6.1+5.3.0-1-\
ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
;; Remove vendored dynamically linked libraries.
;; find . -not -type d -executable -exec file {} \+ | grep ELF
;; Also remove the bundled (mostly Windows) libraries.
(for-each delete-file
(find-files "vendor" "\\.(a|dll|exe|lib)$"))
;; Use the packaged nghttp2.
(for-each
(lambda (ver)
(let ((vendored-dir
(format #f "vendor/libnghttp2-sys-~a/nghttp2" ver))
(build-rs
(format #f "vendor/libnghttp2-sys-~a/build.rs" ver)))
(delete-file-recursively vendored-dir)
(delete-file build-rs)
(call-with-output-file build-rs
(lambda (port)
(format port "fn main() {~@
println!(\"cargo:rustc-link-lib=nghttp2\");~@
}~%")))))
'("0.1.11+1.64.0"))
;; Adjust vendored dependency to explicitly use rustix with libc
;; backend.
(substitute* '("vendor/tempfile-3.14.0/Cargo.toml"
"vendor/tempfile-3.16.0/Cargo.toml"
"vendor/tempfile-3.19.1/Cargo.toml"
"vendor/tempfile-3.20.0/Cargo.toml"
"vendor/tempfile-3.21.0/Cargo.toml"
"vendor/tempfile-3.23.0/Cargo.toml"
"vendor/tempfile-3.24.0/Cargo.toml")
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
(define (make-ignore-test-list strs)
"Function to make creating a list to ignore tests a bit easier."
(map (lambda (str)
+2 -2
View File
@@ -119,7 +119,7 @@
expat
ffmpeg
findutils
fmt
fmt-11
freetype
gdal
gl2ps
@@ -161,7 +161,7 @@
readline
trilinos-zoltan
utfcpp
vtk-9.5
vtk
xz
zlib))
(outputs '("debug" ;~60MB
-46
View File
@@ -953,49 +953,3 @@ using a Python-based domain-specific language.")
ONNX Runtime. It supports models including Whisper and NeMo Parakeet.
Includes bundled Parakeet TDT V3 model weights (int8, CC-BY-4.0, NVIDIA).")
(license license:expat)))
(define-public python-pocket-tts
(package
(name "python-pocket-tts")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kyutai-labs/pocket-tts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0b9xxyrwa8vsz6r6fi7p47z8rd7q2gjjnwq47br89zp2lkzym3zm"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list ;;; These tests try to download models from HuggingFace Hub.
"--ignore=tests/test_cli_generate.py"
"--ignore=tests/test_documentation_examples.py")))
(propagated-inputs
(list python-beartype
python-einops
python-fastapi
python-huggingface-hub
python-numpy
python-pydantic
python-pytorch
python-safetensors
python-scipy
python-sentencepiece
python-soundfile
python-typer
python-typing-extensions
python-uvicorn))
(native-inputs
(list nss-certs-for-test
python-hatchling
python-pytest))
(home-page "https://github.com/kyutai-labs/pocket-tts")
(synopsis "Fast neural text-to-speech")
(description
"Pocket TTS is a fast neural text-to-speech engine with ~100M parameters,
running at approximately 6x realtime on CPU. English only.")
(license license:expat)))
+2 -1
View File
@@ -381,6 +381,8 @@ Additionally, various channel-specific options can be negotiated.")
#$flags))
((#:modules mods %default-gnu-modules)
(cons '(ice-9 string-fun) mods))
((#:imported-modules mods %default-gnu-imported-modules)
(cons '(ice-9 string-fun) mods))
((#:phases phases #~(list))
#~(modify-phases #$phases
(add-after 'unpack 'patch-ssh-stuff
@@ -437,7 +439,6 @@ of the ssh protocol. It was originally developed to address performance issues
(define-public hpn-ssh-sans-x
(package
(inherit hpn-ssh)
(name "hpn-ssh-sans-x")
(inputs
(modify-inputs (package-inputs hpn-ssh)
(delete "xauth")))
-80
View File
@@ -7,7 +7,6 @@
;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim@guixotic.coop>
;;; Copyright © 2025 Zheng Junjie <z572@z572.online>
;;; Copyright © 2026 Foster Hangdaan <foster@hangdaan.email>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,7 +64,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
@@ -78,7 +76,6 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
@@ -532,80 +529,3 @@ applications.")
(synopsis "Dynamic swap manager for Linux")
(description "This package provides a dynamic swap manager for Linux.")
(license license:gpl2+)))
(define-public garage
(package
(name "garage")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.deuxfleurs.fr/Deuxfleurs/garage.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nqda782by02ybqv44lpjagn3aqsgpaszvqbicg9iz3lymj8g9ai"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "doc")))))
(build-system cargo-build-system)
(arguments
(list
;; Disable default features and explicitly set them instead.
#:cargo-build-flags `(list "--no-default-features")
;; The tests fail to compile without the '--release' flag.
#:cargo-test-flags `(list "--release" "--no-default-features")
#:cargo-install-paths ''("src/garage")
#:features '(list "system-libs"
"k2v"
"kubernetes-discovery"
"lmdb"
"metrics"
"sqlite"
"syslog"
"telemetry-otlp")
#:install-source? #f
#:phases
#~(modify-phases %standard-phases
;; The 'check phase doesn't honor #:features
(replace 'check
(lambda* (#:key features cargo-test-flags #:allow-other-keys
#:rest args)
(apply (assoc-ref %standard-phases 'check)
(append
args
(list #:cargo-test-flags
(append cargo-test-flags
(list "--features"
(string-join features))))))))
;; The 'install phase can't pass '--no-default-features'
(replace 'install
(lambda* (#:key cargo-install-paths features #:allow-other-keys)
(mkdir-p #$output)
(setenv "CARGO_TARGET_DIR" "./target")
(for-each
(lambda (path)
(invoke "cargo" "install" "--offline" "--no-track"
"--path" path "--root" #$output
"--no-default-features"
"--features" (string-join features)))
(if (null? cargo-install-paths)
'(".")
cargo-install-paths)))))))
(native-inputs (list nss-certs-for-test
pkg-config
protobuf))
(inputs
(cons* libsodium
lmdb
openssl
sqlite
`(,zstd "lib")
(cargo-inputs 'garage)))
(home-page "https://garagehq.deuxfleurs.fr/")
(synopsis "S3-compatible, distributed object storage designed for self-hosting")
(description "Garage is a lightweight, geo-distributed data store that
implements the @url{https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html,
Amazon S3} object storage protocol, with a focus on simplicity and resiliency.")
(license license:agpl3)))

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