mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-08 00:44:06 +02:00
Compare commits
304 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5588aa8dea | |||
| 57915337b0 | |||
| 7ea0c8593c | |||
| f219935e4a | |||
| 748cc386c0 | |||
| 9019c05d4c | |||
| 22ad56c8ee | |||
| a36670a118 | |||
| 4d1d2df2d9 | |||
| eac0c15293 | |||
| 058b8bf2d7 | |||
| 81acdd26ad | |||
| 6b6492dbfa | |||
| b580820bf8 | |||
| 599838029d | |||
| 818c41ce3d | |||
| 99d372c45a | |||
| 52fa1c6624 | |||
| b22e83dbf1 | |||
| 633a91e504 | |||
| 9d5bd9a2ac | |||
| 0fb60013c4 | |||
| a56906881e | |||
| 7fa155d2e9 | |||
| 415a8b1549 | |||
| 1d5be99666 | |||
| 1161b7849f | |||
| f2aa707f73 | |||
| c33850d515 | |||
| 6bdca1fd9a | |||
| 192f5edf56 | |||
| 44344beeb1 | |||
| c5dacaa66c | |||
| 59f06ab805 | |||
| 991471da31 | |||
| 2316e8053f | |||
| ec634f0176 | |||
| b061a58d84 | |||
| d8aca87524 | |||
| ad27de74b9 | |||
| 4e3c072d48 | |||
| 506a56e3e8 | |||
| 194ec043fe | |||
| 4271edeec5 | |||
| e4950442f1 | |||
| 18124c9a52 | |||
| de53ff4ff6 | |||
| 80186967c0 | |||
| 81dc72fda1 | |||
| 2619ef369a | |||
| f104514b7f | |||
| 3685d21e51 | |||
| 9bd1d6c5d8 | |||
| 808ef3c571 | |||
| afaa34103f | |||
| b18fb6c208 | |||
| e9d8d5bc6b | |||
| c5723a86e7 | |||
| 8f14a53c4e | |||
| 9ced09fd18 | |||
| 7f7e1f4ab0 | |||
| 72a859f1d5 | |||
| 37031a73d4 | |||
| f6078d4db7 | |||
| 215b98f551 | |||
| 7acb0e1e1d | |||
| ccaa42f7ae | |||
| 5c3c654610 | |||
| f08332ceed | |||
| 437a66bfa6 | |||
| 89211998ad | |||
| 36d618439e | |||
| 08e68e3b1f | |||
| b52180a59e | |||
| cb16281099 | |||
| 974f7f15fc | |||
| 0fe32b5da2 | |||
| b6c39da273 | |||
| 38fc747354 | |||
| 1d6be6ee48 | |||
| 3a28c337c9 | |||
| 7fb4869a35 | |||
| f4ec861dc7 | |||
| 01882e84fe | |||
| c48fa1c111 | |||
| b0c40a0d8f | |||
| 609865f6d9 | |||
| b5f79c6805 | |||
| 0c26eadb84 | |||
| 50763c8a8f | |||
| 9708ff0ce9 | |||
| 0916327487 | |||
| 8b16e04cb1 | |||
| d6f104f777 | |||
| 437171281b | |||
| d229320ef2 | |||
| f2fe33b686 | |||
| 232513e816 | |||
| 1b57a5e9bf | |||
| 1b557a0f90 | |||
| 44f515ff89 | |||
| b4bff5eab2 | |||
| 9500fde05e | |||
| aa402ba2a9 | |||
| 874ca2cfc0 | |||
| 5d5b1fd9b3 | |||
| a9478b27ef | |||
| 5f15f6b890 | |||
| 6b1b97de91 | |||
| 3677020726 | |||
| b510776c7a | |||
| c94b574180 | |||
| 02e674eaa0 | |||
| 4e57f00b9c | |||
| 0a101ca665 | |||
| c742619230 | |||
| 1c9bc324d2 | |||
| 3df73d452d | |||
| 5a2700ccc1 | |||
| 5ecaef7144 | |||
| 4643ca7d17 | |||
| 01c7f1bf7f | |||
| 71530dd7ef | |||
| 28c4b89ea4 | |||
| 788e4ec1dd | |||
| d89b8d645e | |||
| 986f1d00c3 | |||
| bc9e782e05 | |||
| 6453bfdb75 | |||
| f841d2a817 | |||
| 5f1129ec40 | |||
| 98b6ea54af | |||
| d0d74f8149 | |||
| aa71910492 | |||
| 3b46e4ac40 | |||
| f0c44795d9 | |||
| 2eabcaabec | |||
| 0dd1293eb5 | |||
| 035861b47c | |||
| ee8b13aba1 | |||
| a1be5f9511 | |||
| f9b586c33d | |||
| 85a6d53dee | |||
| 1aaf49ffb3 | |||
| 38bd9550b5 | |||
| 9bd3654c34 | |||
| 0c4d6c3023 | |||
| 0c5131d830 | |||
| 9004036b3c | |||
| 47b4519008 | |||
| 684a196246 | |||
| 3fd7e3248c | |||
| 639d51557c | |||
| 5b28c547ed | |||
| 63cabdf96f | |||
| 79a7a8b053 | |||
| d1266b12e4 | |||
| 4bdf926ff5 | |||
| a35b441ae2 | |||
| 63837fe008 | |||
| 63dbba2b9e | |||
| 1e8a51c1a1 | |||
| 6ff7bba2b1 | |||
| f562a7d337 | |||
| 17d9131b4b | |||
| 3a58088f94 | |||
| 0e8345bb86 | |||
| f94a40ec1e | |||
| 49e1119fdc | |||
| c3ee8a1cc8 | |||
| d3293941c4 | |||
| 3464b5b9fe | |||
| 603c279815 | |||
| 01399eb025 | |||
| 84aa576390 | |||
| 09a34f2cfe | |||
| df7e6a1ef1 | |||
| 69a16cb336 | |||
| 3a45476b60 | |||
| 7025b19f37 | |||
| 026188f5f6 | |||
| 49daceae50 | |||
| fff33a6f6c | |||
| a036bad27c | |||
| a93901c7b7 | |||
| 90a4aaff5a | |||
| effe39f4f9 | |||
| 6d4f6f2118 | |||
| 274409f4b8 | |||
| 0553f676e5 | |||
| b743d1ef8e | |||
| 9455eefb6a | |||
| b02ba9cc62 | |||
| 830f42c478 | |||
| a8e64b4cd2 | |||
| bfca02cfdf | |||
| 6a978f04ed | |||
| a94cbb5c29 | |||
| 5314745d81 | |||
| dde7a24214 | |||
| 91708e1f20 | |||
| 745f701a4c | |||
| c6185aa906 | |||
| 1f1cf5afc1 | |||
| 4191335929 | |||
| 625c497f76 | |||
| e3cd725af8 | |||
| c10b8a5f50 | |||
| 7246d9e163 | |||
| 036a27acee | |||
| be6305567b | |||
| dd7216ca6e | |||
| f77b0b7835 | |||
| da97add730 | |||
| 5e7ac6d167 | |||
| d838e25510 | |||
| f8485897aa | |||
| b7c1b743b7 | |||
| 1d60b593f1 | |||
| 155728c5f5 | |||
| 99a2ca995d | |||
| 7a442f31c9 | |||
| af9fb821b2 | |||
| 4188678725 | |||
| 76bcbbc7ff | |||
| 49a0de6a5c | |||
| b8838101d4 | |||
| 24ed912ecd | |||
| f9387e8dcf | |||
| 1859b34437 | |||
| 73f3f1465b | |||
| 23749a99df | |||
| eae7dbbb79 | |||
| 041c55f4a6 | |||
| b88cc852f7 | |||
| f0db2c24bb | |||
| d2abfb188c | |||
| 48514183fa | |||
| d2b5d72ab3 | |||
| e7ef1f0b82 | |||
| efb01d8e60 | |||
| 14d14d8850 | |||
| d6d05dd0a9 | |||
| a5c5ec2a49 | |||
| 113a4dae7c | |||
| 70f28d49f3 | |||
| 39bb021211 | |||
| f71049262f | |||
| 7bf1345cc5 | |||
| eaa3d56bd8 | |||
| 9012648077 | |||
| 17d1fb79f6 | |||
| 18a4dc281f | |||
| 9df58f9e22 | |||
| 858ee49018 | |||
| 0ddc94c634 | |||
| 5ac6c61c53 | |||
| 05c938c285 | |||
| 831aec1d62 | |||
| 7b3e202ced | |||
| d2166f0114 | |||
| 068cedbf94 | |||
| a4923fc882 | |||
| 93f4cfae7a | |||
| ebd633d61a | |||
| 8ac6a808d2 | |||
| 874cf35c2e | |||
| 4b74fc638c | |||
| 83156d1841 | |||
| beb7802d26 | |||
| c200ead805 | |||
| 558bb8a2eb | |||
| 2c3ecc989f | |||
| ccb316a7bb | |||
| 3f05ded799 | |||
| db8586d0f0 | |||
| f2750fe61a | |||
| 6b11662006 | |||
| 2ec94053f7 | |||
| 3b97cec454 | |||
| 7d73f715a9 | |||
| e7f92e0d8f | |||
| e5231a0b1e | |||
| a8de6191f1 | |||
| 5d2a37ec85 | |||
| 2d6ee375df | |||
| 08192668d8 | |||
| c9f3cf4cdc | |||
| 6c5c2c58aa | |||
| d6a41161a2 | |||
| 16a2b48a93 | |||
| 784cf826d6 | |||
| 88f85ac189 | |||
| ee7562e362 | |||
| 75157a1c77 | |||
| 57b45dbd9e | |||
| 17162148b3 | |||
| 4472578cd0 | |||
| 25128042cd | |||
| 7a010c17d2 | |||
| 6cb58e0155 | |||
| de9466ae89 | |||
| 00dd1ddacf | |||
| 594ff01bc3 |
@@ -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
|
||||
|
||||
+1
-9
@@ -316,6 +316,7 @@ gnu/packages/librewolf\.scm @guix/mozilla
|
||||
gnu/packages/tor-browsers\.scm @guix/mozilla
|
||||
|
||||
gnu/packages/ocaml\.scm @guix/ocaml
|
||||
gnu/packages/ocaml5\.scm @guix/ocaml
|
||||
gnu/packages/coq\.scm @guix/ocaml
|
||||
guix/build/ocaml-build-system\.scm @guix/ocaml
|
||||
guix/build/dune-build-system\.scm @guix/ocaml
|
||||
@@ -480,15 +481,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
|
||||
|
||||
+107
-93
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -8048,9 +8048,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 +18034,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,,,
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
(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
|
||||
@@ -66,14 +65,6 @@ d’images (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
|
||||
|
||||
@@ -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"
|
||||
|
||||
+2
-25
@@ -933,6 +933,7 @@ and Firefox."
|
||||
importer, and the ocaml-build-system."
|
||||
#:scope
|
||||
(list "gnu/packages/ocaml.scm"
|
||||
"gnu/packages/ocaml5.scm"
|
||||
"gnu/packages/coq.scm"
|
||||
"guix/build/ocaml-build-system.scm"
|
||||
"guix/build/dune-build-system.scm"
|
||||
@@ -1197,20 +1198,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 +1532,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 +1604,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))
|
||||
|
||||
+7
-3
@@ -75,6 +75,7 @@
|
||||
# Copyright © 2025 Nigko Yerden <nigko.yerden@gmail.com>
|
||||
# Copyright © 2025 Cayetano Santos <csantosb@inventati.org>
|
||||
# Copyright © 2025 bdunahu <bdunahu@operationnull.com>
|
||||
# Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -213,7 +214,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 +314,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 \
|
||||
@@ -518,6 +519,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/nvi.scm \
|
||||
%D%/packages/nx.scm \
|
||||
%D%/packages/ocaml.scm \
|
||||
%D%/packages/ocaml5.scm \
|
||||
%D%/packages/ocr.scm \
|
||||
%D%/packages/openkinect.scm \
|
||||
%D%/packages/onc-rpc.scm \
|
||||
@@ -1229,7 +1231,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 +1432,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 \
|
||||
@@ -1608,7 +1610,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 \
|
||||
@@ -2379,7 +2380,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-execpolicy-file-lock.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 \
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -11807,7 +11807,7 @@ objects.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
#~(list "CFLAGS=-O2 -g -fcommon")))
|
||||
#~(list "CFLAGS=-fcommon")))
|
||||
(inputs
|
||||
(list libtiff zlib libjpeg-turbo))
|
||||
(home-page "https://www.astromatic.net/software/stiff/")
|
||||
|
||||
@@ -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)))
|
||||
+19
-32
@@ -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
|
||||
@@ -885,7 +872,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 +880,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
|
||||
|
||||
@@ -450,13 +450,6 @@ integration tests...\n")
|
||||
"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.
|
||||
|
||||
@@ -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)
|
||||
@@ -95,9 +93,7 @@
|
||||
#: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)
|
||||
@@ -113,8 +109,6 @@
|
||||
#: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)
|
||||
@@ -354,44 +348,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 +690,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")
|
||||
@@ -1057,155 +962,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.
|
||||
@@ -3186,7 +2942,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 +2951,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))
|
||||
|
||||
@@ -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
|
||||
|
||||
+95
-124
@@ -4918,79 +4918,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 +5395,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 +5412,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
|
||||
@@ -14444,7 +14437,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 +14446,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 +17977,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 +18157,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 +18166,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
|
||||
@@ -39161,14 +39134,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 +39426,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")))))
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")))
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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/")
|
||||
|
||||
@@ -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/")
|
||||
|
||||
@@ -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))))
|
||||
@@ -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")
|
||||
|
||||
+1
-15
@@ -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>
|
||||
@@ -1013,16 +1013,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
|
||||
@@ -11321,10 +11311,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
|
||||
|
||||
@@ -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
|
||||
|
||||
+17
-13
@@ -3330,12 +3330,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 +3359,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 +3379,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 +3387,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 +3404,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 +3458,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
|
||||
@@ -4086,7 +4090,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 +4098,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rmlmkf2pnly7mqi407vi2k6k19m2h44d4jvzfkrizk892qj61yc"))))
|
||||
"026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
|
||||
(build-system guile-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
+188
-197
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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 "20260228165433")
|
||||
|
||||
(define-public librewolf
|
||||
(package
|
||||
(name "librewolf")
|
||||
(version "148.0.2-2")
|
||||
(version "148.0-1")
|
||||
(source
|
||||
(make-librewolf-source
|
||||
#:version version
|
||||
#:firefox-hash "142f4k4ykcm65kbvj60p472103r4k79v9fdsfljdav2rbr6qxjx6"
|
||||
#:librewolf-hash "1i0m72i2d0800pxprq18jc040zfzvmg25lw7bi7hgbdh4zvadzdw"
|
||||
#:firefox-hash "0vybaiiknrzk2zvg46w5sxb0i0m9rmy4msvpxklxpdr3182fb4zc"
|
||||
#:librewolf-hash "02sraza4xy4cp559nlc51m1vwhi52l58i3zz2h95lwymyvc5hv17"
|
||||
#:l10n firefox-l10n))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -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)
|
||||
@@ -10512,22 +10511,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
|
||||
|
||||
+88
-88
@@ -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
|
||||
@@ -511,7 +511,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
|
||||
@@ -12152,7 +12152,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 +12160,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
|
||||
@@ -14803,7 +14803,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 +16662,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 +16670,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 +16729,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 +16737,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 +16796,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 +16806,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 +16829,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 +16839,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 +16894,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 +16904,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 +17025,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 +17038,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 +17156,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 +17178,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 +17190,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 +17384,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 +17392,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 +17416,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 +17424,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 +17452,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 +17494,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 +17507,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 +20737,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 +20768,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 +20776,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 +20847,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 +20861,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
|
||||
@@ -22193,7 +22193,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 +22207,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 +23412,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 +23423,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 +23485,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 +23494,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 +23521,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 +23530,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 +23553,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 +23562,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 +23846,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 +23855,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 +25038,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 +25062,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
|
||||
@@ -25874,7 +25874,7 @@ variable portably in Common Lisp.")
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-trivial-features))
|
||||
(home-page "https://shinmera.com/docs/pathname-utils/")
|
||||
(home-page "https://codeberg.org/shinmera/pathname-utils")
|
||||
(synopsis "Collection of utilities to help with pathname operations")
|
||||
(description
|
||||
"This package provides a Common Lisp system with a collection of common
|
||||
@@ -26158,13 +26158,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.")
|
||||
@@ -27060,7 +27060,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 +27070,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
|
||||
@@ -27710,7 +27710,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 +27789,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 +27797,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 +28659,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 +28674,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 +29446,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 +29454,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 +29674,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 +29682,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 +30507,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 +31131,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 +31159,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 +31167,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 +32068,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 +32177,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 +32185,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 +32494,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 +32671,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 +32683,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 +32737,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 +32745,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 +33461,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 +33474,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 +33535,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 +33547,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 +33618,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 +33629,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 +34136,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 +34145,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 +35065,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 +35094,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
|
||||
|
||||
@@ -4666,7 +4666,7 @@ the tensors contained therein.")
|
||||
libxml2
|
||||
llvm-19
|
||||
opencl-clhpp
|
||||
opencl-headers-2022
|
||||
opencl-headers
|
||||
rang
|
||||
mesa
|
||||
mesa-opencl
|
||||
|
||||
@@ -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
|
||||
|
||||
+8
-24
@@ -6078,38 +6078,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 +6109,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 +6136,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"
|
||||
|
||||
+88
-139
@@ -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++")
|
||||
|
||||
@@ -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.
|
||||
;;;
|
||||
@@ -7926,7 +7925,6 @@ streaming audio server.")
|
||||
(native-inputs
|
||||
(list xorg-server-for-tests
|
||||
gettext-minimal
|
||||
gobject-introspection
|
||||
python-pytest
|
||||
python-setuptools))
|
||||
(inputs
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
+20
-151
@@ -32,6 +32,7 @@
|
||||
;;; Copyright © 2023 Arnaud DABY-SEESARAM <ds-ac@nanein.fr>
|
||||
;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
|
||||
;;; Copyright © 2025 Jussi Timperi <jussi.timperi@iki.fi>
|
||||
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -75,6 +76,7 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module ((gnu packages ocaml5) #:prefix ocaml5:)
|
||||
#:use-module (gnu packages parallel)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -222,89 +224,6 @@ OCaml and can effectively bootstrap OCaml 4.07.
|
||||
This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public ocaml-5.0
|
||||
(package
|
||||
(name "ocaml")
|
||||
(version "5.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/ocaml")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p0p8wldrnbr61wfy3x4122017g4k5gjvfwlg3mvlqn8r2fxn2m5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "OCAMLPATH")
|
||||
(files (list "lib/ocaml" "lib/ocaml/site-lib")))
|
||||
(search-path-specification
|
||||
(variable "CAML_LD_LIBRARY_PATH")
|
||||
(files (list "lib/ocaml/site-lib/stubslibs"
|
||||
"lib/ocaml/site-lib/stublibs")))))
|
||||
(native-inputs
|
||||
(list parallel perl pkg-config))
|
||||
(inputs
|
||||
(list libx11 libiberty ;needed for objdump support
|
||||
zlib)) ;also needed for objdump support
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-ocamltest")
|
||||
#:test-target "tests"
|
||||
;; This doesn't have the desired effect and makes test runs less
|
||||
;; stable. See https://codeberg.org/guix/guix/pulls/2933.
|
||||
#:parallel-tests? #f
|
||||
#:make-flags '("defaultentry")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enable-parallel-tests
|
||||
(lambda _
|
||||
;; Patch the `tests` build target to enable a special parallel
|
||||
;; execution mode based on GNU Parallel.
|
||||
(substitute* "Makefile"
|
||||
(("-C testsuite all") "-C testsuite parallel"))))
|
||||
(add-after 'unpack 'patch-/bin/sh-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((sh (search-input-file inputs "/bin/sh"))
|
||||
(quoted-sh (string-append "\"" sh "\"")))
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(substitute* file
|
||||
(("\"/bin/sh\"")
|
||||
(begin
|
||||
(format (current-error-port) "\
|
||||
patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
|
||||
file quoted-sh)
|
||||
quoted-sh))))
|
||||
(find-files "." "\\.ml$")))))))))
|
||||
(home-page "https://ocaml.org/")
|
||||
(synopsis "The OCaml programming language")
|
||||
(description
|
||||
"OCaml is a general purpose industrial-strength programming language with
|
||||
an emphasis on expressiveness and safety. Developed for more than 20 years at
|
||||
Inria it benefits from one of the most advanced type systems and supports
|
||||
functional, imperative and object-oriented styles of programming.")
|
||||
;; The compiler is distributed under qpl1.0 with a change to choice of
|
||||
;; law: the license is governed by the laws of France. The library is
|
||||
;; distributed under lgpl2.0.
|
||||
(license (list license:qpl license:lgpl2.0))))
|
||||
|
||||
(define-public ocaml-5.3
|
||||
(package
|
||||
(inherit ocaml-5.0)
|
||||
(version "5.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/ocaml")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "ocaml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05jhy9zn53v12rn3sg3vllqf5blv1gp7f06803npimc58crxy6rv"))))))
|
||||
|
||||
(define-public ocaml-4.14
|
||||
(package
|
||||
(name "ocaml")
|
||||
@@ -1679,13 +1598,6 @@ compilers that can directly deal with packages.")
|
||||
(native-inputs
|
||||
(list m4 ocaml-4.09))))
|
||||
|
||||
(define-public ocaml5.0-findlib
|
||||
(package
|
||||
(inherit ocaml-findlib)
|
||||
(name "ocaml5.0-findlib")
|
||||
(native-inputs
|
||||
(list m4 ocaml-5.0))))
|
||||
|
||||
(define-public ocaml-ounit2
|
||||
(package
|
||||
(name "ocaml-ounit2")
|
||||
@@ -2017,9 +1929,6 @@ Descriptions of projects, libraries and executables are provided in
|
||||
(define-public ocaml4.09-dune-bootstrap
|
||||
(package-with-ocaml4.09 dune-bootstrap))
|
||||
|
||||
(define-public ocaml5.0-dune-bootstrap
|
||||
(package-with-ocaml5.0 dune-bootstrap))
|
||||
|
||||
(define-public dune-configurator
|
||||
(package
|
||||
(inherit dune-bootstrap)
|
||||
@@ -2041,7 +1950,8 @@ Descriptions of projects, libraries and executables are provided in
|
||||
(propagated-inputs
|
||||
(list ocaml-csexp))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))
|
||||
(ocaml5.4-variant . ,(delay ocaml5:ocaml5.4-dune-configurator))))
|
||||
(synopsis "Dune helper library for gathering system configuration")
|
||||
(description "Dune-configurator is a small library that helps writing
|
||||
OCaml scripts that test features available on the system, in order to generate
|
||||
@@ -2072,9 +1982,9 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||
(name "ocaml5.0-dune-configurator")
|
||||
(arguments
|
||||
`(,@(package-arguments dune-configurator)
|
||||
#:dune ,ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib))
|
||||
#:dune ,ocaml5:ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml5:ocaml-5.0
|
||||
#:findlib ,ocaml5:ocaml5.0-findlib))
|
||||
(propagated-inputs (list ocaml5.0-csexp))))
|
||||
|
||||
(define-public dune
|
||||
@@ -2084,7 +1994,8 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||
(list dune-configurator))
|
||||
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
|
||||
(ocaml4.09-variant . ,(delay ocaml4.09-dune))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune))))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-dune))
|
||||
(ocaml5.4-variant . ,(delay ocaml5:ocaml5.4-dune))))))
|
||||
|
||||
(define-public ocaml4.09-dune
|
||||
(package
|
||||
@@ -2108,7 +2019,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
|
||||
|
||||
(define-public ocaml5.0-dune
|
||||
(package
|
||||
(inherit ocaml5.0-dune-bootstrap)
|
||||
(inherit ocaml5:ocaml5.0-dune-bootstrap)
|
||||
(propagated-inputs
|
||||
(list ocaml5.0-dune-configurator))))
|
||||
|
||||
@@ -2237,7 +2148,8 @@ executables and libraries")))
|
||||
(propagated-inputs
|
||||
(list ocaml-result))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-csexp))
|
||||
(ocaml5.4-variant . ,(delay ocaml5:ocaml5.4-csexp))))
|
||||
(home-page "https://github.com/ocaml-dune/csexp")
|
||||
(synopsis "Parsing and printing of S-expressions in Canonical form")
|
||||
(description "This library provides minimal support for Canonical
|
||||
@@ -2271,10 +2183,10 @@ module of this library is parameterised by the type of S-expressions.")
|
||||
(inherit ocaml-csexp)
|
||||
(name "ocaml5.0-csexp")
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib
|
||||
`(#:ocaml ,ocaml5:ocaml-5.0
|
||||
#:findlib ,ocaml5:ocaml5.0-findlib
|
||||
,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
|
||||
((#:dune _) ocaml5.0-dune-bootstrap))))
|
||||
((#:dune _) ocaml5:ocaml5.0-dune-bootstrap))))
|
||||
(propagated-inputs
|
||||
`(("ocaml-result" ,ocaml5.0-result)))))
|
||||
|
||||
@@ -2397,7 +2309,8 @@ bitsrings in Erlang style as primitives to the language.")))
|
||||
(arguments
|
||||
`(#:dune ,dune-bootstrap))
|
||||
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-result))))
|
||||
(ocaml5.0-variant . ,(delay ocaml5.0-result))
|
||||
(ocaml5.4-variant . ,(delay ocaml5:ocaml5.4-result))))
|
||||
(home-page "https://github.com/janestreet/result")
|
||||
(synopsis "Compatibility Result module")
|
||||
(description "Uses the new result type defined in OCaml >= 4.03 while
|
||||
@@ -2419,9 +2332,9 @@ defined in this library.")
|
||||
(inherit ocaml-result)
|
||||
(name "ocaml5.0-result")
|
||||
(arguments
|
||||
`(#:dune ,ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml-5.0
|
||||
#:findlib ,ocaml5.0-findlib))))
|
||||
`(#:dune ,ocaml5:ocaml5.0-dune-bootstrap
|
||||
#:ocaml ,ocaml5:ocaml-5.0
|
||||
#:findlib ,ocaml5:ocaml5.0-findlib))))
|
||||
|
||||
(define-public ocaml-iso8601
|
||||
(package
|
||||
@@ -6221,23 +6134,10 @@ interfaces and the standard higher-level merlin protocol.")
|
||||
(arguments '(#:package "dot-merlin-reader"
|
||||
#:tests? #f)) ; no tests
|
||||
(propagated-inputs (list ocaml-merlin-lib))
|
||||
(properties `((ocaml5.0-variant . ,(delay ocaml5.0-dot-merlin-reader))))
|
||||
(synopsis "Reads config files for @code{ocaml-merlin}")
|
||||
(description "@code{ocaml-dot-merlin-reader} is an external reader for
|
||||
@code{ocaml-merlin} configurations.")))
|
||||
|
||||
(define-public ocaml5.0-dot-merlin-reader
|
||||
(package-with-ocaml5.0
|
||||
(package
|
||||
(inherit ocaml-merlin-lib-500)
|
||||
(name "ocaml-dot-merlin-reader")
|
||||
(arguments '(#:package "dot-merlin-reader"
|
||||
#:tests? #f)) ; no tests
|
||||
(propagated-inputs (list ocaml5.0-merlin-lib))
|
||||
(synopsis "Reads config files for @code{ocaml-merlin}")
|
||||
(description "@code{ocaml-dot-merlin-reader} is an external reader for
|
||||
@code{ocaml-merlin} configurations."))))
|
||||
|
||||
(define-public ocaml-merlin
|
||||
(package
|
||||
(inherit ocaml-dot-merlin-reader)
|
||||
@@ -6253,7 +6153,6 @@ interfaces and the standard higher-level merlin protocol.")
|
||||
(when tests?
|
||||
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
|
||||
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
|
||||
(properties `((ocaml5.0-variant . ,(delay ocaml5.0-merlin))))
|
||||
(native-inputs
|
||||
(list ocaml-dot-merlin-reader ; required for tests
|
||||
ocaml-ppxlib
|
||||
@@ -6266,34 +6165,6 @@ External contributors added support for Visual Studio Code, Sublime Text and
|
||||
Atom.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ocaml5.0-merlin
|
||||
(package-with-ocaml5.0
|
||||
(package
|
||||
(inherit ocaml-merlin-lib-500)
|
||||
(name "ocaml-merlin")
|
||||
(arguments
|
||||
'(#:package "merlin"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
;; Tests require a writable cache directory
|
||||
(setenv "HOME" "/tmp")
|
||||
(when tests?
|
||||
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
|
||||
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
|
||||
(native-inputs
|
||||
(list ocaml-dot-merlin-reader ; required for tests
|
||||
ocaml-ppxlib
|
||||
ocaml-mdx
|
||||
jq))
|
||||
(synopsis "Context sensitive completion for OCaml in Vim and Emacs")
|
||||
(description "Merlin is an editor service that provides modern IDE
|
||||
features for OCaml. Emacs and Vim support is provided out-of-the-box.
|
||||
External contributors added support for Visual Studio Code, Sublime Text and
|
||||
Atom.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public ocaml-lsp-server
|
||||
(package
|
||||
(name "ocaml-lsp-server")
|
||||
@@ -6334,8 +6205,6 @@ Atom.")
|
||||
(description "This package implements an Ocaml language server implementation.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public ocaml5.0-lsp-server (package-with-ocaml5.0 ocaml-lsp-server))
|
||||
|
||||
(define-public ocaml-gsl
|
||||
(package
|
||||
(name "ocaml-gsl")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+7
-24
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,16 +2,28 @@ Author: Danny Milosavljevic <dannym@friendly-machines.com>
|
||||
Date: 2026-02-08
|
||||
License: ASL2.0
|
||||
|
||||
Remove [patch.crates-io] and [patch.'ssh://...'] sections.
|
||||
Remove [patch.crates-io] and [patch.'ssh://...'] sections and
|
||||
exclude network-proxy from workspace members.
|
||||
|
||||
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.
|
||||
|
||||
The network-proxy workspace member depends on rama which requires
|
||||
Rust 1.91+.
|
||||
|
||||
--- a/codex-rs/Cargo.toml
|
||||
+++ b/codex-rs/Cargo.toml
|
||||
@@ -311,16 +311,3 @@
|
||||
@@ -28,7 +28,6 @@
|
||||
"lmstudio",
|
||||
"login",
|
||||
"mcp-server",
|
||||
- "network-proxy",
|
||||
"ollama",
|
||||
"process-hardening",
|
||||
"protocol",
|
||||
@@ -311,16 +310,3 @@
|
||||
debug = 1 # Reduce debug symbol size
|
||||
inherits = "test"
|
||||
opt-level = 0
|
||||
|
||||
@@ -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
|
||||
@@ -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],
|
||||
@@ -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()
|
||||
@@ -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")
|
||||
|
||||
+1
-35
@@ -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")
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
+369
-53
@@ -125,6 +125,7 @@
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ruby-xyz)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-sources)
|
||||
#:use-module (gnu packages security-token)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages terminals)
|
||||
@@ -836,6 +837,374 @@ Commit and SemVer specifications.")
|
||||
"This package provides CLI Tool for codeberg similar to gh and glab.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(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
|
||||
"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"
|
||||
"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"
|
||||
"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 requires rama which needs Rust 1.91+.
|
||||
"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 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
|
||||
#: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 +2101,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")
|
||||
|
||||
+599
-1553
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
@@ -826,6 +832,9 @@ and runtime for AI-assisted coding.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mn322gbir4gn4y5jihdqg0wprjlnx771chyfmmm7ri7pnim1zmc"))
|
||||
;; 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>.
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;;; These are JSON manifests with a dotslash
|
||||
@@ -836,7 +845,10 @@ and runtime for AI-assisted coding.")
|
||||
;; 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"
|
||||
(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"
|
||||
"rust-codex-0.98.0-windows-sandbox-protocol-version.patch"
|
||||
"rust-codex-0.98.0-test-shebangs.patch"))))
|
||||
(build-system cargo-build-system)
|
||||
@@ -876,8 +888,7 @@ and runtime for AI-assisted coding.")
|
||||
"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
|
||||
"codex-mcp-server") ; Depends on codex-core, codex-common
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir-to-workspace
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -591,62 +591,6 @@ tags, drag and drop support, tray icon, node icons, hyperlinks, pdf and html
|
||||
export, password protection and auto-saving.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pueue
|
||||
(package
|
||||
(name "pueue")
|
||||
(version "4.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Nukesor/pueue")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zbplfab4glj6f9rip4immca5vabyd132c4k4gch3hrmq7w39x7b"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:cargo-install-paths ''("pueue")
|
||||
#:install-source? #f
|
||||
#:modules
|
||||
'((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(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/pueue")
|
||||
(in-vicinity #$output "bin/pueue"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary "completions" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/pueue")
|
||||
("elvish" . "share/elvish/lib/pueue")
|
||||
("fish" . "share/fish/vendor_completions.d/pueue.fish")
|
||||
("nushell" . "share/nushell/vendor/autoload/pueue")
|
||||
("zsh" . "share/zsh/site-functions/_pueue"))))))))
|
||||
(native-inputs
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'()))
|
||||
(inputs (cargo-inputs 'pueue))
|
||||
(home-page "https://github.com/Nukesor/pueue")
|
||||
(synopsis
|
||||
"Task management for sequential and parallel execution of long-running tasks")
|
||||
(description
|
||||
"Pueue is a tool that processes a queue of shell commands. On top of that,
|
||||
there are a lot of convenient features and abstractions like task groups, task
|
||||
scheduling and background process execution.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public wtime
|
||||
(package
|
||||
(name "wtime")
|
||||
|
||||
+107
-87
@@ -313,97 +313,117 @@ asciinema-created terminal session recordings.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public libtsm
|
||||
(package
|
||||
(name "libtsm")
|
||||
(version "4.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kmscon/libtsm")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"02ab605bh6raq4kvb73s6fqqblra65jcl7cd3swmcmqwdimgzmpi"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(delete-file-recursively "external/xkbcommon"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list check
|
||||
libxkbcommon
|
||||
pkg-config))
|
||||
(home-page "https://github.com/kmscon/libtsm")
|
||||
(synopsis "Terminal Emulator State Machine library")
|
||||
(description
|
||||
"TSM is a state machine for @acronym{DEC, Digital Equipment Corporation}
|
||||
VT100-VT520 compatible terminal emulators. It tries to support all common
|
||||
standards while keeping compatibility to existing emulators like xterm,
|
||||
gnome-terminal, konsole, among others.")
|
||||
;; Hash table implementation is lgpl2.1+ licensed.
|
||||
;; The wcwidth implementation in external/wcwidth.{h,c} uses a MIT-style
|
||||
;; license.
|
||||
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
|
||||
;; under the bsd 2 license.
|
||||
(license
|
||||
(list license:bsd-2
|
||||
license:expat
|
||||
license:lgpl2.1+))))
|
||||
(let ((commit "f70e37982f382b03c6939dac3d5f814450bda253")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "libtsm")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
;; The freedesktop repository is no longer maintained.
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/Aetf/" name))
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove a bundled copy of libxkbcommon's xkbcommon-keysyms.h.
|
||||
(delete-file-recursively "external/xkbcommon")
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list check libxkbcommon ; for xkbcommon-keysyms.h
|
||||
pkg-config))
|
||||
(synopsis "Xterm state machine library")
|
||||
(description "TSM is a state machine for DEC VT100-VT520 compatible
|
||||
terminal emulators. It tries to support all common standards while keeping
|
||||
compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.")
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/libtsm")
|
||||
;; Hash table implementation is lgpl2.1+ licensed.
|
||||
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
|
||||
;; derived from ISC.
|
||||
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
|
||||
;; under the bsd 2 license.
|
||||
(license (list license:expat license:lgpl2.1+ license:isc license:bsd-2)))))
|
||||
|
||||
(define-public kmscon
|
||||
(package
|
||||
(name "kmscon")
|
||||
(version "9.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kmscon/kmscon")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jssf69n76lhvx4b2kmk4hn0sjfj6pjmdq5h7hz57n6qgpg3zlxx"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list check
|
||||
pkg-config
|
||||
libxslt
|
||||
docbook-xsl))
|
||||
(inputs
|
||||
(list elogind
|
||||
eudev
|
||||
libdrm
|
||||
libtsm
|
||||
libxkbcommon
|
||||
;; MESA is useful for accelerated video output via OpenGLESv2, but,
|
||||
;; being a big dependency, we would rather avoid it in the
|
||||
;; installation image.
|
||||
;; mesa
|
||||
pango))
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/kmscon")
|
||||
(synopsis "Linux KMS-based terminal emulator")
|
||||
(description
|
||||
"Kmscon is a terminal emulator based on Linux's @acronym{KMS, kernel mode
|
||||
setting}. It can replace the in-kernel @acronym{VT, virtual terminal}
|
||||
(let ((commit "01dd0a231e2125a40ceba5f59fd945ff29bf2cdc")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "kmscon")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
;; The freedesktop repository is no longer maintained.
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/Aetf/" name))
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0q62kjsvy2iwy8adfiygx2bfwlh83rphgxbis95ycspqidg9py87"))
|
||||
(patches
|
||||
(search-patches "kmscon-runtime-keymap-switch.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
;; Use elogind instead of systemd.
|
||||
(add-before 'configure 'remove-systemd
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("libsystemd-daemon libsystemd-login")
|
||||
"libelogind"))
|
||||
(substitute* "src/uterm_systemd.c"
|
||||
(("#include <systemd/sd-login.h>")
|
||||
"#include <elogind/sd-login.h>")
|
||||
;; We don't have this header.
|
||||
(("#include <systemd/sd-daemon\\.h>")
|
||||
"")
|
||||
;; Replace the call to 'sd_booted' by the truth value.
|
||||
(("sd_booted\\(\\)")
|
||||
"1")))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
autoconf
|
||||
automake
|
||||
libtool
|
||||
libxslt ;to build the man page
|
||||
docbook-xsl))
|
||||
(inputs
|
||||
`(("libdrm" ,libdrm)
|
||||
("libtsm" ,libtsm)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("logind" ,elogind)
|
||||
;; MESA can be used for accelerated video output via OpenGLESv2, but
|
||||
;; it's a big dependency that we'd rather avoid in the installation
|
||||
;; image.
|
||||
;; ("mesa" ,mesa)
|
||||
("pango" ,pango)
|
||||
("udev" ,eudev)))
|
||||
(synopsis "Linux KMS-based terminal emulator")
|
||||
(description "Kmscon is a terminal emulator based on Linux's @dfn{kernel
|
||||
mode setting} (KMS). It can replace the in-kernel virtual terminal (VT)
|
||||
implementation with a user-space console. Compared to the Linux console,
|
||||
kmscon provides enhanced features including XKB-compatible internationalized
|
||||
keyboard support, UTF-8 input/font support, hardware-accelerated rendering,
|
||||
multi-seat support, a replacement for @command{mingetty}, and more.")
|
||||
;; Hash table implementation is lgpl2.1+ licensed.
|
||||
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
|
||||
;; derived from ISC.
|
||||
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
|
||||
;; under the bsd 2 license.
|
||||
;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed
|
||||
;; under the terms of the GNU GPL.
|
||||
(license (list license:expat
|
||||
license:lgpl2.1+
|
||||
license:bsd-2
|
||||
license:gpl2+))
|
||||
(supported-systems (filter (cut string-suffix? "-linux" <>)
|
||||
%supported-systems))))
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/kmscon")
|
||||
;; Hash table implementation is lgpl2.1+ licensed.
|
||||
;; The wcwidth implementation in external/wcwidth.{h,c} uses a license
|
||||
;; derived from ISC.
|
||||
;; UCS-4 to UTF-8 encoding is copied from "terminology" which is released
|
||||
;; under the bsd 2 license.
|
||||
;; Unifont-Font is from http://unifoundry.com/unifont.html and licensed
|
||||
;; under the terms of the GNU GPL.
|
||||
(license (list license:expat license:lgpl2.1+ license:bsd-2
|
||||
license:gpl2+))
|
||||
(supported-systems (filter (cut string-suffix? "-linux" <>)
|
||||
%supported-systems)))))
|
||||
|
||||
(define-public libtermkey
|
||||
(package
|
||||
@@ -880,7 +900,7 @@ eye-candy, customizable, and reasonably lightweight.")
|
||||
(define-public foot
|
||||
(package
|
||||
(name "foot")
|
||||
(version "1.26.1")
|
||||
(version "1.26.0")
|
||||
(home-page "https://codeberg.org/dnkl/foot")
|
||||
(source
|
||||
(origin
|
||||
@@ -890,7 +910,7 @@ eye-candy, customizable, and reasonably lightweight.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rh99jhdf51v5ynirin08lmz9rbfrlbbjwmm1c3b577xpk2ybprp"))))
|
||||
(base32 "04pbw6v05n8s32mjgjxxzzixzxhcx850fnah14wjhjsx0nnqsway"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
@@ -154,10 +154,6 @@ is on expressing the content semantically, avoiding physical markup commands.")
|
||||
#~(cons* "--with-external-Unicode-EastAsianWidth"
|
||||
"--with-external-Text-Unidecode"
|
||||
"--with-external-libintl-perl"
|
||||
#$@(if (%current-target-system)
|
||||
;; tries to build for the native perl
|
||||
'("--disable-perl-xs")
|
||||
'())
|
||||
#$flags))
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
@@ -174,8 +170,15 @@ is on expressing the content semantically, avoiding physical markup commands.")
|
||||
(cute patch-shebang <> (list (dirname perl)))
|
||||
(find-files "." ".*[.]pl")))))
|
||||
#$@(if (%current-target-system)
|
||||
;; for help2man
|
||||
#~((add-after 'configure 'fixup-texindex-building-from-git
|
||||
;; Texinfo uses a C binary during the build process, but
|
||||
;; lacks the concept of `CC_FOR_BUILD'
|
||||
;; Hack around that by building it manually.
|
||||
#~((add-after 'configure 'build-native-tools
|
||||
(lambda _
|
||||
(with-directory-excursion "info"
|
||||
(lambda _
|
||||
(invoke "make" "CC=gcc" "makedoc")))))
|
||||
(add-after 'configure 'fixup-texindex-building-from-git
|
||||
(lambda _
|
||||
(symlink "../../texindex/texindex"
|
||||
"tools/texindex/texindex"))))
|
||||
|
||||
+12
-2
@@ -121,8 +121,18 @@ over IRC, instant messaging, network games, and most server software.")
|
||||
(sha256
|
||||
(base32 "1kv6dpj93gckvwvgzxl4vdqpwnicb0c8p0xw53m2gh5naiw44ys4"))))))
|
||||
|
||||
;; 2026-03-14
|
||||
(define-deprecated-package miniupnpc-next miniupnpc)
|
||||
(define-public miniupnpc-next
|
||||
(package
|
||||
(inherit miniupnpc)
|
||||
(name "miniupnpc-next")
|
||||
(version "2.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
|
||||
"miniupnpc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "06mx6kk42px0f08k5pazmjawbj19gnpg3pwxrj4c1mjac7x0lanm"))))))
|
||||
|
||||
(define-public libupnp
|
||||
(package
|
||||
|
||||
@@ -1137,7 +1137,7 @@ provides an integration with GitHub and GitLab.")
|
||||
(define-public got
|
||||
(package
|
||||
(name "got")
|
||||
(version "0.123")
|
||||
(version "0.122")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -1146,7 +1146,7 @@ provides an integration with GitHub and GitLab.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09l55364d8lga34gq8h6y9rs8r3xka57d1dzjr34zvp20dgpkbjk"))))
|
||||
"0620wb7m867fjcim27dl09csj23a9vq8drca98c94ggibxd9sghw"))))
|
||||
(inputs
|
||||
(list libevent
|
||||
`(,util-linux "lib")
|
||||
@@ -3638,15 +3638,15 @@ by rclone usable with git-annex.")
|
||||
(define-public fossil
|
||||
(package
|
||||
(name "fossil")
|
||||
(version "2.28")
|
||||
(version "2.27")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://fossil-scm.org/home/tarball/version-" version
|
||||
"/fossil-" version ".tar.gz"))
|
||||
"https://fossil-scm.org/home/tarball/version-" version
|
||||
"/fossil-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1lw3ridv2id4hf5ksrpjwf7fv65wzs81wli4ksc0qr4h3xfyi66b"))))
|
||||
(base32 "0mhlvsfqjc46jbr5gf7r1d1xz0hg7w8swpz5gb12y3s14f1lx1fm"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list tcl ;for configuration only
|
||||
@@ -3678,7 +3678,11 @@ by rclone usable with git-annex.")
|
||||
(add-before 'check 'test-setup
|
||||
(lambda _
|
||||
(setenv "USER" "guix")
|
||||
(setenv "TZ" "UTC"))))))
|
||||
(setenv "TZ" "UTC")))
|
||||
(add-after 'test-setup 'disable-broken-test
|
||||
(lambda _
|
||||
;; https://fossil-scm.org/home/info/4619d2efab946460
|
||||
(delete-file "test/settings.test"))))))
|
||||
(home-page "https://fossil-scm.org")
|
||||
(synopsis "Software configuration management system")
|
||||
(description
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
;;; Copyright © 2021 Robin Templeton <robin@terpri.org>
|
||||
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
|
||||
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
|
||||
;;; Copyright © 2022,2026 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2022 Bird <birdsite@airmail.cc>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;; Copyright © 2022 Chadwain Holness <chadwainholness@gmail.com>
|
||||
@@ -239,7 +239,6 @@
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages vnc)
|
||||
#:use-module (gnu packages vulkan)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wget)
|
||||
@@ -2509,7 +2508,7 @@ media, 2D/3D graphics and ECMAScript.")
|
||||
dav1d
|
||||
dbus
|
||||
eudev
|
||||
ffmpeg
|
||||
ffmpeg-6
|
||||
flac
|
||||
fontconfig
|
||||
freetype
|
||||
@@ -2546,7 +2545,6 @@ media, 2D/3D graphics and ECMAScript.")
|
||||
libupnp
|
||||
libva
|
||||
libvdpau
|
||||
libvnc
|
||||
libvorbis
|
||||
libvpx
|
||||
libx264
|
||||
@@ -3272,7 +3270,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
|
||||
(define-public yt-dlp
|
||||
(package
|
||||
(name "yt-dlp")
|
||||
(version "2026.03.13")
|
||||
(version "2026.02.04")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3281,7 +3279,7 @@ video streaming services of the Finnish national broadcasting company Yle.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06bvcibhncmpl0dw440w0f5rngpni2hmdp3ykyy0ba88mfsnh7jb"))))
|
||||
(base32 "030dashvrzhmp76lgdwnmj5p2405d0hhl91mkiggn187hzzg6y99"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
||||
+71
-76
@@ -59,7 +59,7 @@
|
||||
(define-public spirv-headers
|
||||
(package
|
||||
(name "spirv-headers")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -68,7 +68,7 @@
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"16p1g33hw89hl2ldpqck2fggqxiwfgn735j35pwqpbckx8r66chy"))
|
||||
"11nsfr6z11dx6ccyi9anz2iycxr9i06zl8dk4pdllf3dvk5wq61d"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -91,7 +91,7 @@ and for the GLSL.std.450 extended instruction set.
|
||||
(define-public spirv-tools
|
||||
(package
|
||||
(name "spirv-tools")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -99,7 +99,7 @@ and for the GLSL.std.450 extended instruction set.
|
||||
(url "https://github.com/KhronosGroup/SPIRV-Tools")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32 "05rwpjnfaqn6yy10gn8c9xd0172ri5vgbqrjb7hfa1qjgrj7psqz"))
|
||||
(base32 "015xymrzch87f3xkzx9rvlglqp39zx4vphjb2dkl5w6qcpz5s1y8"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -122,19 +122,10 @@ SPIR-V modules. The project includes an assembler, binary module
|
||||
parser,disassembler, validator, and optimizer for SPIR-V.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public spirv-tools-static
|
||||
(package/inherit spirv-tools
|
||||
(name "spirv-tools-static")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments spirv-tools)
|
||||
((#:configure-flags flags)
|
||||
#~(cons* "-DSPIRV_TOOLS_BUILD_STATIC=ON"
|
||||
(delete "-DSPIRV_TOOLS_BUILD_STATIC=OFF" #$flags)))))))
|
||||
|
||||
(define-public spirv-cross
|
||||
(package
|
||||
(name "spirv-cross")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -142,7 +133,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
|
||||
(url "https://github.com/KhronosGroup/SPIRV-Cross")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32 "04z7kcg0z4mfnsvfxw1bxzfyq1678zwf1d79j2hyvhkvd2c8fr86"))
|
||||
(base32 "13fci6z74bxm8pbb3plchx31r04yzb4g11dbzcw3337dsgdllqma"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -237,7 +228,7 @@ translation between LLVM IR and SPIR-V.")
|
||||
(define-public glslang
|
||||
(package
|
||||
(name "glslang")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -246,7 +237,7 @@ translation between LLVM IR and SPIR-V.")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0z5zabmjiqgxr935wbk9pr649bxk404nkjkvkavdwj904sg48i3h"))
|
||||
"1b0zsrv12b34q0wp9g85x11kpd5kjvx4lbn7xv8b4szfpwdkxxxh"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@@ -345,7 +336,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
||||
(define-public vulkan-headers/no-loader
|
||||
(package
|
||||
(name "vulkan-headers")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -355,7 +346,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a2w1g06w06nzr42srrvw06i5p6pzi5n25ldnbd6j8p860pqz1qc"))))
|
||||
"1kamn5hw5lpw4yxyri4mlrryzhn33bnnrqby0yxla45z5f5f6fb3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; No tests.
|
||||
@@ -389,7 +380,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
||||
(define-public vulkan-loader
|
||||
(package
|
||||
(name "vulkan-loader")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -399,7 +390,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xdfqvh9yhybnlfc84qxf65l5snhc8p0a3j6qaryj9m71khd64np"))))
|
||||
"0fbpypznznvwkqgf2zw85xdpbiq92j95xyldhnjk94lia6bs4klb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -465,60 +456,64 @@ and the ICD.")
|
||||
license:bsd-3))))
|
||||
|
||||
(define-public vulkan-tools
|
||||
(package
|
||||
(name "vulkan-tools")
|
||||
(version "1.4.335.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(substitute* "tests/icd/mock_icd_tests.cpp"
|
||||
;; Disable driver info test since it relies on git branch info
|
||||
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
|
||||
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
|
||||
(sha256
|
||||
(base32
|
||||
"07b5jlvp70apmkj0b8l2w086h0vbcfl49n7xr35kmv46p0n37z0b"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
|
||||
(native-inputs
|
||||
(list googletest pkg-config python vulkan-headers))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DBUILD_TESTS=ON")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-libvulkan-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("vulkaninfo/vulkaninfo_functions.h"
|
||||
"cube/cube_functions.h")
|
||||
(("dlopen\\(\"libvulkan.so.1")
|
||||
(string-append "dlopen(\""
|
||||
(search-input-file
|
||||
inputs "/lib/libvulkan.so.1"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./tests/vulkan_tools_tests")))))))
|
||||
(home-page
|
||||
"https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(synopsis "Tools and utilities for Vulkan")
|
||||
(description
|
||||
"Vulkan-Tools provides tools and utilities that can assist development by
|
||||
;; Required to fix an issue. See:
|
||||
;; https://github.com/KhronosGroup/Vulkan-Tools/issues/1130
|
||||
(let ((commit "105d6c1fede00c3a9055e5a531ebf3d99bac406e")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "vulkan-tools")
|
||||
(version (git-version "1.4.321.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(substitute* "tests/icd/mock_icd_tests.cpp"
|
||||
;; Disable driver info test since it relies on git branch info
|
||||
(("ASSERT_EQ\\(std::string\\(driver_properties\\.driverInfo\\)")
|
||||
"// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
|
||||
(sha256
|
||||
(base32
|
||||
"1dphpf4v0kip2b0vhhwb136gjjmgxc64gg26sg3wpg6nnwakpznc"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list glslang libxrandr vulkan-loader wayland wayland-protocols))
|
||||
(native-inputs
|
||||
(list googletest pkg-config python vulkan-headers))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "-DBUILD_TESTS=ON")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-libvulkan-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("vulkaninfo/vulkaninfo_functions.h"
|
||||
"cube/cube_functions.h")
|
||||
(("dlopen\\(\"libvulkan.so.1")
|
||||
(string-append "dlopen(\""
|
||||
(search-input-file
|
||||
inputs "/lib/libvulkan.so.1"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./tests/vulkan_tools_tests")))))))
|
||||
(home-page
|
||||
"https://github.com/KhronosGroup/Vulkan-Tools")
|
||||
(synopsis "Tools and utilities for Vulkan")
|
||||
(description
|
||||
"Vulkan-Tools provides tools and utilities that can assist development by
|
||||
enabling developers to verify their applications correct use of the Vulkan
|
||||
API.")
|
||||
(license (list license:asl2.0)))) ;LICENSE.txt
|
||||
(license (list license:asl2.0))))) ;LICENSE.txt
|
||||
|
||||
(define-public shaderc
|
||||
(package
|
||||
(name "shaderc")
|
||||
;; shaderc doesn't follow the versioning scheme of vulkan sdk
|
||||
(version "2025.5")
|
||||
(version "2025.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -528,7 +523,7 @@ API.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i1rwn4xg8galdxw66p72m36q5vx8zx42ypdcmhv15nv6mj92q9y"))))
|
||||
"0w1mj5b3n6kp0brqindb7fppvllzlywkdk1zglkbj3bw8k0795mb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -645,7 +640,7 @@ constant management, and opcode emission.")
|
||||
(define-public vulkan-validationlayers
|
||||
(package
|
||||
(name "vulkan-validationlayers")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -660,14 +655,14 @@ constant management, and opcode emission.")
|
||||
"")))
|
||||
(sha256
|
||||
(base32
|
||||
"06kx3769xn6xrk2xjs5k9hpkv8gvmjwn7yvz423yy7d9fzgnn70m"))))
|
||||
"1lmkcgz80386304s6kr4fi825r5004305fhvfc7gmsqdih0bqcv9"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list glslang
|
||||
libxrandr
|
||||
mesa
|
||||
robin-hood-hashing
|
||||
shaderc
|
||||
spirv-tools-static
|
||||
spirv-tools
|
||||
vulkan-loader
|
||||
vulkan-utility-libraries
|
||||
wayland))
|
||||
@@ -713,7 +708,7 @@ applications correctly use the Vulkan API.")
|
||||
(define-public vulkan-volk
|
||||
(package
|
||||
(name "vulkan-volk")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.304")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -722,7 +717,7 @@ applications correctly use the Vulkan API.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hqamyr3xdqacgn49hzf966vj7hn54aybzkfg76y3hc9ly2hq0x8"))))
|
||||
"0slgshhrr1l08wkc4n0ky2z670cfrnzw8gxdrznmja4ly13cc8pr"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -779,7 +774,7 @@ storage.")
|
||||
(define-public vulkan-utility-libraries
|
||||
(package
|
||||
(name "vulkan-utility-libraries")
|
||||
(version "1.4.335.0")
|
||||
(version "1.4.321.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -787,7 +782,7 @@ storage.")
|
||||
(url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
|
||||
(commit (string-append "vulkan-sdk-" version))))
|
||||
(sha256
|
||||
(base32 "116agfaayycizafq2infy12n07039rp6azzvfff3wq84ph3v8cwl"))
|
||||
(base32 "1xj860z596p2wgdfc5yr15q0hasz8p4ci6x0j1wim7jklp92g89i"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -4136,14 +4136,14 @@ which can be used to parse directory listings.")
|
||||
(define-public perl-finance-quote
|
||||
(package
|
||||
(name "perl-finance-quote")
|
||||
(version "1.68")
|
||||
(version "1.65")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://cpan.metacpan.org/authors/id/B/BP/BPSCHUCK/"
|
||||
"Finance-Quote-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ha4lapj6a2gzb601h5bk5vps2wsgwj4xxc69vibyrlrra3q7v1j"))))
|
||||
(base32 "0603zricynb6n9kq7agsb03v4idlqy0rdc1nq2knzbf9l9jljyhb"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
(list perl-test-harness
|
||||
|
||||
+2
-2
@@ -517,7 +517,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
|
||||
(define-public hyprland
|
||||
(package
|
||||
(name "hyprland")
|
||||
(version "0.54.2")
|
||||
(version "0.54.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/hyprwm/Hyprland"
|
||||
@@ -534,7 +534,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
|
||||
"subprojects"))))
|
||||
(sha256
|
||||
(base32
|
||||
"06zxx8i92n5pyyl472s3kbb6m7czg72klh6cs80jz6yhdbw9qgbj"))))
|
||||
"0q1z5cbwxpdm8wc2p14g53g2i2afqb398ilxsw8i1p4fiinsmmv7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;No tests.
|
||||
|
||||
@@ -2325,8 +2325,8 @@ rules."
|
||||
(let ((plasma-plasma (plasma-package config)))
|
||||
(map (lambda (name)
|
||||
((package-direct-input-selector name) plasma-plasma))
|
||||
'("bolt" ;for plasma-thunderbolt
|
||||
"fwupd" ;for kinfocenter and discover
|
||||
'("bolt" ;for plasma-thunderbolt
|
||||
"fwupd" ;for kinfocenter and discover
|
||||
"kde-inotify-survey"
|
||||
"kdeplasma-addons"
|
||||
"kinfocenter"
|
||||
@@ -2346,8 +2346,8 @@ rules."
|
||||
(let ((plasma-plasma (plasma-package config)))
|
||||
(map (lambda (name)
|
||||
((package-direct-input-selector name) plasma-plasma))
|
||||
'("bolt" ;for plasma-thunderbolt
|
||||
"fwupd" ;for kinfocenter and discover
|
||||
'("bolt" ;for plasma-thunderbolt
|
||||
"fwupd" ;for kinfocenter and discover
|
||||
"kde-inotify-survey"
|
||||
"kdeplasma-addons"
|
||||
"kinfocenter"
|
||||
@@ -2362,15 +2362,6 @@ rules."
|
||||
"plasma-workspace"
|
||||
"powerdevil"))))
|
||||
|
||||
(define (plasma-udev-configurations config)
|
||||
"Return the list of KDE Plasma dependencies that provide udev rules and
|
||||
hardware files."
|
||||
(let ((plasma-plasma (plasma-package config)))
|
||||
(map (lambda (name)
|
||||
((package-direct-input-selector name) plasma-plasma))
|
||||
'("bolt" ;for plasma-thunderbolt
|
||||
"fwupd")))) ;for kinfocenter and discover
|
||||
|
||||
;; see https://bugs.kde.org/show_bug.cgi?id=456210
|
||||
;; if `kde' no exits, fallback to `other', and then unlock lockscreen not work,
|
||||
;; so add it.
|
||||
@@ -2389,8 +2380,6 @@ hardware files."
|
||||
plasma-dbus-service)
|
||||
(service-extension pam-root-service-type
|
||||
plasma-pam-services)
|
||||
(service-extension udev-service-type
|
||||
plasma-udev-configurations)
|
||||
(service-extension profile-service-type
|
||||
(compose list
|
||||
plasma-package))))))
|
||||
|
||||
+43
-51
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2025, 2026 Tomas Volf <~@wolfsden.cz>
|
||||
;;; Copyright © 2025 Tomas Volf <~@wolfsden.cz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -100,116 +100,108 @@
|
||||
"Additional modules to import into the generated handler script.")
|
||||
(killpower
|
||||
(gexp
|
||||
#~(begin
|
||||
(wall "Apccontrol doing: apcupsd --killpower on UPS ~a" name)
|
||||
(sleep 10)
|
||||
(apcupsd "--killpower")
|
||||
(wall "Apccontrol has done: apcupsd --killpower on UPS ~a" name)))
|
||||
#~((wall "Apccontrol doing: apcupsd --killpower on UPS ~a" name)
|
||||
(sleep 10)
|
||||
(apcupsd "--killpower")
|
||||
(wall "Apccontrol has done: apcupsd --killpower on UPS ~a" name)))
|
||||
"The handler for the killpower event.")
|
||||
(commfailure
|
||||
(gexp
|
||||
#~(begin
|
||||
(let ((msg (format #f "~a Communications with UPS ~a lost."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Warning: communications lost with UPS ~a" name)))
|
||||
#~((let ((msg (format #f "~a Communications with UPS ~a lost."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Warning: communications lost with UPS ~a" name)))
|
||||
"The handler for the commfailure event.")
|
||||
(commok
|
||||
(gexp
|
||||
#~(begin
|
||||
(let ((msg (format #f "~a Communications with UPS ~a restored."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Communications restored with UPS ~a" name)))
|
||||
#~((let ((msg (format #f "~a Communications with UPS ~a restored."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Communications restored with UPS ~a" name)))
|
||||
"The handler for the commfailure event.")
|
||||
(powerout
|
||||
(gexp
|
||||
#~#t)
|
||||
#~(#t))
|
||||
"The handler for the powerout event.")
|
||||
(onbattery
|
||||
(gexp
|
||||
#~(begin
|
||||
(let ((msg (format #f "~a UPS ~a Power Failure !!!"
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Power failure on UPS ~a. Running on batteries." name)))
|
||||
#~((let ((msg (format #f "~a UPS ~a Power Failure !!!"
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Power failure on UPS ~a. Running on batteries." name)))
|
||||
"The handler for the onbattery event.")
|
||||
(offbattery
|
||||
(gexp
|
||||
#~(begin
|
||||
(let ((msg (format #f "~a UPS ~a Power has returned."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Power has returned on UPS ~a..." name)))
|
||||
#~((let ((msg (format #f "~a UPS ~a Power has returned."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Power has returned on UPS ~a..." name)))
|
||||
"The handler for the offbattery event.")
|
||||
(mainsback
|
||||
(gexp
|
||||
#~(when (file-exists? powerfail-file)
|
||||
(wall "Continuing with shutdown.")))
|
||||
#~((when (file-exists? powerfail-file)
|
||||
(wall "Continuing with shutdown."))))
|
||||
"The handler for the mainsback event.")
|
||||
(failing
|
||||
(gexp
|
||||
#~(wall "Battery power exhausted on UPS ~a. Doing shutdown." name))
|
||||
#~((wall "Battery power exhausted on UPS ~a. Doing shutdown." name)))
|
||||
"The handler for the failing event.")
|
||||
(timeout
|
||||
(gexp
|
||||
#~(wall "Battery time limit exceeded on UPS ~a. Doing shutdown." name))
|
||||
#~((wall "Battery time limit exceeded on UPS ~a. Doing shutdown." name)))
|
||||
"The handler for the timeout event.")
|
||||
(loadlimit
|
||||
(gexp
|
||||
#~(wall "Remaining battery charge below limit on UPS ~a. Doing shutdown." name))
|
||||
#~((wall "Remaining battery charge below limit on UPS ~a. Doing shutdown." name)))
|
||||
"The handler for the loadlimit event.")
|
||||
(runlimit
|
||||
(gexp
|
||||
#~(wall "Remaining battery runtime below limit on UPS ~a. Doing shutdown." name))
|
||||
#~((wall "Remaining battery runtime below limit on UPS ~a. Doing shutdown." name)))
|
||||
"The handler for the runlimit event.")
|
||||
(doreboot
|
||||
(gexp
|
||||
#~(begin
|
||||
(wall "UPS ~a initiating Reboot Sequence" name)
|
||||
(system* #$(file-append shepherd "/sbin/reboot"))))
|
||||
#~((wall "UPS ~a initiating Reboot Sequence" name)
|
||||
(system* #$(file-append shepherd "/sbin/reboot"))))
|
||||
"The handler for the doreboot event.")
|
||||
(doshutdown
|
||||
(gexp
|
||||
#~(begin
|
||||
(wall "UPS ~a initiated Shutdown Sequence" name)
|
||||
(system* #$(file-append shepherd "/sbin/halt"))))
|
||||
#~((wall "UPS ~a initiated Shutdown Sequence" name)
|
||||
(system* #$(file-append shepherd "/sbin/halt"))))
|
||||
"The handler for the doshutdown event.")
|
||||
(annoyme
|
||||
(gexp
|
||||
#~(wall "Power problems with UPS ~a. Please logoff." name))
|
||||
#~((wall "Power problems with UPS ~a. Please logoff." name)))
|
||||
"The handler for the annoyme event.")
|
||||
(emergency
|
||||
(gexp
|
||||
#~(wall "Emergency Shutdown. Possible battery failure on UPS ~a." name))
|
||||
#~((wall "Emergency Shutdown. Possible battery failure on UPS ~a." name)))
|
||||
"The handler for the emergency event.")
|
||||
(changeme
|
||||
(gexp
|
||||
#~(begin
|
||||
(let ((msg (format #f "~a UPS ~a battery needs changing NOW."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Emergency! Batteries have failed on UPS ~a. Change them NOW." name)))
|
||||
#~((let ((msg (format #f "~a UPS ~a battery needs changing NOW."
|
||||
(gethostname) name)))
|
||||
(mail-to-root msg msg))
|
||||
(wall "Emergency! Batteries have failed on UPS ~a. Change them NOW." name)))
|
||||
"The handler for the changeme event.")
|
||||
(remotedown
|
||||
(gexp
|
||||
#~(wall "Remote Shutdown. Beginning Shutdown Sequence."))
|
||||
#~((wall "Remote Shutdown. Beginning Shutdown Sequence.")))
|
||||
"The handler for the remotedown event.")
|
||||
(startselftest
|
||||
(gexp
|
||||
#~#t)
|
||||
#~(#t))
|
||||
"The handler for the startselftest event.")
|
||||
(endselftest
|
||||
(gexp
|
||||
#~#t)
|
||||
#~(#t))
|
||||
"The handler for the endselftest event.")
|
||||
(battdetach
|
||||
(gexp
|
||||
#~#t)
|
||||
#~(#t))
|
||||
"The handler for the battdetach event.")
|
||||
(battattach
|
||||
(gexp
|
||||
#~#t)
|
||||
#~(#t))
|
||||
"The handler for the battattach event."))
|
||||
|
||||
(define mangle-field-name
|
||||
|
||||
@@ -55,8 +55,8 @@
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages disk)
|
||||
#:use-module (gnu packages flashing-tools)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages genimage)
|
||||
#:use-module (gnu packages guile)
|
||||
#:autoload (gnu packages gnupg) (guile-gcrypt)
|
||||
#:use-module (gnu packages hurd)
|
||||
|
||||
+72
-50
@@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021 pukkamustard <pukkamustard@posteo.net>
|
||||
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -31,12 +32,22 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (%dune-build-system-modules
|
||||
dune-build
|
||||
dune-build-system))
|
||||
dune-build-system
|
||||
ocaml5-dune-build-system))
|
||||
|
||||
;; Commentary:
|
||||
;;
|
||||
;; Standard build procedure for packages using dune. This is implemented as an
|
||||
;; extension of `ocaml-build-system'.
|
||||
;; Standard build procedures for packages using dune. These are implemented as
|
||||
;; extensions of `ocaml-build-system'.
|
||||
;;
|
||||
;; Multiple instances of the build system exist to support different versions
|
||||
;; of the OCaml compiler and its associated tools. Choose `dune-build-system`
|
||||
;; for a build system that works with Guix's default version of the compiler,
|
||||
;; or choose `ocamlX-dune-build-system` for some other compiler version X.
|
||||
;;
|
||||
;; Adaptor functions of the form `package-with-ocamlX.Y` defined in the OCaml
|
||||
;; build system will also work on packages with the Dune build system, subject
|
||||
;; to the same caveats.
|
||||
;;
|
||||
;; Code:
|
||||
|
||||
@@ -45,54 +56,49 @@
|
||||
`((guix build dune-build-system)
|
||||
,@ocaml:%ocaml-build-system-modules))
|
||||
|
||||
(define (default-dune)
|
||||
"Return the default OCaml package."
|
||||
(define (make-lower default-ocaml default-findlib default-dune)
|
||||
(lambda* (name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(dune (default-dune))
|
||||
(ocaml (default-ocaml))
|
||||
(findlib (default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
|
||||
;; Do not use `@' to avoid introducing circular dependencies.
|
||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||
(module-ref module 'dune)))
|
||||
;; Flags that put dune into reproducible build mode.
|
||||
(define dune-release-flags
|
||||
(if (version>=? (package-version dune) "2.5.0")
|
||||
;; For dune >= 2.5.0 this is just --release.
|
||||
''("--release")
|
||||
;; --release does not exist before 2.5.0. Replace with flags compatible
|
||||
;; with our old ocaml4.07-dune (1.11.3)
|
||||
''("--root" "." "--ignore-promoted-rules" "--no-config"
|
||||
"--profile" "release")))
|
||||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(dune (default-dune))
|
||||
(ocaml (ocaml:default-ocaml))
|
||||
(findlib (ocaml:default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(define private-keywords
|
||||
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
|
||||
|
||||
;; Flags that put dune into reproducible build mode.
|
||||
(define dune-release-flags
|
||||
(if (version>=? (package-version dune) "2.5.0")
|
||||
;; For dune >= 2.5.0 this is just --release.
|
||||
''("--release")
|
||||
;; --release does not exist before 2.5.0. Replace with flags compatible
|
||||
;; with our old ocaml4.07-dune (1.11.3)
|
||||
''("--root" "." "--ignore-promoted-rules" "--no-config"
|
||||
"--profile" "release")))
|
||||
|
||||
(define private-keywords
|
||||
'(#:target #:dune #:findlib #:ocaml #:inputs #:native-inputs))
|
||||
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(let ((base (ocaml:lower name
|
||||
#:source source
|
||||
#:inputs inputs
|
||||
#:native-inputs native-inputs
|
||||
#:outputs outputs
|
||||
#:system system
|
||||
#:target target
|
||||
#:ocaml ocaml
|
||||
#:findlib findlib
|
||||
arguments)))
|
||||
(bag
|
||||
(inherit base)
|
||||
(build-inputs `(("dune" ,dune)
|
||||
,@(bag-build-inputs base)))
|
||||
(build dune-build)
|
||||
(arguments (append
|
||||
`(#:dune-release-flags ,dune-release-flags)
|
||||
(strip-keyword-arguments private-keywords arguments)))))))
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(let ((base ((ocaml:make-lower default-ocaml default-findlib)
|
||||
name
|
||||
#:source source
|
||||
#:inputs inputs
|
||||
#:native-inputs native-inputs
|
||||
#:outputs outputs
|
||||
#:system system
|
||||
#:target target
|
||||
#:ocaml ocaml
|
||||
#:findlib findlib
|
||||
arguments)))
|
||||
(bag
|
||||
(inherit base)
|
||||
(build-inputs `(("dune" ,dune)
|
||||
,@(bag-build-inputs base)))
|
||||
(build dune-build)
|
||||
(arguments (append
|
||||
`(#:dune-release-flags ,dune-release-flags)
|
||||
(strip-keyword-arguments private-keywords arguments))))))))
|
||||
|
||||
(define* (dune-build name inputs
|
||||
#:key
|
||||
@@ -158,10 +164,26 @@ provides a 'setup.ml' file as its build system."
|
||||
#:graft? #f
|
||||
#:guile-for-build guile))
|
||||
|
||||
(define dune-build-system
|
||||
(define (make-dune-build-system default-ocaml
|
||||
default-findlib
|
||||
default-dune)
|
||||
(build-system
|
||||
(name 'dune)
|
||||
(description "The standard Dune build system")
|
||||
(lower lower)))
|
||||
(lower (make-lower default-ocaml
|
||||
default-findlib
|
||||
default-dune))))
|
||||
|
||||
(define dune-build-system
|
||||
;; The default instance of the build system, using Guix's default OCaml
|
||||
;; compiler version.
|
||||
(make-dune-build-system ocaml:default-ocaml
|
||||
ocaml:default-findlib
|
||||
ocaml:default-dune))
|
||||
|
||||
(define ocaml5-dune-build-system
|
||||
(make-dune-build-system ocaml:default-ocaml5
|
||||
ocaml:default-ocaml5-findlib
|
||||
ocaml:default-ocaml5-dune))
|
||||
|
||||
;;; dune.scm ends here
|
||||
|
||||
+119
-52
@@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2025 Jason Conroy <jconroy@tscripta.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -33,32 +34,51 @@
|
||||
strip-ocaml4.09-variant
|
||||
package-with-ocaml5.0
|
||||
strip-ocaml5.0-variant
|
||||
package-with-ocaml5.4
|
||||
strip-ocaml5.4-variant
|
||||
default-findlib
|
||||
default-ocaml
|
||||
lower
|
||||
default-dune
|
||||
default-ocaml5-findlib
|
||||
default-ocaml5
|
||||
default-ocaml5-dune
|
||||
make-lower
|
||||
ocaml-build
|
||||
ocaml-build-system))
|
||||
ocaml-build-system
|
||||
ocaml5-build-system))
|
||||
|
||||
;; Commentary:
|
||||
;;
|
||||
;; Standard build procedure for packages using ocaml. This is implemented as an
|
||||
;; extension of `gnu-build-system'.
|
||||
;; Standard build procedures for packages using ocaml. These are implemented
|
||||
;; as extensions of `gnu-build-system'.
|
||||
;;
|
||||
;; OCaml packages don't use a single standard for their build system. Some use
|
||||
;; autotools, other use custom configure scripts with Makefiles, others use
|
||||
;; oasis to generate the configure script and Makefile and lastly, some use
|
||||
;; custom ocaml scripts.
|
||||
;; OCaml packages don't use a single standard for their build
|
||||
;; system. Historically, some use autotools, other use custom configure
|
||||
;; scripts with Makefiles, others use oasis to generate the configure script
|
||||
;; and Makefile, and some use custom ocaml scripts. The majority of new
|
||||
;; packages instead use Dune, which has a separate `dune-build-system`.
|
||||
;;
|
||||
;; Each phase in the build system will try to figure out what the build system
|
||||
;; is for that package. Most packages come with a custom configure script and
|
||||
;; a Makefile that in turn call custom build tools. Packages built with oasis
|
||||
;; will have a `setup.ml' file in the top directory, that can be used for all
|
||||
;; phases. In that case the Makefile is here only to call that script. In case
|
||||
;; the setup.ml do not work as expected, the @var{use-make} argument can be
|
||||
;; used to ignore the setup.ml file and run make instead.
|
||||
;; Each phase in this build system will try to figure out which of the
|
||||
;; approaches above is used for the package. Most packages come with a custom
|
||||
;; configure script and a Makefile that in turn call custom build
|
||||
;; tools. Packages built with oasis will have a `setup.ml' file in the top
|
||||
;; directory, that can be used for all phases. In that case the Makefile is
|
||||
;; here only to call that script. In case the setup.ml do not work as
|
||||
;; expected, the @var{use-make} argument can be used to ignore the setup.ml
|
||||
;; file and run make instead. Some packages use their own custom scripts
|
||||
;; (e.g., `pkg/pkg.ml' or `pkg/build.ml') which can be used here too.
|
||||
;;
|
||||
;; Some packages use their own custom scripts, `pkg/pkg.ml' or
|
||||
;; `pkg/build.ml'. They can be used here too.
|
||||
;; Multiple instances of the build system exist to support different versions
|
||||
;; of the OCaml compiler and its associated tools. Choose `ocaml-build-system`
|
||||
;; for a build system that works with Guix's default version of the compiler,
|
||||
;; or choose `ocamlX-build-system` for some other compiler version X.
|
||||
;;
|
||||
;; Adaptor functions of the form `package-with-ocamlX.Y` transform a package
|
||||
;; to use a different compiler version for its own build and for those of all
|
||||
;; transitive dependencies. These adaptors exist for user convenience, but a
|
||||
;; package shipped with the distribution should generally use the
|
||||
;; `build-system` field instead to identify the version of the OCaml stack
|
||||
;; that it supports.
|
||||
;;
|
||||
;; Code:
|
||||
|
||||
@@ -75,6 +95,10 @@
|
||||
"Return the default OCaml-findlib package, resolved lazily."
|
||||
(@* (gnu packages ocaml) ocaml-findlib))
|
||||
|
||||
(define (default-dune)
|
||||
"Return the default Dune package, resolved lazily."
|
||||
(@* (gnu packages ocaml) dune))
|
||||
|
||||
(define (default-dune-build-system)
|
||||
"Return the dune-build-system, resolved lazily."
|
||||
(@* (guix build-system dune) dune-build-system))
|
||||
@@ -98,14 +122,31 @@
|
||||
(@* (gnu packages ocaml) ocaml4.09-dune))
|
||||
|
||||
(define (default-ocaml5.0)
|
||||
(@* (gnu packages ocaml) ocaml-5.0))
|
||||
(@* (gnu packages ocaml5) ocaml-5.0))
|
||||
|
||||
(define (default-ocaml5.0-findlib)
|
||||
(@* (gnu packages ocaml) ocaml5.0-findlib))
|
||||
(@* (gnu packages ocaml5) ocaml5.0-findlib))
|
||||
|
||||
(define (default-ocaml5.0-dune)
|
||||
(@* (gnu packages ocaml) ocaml5.0-dune))
|
||||
|
||||
(define (default-ocaml5.4)
|
||||
(@* (gnu packages ocaml5) ocaml-5.4))
|
||||
|
||||
(define (default-ocaml5.4-findlib)
|
||||
(@* (gnu packages ocaml5) ocaml5.4-findlib))
|
||||
|
||||
(define (default-ocaml5.4-dune)
|
||||
(@* (gnu packages ocaml5) ocaml5.4-dune))
|
||||
|
||||
;; The default versions of core packages within the 5.x series.
|
||||
|
||||
(define default-ocaml5 default-ocaml5.4)
|
||||
|
||||
(define default-ocaml5-findlib default-ocaml5.4-findlib)
|
||||
|
||||
(define default-ocaml5-dune default-ocaml5.4-dune)
|
||||
|
||||
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
|
||||
#:key variant-property)
|
||||
"Return a procedure of one argument, P. The procedure creates a package
|
||||
@@ -130,6 +171,12 @@ pre-defined variants."
|
||||
variant-property))
|
||||
(const #f)))
|
||||
|
||||
(define (has-ocaml-build-system? p)
|
||||
(eq? 'ocaml (build-system-name (package-build-system p))))
|
||||
|
||||
(define (has-dune-build-system? p)
|
||||
(eq? 'dune (build-system-name (package-build-system p))))
|
||||
|
||||
(define (transform p)
|
||||
(cond
|
||||
;; If VARIANT-PROPERTY is present, use that.
|
||||
@@ -137,8 +184,7 @@ pre-defined variants."
|
||||
=> force)
|
||||
|
||||
;; Otherwise build the new package object graph.
|
||||
((or (eq? (package-build-system p) ocaml-build-system)
|
||||
(eq? (package-build-system p) (default-dune-build-system)))
|
||||
((or (has-ocaml-build-system? p) (has-dune-build-system? p))
|
||||
(package
|
||||
(inherit p)
|
||||
(location (package-location p))
|
||||
@@ -155,15 +201,13 @@ pre-defined variants."
|
||||
(ensure-keyword-arguments (package-arguments p)
|
||||
`(#:ocaml ,ocaml
|
||||
#:findlib ,findlib
|
||||
,@(if (eq? (package-build-system p)
|
||||
(default-dune-build-system))
|
||||
,@(if (has-dune-build-system? p)
|
||||
`(#:dune ,dune)
|
||||
'())))))))
|
||||
(else p)))
|
||||
|
||||
(define (cut? p)
|
||||
(or (not (or (eq? (package-build-system p) ocaml-build-system)
|
||||
(eq? (package-build-system p) (default-dune-build-system))))
|
||||
(or (not (or (has-ocaml-build-system? p) (has-dune-build-system? p)))
|
||||
(package-variant p)))
|
||||
|
||||
(package-mapping transform cut?))
|
||||
@@ -207,33 +251,47 @@ pre-defined variants."
|
||||
(inherit p)
|
||||
(properties (alist-delete 'ocaml5.0-variant (package-properties p)))))
|
||||
|
||||
(define* (lower name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(ocaml (default-ocaml))
|
||||
(findlib (default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(define private-keywords
|
||||
'(#:target #:ocaml #:findlib #:inputs #:native-inputs))
|
||||
(define package-with-ocaml5.4
|
||||
(package-with-explicit-ocaml (delay (default-ocaml5.4))
|
||||
(delay (default-ocaml5.4-findlib))
|
||||
(delay (default-ocaml5.4-dune))
|
||||
"ocaml-" "ocaml5.4-"
|
||||
#:variant-property 'ocaml5.4-variant))
|
||||
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(bag
|
||||
(name name)
|
||||
(system system)
|
||||
(host-inputs `(,@(if source
|
||||
`(("source" ,source))
|
||||
'())
|
||||
,@inputs))
|
||||
(build-inputs `(("ocaml" ,ocaml)
|
||||
("findlib" ,findlib)
|
||||
,@native-inputs
|
||||
(define (strip-ocaml5.4-variant p)
|
||||
"Remove the 'ocaml5.4-variant' property from P."
|
||||
(package
|
||||
(inherit p)
|
||||
(properties (alist-delete 'ocaml5.4-variant (package-properties p)))))
|
||||
|
||||
;; Keep the standard inputs of 'gnu-build-system'.
|
||||
,@(standard-packages)))
|
||||
(outputs outputs)
|
||||
(build ocaml-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments)))))
|
||||
(define (make-lower default-ocaml default-findlib)
|
||||
(lambda* (name
|
||||
#:key source inputs native-inputs outputs system target
|
||||
(ocaml (default-ocaml))
|
||||
(findlib (default-findlib))
|
||||
#:allow-other-keys
|
||||
#:rest arguments)
|
||||
"Return a bag for NAME."
|
||||
(define private-keywords
|
||||
'(#:target #:ocaml #:findlib #:inputs #:native-inputs))
|
||||
|
||||
(and (not target) ;XXX: no cross-compilation
|
||||
(bag
|
||||
(name name)
|
||||
(system system)
|
||||
(host-inputs `(,@(if source
|
||||
`(("source" ,source))
|
||||
'())
|
||||
,@inputs))
|
||||
(build-inputs `(("ocaml" ,ocaml)
|
||||
("findlib" ,findlib)
|
||||
,@native-inputs
|
||||
|
||||
;; Keep the standard inputs of 'gnu-build-system'.
|
||||
,@(standard-packages)))
|
||||
(outputs outputs)
|
||||
(build ocaml-build)
|
||||
(arguments (strip-keyword-arguments private-keywords arguments))))))
|
||||
|
||||
(define* (ocaml-build name inputs
|
||||
#:key
|
||||
@@ -293,10 +351,19 @@ provides a 'setup.ml' file as its build system."
|
||||
#:graft? #f
|
||||
#:guile-for-build guile))
|
||||
|
||||
(define ocaml-build-system
|
||||
(define (make-ocaml-build-system default-ocaml default-findlib)
|
||||
(build-system
|
||||
(name 'ocaml)
|
||||
(description "The standard OCaml build system")
|
||||
(lower lower)))
|
||||
(lower (make-lower default-ocaml default-findlib))))
|
||||
|
||||
(define ocaml-build-system
|
||||
;; The default instance of the build system, using Guix's default OCaml
|
||||
;; compiler version.
|
||||
(make-ocaml-build-system default-ocaml default-findlib))
|
||||
|
||||
(define ocaml5-build-system
|
||||
(make-ocaml-build-system default-ocaml5 default-ocaml5-findlib))
|
||||
|
||||
|
||||
;;; ocaml.scm ends here
|
||||
|
||||
@@ -89,13 +89,19 @@
|
||||
#:allow-other-keys)
|
||||
"Install the given package."
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(if (and (file-exists? "setup.ml") (not use-make?))
|
||||
(cond
|
||||
((and (file-exists? "setup.ml") (not use-make?))
|
||||
(apply invoke "ocaml" "setup.ml"
|
||||
(string-append "-" install-target) build-flags)
|
||||
(if (file-exists? "Makefile")
|
||||
(apply invoke "make" install-target make-flags)
|
||||
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
|
||||
(string-append "--libdir=" out "/lib/ocaml/site-lib")))))
|
||||
(string-append "-" install-target) build-flags))
|
||||
((file-exists? "Makefile")
|
||||
(apply invoke "make" install-target make-flags))
|
||||
;; If there's no Makefile, look for an `.install` file that can be
|
||||
;; processed by opam-installer.
|
||||
((which "opam-installer")
|
||||
(invoke "opam-installer" "-i" (string-append "--prefix=" out)
|
||||
(string-append "--libdir=" out "/lib/ocaml/site-lib")))
|
||||
(else (error
|
||||
"'opam-installer' must exist in $PATH at build time."))))
|
||||
#t)
|
||||
|
||||
(define* (prepare-install #:key outputs #:allow-other-keys)
|
||||
|
||||
+8
-32
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019-2020, 2026 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -20,20 +20,18 @@
|
||||
#:use-module (guix ssh)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module ((guix diagnostics) #:select (info formatted-message))
|
||||
#:use-module ((guix diagnostics) #:select (formatted-message))
|
||||
#:use-module (guix inferior)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((ssh session) #:select (session-get))
|
||||
#:use-module (ssh popen)
|
||||
#:use-module (ssh channel)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (srfi srfi-71)
|
||||
#:export (remote-eval))
|
||||
|
||||
;;; Commentary:
|
||||
@@ -79,19 +77,8 @@ with status ~a")
|
||||
"Evaluate LOWERED, a lowered gexp, in SESSION. This assumes that all the
|
||||
prerequisites of EXP are already available on the host at SESSION. If
|
||||
BECOME-COMMAND is given, use that to invoke the remote Guile REPL."
|
||||
(let* ((pipe (remote-pipe-for-gexp lowered session become-command))
|
||||
(result output (read-repl-response pipe)))
|
||||
;; Print OUTPUT, the remote pipe's standard output and standard error,
|
||||
;; line by line.
|
||||
(let ((host (session-get session 'host)))
|
||||
(let loop ((str output))
|
||||
(unless (string-null? str)
|
||||
(let ((index (string-index str #\newline)))
|
||||
(info (G_ "~a: ~a~%")
|
||||
host (if index (string-take str index) str))
|
||||
(when index
|
||||
(loop (string-drop str (+ 1 index))))))))
|
||||
|
||||
(let* ((pipe (remote-pipe-for-gexp lowered session become-command))
|
||||
(result (read-repl-response pipe)))
|
||||
(close-port pipe)
|
||||
result))
|
||||
|
||||
@@ -106,21 +93,10 @@ result to the current output port using the (guix repl) protocol."
|
||||
(use-modules (guix repl))
|
||||
|
||||
;; We use CURRENT-OUTPUT-PORT for REPL messages, so redirect PROGRAM's
|
||||
;; output to CURRENT-ERROR-PORT so that it does not interfere. Since
|
||||
;; 'open-remote-pipe*' mixes standard output and standard error,
|
||||
;; capture their output separately in a string port and reify it in
|
||||
;; Scheme.
|
||||
(send-repl-response '(let ((output (open-output-string)))
|
||||
(set-port-encoding! output "UTF-8")
|
||||
(set-port-conversion-strategy! output
|
||||
'substitute)
|
||||
(let ((result
|
||||
(with-error-to-port output
|
||||
(lambda ()
|
||||
(with-output-to-port output
|
||||
(lambda ()
|
||||
(primitive-load #$program)))))))
|
||||
(values result (get-output-string output))))
|
||||
;; output to CURRENT-ERROR-PORT so that it does not interfere.
|
||||
(send-repl-response '(with-output-to-port (current-error-port)
|
||||
(lambda ()
|
||||
(primitive-load #$program)))
|
||||
(current-output-port))
|
||||
|
||||
(force-output))))
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@ dnl Check whether a recent-enough Guile-Sqlite3 is available.
|
||||
AC_DEFUN([GUIX_CHECK_GUILE_SQLITE3], [
|
||||
dnl Check whether 'sqlite-bind-arguments' is available. It was introduced
|
||||
dnl in February 2018:
|
||||
dnl <https://codeberg.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
|
||||
dnl <https://notabug.org/guile-sqlite3/guile-sqlite3/commit/1cd1dec96a9999db48c0ff45bab907efc637247f>.
|
||||
AC_CACHE_CHECK([whether Guile-Sqlite3 is available and recent enough],
|
||||
[guix_cv_have_recent_guile_sqlite3],
|
||||
[GUILE_CHECK([retval],
|
||||
|
||||
@@ -168,6 +168,7 @@ gnu/packages/gawk.scm
|
||||
gnu/packages/gcc.scm
|
||||
gnu/packages/gd.scm
|
||||
gnu/packages/gdb.scm
|
||||
gnu/packages/genimage.scm
|
||||
gnu/packages/gettext.scm
|
||||
gnu/packages/gkrellm.scm
|
||||
gnu/packages/gnome-circle.scm
|
||||
|
||||
Reference in New Issue
Block a user