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

Compare commits

...

52 Commits

Author SHA1 Message Date
Liliana Marie Prikler 804c8104a3 gnu: emacs: Add lexical binding cookies.
* gnu/packages/emacs.scm (emacs-minimal)[#:phases]<install-c-source>
<install-site-start>: Add “;; -*- lexical-binding: t; -*-” at the top of the
generated files.
* gnu/packages/aux-files/emacs/comp-integrity.el: Likewise.
2026-05-12 09:58:30 +02:00
bdunahu 9492cfa45b gnu: emacs: Fix ‘alpha-background’ frame parameter.
* gnu/packages/emacs.scm (emacs)[inputs]: Add libxrender and libxt.

Change-Id: If0726a04956683e32747524b11656f5c267be8a4
Co-authored-by: Sviatoslav Bulbakha <mail@ssbb.me>
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Fixes: guix/guix#6490 (alpha-background frame parameter does nothing)
Fixes: https://issues.guix.gnu.org/71627 (likewise)
2026-05-12 09:58:30 +02:00
Liliana Marie Prikler ea5bccd423 build: emacs-build-system: Respect “Package-Version”.
Unlike the builtin ‘package-buffer-info’, the ‘write-pkg-file’ procedure
previously ignored the “Package-Version” header, leading to wrongly reported
version numbers when an actual version would have been available.

* guix/build/emacs-build-system.scm (ensure-package-description): Check for
“package-version” header before invoking ‘lm-version’.

Fixes: guix/guix#5462 (‘emacs-build-system’ generates wrong package versions)
2026-05-12 09:58:30 +02:00
Patrick Norton 9abc0a2288 gnu: Add mps.
* gnu/packages/c.scm (mps): New variable.

Change-Id: I1dfc6bdc37c252a9488b412f06970890222a453d
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-12 09:40:24 +02:00
Danny Milosavljevic 2a210ec364 gnu: Add accerciser.
* gnu/packages/gnome.scm (accerciser): New variable.

Change-Id: I5cad3737920881d3c5f73b116f2f2e18fc587ea6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-12 09:40:18 +02:00
Sughosha 78c8ab5782 gnu: Add jolt-physics.
* gnu/packages/game-development.scm (jolt-physics): New variable.

Change-Id: Ib9393401acd973199d0f2559760a8d07220cdc82
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-12 09:40:06 +02:00
Nicolas Graves 4fca464f91 gnu: ganeti: Update to 3.1.0.
* gnu/packages/patches/ganeti-openssh-test-fix.patch: Delete file.
* gnu/packages/patches/ganeti-procps-compat.patch: Likewise.
* gnu/packages/patches/ganeti-pyyaml-compat.patch: Likewise.
* gnu/packages/patches/ganeti-relax-dependencies.patch: Likewise
* gnu/packages/patches/ganeti-reorder-arbitrary-definitions.patch:
  Likewise.
* gnu/packages/patches/ganeti-sphinx-import.patch: Likewise.
* gnu/packages/patches/ganeti-template-haskell-2.17.patch: Likewise.
* gnu/packages/patches/ganeti-template-haskell-2.18.patch: Likewise.
* gnu/local.mk: Unregister them.
* gnu/packages/virtualization.scm (ganeti): Update to 3.1.0.
  [source]<patches>: Drop the above patches.
  [arguments]<#:imported-modules, #:modules>:
  Drop haskell build-system modules.
  <#:phases>{configure-haskell, do-not-use-GHC_PACKAGE_PATH}:
  Delete phases.
  {patch-absolute-file-names, adjust-tests, pre-check}
  {install-bash-completions}.  Refresh file names.
  Use srfi-26's cut when adequate.
  [native-inputs]: Drop input labels.
  [inputs]: Add ghc-case-insensitive, ghc-monad-control, ghc-parallel,
  ghc-random, ghc-transformers-base.  Remove ghc-psqueue.

Merges: https://codeberg.org/guix/guix/pulls/8330
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-12 14:08:40 +09:00
Ashish SHUKLA 204baea3ef gnu: ugrep: Update to 7.8.1
* gnu/packages/search.scm (ugrep): Update to 7.8.1.

Change-Id: I867832cd5a75df5c80b9f74ad0fdda141f03fbf5
Merges: https://codeberg.org/guix/guix/pulls/8333
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-12 14:07:30 +09:00
Jelle Licht 911271ca56 gnu: emacs-apheleia: Include formatter scripts.
* gnu/packages/emacs-xyz.scm (emacs-apheleia)[arguments]<#:include>:
  Install formatter scripts directory.
  <#:exclude>: Filter out minified JavaScript file.
  [source, home-page]: Update to radian-software URL.

Change-Id: Ib7186efb178fd7001b68d2f8b5bce269afb714ab
Reviewed-by: Cayetano Santos <csantosb@inventati.org>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-12 14:05:24 +09:00
Spencer King 3d2b6612b3 gnu: Add julia-quantuminterface.
* gnu/packages/julia-xyz.scm (julia-quantuminterface): New variable.

Change-Id: I40159a4f5a085e5a0637fa51b2f89cd4b6a299ab
Merges: https://codeberg.org/guix/guix/pulls/5923
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-12 13:36:27 +09:00
Noé Lopez d6cca68094 gnu: cdrdao: Update to 1.2.6.
* gnu/packages/cdrom.scm (cdrdao): Update to 1.2.6.
[arguments]: Switch to list of g-exps style.
<#:configure-flags>: Enable building gcdmaster.
<#:phases>: Remove 'fix-configure.ac phase.
[build-system]: Switch to glib-or-gtk build system for gcdmaster.
[native-inputs]: Switch to more recent autoconf.
[inputs]: Add gtkmm-3 and libsigc++-2.

Change-Id: I921ca030ef42e2b00f9d35710475ba3450753f9d
Signed-off-by: Sughosha <sughosha@disroot.org>
2026-05-12 09:09:50 +05:30
Maxim Cournoyer 7b478ce184 gnu: emacs-fj: Update to 0.37.
* gnu/packages/emacs-xyz.scm (emacs-fj): Update to 0.37.
[#:test-command]: Add 'CASK=' to command.
[#:phases]: Delete.

Change-Id: I4c9cb0fc1afb40e6480fb55747379dabd1fdeb23
2026-05-12 12:16:42 +09:00
Efraim Flashner 4dc59ee36b gnu: rust-crates: Remove some rust crates.
These crates were mentioned specifically by cargo audit.

* gnu/packages/rust-crates.scm: Remove some unused crates.

Change-Id: I6e847a1373811c15eae222ddbcde1649e5349267
2026-05-11 19:47:44 +03:00
Efraim Flashner 0efd01162f gnu: python-bed-reader: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[python-bed-reader]:
Update entry.

Change-Id: I0d4e1415040a32f65542c3bb01ed64119166ac65
2026-05-11 19:47:44 +03:00
Efraim Flashner 76b3f5be20 gnu: rust-cargo-edit: Update to 0.13.10.
* gnu/packages/rust-apps.scm (rust-cargo-edit): Update to 0.13.10.
[inputs]: Remove libgit2-1.8, add libgit2-1.9.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[rust-cargo-edit]:
Update entry.

Change-Id: I666c6c74ca4c1d9b16dbf90e2267c867cb863877
2026-05-11 19:47:44 +03:00
Efraim Flashner 5e2ce939a5 gnu: pastel: Install shell-completions, man-pages.
* gnu/packages/rust-apps.scm (pastel)[arguments]: Add a phase to install
the shell completions and the man-pages.

Change-Id: Ia2e144dc0d54ff46adc65feebc9ac101e72eb32c
2026-05-11 19:47:44 +03:00
Efraim Flashner f3939bbcd1 gnu: pastel: Update to 0.12.0.
* gnu/packages/rust-apps.scm (pastel): Update to 0.12.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[pastel]: Update
entry.

Change-Id: Ie88725741f157202a47440d8b41da390deccb3a8
2026-05-11 19:47:44 +03:00
Efraim Flashner 61065a5384 gnu: evil-helix: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[evil-helix]: Update
entry.

Change-Id: Ifbc2fe12628652c46a0cdb0f96eae1831d9650f0
2026-05-11 19:47:44 +03:00
Efraim Flashner 698559a3aa gnu: helix: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[helix]: Update
entry.

Change-Id: I594f2e1a976223dfe91c9fc7d13c3599fdbd76b2
2026-05-11 19:47:44 +03:00
Yappaholic 5f5d345f53 gnu: Add xmake.
* gnu/packages/build-tools.scm (xmake): New variable.

Change-Id: I3a84e5be66635c745c3ae9f52c109af10dfec742
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8360
2026-05-11 17:49:11 +02:00
Ludovic Courtès 2cbe77f480 doc: cookbook: Add links from “Packaging Tutorial” to the manual.
* doc/guix-cookbook.texi (A ``Hello World'' package): Add link to “origin
Reference” and adjust markup.
(Extended example): Link to “origin Reference”.  Fix markup.  Link to
“Packages with Multiple Outputs”, “Build Systems”, “Build Phases”, and
“G-Expressions”.  Adjust reference to the Guile manual.
(Inheritance): Link to “Defining Package Variants”.
(References): Use @xref to reference the manual.

Change-Id: Ifa605adc1c91f2735b66005c8a7412f60cdb4484
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #8392
2026-05-11 17:49:11 +02:00
Nox 1ddcd976a0 gnu: rmpc: Update to 0.11.0.
* gnu/packages/mpd.scm (rmpc): Update to 0.11.0.
[home-page]: Update to new URI.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[rmpc]: Update entry.

Change-Id: I8f509a2019d699a8271e50de7b92c7934904d2af
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-05-11 18:01:52 +03:00
Efraim Flashner 8fc4664f0e gnu: sequoia: Update to 2.3.0.
Addresses rust security advisories, including CVE-2026-42783,
CVE-2026-42784.

* gnu/packages/sequoia.scm (sequoia): Update to 2.3.0.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)
[sequoia-chameleon-gnupg, sequoia-sq, sequioa-sqv, sequoia-wot-tools]:
Update entries.

Change-Id: Ic53219aae620e7405a43f5d17cecdebf35179b62
2026-05-11 17:20:20 +03:00
Efraim Flashner b56f9d2271 gnu: stalwart: Update rust dependencies.
Addresses rust security advisories.

* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[stalwart]: Update
entry.

Change-Id: Ib4d6444dea06b71dec5fa36a1baecd6fa7389607
2026-05-11 17:05:57 +03:00
Andreas Enge 5bb8ff2edd services: bffe-shepherd-services: Fix detection of guile.
This partially reverts commit 3b53789393 .

* gnu/services/guix.scm (bffe-shepherd-services): Use the package,
not the variable name.

Change-Id: I3bd34b369528e72f08ee3d5833b30bf073b585d2
2026-05-11 14:31:03 +02:00
Zheng Junjie 295db2baea gnu: Add vaultwarden.
* gnu/packages/password-utils.scm (vaultwarden): New variable.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add vaultwarden.

Change-Id: I950a3b5044221bb8b3aa8a56a9b8b367b09cfc6f
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-05-11 14:54:46 +03:00
Maxim Cournoyer eb9379c682 doc: Regenerate menus.
* doc/guix.texi: Regenerate menus.

Change-Id: If0394687ad607c7b869147733d38d609767a125e
2026-05-11 20:31:38 +09:00
Maxim Cournoyer 54e92a3c05 machine: hetzner: Refine installation with bind mount in rescue.
This reverts commit 3e1befe1d8 ("machine: hetzner: Fix deployment."),
adopting a simpler/correct alternative.

* gnu/machine/hetzner.scm (hetzner-machine-rescue-install-os): Bind mount
/gnu, not /gnu/store.

Change-Id: I09ffb4db8a39b4bcd5e7645aee63427c6bc969a0
Suggested-by: Rutherther <rutherther@ditigal.xyz>
2026-05-11 20:31:36 +09:00
Zheng Junjie 436aeea0bf gnu: stalwart-cli: Update to 1.0.5.
* gnu/packages/mail.scm (stalwart-cli): Update to 1.0.5.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update stalwart-cli inputs.

Change-Id: Ie3979a947a93170669ae7d20092793adf307cc63
2026-05-11 13:37:11 +03:00
Zheng Junjie a310d46cdd gnu: stalwart: Update to 0.16.4.
* gnu/packages/mail.scm (stalwart): Update to 0.16.4.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs): Update stalwart inputs.

Change-Id: Ic005264588844f54efd01716ed35516a95c6d761
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-05-11 13:36:24 +03:00
Efraim Flashner 25632f9412 gnu: py-spy: Adjust custom phase.
* gnu/packages/rust-apps.scm (py-spy)[arguments]: Rewrite the phase to
install the shell completions.

Change-Id: I3cd2bc1a68a351e621282ed7a5d13358886ad313
2026-05-11 13:13:59 +03:00
Efraim Flashner 97731feda5 gnu: py-spy: Update to 0.4.2.
* gnu/packages/rust-apps.scm (py-spy): Update to 0.4.2.
[arguments]: Add cargo-test-flags.
[inputs]: Remove libunwind.
* gnu/packages/rust-crates.scm (lookup-cargo-inputs)[py-spy]: Update
entry.

Change-Id: I039d888012ced431e73a4209d9cabffa8178db37
2026-05-11 13:13:51 +03:00
Efraim Flashner 0bef017001 gnu: embree: Limit architecture support.
* gnu/packages/graphics.scm (embree)[supported-architectures]: New field.

Change-Id: If5c18e44d41050d1879140dc273ad76db019315d
2026-05-11 10:50:29 +03:00
Efraim Flashner cf7adf3954 gnu: embree: Adjust configure-flags.
* gnu/packages/graphics.scm (embree)[arguments]: Adjust the
configure-flags to be appropriate per-architecture.

Change-Id: I03eaa53802198fcea012c68a68e7490d61101757
2026-05-11 10:50:26 +03:00
Efraim Flashner 892a857130 gnu: embree-3: Fix version number.
This is the number reported by the code and the hash matches.

* gnu/packages/graphics.scm (embree-3)[version]: Set to 3.13.5.

Change-Id: I4b4d28101a501e778a11a1ed6f5cc91c5a22cb2e
2026-05-11 10:50:23 +03:00
Tomas Volf 3ef72f23e6 gnu: crun: Update to 1.27.1.
* gnu/packages/containers.scm (crun): Update to 1.27.1.

Change-Id: If2c1efe17b919da5e20f1ad5d98f08dc225de17e
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-11 15:54:03 +09:00
Tomas Volf 432508202f gnu: buildah: Update to 1.43.1.
* gnu/packages/containers.scm (buildah): Update to 1.43.1.

Change-Id: Ib6552cf1638cf12629355a96d322f2783315e820
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-11 15:54:03 +09:00
Tomas Volf ce87998b2c gnu: cni-plugins: Update to 1.9.1.
* gnu/packages/containers.scm (cni-plugins): Update to 1.9.1.

Change-Id: I0cf52e807c2925c341271dd165bd2b047600129a
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-11 15:53:55 +09:00
Anderson Torres 5c20c167b8 news: Add 'pt' translation.
* etc/news.scm: Add Portuguese translation for most recent entry.

Change-Id: I8a8327c0c5253cf37808e5bfc675bdfab2ebbbda
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2026-05-11 08:29:05 +02:00
Nguyễn Gia Phong 3e30ec4255 gnu: Remove efilinux.
* gnu/packages/efi.scm (efilinux): Delete variable.

Change-Id: I742bc3bcc36984f69dddd3c527aa077b07ee5aa0
Closes: https://codeberg.org/guix/guix/issues/7806
2026-05-11 15:10:49 +09:00
Nguyễn Gia Phong b4ef2bb4ac gnu: Remove musl-cross.
* gnu/packages/heads.scm (musl-cross): Delete variable.

Change-Id: I8de2a5f025f95d035377031d15c7b0d26ff1438e
Closes: https://codeberg.org/guix/guix/issues/6504
2026-05-11 15:10:34 +09:00
Akiyoshi Suda bce3de8c33 gnu: Add python-constraint2.
* gnu/packages/maths.scm (python-constraint2): New variable.

Change-Id: I436a0e664c0fae31efb18915246c6bfc2137f118
Merges: https://codeberg.org/guix/guix/pulls/8315
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-11 14:39:36 +09:00
Nigko Yerden 5b47e87694 gnu: tor: Update to 0.4.9.8.
* gnu/packages/tor.scm (tor): Update to 0.4.9.8.

Change-Id: I78dc84c9ba19d6aaf3b5c09f8c1a418944707a63
Merges: https://codeberg.org/guix/guix/pulls/8490
Reviewed-by: André Batista <nandre@riseup.net>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-11 14:25:44 +09:00
moksh 79eb796cc6 gnu: seer-gdb: Update to 2.7.
* gnu/packages/debug.scm (seer-gdb): Update to 2.7.
  [arguments]: Use gexps.  [source]: Indent.
  <uri>: Drop .git suffix. <file-name>: Use git-file-name.
  [inputs]: Switch to Qt6 versions of inputs.  Add qtsvg and gdb.

Change-Id: I324ff5d1a19b6f5267c7b83e8e88cd66ef0c8639
Merges: https://codeberg.org/guix/guix/pulls/8324
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-11 13:46:07 +09:00
Artyom V. Poptsov 0f6b97e1a8 gnu: go-github-com-syncthing-notify: Fix tests.
* gnu/packages/golang-xyz.scm (go-github-com-syncthing-notify): Fix tests.
[arguments]<#:phases>: Disable "TestRecreated" test as it sometimes fails due
to timeout.

Change-Id: I2cf2bf5c9822540ef05878edb43e7e82da88c140
2026-05-11 07:06:41 +03:00
Artyom V. Poptsov c47216bede gnu: go-github-com-zmap-zcertificate: Fix whitespace issues.
* gnu/packages/golang-crypto.scm (go-github-com-zmap-zcertificate): Fix
whitespace issues.

Change-Id: I86feb8107d5378419961fe5f2d2d8611275c868a
2026-05-11 07:05:48 +03:00
Artyom V. Poptsov bd98d33841 gnu: go-github-com-melbahja-goph: Update to 1.5.0.
* gnu/packages/golang-crypto.scm (go-github-com-melbahja-goph): Update to 1.5.0.

Change-Id: Iea660b767a56b275dc3538c5fb1b1f1eb5211c2b
2026-05-11 06:17:57 +03:00
Florian Pelz 6094799db8 news: Add 'de' translation.
* etc/news.scm: Add German translation for channel files entry.

Change-Id: I2e3883c52ac2b67f7a7ec084249e9d4887a78f91
2026-05-11 00:35:11 +02:00
Thanos Apollo fc27102e8a gnu: emacs-cider: Update to 1.21.0.
* gnu/packages/emacs-xyz.scm (emacs-cider): Update to 1.21.0.
[source]: Update hash.
[arguments]<#:lisp-directory>: Add; source moved to lisp/.
<#:include>: Remove; lein.sh and clojure.sh no longer exist.
<#:phases>: Replace 'check with directory excursion to project
root for eldev test discovery.

Merges guix/guix!8347

Change-Id: I698027569489a8a87d8097787a39dfb9d6b29e4d
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-05-10 19:00:41 +02:00
Thanos Apollo fcd85e7ca8 gnu: emacs-transient: Update to 0.13.2.
* gnu/packages/emacs-xyz.scm (emacs-transient): Update to 0.13.2.

Merges guix/guix!8347

Change-Id: Ie9d5417aaa5b0b241f11dda0e0781fe7ecd57853
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-05-10 19:00:33 +02:00
Thanos Apollo a9b4d9dab2 gnu: emacs-ellama: Update to 1.17.1.
* gnu/packages/emacs-xyz.scm (emacs-ellama): Update to 1.17.1.

Merges guix/guix!8347

Change-Id: I52c786f23e7b4405d53168049479078a38326e3a
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-05-10 19:00:24 +02:00
Thanos Apollo 6f8ebeb67c gnu: emacs-spinner: Switch to git-fetch.
* gnu/packages/emacs-xyz.scm (emacs-spinner)[source]: Switch to
git-fetch.

Merges guix/guix!8347

Change-Id: I078f9de7684758f2a4ab6a804dae67bd94559a94
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
2026-05-10 19:00:04 +02:00
41 changed files with 3335 additions and 2364 deletions
+26 -11
View File
@@ -646,9 +646,11 @@ This field contains a description of the source code origin. The
@enumerate
@item The method, here @code{url-fetch} to download via HTTP/FTP, but other methods
exist, such as @code{git-fetch} for Git repositories.
exist, such as @code{git-fetch} for Git repositories. @xref{origin
Reference,,, guix, GNU Guix Reference Manual}, for more info on the
available download methods.
@item The URI, which is typically some @code{https://} location for @code{url-fetch}. Here
the special `mirror://gnu` refers to a set of well known locations, all of
the special @code{mirror://gnu} refers to a set of well known locations, all of
which can be used by Guix to fetch the source, should some of them fail.
@item The @code{sha256} checksum of the requested file. This is essential to ensure
the source is not corrupted. Note that Guix works with base32 strings,
@@ -1116,7 +1118,8 @@ Let's discuss those fields in depth.
@subsubsection @code{git-fetch} method
Unlike the @code{url-fetch} method, @code{git-fetch} expects a @code{git-reference} which takes
a Git repository and a commit. The commit can be any Git reference such as
a Git repository and a commit (@pxref{origin Reference,,, guix, GNU Guix
Reference Manual}). The commit can be any Git reference such as
tags, so if the @code{version} is tagged, then it can be used directly. Sometimes
the tag is prefixed with a @code{v}, in which case you'd use @code{(commit (string-append
"v" version))}.
@@ -1162,7 +1165,7 @@ Snippets might need additional Guile modules which can be imported from the
There are 3 different input types. In short:
@table @asis
@table @code
@item native-inputs
Required for building but not runtime -- installing a package
through a substitute won't install these inputs.
@@ -1230,9 +1233,14 @@ It's advised to separate outputs only when you've shown it's worth it: if the
output size is significant (compare with @code{guix size}) or in case the package is
modular.
@xref{Packages with Multiple Outputs,,, guix, GNU Guix Reference
Manual}, for more info.
@subsubsection Build system arguments
The @code{arguments} is a keyword-value list used to configure the build process.
The @code{arguments} is a keyword-value list used to configure the build
process; these arguments are passed to the @dfn{build system}
(@pxref{Build Systems,,, guix, GNU Guix Reference Manual}).
The simplest argument @code{#:tests?} can be used to disable the test suite when
building the package. This is mostly useful when the package does not feature
@@ -1248,7 +1256,7 @@ following flags
"CC=gcc")
@end lisp
translate into
translate into:
@example
$ make CC=gcc prefix=/gnu/store/...-<out>
@@ -1268,7 +1276,9 @@ Similarly, it's possible to set the configure flags:
The @code{%build-inputs} variable is also generated in scope. It's an association
table that maps the input names to their store directories.
The @code{phases} keyword lists the sequential steps of the build system. Typically
The @code{phases} keyword lists the sequential steps of the build
system. @xref{Build Phases,,, guix, GNU Guix Reference Manual}, for
details; in a nutshell,
phases include @code{unpack}, @code{configure}, @code{build}, @code{install} and @code{check}. To know
more about those phases, you need to work out the appropriate build system
definition in @samp{$GUIX_CHECKOUT/guix/build/gnu-build-system.scm}:
@@ -1383,10 +1393,12 @@ Its return value is ignored.
@subsubsection Code staging
The astute reader may have noticed the quasi-quote and comma syntax in the
The astute reader may have noticed the hash-tilde and hash-dollar syntax in the
argument field. Indeed, the build code in the package declaration should not be
evaluated on the client side, but only when passed to the Guix daemon. This
mechanism of passing code around two running processes is called @uref{https://arxiv.org/abs/1709.00833, code staging}.
@xref{G-Expressions,,, guix, GNU Guix Reference Manual}, for info on the
this mechanism, which is called @dfn{g-expressions}.
@subsubsection Utility functions
@@ -1395,7 +1407,7 @@ equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: com
regular ``Unix-style'' installations.
Some like @code{chmod} are native to Guile.
@xref{,,, guile, Guile reference manual} for a complete list.
@xref{File System,,, guile, Guile reference manual} for a complete list.
Guix provides additional helper functions which prove especially handy in the
context of package management.
@@ -1575,7 +1587,9 @@ noticed that a significant number of them have a @code{inherit} field:
All unspecified fields are inherited from the parent package. This is very
convenient to create alternative packages, for instance with different source,
version or compilation options.
version or compilation options. @xref{Defining Package Variant,,, guix,
GNU Guix Reference Manual}, for a discussion of inheritance and of other
ways to create package variants.
@node Getting help
@subsection Getting help
@@ -1616,7 +1630,8 @@ hopefully we will see your contributions soon!
@itemize
@item
The @uref{https://guix.gnu.org/manual/en/html_node/Defining-Packages.html, package reference in the manual}
@xref{Defining Packages,,, guix, GNU Guix Reference Manual}, for the
@code{package} reference in the manual.
@item
@uref{https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org, Pjotrs hacking guide to GNU Guix}
+6 -2
View File
@@ -264,6 +264,7 @@ Setting Up the Daemon
* Build Environment Setup:: Preparing the isolated build environment.
* Daemon Offload Setup:: Offloading builds to remote machines.
* SELinux Support:: Using an SELinux policy for the daemon.
* AppArmor Support:: Using an AppArmor profile for the daemon.
System Installation
@@ -480,12 +481,14 @@ Home Services
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
* Desktop: Desktop Home Services. Services for graphical environments.
* Guix: Guix Home Services. Services for Guix.
* Backup: Backup Home Services. Services for backing up User's files.
* Backup: Backup Home Services. Services for backing up User's files.
* Fonts: Fonts Home Services. Services for managing User's fonts.
* Sound: Sound Home Services. Dealing with audio.
* Mail: Mail Home Services. Services for managing mail.
* Messaging: Messaging Home Services. Services for managing messaging.
* Media: Media Home Services. Services for managing media.
* mpv Media Player::
* Niri: Niri window manager. Setting up the Niri.
* Sway: Sway window manager. Setting up the Sway configuration.
* Networking: Networking Home Services. Networking services.
* Secrets: Secrets Home Services. Services for storing secrets.
@@ -52425,12 +52428,13 @@ services)}.
* GPG: GNU Privacy Guard. Setting up GPG and related tools.
* Desktop: Desktop Home Services. Services for graphical environments.
* Guix: Guix Home Services. Services for Guix.
* Backup: Backup Home Services. Services for backing up User's files.
* Backup: Backup Home Services. Services for backing up User's files.
* Fonts: Fonts Home Services. Services for managing User's fonts.
* Sound: Sound Home Services. Dealing with audio.
* Mail: Mail Home Services. Services for managing mail.
* Messaging: Messaging Home Services. Services for managing messaging.
* Media: Media Home Services. Services for managing media.
* mpv Media Player::
* Niri: Niri window manager. Setting up the Niri.
* Sway: Sway window manager. Setting up the Sway configuration.
* Networking: Networking Home Services. Networking services.
+63 -2
View File
@@ -47,8 +47,11 @@
(title
(en "@command{pull} and @command{time-machine} can download channel
files")
(de "@command{pull} und @command{time-machine} können Kanaldateien
herunterladen")
(fr "@command{pull} et @command{time-machine} peuvent télécharger des
fichiers canaux"))
fichiers canaux")
(pt "@command{pull} e @command{time-machine} podem baixar arquivos de canal"))
(body
(en "The @command{guix pull} and @command{guix time-machine} can now
be passed a URL as their @option{-C} (or @option{--channels}) option. For
@@ -78,6 +81,35 @@ only @dfn{trusted channels} are allowed---one may specify them in
@file{~/.config/guix/trusted-channels.scm}.
See @samp{info \"(guix)Invoking guix pull\"} for more information.")
(de "Den Befehlen @command{guix pull} und @command{guix time-machine}
kann jetzt eine URL mit der Option @option{-C} (oder @option{--channels})
übergeben werden. Zum Beispiel lädt der folgende Befehl vom neuesten
erfolgreich ausgewerteten Commit des @code{master}-Branches herunter:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Als Alternative kann man auch eine @uref{https://swhid.org, SWHID} angeben, die
auf eine Kanaldatei verweist:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Damit das möglich ist, werden Kanaldateien jetzt in einer isolierten Umgebung
ausgewertet (einer @dfn{Sandbox}), wodurch sie keinen beliebigen Code mehr
ausführen können. Wenn Sie in bestehenden Dateien solche über den Standard
hinausgehenden Funktionen benutzt haben, kann dazu jetzt verlangt werden, dass
Sie @option{--unsafe-channel-evaluation} übergeben, um sie auszuwerten. Des
Weiteren dürfen Kanäle aus heruntergeladenen Dateien nur als
@dfn{vertrauenswürdig} markierte Kanäle verwenden, die Sie in
@file{~/.config/guix/trusted-channels.scm} angeben.
Siehe @samp{info \"(guix.de) Aufruf von guix pull\"} für mehr Informationen.")
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
peuvent dorénavant prendre une URL pour l'option @option{-C} (ou
@option{--channels}). Par exemple, la commande ci-dessous tire la dernière
@@ -107,7 +139,36 @@ sont admis---on peut les énumérer dans
@file{~/.config/guix/trusted-channels.scm}.
Voir @samp{info \"(guix.fr) Invoquer guix pull\"} pour plus
d'informations.")))
d'informations.")
(pt "Os comandos @command{guix pull} e @command{guix time-machine}
podem receber uma URL como opção para @option{-C} (or @option{--channels}).
Por exemplo, o comando abaixo busca do commit mais recente evaluado com
sucesso do ramo @code{master}:
@example
guix pull \\
-C https://ci.guix.gnu.org/eval/latest/channels.scm?spec=master
@end example
Alternativamente, pode-se também especificar uma @uref{https://swhid.org,
SWHID} que aponta para um arquivo de canal:
@example
guix time-machine \\
-C swh:1:cnt:ae02d8ba3538a385ee799e61cdd0dfc5e14a8d1b \\
-- ...
@end example
Para tornar isso possível, arquivos de canal agora são evaluados em um
ambiente isolado (uma caixinha de areia, vulgo @dfn{sandbox}), o que os impede
de evaluar código arbitrário; se você tem arquivos de canal que dependem de
recursos \"não padrão\", pode ser necessário que você passe a opção
@option{--unsafe-channel-evaluation} para evaluá-los. Além disso, quando se
buscam canais de um arquivo baixado, somente @dfn{canais confiáveis} são
permitidos---é possível especificá-los em
@file{~/.config/guix/trusted-channels.scm}.
Veja @samp{info \"(guix.pt_BR)Invocando guix pull\"} para mais informação.")))
(entry (commit "a7c8e68dc51144a6d3981b770aca9c4897fc7c0c")
(title
-8
View File
@@ -1364,16 +1364,8 @@ dist_patch_DATA = \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-haskell-pythondir.patch \
%D%/packages/patches/ganeti-lens-compat.patch \
%D%/packages/patches/ganeti-openssh-test-fix.patch \
%D%/packages/patches/ganeti-pyyaml-compat.patch \
%D%/packages/patches/ganeti-procps-compat.patch \
%D%/packages/patches/ganeti-reorder-arbitrary-definitions.patch \
%D%/packages/patches/ganeti-relax-dependencies.patch \
%D%/packages/patches/ganeti-shepherd-master-failover.patch \
%D%/packages/patches/ganeti-shepherd-support.patch \
%D%/packages/patches/ganeti-sphinx-import.patch \
%D%/packages/patches/ganeti-template-haskell-2.17.patch \
%D%/packages/patches/ganeti-template-haskell-2.18.patch \
%D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
+3 -11
View File
@@ -585,19 +585,11 @@ chmod 600 /mnt/root/.ssh/authorized_keys
# Small instance don't have much disk space. Bind mount the store of the
# rescue system to the tmp directory of the new Guix system.
mkdir -p /mnt/tmp/gnu/store
mkdir -p /gnu/store
mount --bind /mnt/tmp/gnu/store /gnu/store
mkdir -p /mnt/tmp/gnu
mkdir -p /gnu
mount --bind /mnt/tmp/gnu /gnu
wget -O /tmp/guix-install.sh https://guix.gnu.org/guix-install.sh
# Modify the install script to point the systemd unit of the /gnu/store
# mountpoint to the same /mnt/tmp/gnu/store which was introduced above.
store_fix=\"sed -i 's#Where=/gnu/store#Where=/mnt/tmp/gnu/store#'
~~root/.config/guix/current/lib/systemd/system/gnu-store.mount\"
sed -i \"s@install_unit gnu-store.mount\"\\
\"@$(printf \"%q \" $store_fix)\\ninstall_unit gnu-store.mount@\" /tmp/guix-install.sh
chmod +x /tmp/guix-install.sh
set +o pipefail # avoid hangup on 'yes' killing this script
yes '' | /tmp/guix-install.sh
@@ -1,3 +1,4 @@
;; -*- lexical-binding: t; -*-
(require 'ert)
(eval-when-compile
+33
View File
@@ -1452,3 +1452,36 @@ It is an alternative to e.g. @command{make(1)} and @command{redo(1)}. Features:
@end itemize
")
(license license:wtfpl2)))
(define-public xmake
(package
(name "xmake")
(version "3.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xmake-io/xmake.git")
(commit (string-append "v" version))
;; Requires some dependencies from "xmake-core-*" repos
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1pdjz52w9lzfbcpx9wmzy0bsjg7i19xz43f63czk7jz9v0xba6gi"))))
(build-system gnu-build-system)
(arguments
(list
;; No check rule in make
;; TODO: find how to run Lua tests in "test" directory
#:tests? #f))
(home-page "https://xmake.io/")
(synopsis "Cross-platform build utility based on Lua")
(description "@command{xmake} is a cross-platform build utility based on Lua.
Features:
@itemize
@item Built-in caching and parallel compilation,
@item Concise Lua syntax,
@item Custom rules, plugins and modules,
@item Support for C++20 modules and compile_commands.json,
@item Support for languages outside C/C++ (e.g. Go, Rust, Zig).
@end itemize")
(license license:asl2.0)))
+43
View File
@@ -81,6 +81,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
@@ -1500,6 +1501,48 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://microsoft.github.io/mimalloc/")
(license license:expat)))
(define-public mps
(package
(name "mps")
(version "1.118.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Ravenbrook/mps")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "078iv3fsz0dnfwb7g63apkvcksczbqfxrxm73k80jwnwca6pgafy"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-cflags
;; The recursive make call in the test suite doesn't pass CFLAGS
;; down properly so we need to do it ourselves
(lambda _
(substitute* "Makefile.in"
(("CFLAGS=\"(.*)\"" _ flags)
(string-append "CFLAGS=\"" flags " $(CFLAGS)\""))))))
#:parallel-build? #f ;Parallel build fails
#:test-target "test"
#:make-flags
#~(list "CFLAGS=-Wno-error=dangling-pointer -Wno-maybe-uninitialized"
;; These flags are needed for the recursive make calls in testing
(string-append "CC=" #$(cc-for-target)) "-j" "1")))
(inputs (list sqlite))
(home-page "http://www.ravenbrook.com/project/mps")
(synopsis "Memory pool system")
(description
"This package provides a cross-platform memory management system. It
permits the flexible combination of memory management techniques, supporting
manual and automatic memory management, in-line allocation, finalization,
weakness, and multiple concurrent co-operating incremental generational
garbage collections. It also includes a library of memory pool classes
implementing specialized memory management policies.")
(license license:bsd-2)))
;;; The package is named orangeduck-mpc to differentiate it from GNU mpc.
(define-public orangeduck-mpc
;; The last release lacks an 'install' target.
+10 -22
View File
@@ -337,7 +337,7 @@ reconstruction capability.")
(define-public cdrdao
(package
(name "cdrdao")
(version "1.2.5")
(version "1.2.6")
(source
(origin
(method git-fetch)
@@ -347,30 +347,18 @@ reconstruction capability.")
(string-append "rel_" (string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "1hh1lm4wr1vhsq2brczn94h88h3bppvjidj9cfqkl20jhaj38968"))))
(build-system gnu-build-system)
(base32 "0hb8dfb88zk01yk5nfl8m5hsg4x2scb2899pxb717zywznr8jijw"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
(list
;; GCDMaster depends on obsolete libgnomeuimm, see
;; <https://github.com/cdrdao/cdrdao/issues/3>.
"--without-gcdmaster"
;; Use the native SCSI interface.
"--without-scglib")
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'fix-configure.ac
(lambda _
;; Remove references to missing macros.
(substitute* "configure.ac"
(("^AM_GCONF_SOURCE_2.*") "")
;; This was introduced in autoconf-2.70, but is described
;; as usually not needed in the autoconf documentation.
(("^AC_CHECK_INCLUDES_DEFAULT") "")))))))
(list
#:configure-flags
#~(list
;; Use the native SCSI interface.
"--without-scglib")))
(native-inputs
(list autoconf automake pkg-config))
(list autoconf-2.72 automake `(,glib "bin") pkg-config))
(inputs
(list ao lame libmad libvorbis))
(list ao gtkmm-3 lame libmad libsigc++-2 libvorbis))
(home-page "https://cdrdao.sourceforge.net")
(synopsis "Read and write CDs in disk-at-once mode")
(description "cdrdao records audio or data CDs in disk-at-once (DAO) mode,
+6 -6
View File
@@ -150,7 +150,7 @@ as created by Podman, CRI-O and containerd.")))
(define-public crun
(package
(name "crun")
(version "1.26")
(version "1.27.1")
(source
(origin
(method url-fetch)
@@ -160,7 +160,7 @@ as created by Podman, CRI-O and containerd.")))
"/crun-" version ".tar.gz"))
(sha256
(base32
"1hdwk5dpsz9danxiyfli07b7sqid6hr34qmhs5qjl2dcc00is89j"))))
"1w782s95f3xvw3fb66l2ciqkqsg4bk7n9ph31jmvn669ap272ymy"))))
(build-system gnu-build-system)
(arguments
(list
@@ -545,7 +545,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
(version "1.9.0")
(version "1.9.1")
(source
(origin
(method git-fetch)
@@ -554,7 +554,7 @@ Layer-4 sockets.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0l3jgbizq0yaxld07hsdbh6ix2w6i789101ddk0ldnsmr93jg6ni"))
(base32 "12z6w2jk6xgfiwdxys7skpkxldz1cgaa7scgfcr90lsghay59s6w"))
(snippet
#~(begin (use-modules (guix build utils))
(delete-file-recursively "vendor")))))
@@ -885,7 +885,7 @@ being rootless and not requiring any daemon to be running.")
(define-public buildah
(package
(name "buildah")
(version "1.43.0")
(version "1.43.1")
(source
(origin
(method git-fetch)
@@ -893,7 +893,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 "00x4ja5n49jmkmiv54mmkihks9pnjnna7s7py57in6pc9g85xj2y"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
+18 -17
View File
@@ -978,26 +978,27 @@ engineering.")
(define-public seer-gdb
(package
(name "seer-gdb")
(version "1.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jdvyg2jab1pvf36pvkyrfsg2wyy8zp1qx0v2ksclgrnr1hja6k6"))))
(version "2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/epasveer/seer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1szfqybqr5z982vian4f0hpsagiqapzys3axwibyjyg5whjswva1"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ; Those are strangely manual
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
(list
#:tests? #f ;tests are strangely manual
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "src"))))))
(inputs
(list qtbase-5 qtcharts-5 qtwayland-5))
(list gdb qtbase qtcharts qtsvg qtwayland))
(synopsis "GUI frontend for GDB")
(description "This package provides a frontend to GDB, the GNU debugger.")
(home-page "https://github.com/epasveer/seer")
-45
View File
@@ -204,48 +204,3 @@ and EFI variable management.")
;; Library routines (in lib/) are under LGPL 2.1.
;; Compiling/linking/using OpenSSL is permitted.
(license (list license:gpl2 license:lgpl2.1))))
(define-public efilinux
(package
(name "efilinux")
(version "1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mfleming/efilinux")
(commit (string-append "efilinux-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list "CC=gcc"
,@(match (%current-system)
("aarch64-linux"
'("ARCH=aarch64"))
("armhf-linux"
'("ARCH=arm"))
(_ '()))
(string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
"/include")
(string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
"/lib"))
#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(install-file "efilinux.efi"
(string-append (assoc-ref outputs "out")
"/libexec"))
#t)))))
(inputs
(list gnu-efi))
(synopsis "Minimal Linux loader for UEFI")
(description "This package provides a minimal Linux loader as an UEFI
program.")
(home-page "https://github.com/mfleming/efilinux")
(license license:bsd-2)))
+35 -34
View File
@@ -7204,7 +7204,7 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-ellama
(package
(name "emacs-ellama")
(version "1.17.0")
(version "1.17.1")
(source
(origin
(method git-fetch)
@@ -7214,7 +7214,7 @@ that the binary uses instead of the actual binary contents.")
(file-name (git-file-name name version))
(sha256
(base32
"03y4hyrsmq6m7si191r3ndp06x5w53adpig272ymm0i4v9gnzlr9"))))
"1ibqmhp6mszr85lfb6fwfx9npn46kzcb26vqprrla61w8nrplx97"))))
(build-system emacs-build-system)
(arguments
(list
@@ -9324,14 +9324,16 @@ This mode supports Apache HTTP Server 2.4 and major modules.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/raxod502/apheleia")
(url "https://github.com/radian-software/apheleia")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vs532hjkwj19laigqvvk11r0gwhv5vd8v6wh5598dzmfw3yh4bm"))))
(build-system emacs-build-system)
(arguments (list #:include #~(cons "^scripts/formatters/" %default-include)
#:exclude #~(cons "\\.js$" %default-exclude)))
(native-inputs (list emacs-buttercup))
(home-page "https://github.com/raxod502/apheleia")
(home-page "https://github.com/radian-software/apheleia")
(synopsis "Reformat buffer stably")
(description
"This package allows for a buffer to be reformatted without moving point,
@@ -18144,11 +18146,14 @@ Application Programming Interface}}, a free and open-source quotations
(name "emacs-spinner")
(version "1.7.4")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/spinner-"
version ".tar"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Malabarba/spinner.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "140kss25ijbwf8hzflbjz67ry76w2cyrh02axk95n6qcxv7jr7pv"))))
(base32
"1m872dj1n05mkvgfyiqsbri489vmff5zdmv4xx5qj2s91sp046rl"))))
(build-system emacs-build-system)
(home-page "https://github.com/Malabarba/spinner.el")
(synopsis "Emacs mode-line spinner for operations in progress")
@@ -20433,7 +20438,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.20.0")
(version "1.21.0")
(source
(origin
(method git-fetch)
@@ -20442,26 +20447,30 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08hd281ybskkhir170hr3xpga1b1hwpph7rd0fk6fvm0ngdgxazs"))))
(base32 "19wx9mc488qipm08s7hc0zrfmiylw577lmf3jpvqcjq7amx14jgc"))))
(build-system emacs-build-system)
(arguments
(list
#:include #~(cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
#:exclude ;don't exclude 'cider-test.el'
#~(list "^\\.dir-locals\\.el$" "^test/")
#:lisp-directory "lisp"
#:test-command
#~(list "eldev" "--use-emacsloadpath" "-dtT" "-p" "test")
#:exclude
#~(list "^\\.dir-locals\\.el$" "^test/")
#:phases
;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
;; string, and `patch-el-files' phase chokes on it (even though the
;; file is excluded from installation). Remove the phase altogether
;; since there is no "/bin/executable" to replace in the code base
;; anyway.
#~(modify-phases %standard-phases
(delete 'patch-el-files)
(add-before 'check 'skip-failing-tests
(lambda _ ;; Require network.
(delete-file "test/cider-jar-tests.el"))))))
(add-after 'unpack 'remove-network-tests
(lambda _
(delete-file "../test/cider-jar-tests.el")))
(replace 'check
(lambda* (#:key test-command tests?
#:allow-other-keys)
(when tests?
(with-directory-excursion ".."
(setenv "EMACSLOADPATH"
(string-append (getcwd) ":"
(getenv "EMACSLOADPATH")))
(apply invoke test-command))))))))
(native-inputs (list emacs-buttercup emacs-eldev))
(propagated-inputs
(list emacs-clojure-mode
@@ -38728,7 +38737,7 @@ as Emacs Lisp.")
(define-public emacs-transient
(package
(name "emacs-transient")
(version "0.13.1")
(version "0.13.2")
(source
(origin
(method git-fetch)
@@ -38737,7 +38746,7 @@ as Emacs Lisp.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "161drbhzdp9fn0xkc0aza992g9h8prml513y8byyxvi6lqbqn8x4"))))
(base32 "0c5kdzs55xzn4ksrxlm94s4w4mbamh7l5ycjnq9pvgqvggzijqng"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no test suite
@@ -41976,7 +41985,7 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(define-public emacs-fj
(package
(name "emacs-fj")
(version "0.36")
(version "0.37")
(source
(origin
(method git-fetch)
@@ -41985,17 +41994,9 @@ Lisp's (relatively new) EIEIO object oriented libraries.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10v79lxnaya8h8qkdpvr7ns8330nrrl2h5mz4wh15blcp87ha37l"))))
(base32 "09ff20am16ysjpbqx7b92qgmvyar9b6blm32flkvzqxccqqinxya"))))
(build-system emacs-build-system)
(arguments
(list
#:test-command #~(list "make" "tests")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'remove-cask
(lambda _
(substitute* "Makefile"
(("cask ") "")))))))
(arguments (list #:test-command #~(list "make" "tests" "CASK=")))
(native-inputs
(list emacs-el-mock emacs-exemplify-ert emacs-exemplify-eval))
(propagated-inputs (list emacs-fedi emacs-magit emacs-tp emacs-transient))
+4
View File
@@ -387,6 +387,7 @@
(lambda ()
(display
(string-append
";; -*- lexical-binding: t; -*-\n"
"(setq find-function-C-source-directory \"" dest "\")\n\n"
"(provide 'guix-emacs-c-source)")))))))
(add-after 'install 'install-site-start
@@ -413,6 +414,7 @@
(lambda ()
(display
(string-append
";; -*- lexical-binding: t; -*-\n"
"(when (require 'guix-emacs nil t)\n"
" (guix-emacs-autoload-packages 'no-reload)\n"
" (advice-add 'package-load-all-descriptors"
@@ -630,6 +632,8 @@ editor (console only)")
libx11
libxft
libxpm
libxrender
libxt
libwebp
pango
poppler)))))
+41
View File
@@ -2391,6 +2391,47 @@ games.")
(home-page "https://openmw.org")
(license license:gpl3)))
(define-public jolt-physics
(package
(name "jolt-physics")
(version "5.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jrouwe/JoltPhysics")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dzqi4mxrzg5cyf5k8rdlb078939ib849n7gs6014d3ljymf839r"))
(modules '((guix build utils)))
;; Unbundle Roboto font.
(snippet
'(begin
(delete-file-recursively "Assets/Fonts")
(substitute* "TestFramework/TestFramework.cmake"
((".*Roboto-Regular\\.ttf.*") ""))))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DBUILD_SHARED_LIBS=ON")
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'change-directory
(lambda _
(chdir "Build")))
(add-after 'install 'change-directory
(lambda _
(chdir ".."))))))
(home-page "https://github.com/jrouwe/JoltPhysics")
(synopsis "Rigid body physics and collision detection library")
(description
"Jolt Physics is a multi core friendly rigid body physics and collision
detection library, written in C++. It is suitable for games and VR
applications.")
(license license:expat)))
(define-public godot-lts
(package
(name "godot")
+65
View File
@@ -11564,6 +11564,71 @@ accessibility infrastructure.")
(license license:lgpl2.0)
(properties '((upstream-name . "pyatspi")))))
(define-public accerciser
(package
(name "accerciser")
(version "3.48.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/accerciser.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ddh466im0hxqx0ncxglrif72jfwcdl1ayarw874mp1464wkbc4m"))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
#:imported-modules (append %meson-build-system-modules
%pyproject-build-system-modules)
#:modules
`((guix build meson-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-gnome-post-install
(lambda _
(substitute* "meson.build"
(("gtk_update_icon_cache: true")
"gtk_update_icon_cache: false")
(("update_desktop_database: true")
"update_desktop_database: false"))))
(add-after 'install 'wrap-python
(assoc-ref py:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-program
(lambda _
(let ((typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append #$output "/bin/accerciser")
`("GI_TYPELIB_PATH" ":" prefix (,typelib-path)))))))))
(native-inputs
(list (list glib "bin")
gettext-minimal
gobject-introspection
pkg-config
yelp-tools))
(inputs
(list appstream
appstream-glib
at-spi2-core
bash-minimal
gdk-pixbuf
glib
gtk+
python
python-dbus
python-pyatspi
python-pycairo
python-pygobject
python-pyxdg))
(synopsis "Accessibility explorer")
(description "This package provides an interactive accessibility explorer
for the GNOME desktop.")
(home-page "https://gitlab.gnome.org/GNOME/accerciser")
(license license:bsd-3)))
(define-public orca
(package
(name "orca")
+3 -3
View File
@@ -2073,7 +2073,7 @@ the Go standard library's TLS 1.3 implementation.")
(define-public go-github-com-melbahja-goph
(package
(name "go-github-com-melbahja-goph")
(version "1.4.0")
(version "1.5.0")
(source
(origin
(method git-fetch)
@@ -2082,7 +2082,7 @@ the Go standard library's TLS 1.3 implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1w6sn6m3bsh60flp0fdbv70c2d1ky12mpj09100qf64w0v1d32k0"))))
(base32 "1ncvs9pbjg7m8yp3h8wbhxvzvks1g06a5qcjrkw2k515m2yqhg8k"))))
(build-system go-build-system)
(arguments
(list
@@ -3900,7 +3900,7 @@ is an extremely fast non-cryptographic hash algorithm.")
;; XXX: Source only, to break cycle with
;; go-github-com-zmap-zcrypto. Addintional inputs requaired only to
;; build CLI:
;;
;;
;; - github.com/sirupsen/logrus
;; - github.com/zmap/zcrypto
;; - github.com/zmap/zlint/v3
+12 -2
View File
@@ -47,7 +47,7 @@
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2023 conses <contact@conses.eu>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024, 2026 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Brian Kubisiak <brian@kubisiak.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
@@ -25544,7 +25544,17 @@ suffix comparison, rather than the string-based or tree-based approaches.")
(arguments
(list
#:parallel-tests? #f
#:import-path "github.com/syncthing/notify"))
#:import-path "github.com/syncthing/notify"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "notify_test.go"
;; XXX: Sometimes this test fails due to timeout.
;; Increasing the timeout from 5s to 10s does not help.
;; See <https://github.com/rjeczalik/notify/issues/227>
(("TestRecreated") "OffTestRecreated"))))))))
(propagated-inputs
(list go-golang-org-x-sys))
(home-page "https://github.com/syncthing/notify")
+15 -4
View File
@@ -628,9 +628,17 @@ with the @command{autotrace} utility or as a C library, @code{libautotrace}.")
#:configure-flags
(list
"-DEMBREE_ISPC_SUPPORT=OFF"
;; They SAY that that's the default--but it isn't
;; (that would be AVX512--and that segfaults GCC (!)).
"-DEMBREE_MAX_ISA=AVX2")))
,@(cond
((target-x86-64?)
;; They SAY that that's the default--but it isn't
;; (that would be AVX512--and that segfaults GCC (!)).
`("-DEMBREE_MAX_ISA=AVX2"))
((target-aarch64?)
`("-DEMBREE_ARM=ON"
"-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF"
"-DCMAKE_CXX_FLAGS=-flax-vector-conversions"))
(else
'())))))
(inputs
(list glfw onetbb))
(home-page "https://www.embree.org/")
@@ -639,13 +647,16 @@ with the @command{autotrace} utility or as a C library, @code{libautotrace}.")
"Embree is a collection of high-performance ray tracing kernels.
Embree is meant to increase performance of photo-realistic rendering
applications.")
;; From the README: Embree requires at least an x86 CPU with support for
;; SSE2 or an Apple M1 CPU.
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license license:asl2.0)))
(define-public embree-3
(package
(inherit embree)
(name "embree")
(version "3.3.15")
(version "3.13.5")
(source (origin
(method git-fetch)
(uri (git-reference
-117
View File
@@ -49,123 +49,6 @@
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (srfi srfi-1))
(define-public musl-cross
(let ((revision "3")
(commit "a8a66490dae7f23a2cf5e256f3a596d1ccfe1a03"))
(package
(name "musl-cross")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/GregorR/musl-cross")
(commit commit)))
(file-name "musl-cross-checkout")
(sha256
(base32
"1xvl9y017wb2qaphy9zqh3vrhm8hklr8acvzzcjc35d1jjhyl58y"))
(patches (search-patches "musl-cross-locale.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests in main project.
#:modules
((guix build utils)
(guix build gnu-build-system)
(srfi srfi-1)) ; drop
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(setenv "SHELL" "bash")
(setenv "CONFIG_SHELL" "bash")
#t))
(add-after 'unpack 'unpack-dependencies
(lambda* (#:key inputs outputs #:allow-other-keys)
(define (install-file* source-key destination-directory
destination-suffix)
(let* ((source-file (assoc-ref inputs source-key))
(source-basename (basename source-file))
(source-parts (string-split source-basename #\-))
(destination-file
(string-join (drop source-parts 1) "-")))
(copy-file source-file
(string-append destination-directory "/"
destination-file destination-suffix))))
(for-each (lambda (name)
(install-file* name "tarballs" ""))
'("binutils" "target-gcc-5" "linux-headers" "musl"))
(copy-file (string-append (assoc-ref inputs "config.sub")
"/share/automake-1.16/config.sub")
"tarballs/config.sub;hb=3d5db9ebe860")
(copy-file (string-append (assoc-ref inputs "config.sub")
"/share/automake-1.16/config.guess")
"tarballs/config.guess;hb=3d5db9ebe860")
(substitute* "config.sh"
(("^CC_BASE_PREFIX=.*")
(string-append "CC_BASE_PREFIX=" (assoc-ref outputs "out")
"/crossgcc\n")))
;; Note: Important: source/gcc-5.3.0/gcc/exec-tool.in
;; Note: Important: source/kernel-headers-3.12.6-5/tools/install.sh
;; Note: Important: move-if-change (twice)
;; Make sure that shebangs are patched after new extractions.
(substitute* "defs.sh"
(("touch \"[$]2/extracted\"")
(string-append "touch \"$2/extracted\"
for s in mkinstalldirs move-if-change compile depcomp callprocs configure \\
mkdep compile libtool-ldflags config.guess install-sh missing config.sub \\
config.rpath progtest.m4 lib-ld.m4 acx.m4 gen-fixed.sh mkheader.sh ylwrap \\
merge.sh godeps.sh lock-and-run.sh print-sysroot-suffix.sh mkconfig.sh \\
genmultilib exec-tool.in install.sh
do
find . -name $s -exec sed -i -e 's;!/bin/sh;!" (assoc-ref inputs "bash")
"/bin/sh;' '{}' ';'
find . -name $s -exec sed -i -e 's; /bin/sh; " (assoc-ref inputs "bash")
"/bin/sh;' '{}' ';'
done
" )))
#t))
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./build.sh")))
(delete 'install))))
(native-inputs
`(("config.sub" ,automake)
("bash" ,bash)
("flex" ,flex)
("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
("binutils"
,(origin
(method url-fetch)
(uri "https://ftpmirror.gnu.org/gnu/binutils/binutils-2.27.tar.bz2")
(sha256
(base32 "125clslv17xh1sab74343fg6v31msavpmaa1c1394zsqa773g5rn"))))
("target-gcc-5"
,(origin
(method url-fetch)
(uri "https://ftpmirror.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.bz2")
(sha256
(base32 "1ny4smkp5bzs3cp8ss7pl6lk8yss0d9m4av1mvdp72r1x695akxq"))))
("linux-headers"
,(origin
(method url-fetch)
(uri "http://ftp.barfooze.de/pub/sabotage/tarballs/linux-headers-4.19.88.tar.xz")
(sha256
(base32 "1srgi2nqw892jb6yd4kzacf2xzwfvzhsv2957xfh1nvbs7varwyk"))))
("musl"
,(origin
(method url-fetch)
(uri "http://www.musl-libc.org/releases/musl-1.1.24.tar.gz")
(sha256
(base32 "18r2a00k82hz0mqdvgm7crzc7305l36109c0j9yjmkxj2alcjw0k"))))))
(supported-systems (remove target-hurd? %supported-systems))
(home-page "https://github.com/osresearch/heads")
(synopsis "Cross gcc 5 toolchain")
(description "Musl-cross toolchain: binutils, gcc 5 and musl.")
(license license:isc))))
;; This package provides a "dev.cpio" file usable as a base for booting Heads.
(define-public heads-dev-cpio
(package
+23 -1
View File
@@ -5,7 +5,7 @@
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024, 2025 Spencer King <spencer.king@geneoscopy.com>
;;; Copyright © 2024-2026 Spencer King <spencer.king@wustl.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5592,6 +5592,28 @@ arbitrary normed vector spaces (e.g. matrix-valued integrands).")
format.")
(license license:expat)))
(define-public julia-quantuminterface
(package
(name "julia-quantuminterface")
(version "0.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/qojulia/QuantumInterface.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05792hkhjghlpm919ip8hzbhwv8xcngmyyks2nr8bln6qa8f8r9i"))))
(build-system julia-build-system)
(native-inputs (list julia-safetestsets))
(home-page "https://github.com/qojulia/QuantumInterface.jl")
(synopsis "Lightweight interface for Quantum Physics related packages")
(description
"This package provides a lightweight interface for Quantum Physics
related packages.")
(license license:expat)))
(define-public julia-quaternions
(package
(name "julia-quaternions")
+4 -4
View File
@@ -3919,7 +3919,7 @@ on the fly. Both programs are written in C and are very fast.")
(define-public stalwart
(package
(name "stalwart")
(version "0.16.3")
(version "0.16.4")
(source
(let ((upstream-source
(origin
@@ -3930,7 +3930,7 @@ on the fly. Both programs are written in C and are very fast.")
(file-name (git-file-name name version))
(sha256
(base32
"1wcs9inwv8iv4qrayp9730wzmmpp4bna6jnpdz29ygb5c0lf2b29")))))
"0r3p4g09012ranm4x4crhqa3p7i1m3w7xpy182c3ii74a131f5z1")))))
(origin
(method computed-origin-method)
(file-name (git-file-name name version))
@@ -3998,7 +3998,7 @@ CalDAV, CardDAV and WebDAV support and a wide range of modern features.")
(define-public stalwart-cli
(package
(name "stalwart-cli")
(version "1.0.4")
(version "1.0.5")
(source
(origin
(method git-fetch)
@@ -4007,7 +4007,7 @@ CalDAV, CardDAV and WebDAV support and a wide range of modern features.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rbhzd8m48fm5q8vlzkla5zxrypkbvsi8i1bplkm1ndp0bwiqdvz"))))
(base32 "1dnmv730bd4p4vhxw5m4jazbzyvwm9bf4rdsr8g84yriv51zbz6a"))))
(build-system cargo-build-system)
(arguments
(list #:install-source? #f))
+40
View File
@@ -75,6 +75,7 @@
;;; Copyright © 2026 Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2026 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2026 Luca Alloatti <luca-guix@f-si.org>
;;; Copyright © 2026 Akiyoshi Suda <code@akiyoshisuda.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4574,6 +4575,45 @@ primes and prime k-tuplets up to 264.")
self-contained C-extension for Python.")
(license license:bsd-3)))
(define-public python-constraint2
(package
(name "python-constraint2")
(version "2.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/python-constraint/python-constraint")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1y62jvgb5dm91abgfs3cy260y1lxiwpvirs378a3lj4mrlmrqdsm"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--ignore=tests/test_toml_file.py" ;release information tests
"--ignore=tests/test_util_benchmark.py")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-pytest-config
(lambda _
;; Drop test coverage requirements
(substitute* "pyproject.toml"
(("--cov(-[^ ]*)?([ =][^ \"]*)?") "")))))))
(native-inputs
(list python-cython
python-poetry-core ;actual build backend
python-pytest
python-setuptools)) ;required for cythonization
(home-page "https://python-constraint.github.io/python-constraint")
(synopsis "Constraint satisfaction problem resolver for Python")
(description
"The @code{python-constraint} module offers efficient solvers for
@url{https://en.wikipedia.org/wiki/Constraint_satisfaction_problem, constraint
satisfaction problems} over finite domains in an accessible Python package.")
(license license:bsd-3)))
(define-public python-cvxopt
(package
(name "python-cvxopt")
+3 -3
View File
@@ -754,14 +754,14 @@ Daemon (MPD).")
(define-public rmpc
(package
(name "rmpc")
(version "0.9.0")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rmpc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "00a8z3b4wqf1j6v0ws2fckj452w46vgj1v2n446bv4ngrk7wnf06"))))
(base32 "0j2jahbm49jl1116cdl9f47pi0rmi6h4qy5gajwswr9dnld36803"))))
(build-system cargo-build-system)
(arguments
(list
@@ -787,7 +787,7 @@ Daemon (MPD).")
("target/completions/_rmpc" .
"share/zsh/site-functions/_rmpc"))))))))
(inputs (cargo-inputs 'rmpc))
(home-page "https://mierak.github.io/rmpc/")
(home-page "https://rmpc.mierak.dev/")
(synopsis "Configurable TUI client for MPD")
(description
"rmpc is a terminal based Music Player Daemon client heavily inspired by
+74
View File
@@ -47,6 +47,7 @@
;;; Copyright © 2026 John Dawson <dawson.john.andrew@gmail.com>
;;; Copyright © 2026 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2026 Giacomo Leidi <therewasa@fishinthecalculator.me>
;;; Copyright © 2026 Zheng Junjie <z572@z572.online>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +66,7 @@
(define-module (gnu packages password-utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -91,6 +93,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages digest)
#:use-module (gnu packages docbook)
#:use-module (gnu packages dotnet)
@@ -133,6 +136,7 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages ruby-xyz)
#:use-module (gnu packages security-token)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages suckless)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
@@ -776,6 +780,76 @@ age, and PGP.")
convert SSH @code{ed25519} keys to @code{age} keys.")
(license license:expat)))
(define-public vaultwarden
(package
(name "vaultwarden")
(version "1.36.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dani-garcia/vaultwarden")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1lipk99gqfivg95yqg80b8q0a220vwn9nmq0f4syawxnhvn9zkcd"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:features '(list "sqlite_system" "s3" "postgresql")
;; The build.rs script mandates the activation of a DB backend.
#:cargo-test-flags
'(list
"--features"
"sqlite_system,s3,postgresql"
"--")
#:cargo-install-paths ''(".")))
(inputs
(cons* openssl
postgresql
sqlite
`(,zstd "lib")
(cargo-inputs 'vaultwarden)))
(native-inputs (list pkg-config))
(home-page "https://github.com/dani-garcia/vaultwarden")
(synopsis
"Alternative implementation of the Bitwarden server API")
(description
"Vaultwarden is an unofficial Bitwarden server implementation written in
Rust. It is compatible with the official Bitwarden clients, and is ideal for
self-hosted deployments where running the official resource-heavy service is
undesirable.
Supported features are:
@itemize
@item Personal vault support
@item Organization vault support
@item Groups
@item Event Logs
@item Password sharing and access control
@item Collections
@item File attachments
@item Folders
@item Favorites
@item Website icons
@item Bitwarden Authenticator (TOTP)
@item Bitwarden Send
@item Emergency Access
@item Trash (soft delete, you can configure the days for automatic deletion)
@item Master password re-prompt
@item Personal API key
@item Two-step login via email, Duo, YubiKey, and FIDO2 WebAuthn
@item Username generator integration
@item Directory Connector support
@item Account Recovery (this requires mail to be enabled)
@item Live sync (WebSocket only) for desktop/browser clients/extensions
@item Live sync (push notifications) for mobile clients (Android/iOS)
@item Single Sign-On (SSO)
@end itemize
")
(license license:agpl3)))
(define-public yapet
(package
(name "yapet")
@@ -1,46 +0,0 @@
From 8a06656acf8f6e3dfa907bea77bd57a469a8d3fb Mon Sep 17 00:00:00 2001
From: codefritzel <pascal-pf@hotmail.de>
Date: Thu, 11 Jul 2024 23:10:41 +0200
Subject: replace dsa with rsa in TestUpdateSshRoot
DSA to be deactivated in OpenSSH from 2025. Since version 7.0 dsa is
marked as deprecated.
The TestUpdateSshRoot uses DSA, which will fail in the future with newer
OpenSSH versions.
fixes #1752
Signed-off-by: codefritzel <pascal-pf@hotmail.de>
diff --git a/test/py/ganeti.tools.prepare_node_join_unittest.py b/test/py/ganeti.tools.prepare_node_join_unittest.py
index fe7efdf8c..fe029b8f2 100755
--- a/test/py/ganeti.tools.prepare_node_join_unittest.py
+++ b/test/py/ganeti.tools.prepare_node_join_unittest.py
@@ -229,20 +229,20 @@ class TestUpdateSshRoot(unittest.TestCase):
def testUpdate(self):
data = {
constants.SSHS_SSH_ROOT_KEY: [
- (constants.SSHK_DSA, "privatedsa", "ssh-dss pubdsa"),
+ (constants.SSHK_RSA, "privatersa", "ssh-rsa pubrsa"),
],
- constants.SSHS_SSH_KEY_TYPE: "dsa",
- constants.SSHS_SSH_KEY_BITS: 1024,
+ constants.SSHS_SSH_KEY_TYPE: "rsa",
+ constants.SSHS_SSH_KEY_BITS: 2048,
}
prepare_node_join.UpdateSshRoot(data, False,
_homedir_fn=self._GetHomeDir)
self.assertEqual(os.listdir(self.tmpdir), [".ssh"])
self.assertEqual(sorted(os.listdir(self.sshdir)),
- sorted(["authorized_keys", "id_dsa", "id_dsa.pub"]))
- self.assertTrue(utils.ReadFile(utils.PathJoin(self.sshdir, "id_dsa"))
+ sorted(["authorized_keys", "id_rsa", "id_rsa.pub"]))
+ self.assertTrue(utils.ReadFile(utils.PathJoin(self.sshdir, "id_rsa"))
is not None)
- pub_key = utils.ReadFile(utils.PathJoin(self.sshdir, "id_dsa.pub"))
+ pub_key = utils.ReadFile(utils.PathJoin(self.sshdir, "id_rsa.pub"))
self.assertTrue(pub_key is not None)
self.assertEqual(utils.ReadFile(utils.PathJoin(self.sshdir,
"authorized_keys")),
@@ -1,45 +0,0 @@
Fix compatibility with procps 4.
Negative UIDs are no longer allowed. Use a very high one instead.
Taken from upstream:
https://github.com/ganeti/ganeti/commit/9cd67e6a81c66ed326d68ea8c3241d14eea6550b
diff --git a/test/py/ganeti.uidpool_unittest.py b/test/py/ganeti.uidpool_unittest.py
index b2f5bc5cf2..2d9227cbf5 100755
--- a/test/py/ganeti.uidpool_unittest.py
+++ b/test/py/ganeti.uidpool_unittest.py
@@ -106,23 +106,24 @@ def testRequestUnusedUid(self):
# Check with a single, known unused user-id
#
- # We use "-1" here, which is not a valid user-id, so it's
- # guaranteed that it's unused.
- uid = uidpool.RequestUnusedUid(set([-1]))
- self.assertEqualValues(uid.GetUid(), -1)
+ # We use 2^30+42 here, which is a valid UID, but unlikely to be used on
+ # most systems (even as a subuid).
+ free_uid = 2**30 + 42
+ uid = uidpool.RequestUnusedUid(set([free_uid]))
+ self.assertEqualValues(uid.GetUid(), free_uid)
# Check uid-pool exhaustion
#
- # uid "-1" is locked now, so RequestUnusedUid is expected to fail
+ # free_uid is locked now, so RequestUnusedUid is expected to fail
self.assertRaises(errors.LockError,
uidpool.RequestUnusedUid,
- set([-1]))
+ set([free_uid]))
# Check unlocking
uid.Unlock()
# After unlocking, "-1" should be available again
- uid = uidpool.RequestUnusedUid(set([-1]))
- self.assertEqualValues(uid.GetUid(), -1)
+ uid = uidpool.RequestUnusedUid(set([free_uid]))
+ self.assertEqualValues(uid.GetUid(), free_uid)
if __name__ == "__main__":
@@ -1,41 +0,0 @@
Add Loader argument to 'yaml.load' invocations as required by PyYAML 6.0.
Submitted upstream:
https://github.com/ganeti/ganeti/pull/1668
diff --git a/qa/qa_utils.py b/qa/qa_utils.py
index da485df48..27428e685 100644
--- a/qa/qa_utils.py
+++ b/qa/qa_utils.py
@@ -450,7 +450,7 @@ def GetObjectInfo(infocmd):
master = qa_config.GetMasterNode()
cmdline = utils.ShellQuoteArgs(infocmd)
info_out = GetCommandOutput(master.primary, cmdline)
- return yaml.load(info_out)
+ return yaml.load(info_out, Loader=yaml.SafeLoader)
def UploadFile(node, src):
diff --git a/test/py/ganeti.cli_unittest.py b/test/py/ganeti.cli_unittest.py
index 9cc980afa..242aac9fd 100755
--- a/test/py/ganeti.cli_unittest.py
+++ b/test/py/ganeti.cli_unittest.py
@@ -1141,14 +1141,15 @@ class TestFormatPolicyInfo(unittest.TestCase):
self._RenameDictItem(minmax, key, keyparts[0])
self.assertTrue(constants.IPOLICY_DTS in parsed)
parsed[constants.IPOLICY_DTS] = yaml.load("[%s]" %
- parsed[constants.IPOLICY_DTS])
+ parsed[constants.IPOLICY_DTS],
+ Loader=yaml.SafeLoader)
@staticmethod
def _PrintAndParsePolicy(custom, effective, iscluster):
formatted = cli.FormatPolicyInfo(custom, effective, iscluster)
buf = StringIO()
cli._SerializeGenericInfo(buf, formatted, 0)
- return yaml.load(buf.getvalue())
+ return yaml.load(buf.getvalue(), Loader=yaml.SafeLoader)
def _PrintAndCheckParsed(self, policy):
parsed = self._PrintAndParsePolicy(policy, NotImplemented, True)
@@ -1,28 +0,0 @@
Relax version constraints to work with Stackage LTS 19.
Taken from upstream:
https://github.com/ganeti/ganeti/commit/4f8d61ea0101721eae1c6f43be8430d819e5e611
diff --git a/cabal/ganeti.template.cabal b/cabal/ganeti.template.cabal
index bb4ff8053..98491dd9f 100644
--- a/cabal/ganeti.template.cabal
+++ b/cabal/ganeti.template.cabal
@@ -63,14 +63,14 @@ library
, unix >= 2.5.1.0
, utf8-string >= 0.3.7
- , attoparsec >= 0.10.1.1 && < 0.14
- , base64-bytestring >= 1.0.0.1 && < 1.2
+ , attoparsec >= 0.10.1.1 && < 0.15
+ , base64-bytestring >= 1.0.0.1 && < 1.3
, case-insensitive >= 0.4.0.1 && < 1.3
, curl >= 1.3.7 && < 1.4
, hinotify >= 0.3.2 && < 0.5
, hslogger >= 1.1.4 && < 1.4
, json >= 0.5 && < 1.0
- , lens >= 3.10 && < 5.0
+ , lens >= 3.10 && < 6.0
, lifted-base >= 0.2.0.3 && < 0.3
, monad-control >= 0.3.1.3 && < 1.1
, parallel >= 3.2.0.2 && < 3.3
@@ -1,90 +0,0 @@
Fix ordering of Arbitrary definitions for GHC 9 compatibility.
Taken from upstream:
https://github.com/ganeti/ganeti/commit/feab8faa8fe055c89205497e4f277ae4c7b8caad
diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs
index 97ceb36dca..8d80be9e80 100644
--- a/test/hs/Test/Ganeti/Objects.hs
+++ b/test/hs/Test/Ganeti/Objects.hs
@@ -93,8 +93,14 @@ instance Arbitrary (Container DataCollectorConfig) where
instance Arbitrary BS.ByteString where
arbitrary = genPrintableByteString
+instance Arbitrary a => Arbitrary (Private a) where
+ arbitrary = Private <$> arbitrary
+
$(genArbitrary ''PartialNDParams)
+instance Arbitrary (Container J.JSValue) where
+ arbitrary = return $ GenericContainer Map.empty
+
instance Arbitrary Node where
arbitrary = Node <$> genFQDN <*> genFQDN <*> genFQDN
<*> arbitrary <*> arbitrary <*> arbitrary <*> genFQDN
@@ -297,10 +303,6 @@ genDisk = genDiskWithChildren 3
-- validation rules.
$(genArbitrary ''PartialISpecParams)
--- | FIXME: This generates completely random data, without normal
--- validation rules.
-$(genArbitrary ''PartialIPolicy)
-
$(genArbitrary ''FilledISpecParams)
$(genArbitrary ''MinMaxISpecs)
$(genArbitrary ''FilledIPolicy)
@@ -309,6 +311,10 @@ $(genArbitrary ''FilledNDParams)
$(genArbitrary ''FilledNicParams)
$(genArbitrary ''FilledBeParams)
+-- | FIXME: This generates completely random data, without normal
+-- validation rules.
+$(genArbitrary ''PartialIPolicy)
+
-- | No real arbitrary instance for 'ClusterHvParams' yet.
instance Arbitrary ClusterHvParams where
arbitrary = return $ GenericContainer Map.empty
@@ -331,18 +337,12 @@ instance Arbitrary OsParams where
instance Arbitrary Objects.ClusterOsParamsPrivate where
arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
-instance Arbitrary a => Arbitrary (Private a) where
- arbitrary = Private <$> arbitrary
-
instance Arbitrary ClusterOsParams where
arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
instance Arbitrary ClusterBeParams where
arbitrary = (GenericContainer . Map.fromList) <$> arbitrary
-instance Arbitrary IAllocatorParams where
- arbitrary = return $ GenericContainer Map.empty
-
$(genArbitrary ''Cluster)
instance Arbitrary ConfigData where
diff --git a/test/hs/Test/Ganeti/Query/Language.hs b/test/hs/Test/Ganeti/Query/Language.hs
index 04fb8c3898..fa50196f00 100644
--- a/test/hs/Test/Ganeti/Query/Language.hs
+++ b/test/hs/Test/Ganeti/Query/Language.hs
@@ -59,6 +59,9 @@ import Ganeti.Query.Language
instance Arbitrary (Filter FilterField) where
arbitrary = genFilter
+instance Arbitrary FilterRegex where
+ arbitrary = genName >>= mkRegex -- a name should be a good regex
+
-- | Custom 'Filter' generator (top-level), which enforces a
-- (sane) limit on the depth of the generated filters.
genFilter :: Gen (Filter FilterField)
@@ -97,9 +100,6 @@ $(genArbitrary ''QueryTypeLuxi)
$(genArbitrary ''ItemType)
-instance Arbitrary FilterRegex where
- arbitrary = genName >>= mkRegex -- a name should be a good regex
-
$(genArbitrary ''ResultStatus)
$(genArbitrary ''FieldType)
@@ -1,12 +0,0 @@
diff --git a/lib/build/sphinx_ext.py b/lib/build/sphinx_ext.py
index ca8b8216e..017f52343 100644
--- a/lib/build/sphinx_ext.py
+++ b/lib/build/sphinx_ext.py
@@ -45,7 +45,6 @@ import docutils.parsers.rst
from docutils.parsers.rst import Directive
import sphinx.errors
-import sphinx.util.compat
import sphinx.roles
import sphinx.addnodes
@@ -1,69 +0,0 @@
Handle GHC 9 changes in a backwards compatible manner.
Taken from upstream:
https://github.com/ganeti/ganeti/commit/b279fa738fd5b30320584f79f4d2f0e894315aab
diff --git a/src/Ganeti/THH.hs b/src/Ganeti/THH.hs
index 818c11f84..9ab93d5e3 100644
--- a/src/Ganeti/THH.hs
+++ b/src/Ganeti/THH.hs
@@ -884,7 +884,7 @@ genLoadOpCode opdefs fn = do
) $ zip mexps opdefs
defmatch = Match WildP (NormalB fails) []
cst = NoBindS $ CaseE (VarE opid) $ mpats++[defmatch]
- body = DoE [st, cst]
+ body = mkDoE [st, cst]
-- include "OP_ID" to the list of used keys
bodyAndOpId <- [| $(return body)
<* tell (mkUsedKeys . S.singleton . T.pack $ opidKey) |]
@@ -1541,7 +1541,7 @@ loadExcConstructor inname sname fields = do
[x] -> BindS (ListP [VarP x])
_ -> BindS (TupP (map VarP f_names))
cval = appCons name $ map VarE f_names
- return $ DoE [binds read_args, NoBindS (AppE (VarE 'return) cval)]
+ return $ mkDoE [binds read_args, NoBindS (AppE (VarE 'return) cval)]
{-| Generates the loadException function.
diff --git a/src/Ganeti/THH/Compat.hs b/src/Ganeti/THH/Compat.hs
index d29e30d18..1f51e49d7 100644
--- a/src/Ganeti/THH/Compat.hs
+++ b/src/Ganeti/THH/Compat.hs
@@ -40,9 +40,11 @@ module Ganeti.THH.Compat
, extractDataDConstructors
, myNotStrict
, nonUnaryTupE
+ , mkDoE
) where
import Language.Haskell.TH
+import Language.Haskell.TH.Syntax
-- | Convert Names to DerivClauses
--
@@ -61,7 +63,11 @@ derivesFromNames names = map ConT names
--
-- Handle TH 2.11 and 2.12 changes in a transparent manner using the pre-2.11
-- API.
+#if MIN_VERSION_template_haskell(2,17,0)
+gntDataD :: Cxt -> Name -> [TyVarBndr ()] -> [Con] -> [Name] -> Dec
+#else
gntDataD :: Cxt -> Name -> [TyVarBndr] -> [Con] -> [Name] -> Dec
+#endif
gntDataD x y z a b =
#if MIN_VERSION_template_haskell(2,12,0)
DataD x y z Nothing a $ derivesFromNames b
@@ -114,3 +120,12 @@ nonUnaryTupE es = TupE $ map Just es
#else
nonUnaryTupE es = TupE $ es
#endif
+
+-- | DoE is now qualified with an optional ModName
+mkDoE :: [Stmt] -> Exp
+mkDoE s =
+#if MIN_VERSION_template_haskell(2,17,0)
+ DoE Nothing s
+#else
+ DoE s
+#endif
@@ -1,179 +0,0 @@
Fix compatibility with Template Haskell 2.18 and GHC 9.2.
diff --git a/src/Ganeti/BasicTypes.hs b/src/Ganeti/BasicTypes.hs
index 10d0426cd..d68bc7d5b 100644
--- a/src/Ganeti/BasicTypes.hs
+++ b/src/Ganeti/BasicTypes.hs
@@ -206,12 +206,12 @@ instance MonadTrans (ResultT a) where
instance (MonadIO m, Error a) => MonadIO (ResultT a m) where
liftIO = ResultT . liftIO
. liftM (either (failError . show) return)
- . (try :: IO a -> IO (Either IOError a))
+ . (try :: IO α -> IO (Either IOError α))
instance (MonadBase IO m, Error a) => MonadBase IO (ResultT a m) where
liftBase = ResultT . liftBase
. liftM (either (failError . show) return)
- . (try :: IO a -> IO (Either IOError a))
+ . (try :: IO α -> IO (Either IOError α))
instance (Error a) => MonadTransControl (ResultT a) where
#if MIN_VERSION_monad_control(1,0,0)
diff --git a/src/Ganeti/Lens.hs b/src/Ganeti/Lens.hs
index faa5900ed..747366e6a 100644
--- a/src/Ganeti/Lens.hs
+++ b/src/Ganeti/Lens.hs
@@ -93,14 +93,14 @@ makeCustomLenses' name lst = makeCustomLensesFiltered f name
-- Most often the @g@ functor is @(,) r@ and 'traverseOf2' is used to
-- traverse an effectful computation that also returns an additional output
-- value.
-traverseOf2 :: Over (->) (Compose f g) s t a b
- -> (a -> f (g b)) -> s -> f (g t)
+-- traverseOf2 :: Over (->) (Compose f g) s t a b
+-- -> (a -> f (g b)) -> s -> f (g t)
traverseOf2 k f = getCompose . traverseOf k (Compose . f)
-- | Traverses over a composition of a monad and a functor.
-- See 'traverseOf2'.
-mapMOf2 :: Over (->) (Compose (WrappedMonad m) g) s t a b
- -> (a -> m (g b)) -> s -> m (g t)
+-- mapMOf2 :: Over (->) (Compose (WrappedMonad m) g) s t a b
+-- -> (a -> m (g b)) -> s -> m (g t)
mapMOf2 k f = unwrapMonad . traverseOf2 k (WrapMonad . f)
-- | A helper lens over sets.
diff --git a/src/Ganeti/THH.hs b/src/Ganeti/THH.hs
index 9ab93d5e3..9a10a9a07 100644
--- a/src/Ganeti/THH.hs
+++ b/src/Ganeti/THH.hs
@@ -996,8 +996,8 @@ buildAccessor fnm fpfx rnm rpfx nm pfx field = do
f_body = AppE (VarE fpfx_name) $ VarE x
return $ [ SigD pfx_name $ ArrowT `AppT` ConT nm `AppT` ftype
, FunD pfx_name
- [ Clause [ConP rnm [VarP x]] (NormalB r_body) []
- , Clause [ConP fnm [VarP x]] (NormalB f_body) []
+ [ Clause [myConP rnm [VarP x]] (NormalB r_body) []
+ , Clause [myConP fnm [VarP x]] (NormalB f_body) []
]]
-- | Build lense declartions for a field.
@@ -1037,10 +1037,10 @@ buildLens (fnm, fdnm) (rnm, rdnm) nm pfx ar (field, i) = do
(ConE cdn)
$ zip [0..] vars
let setterE = LamE [VarP context, VarP var] $ CaseE (VarE context)
- [ Match (ConP fnm [ConP fdnm . set (element i) WildP
+ [ Match (myConP fnm [myConP fdnm . set (element i) WildP
$ map VarP vars])
(body (not isSimple) fnm fdnm) []
- , Match (ConP rnm [ConP rdnm . set (element i) WildP
+ , Match (myConP rnm [myConP rdnm . set (element i) WildP
$ map VarP vars])
(body False rnm rdnm) []
]
@@ -1098,9 +1098,9 @@ buildObjectWithForthcoming sname field_pfx fields = do
$ JSON.showJSON $(varE x) |]
let rdjson = FunD 'JSON.readJSON [Clause [] (NormalB read_body) []]
shjson = FunD 'JSON.showJSON
- [ Clause [ConP (mkName real_nm) [VarP x]]
+ [ Clause [myConP (mkName real_nm) [VarP x]]
(NormalB show_real_body) []
- , Clause [ConP (mkName forth_nm) [VarP x]]
+ , Clause [myConP (mkName forth_nm) [VarP x]]
(NormalB show_forth_body) []
]
instJSONdecl = gntInstanceD [] (AppT (ConT ''JSON.JSON) (ConT name))
@@ -1121,9 +1121,9 @@ buildObjectWithForthcoming sname field_pfx fields = do
(fromDictWKeys $(varE xs)) |]
todictx_r <- [| toDict $(varE x) |]
todictx_f <- [| ("forthcoming", JSON.JSBool True) : toDict $(varE x) |]
- let todict = FunD 'toDict [ Clause [ConP (mkName real_nm) [VarP x]]
+ let todict = FunD 'toDict [ Clause [myConP (mkName real_nm) [VarP x]]
(NormalB todictx_r) []
- , Clause [ConP (mkName forth_nm) [VarP x]]
+ , Clause [myConP (mkName forth_nm) [VarP x]]
(NormalB todictx_f) []
]
fromdict = FunD 'fromDictWKeys [ Clause [VarP xs]
@@ -1136,9 +1136,9 @@ buildObjectWithForthcoming sname field_pfx fields = do
let forthPredDecls = [ SigD forthPredName
$ ArrowT `AppT` ConT name `AppT` ConT ''Bool
, FunD forthPredName
- [ Clause [ConP (mkName real_nm) [WildP]]
+ [ Clause [myConP (mkName real_nm) [WildP]]
(NormalB $ ConE 'False) []
- , Clause [ConP (mkName forth_nm) [WildP]]
+ , Clause [myConP (mkName forth_nm) [WildP]]
(NormalB $ ConE 'True) []
]
]
@@ -1412,9 +1412,9 @@ savePParamField fvar field = do
normalexpr <- saveObjectField actualVal field
-- we have to construct the block here manually, because we can't
-- splice-in-splice
- return $ CaseE (VarE fvar) [ Match (ConP 'Nothing [])
+ return $ CaseE (VarE fvar) [ Match (myConP 'Nothing [])
(NormalB (ConE '[])) []
- , Match (ConP 'Just [VarP actualVal])
+ , Match (myConP 'Just [VarP actualVal])
(NormalB normalexpr) []
]
@@ -1440,9 +1440,9 @@ fillParam sname field_pfx fields = do
-- due to apparent bugs in some older GHC versions, we need to add these
-- prefixes to avoid "binding shadows ..." errors
fbinds <- mapM (newName . ("f_" ++) . nameBase) fnames
- let fConP = ConP name_f (map VarP fbinds)
+ let fConP = myConP name_f (map VarP fbinds)
pbinds <- mapM (newName . ("p_" ++) . nameBase) pnames
- let pConP = ConP name_p (map VarP pbinds)
+ let pConP = myConP name_p (map VarP pbinds)
-- PartialParams instance --------
-- fillParams
let fromMaybeExp fn pn = AppE (AppE (VarE 'fromMaybe) (VarE fn)) (VarE pn)
@@ -1462,7 +1462,7 @@ fillParam sname field_pfx fields = do
memptyClause = Clause [] (NormalB memptyExp) []
-- mappend
pbinds2 <- mapM (newName . ("p2_" ++) . nameBase) pnames
- let pConP2 = ConP name_p (map VarP pbinds2)
+ let pConP2 = myConP name_p (map VarP pbinds2)
-- note the reversal of 'l' and 'r' in the call to <|>
-- as we want the result to be the rightmost value
let altExp = zipWith (\l r -> AppE (AppE (VarE '(<|>)) (VarE r)) (VarE l))
@@ -1575,9 +1575,9 @@ genLoadExc tname sname opdefs = do
opdefs
-- the first function clause; we can't use [| |] due to TH
-- limitations, so we have to build the AST by hand
- let clause1 = Clause [ConP 'JSON.JSArray
- [ListP [ConP 'JSON.JSString [VarP exc_name],
- VarP exc_args]]]
+ let clause1 = Clause [myConP 'JSON.JSArray
+ [ListP [myConP 'JSON.JSString [VarP exc_name],
+ VarP exc_args]]]
(NormalB (CaseE (AppE (VarE 'JSON.fromJSString)
(VarE exc_name))
(str_matches ++ [defmatch]))) []
diff --git a/src/Ganeti/THH/Compat.hs b/src/Ganeti/THH/Compat.hs
index 1f51e49d7..9b07c47ef 100644
--- a/src/Ganeti/THH/Compat.hs
+++ b/src/Ganeti/THH/Compat.hs
@@ -41,6 +41,7 @@ module Ganeti.THH.Compat
, myNotStrict
, nonUnaryTupE
, mkDoE
+ , myConP
) where
import Language.Haskell.TH
@@ -129,3 +130,11 @@ mkDoE s =
#else
DoE s
#endif
+
+-- | ConP is now qualified with an optional [Type].
+myConP :: Name -> [Pat] -> Pat
+myConP n patterns = ConP n
+#if MIN_VERSION_template_haskell(2,18,0)
+ []
+#endif
+ patterns
+58 -43
View File
@@ -2726,59 +2726,51 @@ choice. Supported launchers are: dmenu, fuzzel, rofi, walker and custom.")
(define-public py-spy
(package
(name "py-spy")
(version "0.4.0")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "py-spy" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0fvdmrqp4qand1zb9cwks8hpkysdqajrdh9y7ks15c78985k1x64"))))
(base32 "15vccm4q0lqgpq0q9vrzriz58dcrxj2bqf9ac9s4n2bvdxy5f0va"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f
#:modules
'((guix build cargo-build-system)
(guix build utils)
(ice-9 match))
#:cargo-test-flags
;; python-numpy isn't in the build environment
''("--" "--skip=test_local_vars")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-shell-completions
(lambda* (#:key native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share"))
(bash-completions-dir
(string-append out "/share/bash-completion/completions"))
(zsh-completions-dir
(string-append share "/zsh/site-functions"))
(fish-completions-dir
(string-append share "/fish/vendor_completions.d"))
(elvish-completions-dir
(string-append share "/elvish/lib"))
(py-spy (if #$(%current-target-system)
(search-input-file native-inputs "/bin/py-spy")
(string-append out "/bin/py-spy"))))
(for-each mkdir-p
(list bash-completions-dir
zsh-completions-dir
fish-completions-dir
elvish-completions-dir))
(with-output-to-file
(string-append bash-completions-dir "/py-spy")
(lambda _ (invoke py-spy "completions" "bash")))
(with-output-to-file
(string-append zsh-completions-dir "/_py-spy")
(lambda _ (invoke py-spy "completions" "zsh")))
(with-output-to-file
(string-append fish-completions-dir "/py-spy.fish")
(lambda _ (invoke py-spy "completions" "fish")))
(with-output-to-file
(string-append elvish-completions-dir "/py-spy")
(lambda _ (invoke py-spy "completions" "elvish")))))))))
(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/py-spy")
(in-vicinity #$output "bin/py-spy"))))
(with-output-to-file (in-vicinity #$output path)
(lambda _
(invoke binary "completions" shell))))))
'(("bash" . "share/bash-completion/completions/py-spy")
("elvish" . "share/elvish/lib/py-spy")
("fish" . "share/fish/vendor_completions.d/py-spy.fish")
("zsh" . "share/zsh/site-functions/_py-spy"))))))))
(native-inputs
(append
(if (%current-target-system)
(list this-package)
'())
(list python-minimal-wrapper)))
(inputs (cons libunwind (cargo-inputs 'py-spy)))
(inputs (cargo-inputs 'py-spy))
(home-page "https://github.com/benfred/py-spy")
(synopsis "Sampling profiler for Python programs")
(description
@@ -3047,24 +3039,24 @@ browsers.")
(define-public rust-cargo-edit
(package
(name "rust-cargo-edit")
(version "0.13.2")
(version "0.13.10")
(source (origin
(method url-fetch)
(uri (crate-uri "cargo-edit" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1y3pa7qdq2r13ya9qfiw0lb8xm0qbs6q64pj548q6c0hdcxw2mdm"))))
"0m0bbrkk8lpliwji19cd7jxzgv7i7fcdimbv52icqyr9nl0xlnba"))))
(build-system cargo-build-system)
(arguments
`(#:install-source? #f
;; Not all files included.
#:cargo-test-flags '("--" "--skip=::case")))
(list #:install-source? #f
;; Not all files included.
#:cargo-test-flags ''("--" "--skip=::case")))
(native-inputs
(list pkg-config))
(inputs
(cons* curl
libgit2-1.8
libgit2-1.9
libssh2
openssl
zlib
@@ -3115,18 +3107,41 @@ rebase.")
(define-public pastel
(package
(name "pastel")
(version "0.10.0")
(version "0.12.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "pastel" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1mwy4nx3jn74sr1q8ap98faja5wp7hz51yqga8l050xz645kb8wj"))))
(base32 "0rcvas6xcjdl9whhjzbvj3pmr7q86masn5vnvc2bmn1c3788mh30"))))
(build-system cargo-build-system)
(arguments
(list
#:install-source? #f))
#:install-source? #f
#:imported-modules (append %copy-build-system-modules
%cargo-build-system-modules)
#:modules '((guix build cargo-build-system)
((guix build copy-build-system) #:prefix copy:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda _
(setenv "SHELL_COMPLETIONS_DIR" "target")))
(add-after 'install 'install-extras
(lambda args
(apply (assoc-ref copy:%standard-phases 'install)
#:install-plan
'(("target/pastel.bash"
"share/bash-completion/completions/pastel")
("target/pastel.fish"
"share/fish/vendor_completions.d/")
("target/_pastel"
"share/zsh/site-functions/")
("target/" "share/man/man1/"
#:include-regexp ("\\.1$")))
args))))))
(inputs (cargo-inputs 'pastel))
(home-page "https://github.com/sharkdp/pastel")
(synopsis
+2588 -1323
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -674,14 +674,14 @@ document and bibtex retrieval.")
(define-public ugrep
(package
(name "ugrep")
(version "7.8.0")
(version "7.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Genivia/ugrep")
(commit (string-append "v" version))))
(sha256
(base32 "0968cws0bvfgip7yh9vkhxfmr70dl1jr681yzgzhpn0xdv6iqg94"))
(base32 "04vdvyf81881zqfvsyd4zwbgj9ian6grz55lcj4vbvmqk86anf90"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
+2 -1
View File
@@ -303,10 +303,11 @@ This Guix package is built to use the nettle cryptographic library.")
;;
;; This package follows the version of the sequoia-openpgp crate.
(define-public sequoia
(package
(name "sequoia")
(version "2.2.0")
(version "2.3.0")
(source #f)
(build-system trivial-build-system)
(arguments
+2 -2
View File
@@ -71,14 +71,14 @@
(define-public tor
(package
(name "tor")
(version "0.4.9.6")
(version "0.4.9.8")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"05vh1bcsr0gx2xwl7r94drmqlzp0dgag43dlajk6769f0nbvm6m8"))))
"1ph5dpwz1dnrkzxxzbx67kz64rp8v788z4kxs9vhiayj5m73j7xc"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
+153 -189
View File
@@ -835,36 +835,26 @@ firmware blobs. You can
(define-public ganeti
(package
(name "ganeti")
(version "3.0.2")
(version "3.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ganeti/ganeti")
(commit (string-append "v" version))))
(sha256
(base32 "1xw7rm0k411aj0a4hrxz9drn7827bihp6bwizbapfx8k4c3125k4"))
(base32 "19pqlxcdhqr4nfd94x4grmdppna52wvhkjspry972w0w6glnyf6l"))
(file-name (git-file-name name version))
(patches (search-patches "ganeti-shepherd-support.patch"
"ganeti-shepherd-master-failover.patch"
"ganeti-haskell-pythondir.patch"
"ganeti-pyyaml-compat.patch"
"ganeti-procps-compat.patch"
"ganeti-disable-version-symlinks.patch"
"ganeti-lens-compat.patch"
"ganeti-openssh-test-fix.patch"
"ganeti-template-haskell-2.17.patch"
"ganeti-template-haskell-2.18.patch"
"ganeti-reorder-arbitrary-definitions.patch"
"ganeti-relax-dependencies.patch"
"ganeti-sphinx-import.patch"))))
"ganeti-lens-compat.patch"))))
(build-system gnu-build-system)
(arguments
`(#:imported-modules (,@%default-gnu-imported-modules
(guix build haskell-build-system)
(guix build python-build-system))
#:modules (,@%default-gnu-modules
((guix build haskell-build-system) #:prefix haskell:)
((guix build python-build-system) #:select (site-packages))
(list
#:imported-modules %pyproject-build-system-modules
#:modules `(,@%default-gnu-modules
((guix build pyproject-build-system) #:select (site-packages))
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
@@ -877,55 +867,55 @@ firmware blobs. You can
#:test-target "check-TESTS"
#:configure-flags
(list "--localstatedir=/var"
"--sharedstatedir=/var"
"--sysconfdir=/etc"
"--enable-haskell-tests"
#~(list "--localstatedir=/var"
"--sharedstatedir=/var"
"--sysconfdir=/etc"
"--enable-haskell-tests"
;; By default, the build system installs everything to versioned
;; directories such as $libdir/3.0 and relies on a $libdir/default
;; symlink pointed from /etc/ganeti/{lib,share} to actually function.
;; This is done to accommodate installing multiple versions in
;; parallel, but is of little use to us as Guix users can just
;; roll back and forth. Thus, disable it for simplicity.
"--disable-version-links"
;; By default, the build system installs everything to versioned
;; directories such as $libdir/3.0 and relies on a $libdir/default
;; symlink pointed from /etc/ganeti/{lib,share} to actually function.
;; This is done to accommodate installing multiple versions in
;; parallel, but is of little use to us as Guix users can just
;; roll back and forth. Thus, disable it for simplicity.
"--disable-version-links"
;; Ganeti can optionally take control over SSH host keys and
;; distribute them to nodes as they are added, and also rotate keys
;; with 'gnt-cluster renew-crypto --new-ssh-keys'. Thus it needs to
;; know how to restart the SSH daemon.
"--with-sshd-restart-command='herd restart ssh-daemon'"
;; Ganeti can optionally take control over SSH host keys and
;; distribute them to nodes as they are added, and also rotate keys
;; with 'gnt-cluster renew-crypto --new-ssh-keys'. Thus it needs to
;; know how to restart the SSH daemon.
"--with-sshd-restart-command='herd restart ssh-daemon'"
;; Look for OS definitions in this directory by default. It can
;; be changed in the cluster configuration.
"--with-os-search-path=/run/current-system/profile/share/ganeti/os"
;; Look for OS definitions in this directory by default. It can
;; be changed in the cluster configuration.
"--with-os-search-path=/run/current-system/profile/share/ganeti/os"
;; The default QEMU executable to use. We don't use the package
;; here because this entry is stored in the cluster configuration.
(string-append "--with-kvm-path=/run/current-system/profile/bin/"
,(system->qemu-target (%current-system))))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'create-vcs-version
(lambda _
;; If we are building from a git checkout, we need to create a
;; 'vcs-version' file manually because the build system does
;; not have access to the git repository information.
(unless (file-exists? "vcs-version")
(call-with-output-file "vcs-version"
(lambda (port)
(format port "v~a~%" ,version))))))
(add-after 'unpack 'patch-absolute-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("lib/utils/process.py"
"lib/utils/text.py"
"src/Ganeti/Constants.hs"
"src/Ganeti/HTools/CLI.hs"
"test/py/ganeti.config_unittest.py"
"test/py/ganeti.hooks_unittest.py"
"test/py/ganeti.utils.process_unittest.py"
"test/py/ganeti.utils.text_unittest.py"
"test/py/ganeti.utils.wrapper_unittest.py")
;; The default QEMU executable to use. We don't use the package
;; here because this entry is stored in the cluster configuration.
(string-append
"--with-kvm-path=/run/current-system/profile/bin/"
#$(system->qemu-target (%current-system))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'create-vcs-version
(lambda _
;; If we are building from a git checkout, we need to create a
;; 'vcs-version' file manually because the build system does
;; not have access to the git repository information.
(unless (file-exists? "vcs-version")
(call-with-output-file "vcs-version"
(cut format <> "v~a~%" #$version)))))
(add-after 'unpack 'patch-absolute-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("lib/utils/process.py"
"lib/utils/text.py"
"src/Ganeti/Constants.hs"
"src/Ganeti/HTools/CLI.hs"
"test/py/legacy/ganeti.config_unittest.py"
"test/py/legacy/ganeti.hooks_unittest.py"
"test/py/legacy/ganeti.utils.process_unittest.py"
"test/py/legacy/ganeti.utils.text_unittest.py"
"test/py/legacy/ganeti.utils.wrapper_unittest.py")
(("/bin/sh") (search-input-file inputs "/bin/sh"))
(("/bin/bash") (search-input-file inputs "/bin/bash"))
(("/usr/bin/env") (search-input-file inputs "/bin/env"))
@@ -959,76 +949,50 @@ firmware blobs. You can
(("\\$SPHINX --version 2>&1")
"$SPHINX --version 2>&1 \
| sed 's/.sphinx-build-real/sphinx-build/g'"))))
;; The build system invokes Cabal and GHC, which do not work with
;; GHC_PACKAGE_PATH: <https://github.com/haskell/cabal/issues/3728>.
;; Tweak the build system to do roughly what haskell-build-system does.
(add-before 'configure 'configure-haskell
(assoc-ref haskell:%standard-phases 'setup-compiler))
(add-after 'configure 'do-not-use-GHC_PACKAGE_PATH
(lambda _
(unsetenv "GHC_PACKAGE_PATH")
(substitute* "Makefile"
(("\\$\\(CABAL\\)")
"$(CABAL) --package-db=../package.conf.d")
(("\\$\\(GHC\\)")
"$(GHC) -package-db=../package.conf.d"))))
(add-after 'configure 'make-ghc-use-shared-libraries
(lambda _
(substitute* "Makefile"
(add-after 'configure 'make-ghc-use-shared-libraries
(lambda _
(substitute* "Makefile"
(("HFLAGS =") "HFLAGS = -dynamic -fPIC"))))
(add-after 'configure 'fix-installation-directories
(lambda _
(substitute* "Makefile"
;; Do not attempt to create /var during install.
(("\\$\\(DESTDIR\\)\\$\\{localstatedir\\}")
"$(DESTDIR)${prefix}${localstatedir}")
;; Similarly, do not attempt to install the sample ifup scripts
;; to /etc/ganeti.
(("\\$\\(DESTDIR\\)\\$\\(ifupdir\\)")
"$(DESTDIR)${prefix}$(ifupdir)"))))
(add-before 'build 'adjust-tests
(lambda _
;; Disable tests that can not run. Do it early to prevent
;; touching the Makefile later and triggering a needless rebuild.
(substitute* "Makefile"
;; These tests expect the presence of a 'root' user (via
;; ganeti/runtime.py), which fails in the build environment.
(("test/py/ganeti\\.asyncnotifier_unittest\\.py") "")
(("test/py/ganeti\\.backend_unittest\\.py") "")
(("test/py/ganeti\\.daemon_unittest\\.py") "")
(("test/py/ganeti\\.hypervisor\\.hv_kvm_unittest\\.py") "")
(("test/py/ganeti\\.tools\\.ensure_dirs_unittest\\.py") "")
(("test/py/ganeti\\.utils\\.io_unittest-runasroot\\.py") "")
;; Tracked at: https://github.com/ganeti/ganeti/issues/1752
(("test/py/ganeti\\.ssh_unittest\\.py") "")
;; Disable the bash_completion test, as it requires the full
;; bash instead of bash-minimal.
(("test/py/bash_completion\\.bash")
"")
;; This test requires networking.
(("test/py/import-export_unittest\\.bash")
""))
(substitute* "test/hs/Test/Ganeti/OpCodes.hs"
;; Some serdes failure, tracked at:
;; https://github.com/ganeti/ganeti/issues/1753
((", 'case_py_compat_types") ""))))
(add-after 'build 'build-bash-completions
(lambda _
(setenv "PYTHONPATH" ".")
(invoke "./autotools/build-bash-completion")
(unsetenv "PYTHONPATH")))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Set TZDIR so that time zones are found.
(add-after 'configure 'fix-installation-directories
(lambda _
(substitute* "Makefile"
;; Do not attempt to create /var during install.
(("\\$\\(DESTDIR\\)\\$\\{localstatedir\\}")
"$(DESTDIR)${prefix}${localstatedir}")
;; Similarly, do not attempt to install the sample ifup scripts
;; to /etc/ganeti.
(("\\$\\(DESTDIR\\)\\$\\(ifupdir\\)")
"$(DESTDIR)${prefix}$(ifupdir)"))))
(add-before 'build 'adjust-tests
(lambda _
;; Disable tests that can not run. Do it early to prevent
;; touching the Makefile later and triggering a needless rebuild.
(substitute* "Makefile"
;; Disable the bash_completion test, as it requires the full
;; bash instead of bash-minimal.
(("test/py/legacy/bash_completion\\.bash")
"")
;; XXX: Unclear why this test fails.
;; Generating hspace simulation data for hinfo and hbal...
;; FAIL to build test files
(("test/hs/offline-test\\.sh")
""))))
(add-after 'build 'build-bash-completions
(lambda _
(setenv "PYTHONPATH" ".")
(invoke "./autotools/build-bash-completion")
(unsetenv "PYTHONPATH")))
(add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Set TZDIR so that time zones are found.
(setenv "TZDIR" (search-input-directory inputs "share/zoneinfo"))
(substitute* "test/py/ganeti.utils.process_unittest.py"
;; This test attempts to run an executable with
;; RunCmd(..., reset_env=True), which fails because the default
;; PATH from Constants.hs does not exist in the build container.
((".*def testResetEnv.*" all)
(string-append " @unittest.skipIf(True, "
(substitute* "test/py/legacy/ganeti.utils.process_unittest.py"
;; This test attempts to run an executable with
;; RunCmd(..., reset_env=True), which fails because the default
;; PATH from Constants.hs does not exist in the build container.
((".*def testResetEnv.*" all)
(string-append " @unittest.skipIf(True, "
"\"cannot reset env in the build container\")\n"
all))
@@ -1039,37 +1003,35 @@ firmware blobs. You can
"\"testPidFile fails in the build container\")\n"
all)))
;; XXX: Why are these links not added automatically.
(with-directory-excursion "test/hs"
(for-each (lambda (file)
(symlink "../../src/htools" file))
;; XXX: Why are these links not added automatically.
(with-directory-excursion "test/hs"
(for-each (cut symlink "../../src/htools" <>)
'("hspace" "hscan" "hinfo" "hbal" "hroller"
"hcheck" "hail" "hsqueeze")))))
(add-after 'install 'install-bash-completions
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(compdir (string-append out "/etc/bash_completion.d")))
(mkdir-p compdir)
(copy-file "doc/examples/bash_completion"
(string-append compdir "/ganeti"))
;; The one file contains completions for many different
;; executables. Create symlinks for found completions.
(with-directory-excursion compdir
(for-each
(lambda (prog) (symlink "ganeti" prog))
(call-with-input-file "ganeti"
(lambda (port)
(let loop ((line (read-line port))
(progs '()))
(if (eof-object? line)
progs
(if (string-prefix? "complete" line)
(loop (read-line port)
;; Extract "prog" from lines of the form:
;; "complete -F _prog -o filenames prog".
;; Note that 'burnin' is listed with the
;; absolute file name, which is why we
;; run everything through 'basename'.
(add-after 'install 'install-bash-completions
(lambda _
(let ((compdir (string-append #$output "/etc/bash_completion.d")))
(mkdir-p compdir)
(copy-file "doc/examples/bash_completion"
(string-append compdir "/ganeti"))
;; The one file contains completions for many different
;; executables. Create symlinks for found completions.
(with-directory-excursion compdir
(for-each
(lambda (prog) (symlink "ganeti" prog))
(call-with-input-file "ganeti"
(lambda (port)
(let loop ((line (read-line port))
(progs '()))
(if (eof-object? line)
progs
(if (string-prefix? "complete" line)
(loop (read-line port)
;; Extract "prog" from lines of the form:
;; "complete -F _prog -o filenames prog".
;; Note that 'burnin' is listed with the
;; absolute file name, which is why we
;; run everything through 'basename'.
(match (string-split line #\ )
((commands ... prog)
(cons (basename prog) progs))))
@@ -1102,41 +1064,39 @@ firmware blobs. You can
(not (symbolic-link? file))
(not (shell-script? file))))
(for-each (lambda (file)
(wrap-program file
`("GUIX_PYTHONPATH" ":" prefix
(,PYTHONPATH))))
(append-map (cut find-files <> wrap?)
(for-each (cut wrap-program <>
`("GUIX_PYTHONPATH" ":" prefix
(,PYTHONPATH)))
(append-map (cut find-files <> wrap?)
(list (string-append lib "/ganeti")
sbin)))))))))
(native-inputs
`(("haskell" ,ghc)
("cabal" ,cabal-install)
("m4" ,m4)
(list ghc
cabal-install
m4
;; These inputs are necessary to bootstrap the package, because we
;; have patched the build system.
autoconf
automake
;; These inputs are necessary to bootstrap the package, because we
;; have patched the build system.
("autoconf" ,autoconf)
("automake" ,automake)
;; For the documentation.
python-docutils-0.19
python-sphinx
pandoc
graphviz
;; For the documentation.
("python-docutils" ,python-docutils-0.19)
("sphinx" ,python-sphinx)
("pandoc" ,pandoc)
("dot" ,graphviz)
;; Test dependencies.
("fakeroot" ,fakeroot)
("ghc-temporary" ,ghc-temporary)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("python-mock" ,python-mock)
("python-pyyaml" ,python-pyyaml)
("openssh" ,openssh)
("procps" ,procps)
("shelltestrunner" ,shelltestrunner)
("tzdata" ,tzdata-for-tests)))
;; Test dependencies.
fakeroot
ghc-temporary
ghc-test-framework
ghc-test-framework-hunit
ghc-test-framework-quickcheck2
python-mock
python-pyyaml
openssh
procps
shelltestrunner
tzdata-for-tests))
(inputs
(list bash-minimal
iputils ;for 'arping'
@@ -1148,6 +1108,7 @@ firmware blobs. You can
qemu-minimal ;for qemu-img
ghc-attoparsec
ghc-base64-bytestring
ghc-case-insensitive
ghc-cryptonite
ghc-curl
ghc-hinotify
@@ -1155,10 +1116,13 @@ firmware blobs. You can
ghc-json
ghc-lens
ghc-lifted-base
ghc-monad-control
ghc-network
ghc-old-time
ghc-psqueue
ghc-parallel
ghc-regex-pcre
ghc-random
ghc-transformers-base
ghc-utf8-string
ghc-zlib
;; For the optional metadata daemon.
+1 -1
View File
@@ -1161,7 +1161,7 @@ ca-certificates.crt file in the system profile."
(append
(list #:pid-file "/var/run/bffe/pid")
#$(bffe-configuration-arguments config)))))
#:guile (lookup-package-native-input bffe-package "guile-3.0-latest")))
#:guile (lookup-package-native-input bffe-package "guile")))
(match-record config <bffe-configuration>
(package user group arguments extra-environment-variables)
+1 -1
View File
@@ -182,7 +182,7 @@ locations in the store in '.el' files."
;; of generation -pkg.el will fail.
(condition-case
nil
(let ((version (lm-version)))
(let ((version (or (lm-header "package-version") (lm-version))))
;; raises an error if version is invalid
(and (version-to-list version) version))
(error "0.0.0"))