Subject: [PATCH] gnu: Add skim.
From: Z572 <[email-masked]>
To: [email-masked]
Date: Thu, 17 Dec 2020 21:10:02 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

From 73ff533214c54fe65ba7b7a20fd6c6bed302a52c Mon Sep 17 00:00:00 2001
From: Zheng Junjie <[email-masked]>
Date: Thu, 17 Dec 2020 21:00:52 +0800
Subject: [PATCH 1/6] gnu: Add rust-tuikit-0.4.

---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f42816d47d..57751cc772 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020 André Batista <[email-masked]>
 ;;; Copyright © 2020 Arun Isaac <[email-masked]>
 ;;; Copyright © 2020 Antoine Côté <[email-masked]>
+;;; Copyright © 2020 Zheng Junjie <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35889,3 +35890,33 @@ formatters with per-field documentation generated for each structure.
     (description
       "Generate Rust register maps (`struct`s) from SVD files")
     (license (list license:expat license:asl2.0))))
+
+(define-public rust-tuikit-0.4
+  (package
+    (name "rust-tuikit")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tuikit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "01x99x184k3p3knbzvr263has5rhpgkv81ijiqa8aqm1fl2azzfz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build?
+       #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-term" ,rust-term-0.6)
+        ("rust-unicode-width" ,rust-unicode-width-0.1))))
+    (home-page "https://github.com/lotabout/tuikit")
+    (synopsis "Toolkit for writing TUI applications")
+    (description
+     "Toolkit for writing TUI applications")
+    (license license:expat)))
-- 
2.29.2

From 404cc212db56de26f81d3a30f9426a1b5c224236 Mon Sep 17 00:00:00 2001
From: Zheng Junjie <[email-masked]>
Date: Thu, 17 Dec 2020 21:01:15 +0800
Subject: [PATCH 2/6] gnu: Add rust-timer-0.2.

---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 57751cc772..b9cb436935 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35920,3 +35920,29 @@ formatters with per-field documentation generated for each structure.
     (description
      "Toolkit for writing TUI applications")
     (license license:expat)))
+
+(define-public rust-timer-0.2
+  (package
+    (name "rust-timer")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "timer" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0srhqyp7fr91d1i43aqs7wc6yn1i3kdkh1pm05bicdw961v23m1i"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-chrono" ,rust-chrono-0.4))))
+    (home-page "https://github.com/Yoric/timer.rs")
+    (synopsis
+      "A simple timer. Use it to schedule execution of closures after a delay or at a given timestamp.")
+    (description
+      "This package provides a simple timer.  Use it to schedule execution of closures after a delay or at a given timestamp.")
+    (license license:mpl2.0)))
-- 
2.29.2

From 251e1e0c8c753ccd7d9c05c1699b8f37fa694969 Mon Sep 17 00:00:00 2001
From: Zheng Junjie <[email-masked]>
Date: Thu, 17 Dec 2020 21:02:22 +0800
Subject: [PATCH 3/6] gnu: Add rust-fuzzy-matcher-0.3

---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b9cb436935..dc7d38530b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35946,3 +35946,28 @@ formatters with per-field documentation generated for each structure.
     (description
       "This package provides a simple timer.  Use it to schedule execution of closures after a delay or at a given timestamp.")
     (license license:mpl2.0)))
+
+(define-public rust-fuzzy-matcher-0.3
+  (package
+    (name "rust-fuzzy-matcher")
+    (version "0.3.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fuzzy-matcher" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "153csv8rsk2vxagb68kpmiknvdd3bzqj03x805khckck28rllqal"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build?
+       #t
+       #:cargo-inputs
+       (("rust-thread-local" ,rust-thread-local-1.0))))
+    (home-page
+     "https://github.com/lotabout/fuzzy-matcher")
+    (synopsis "Fuzzy Matching Library")
+    (description "Fuzzy Matching Library")
+    (license license:expat)))
-- 
2.29.2

From 6320df9034b5dda9e5c75f077ceebdb444a5518f Mon Sep 17 00:00:00 2001
From: Zheng Junjie <[email-masked]>
Date: Thu, 17 Dec 2020 21:02:58 +0800
Subject: [PATCH 4/6] gnu: Add rust-defer-drop-1.

---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dc7d38530b..aa91f7c1aa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35971,3 +35971,31 @@ formatters with per-field documentation generated for each structure.
     (synopsis "Fuzzy Matching Library")
     (description "Fuzzy Matching Library")
     (license license:expat)))
+
+(define-public rust-defer-drop-1
+  (package
+    (name "rust-defer-drop")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "defer-drop" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1d3pmmn5k2ir3yv8z8fnv4jprs5aijkz5pbdyl8x8kp18m90bbhq"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-crossbeam-channel"
+          ,rust-crossbeam-channel-0.4)
+         ("rust-once-cell" ,rust-once-cell-1))))
+    (home-page "")
+    (synopsis
+      "Defer dropping large types to a background thread")
+    (description
+      "Defer dropping large types to a background thread")
+    (license license:mpl2.0)))
-- 
2.29.2

From b6df1554b77913dba0990beea7d9141f896f0e82 Mon Sep 17 00:00:00 2001
From: Zheng Junjie <[email-masked]>
Date: Thu, 17 Dec 2020 21:03:18 +0800
Subject: [PATCH 5/6] gnu: Add rust-beef-0.4.

---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aa91f7c1aa..95d274e79a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -35999,3 +35999,27 @@ formatters with per-field documentation generated for each structure.
     (description
       "Defer dropping large types to a background thread")
     (license license:mpl2.0)))
+
+(define-public rust-beef-0.4
+  (package
+    (name "rust-beef")
+    (version "0.4.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "beef" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0hva1rmbx2a54q4ncs8i5lbr26669wyvnya1sh3x22r0cxm64jj7"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-serde" ,rust-serde-1))))
+    (home-page "")
+    (synopsis "More compact Cow")
+    (description "More compact Cow")
+    (license (list license:expat license:asl2.0))))
-- 
2.29.2

From 42d30ecae2a16f6dfdd65f99e1eb936520811827 Mon Sep 17 00:00:00 2001
From: Zheng Junjie <[email-masked]>
Date: Thu, 17 Dec 2020 21:03:39 +0800
Subject: [PATCH 6/6] gnu: Add skim.

---
 gnu/packages/rust-apps.scm | 42 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index c3d1d3bb26..a5228b1576 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2020 Mark H Weaver <[email-masked]>
 ;;; Copyright © 2020 Gabriel Arazas <[email-masked]>
 ;;; Copyright © 2020 Nicolas Goaziou <[email-masked]>
+;;; Copyright © 2020 Zheng Junjie <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -401,6 +402,47 @@ gitignore rules.")
          (base32
           "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m"))))))
 
+(define-public skim
+  (package
+    (name "skim")
+    (version "0.9.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "skim" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qir6m4cpd63bnp0lqq4si1ccgd6rbv4m1662v771fkyynrdrj0s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-beef" ,rust-beef-0.4)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-crossbeam" ,rust-crossbeam-0.7)
+        ("rust-defer-drop" ,rust-defer-drop-1)
+        ("rust-derive-builder" ,rust-derive-builder-0.9)
+        ("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-regex" ,rust-regex-1)
+        ("rust-shlex" ,rust-shlex-0.1)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-timer" ,rust-timer-0.2)
+        ("rust-tuikit" ,rust-tuikit-0.4)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-vte" ,rust-vte-0.3))))
+    (home-page "https://github.com/lotabout/skim")
+    (synopsis "Fuzzy Finder in rust!")
+    (description "Fuzzy Finder in rust!")
+    (license license:expat)))
+
 (define-public tokei
   (package
     (name "tokei")
-- 
2.29.2