Subject: [bug#75127] [PATCH v7 01/44] gnu: Add cargo-nextest.

From: Jordan Moore <[email-masked]>
Date: Sat, 11 Jan 2025 10:10:51 -0500

* gnu/packages/rust-apps.scm (cargo-nextest): New variable.

Change-Id: If524cda770aba1e2e3bb082d47c0816cbdaa5aa3
---
 gnu/packages/check.scm | 54 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index e28564c0b0..b928080a29 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -53,6 +53,7 @@
 ;;; Copyright © 2024 Navid Afkhami <[email-masked]>
 ;;; Copyright © 2024 gemmaro <[email-masked]>
 ;;; Copyright © 2024 Ashvith Shetty <[email-masked]>
+;;; Copyright © 2025 Jordan Moore <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -76,6 +77,9 @@ (define-module (gnu packages check)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages boost)
+  #:use-module (gnu packages crates-check)
+  #:use-module (gnu packages crates-graphics)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages certs)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
@@ -113,6 +117,7 @@ (define-module (gnu packages check)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cargo)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system copy)
   #:use-module (guix build-system glib-or-gtk)
@@ -251,6 +256,55 @@ (define-public mutest
     (home-page "https://ebassi.github.io/mutest/mutest.md.html")
     (license license:expat)))
 
+(define-public cargo-nextest
+  (package
+    (name "cargo-nextest")
+    (version "0.9.87")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cargo-nextest" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "02aq4wmrnwlm2amjqpwv0k58mw5kbwkxgj2z1d6qydxfrrm50k1d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-camino" ,rust-camino-1)
+                       ("rust-cfg-if" ,rust-cfg-if-1)
+                       ("rust-clap" ,rust-clap-4)
+                       ("rust-color-eyre" ,rust-color-eyre-0.6)
+                       ("rust-dialoguer" ,rust-dialoguer-0.11)
+                       ("rust-duct" ,rust-duct-0.13)
+                       ("rust-enable-ansi-support" ,rust-enable-ansi-support-0.2)
+                       ("rust-guppy" ,rust-guppy-0.17)
+                       ("rust-itertools" ,rust-itertools-0.13)
+                       ("rust-miette" ,rust-miette-7)
+                       ("rust-nextest-filtering" ,rust-nextest-filtering-0.12)
+                       ("rust-nextest-metadata" ,rust-nextest-metadata-0.12)
+                       ("rust-nextest-runner" ,rust-nextest-runner-0.70)
+                       ("rust-nextest-workspace-hack" ,rust-nextest-workspace-hack-0.1)
+                       ("rust-once-cell" ,rust-once-cell-1)
+                       ("rust-owo-colors" ,rust-owo-colors-4)
+                       ("rust-pathdiff" ,rust-pathdiff-0.2)
+                       ("rust-quick-junit" ,rust-quick-junit-0.5)
+                       ("rust-semver" ,rust-semver-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-shell-words" ,rust-shell-words-1)
+                       ("rust-supports-color" ,rust-supports-color-3)
+                       ("rust-supports-unicode" ,rust-supports-unicode-3)
+                       ("rust-swrite" ,rust-swrite-0.1)
+                       ("rust-thiserror" ,rust-thiserror-2)
+                       ("rust-tracing" ,rust-tracing-0.1)
+                       ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))
+       #:cargo-development-inputs (("rust-camino-tempfile" ,rust-camino-tempfile-1))))
+    (inputs (list pkg-config zlib
+                  `(,zstd "lib")))
+    (home-page "https://github.com/nextest-rs/nextest")
+    (synopsis "next-generation test runner for Rust.")
+    (description
+     "This package provides a next-generation test runner for Rust.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public check
   (package
     (name "check")
-- 
2.46.0