[PATCH] Add treefmt

OpenSubmitted by Gabriel Arazas.
Details
One participant
  • Gabriel Arazas
Owner
unassigned
Severity
normal
G
G
Gabriel Arazas wrote on 16 Jun 06:51 +0200
(address . guix-patches@gnu.org)
364b05c8-ee16-ca42-87a6-dba6e15d485c@gmail.com
Just getting familiar with the workflow of sending a patch series.
G
G
Gabriel Arazas wrote on 16 Jun 07:00 +0200
[PATCH 1/2] gnu: rust-sha-1-0.9: Update to 0.9.8.
(address . 56010@debbugs.gnu.org)(name . Gabriel Arazas)(address . foo.dogsquared@gmail.com)
293660d428aa4648c2b4b12ca972306b726b3cfe.1655351682.git.foo.dogsquared@gmail.com
* gnu/packages/crates-io.scm (rust-sha-1-0.9): Update to 0.9.8.
---
gnu/packages/crates-io.scm | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)

Toggle diff (48 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 452a22f0f2..dd68c249a8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -55306,25 +55306,23 @@ (define-public rust-sha-1-0.9
   (package
     (inherit rust-sha-1-0.10)
     (name "rust-sha-1")
-    (version "0.9.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sha-1" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0w37j7swjkbzgi9mf7ihkw0zfik6vl97fs6jdpqs6r68hvm3c2hp"))))
+    (version "0.9.8")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "sha-1" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "19jibp8l9k5v4dnhj5kfhaczdfd997h22qz0hin6pw9wvc9ngkcr"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-block-buffer" ,rust-block-buffer-0.9)
-        ("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-cpuid-bool" ,rust-cpuid-bool-0.1)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-block-buffer" ,rust-block-buffer-0.9) ("rust-cfg-if" ,rust-cfg-if-1)
+        ("rust-cpufeatures" ,rust-cpufeatures-0.2)
         ("rust-digest" ,rust-digest-0.9)
-        ("rust-libc" ,rust-libc-0.2)
         ("rust-opaque-debug" ,rust-opaque-debug-0.3)
-        ("rust-sha1-asm" ,rust-sha1-asm-0.4))
+        ("rust-sha1-asm" ,rust-sha1-asm-0.5))
        #:cargo-development-inputs
        (("rust-digest" ,rust-digest-0.9)
         ("rust-hex-literal" ,rust-hex-literal-0.2))))))

base-commit: a431d1dbc5a009ad852b55e2300465b49bdce362
-- 
2.36.1
G
G
Gabriel Arazas wrote on 16 Jun 07:00 +0200
[PATCH 2/2] gnu: Add treefmt.
(address . 56010@debbugs.gnu.org)(name . Gabriel Arazas)(address . foo.dogsquared@gmail.com)
65448f1ebe0612b33c2b91332a232b7216f011a0.1655351682.git.foo.dogsquared@gmail.com
* gnu/packages/rust-apps.scm (treefmt): New variable.
---
gnu/packages/rust-apps.scm | 51 ++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 6d97e289c2..e84528dff2 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1129,6 +1129,57 @@ (define-public tectonic
 of support files.")
     (license license:expat)))
 
+(define-public treefmt
+  (package
+    (name "treefmt")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "treefmt" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rarg6rffzl1cf6r167h9p14wr696kwnzr85kwbdy7x7x5zpj5li"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) ("rust-console" ,rust-console-0.13)
+                       ("rust-directories" ,rust-directories-3)
+                       ("rust-filetime" ,rust-filetime-0.2)
+                       ("rust-globset" ,rust-globset-0.4)
+                       ("rust-ignore" ,rust-ignore-0.4)
+                       ("rust-log" ,rust-log-0.4)
+                       ("rust-path-clean" ,rust-path-clean-0.1)
+                       ("rust-rayon" ,rust-rayon-1)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-json" ,rust-serde-json-1)
+                       ("rust-sha-1" ,rust-sha-1-0.9)
+                       ("rust-structopt" ,rust-structopt-0.3)
+                       ("rust-tempfile" ,rust-tempfile-3)
+                       ("rust-toml" ,rust-toml-0.5)
+                       ("rust-which" ,rust-which-4))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3))))
+    (home-page "https://numtide.github.io/treefmt")
+    (synopsis "Command-line application to format the code tree")
+    (description
+     "This application provides a way to unify the formatting process of the
+codebase. It is nice for large code trees where using multiple formatters are
+common. @command{treefmt} comes with the following features.
+
+@itemize @bullet
+@item Unified CLI and output.
+@item Runs formatters in parallel.
+@item Cache changed files for performance.
+@end itemize
+
+The application does have some design decisions to keep in mind.
+
+@itemize @bullet
+@item The source code is kept under version control, making it possible to revert and check changes.
+@item Only one formatter per file, making outputs idempotent.
+@end itemize")
+    (license license:expat)))
+
 (define-public hex
   (package
     (name "hex")
-- 
2.36.1
?