gnu: font-inconsolata: Use HTTPS home page.
[jackhill/guix/guix.git] / gnu / packages / rust-apps.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
3 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages rust-apps)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix build-system cargo)
23 #:use-module (guix download)
24 #:use-module (guix packages)
25 #:use-module (gnu packages crates-io))
26
27 (define-public ripgrep
28 (package
29 (name "ripgrep")
30 (version "11.0.1")
31 (source
32 (origin
33 (method url-fetch)
34 (uri (crate-uri "ripgrep" version))
35 (file-name
36 (string-append name "-" version ".tar.gz"))
37 (sha256
38 (base32
39 "0bn40lz9n08llq615p4qqqbi24zbkf0appfx3zgxg34a86ga9zds"))))
40 (build-system cargo-build-system)
41 (arguments
42 `(#:cargo-inputs
43 (("rust-bstr" ,rust-bstr-0.1)
44 ("rust-clap" ,rust-clap-2)
45 ("rust-grep" ,rust-grep-0.2)
46 ("rust-ignore" ,rust-ignore-0.4)
47 ("rust-lazy-static" ,rust-lazy-static-1.3)
48 ("rust-log" ,rust-log-0.4)
49 ("rust-num-cpus" ,rust-num-cpus-1.10)
50 ("rust-regex" ,rust-regex-1.1)
51 ("rust-serde-json" ,rust-serde-json-1.0)
52 ("rust-termcolor" ,rust-termcolor-1.0))
53 #:cargo-development-inputs
54 (("rust-clap" ,rust-clap-2)
55 ("rust-lazy-static" ,rust-lazy-static-1.3)
56 ("rust-serde" ,rust-serde-1.0)
57 ("rust-serde-derive" ,rust-serde-derive-1.0))))
58 (home-page "https://github.com/BurntSushi/ripgrep")
59 (synopsis "Line-oriented search tool")
60 (description
61 "ripgrep is a line-oriented search tool that recursively searches
62 your current directory for a regex pattern while respecting your
63 gitignore rules.")
64 (license (list license:unlicense license:expat))))
65
66 (define-public rust-cbindgen
67 (package
68 (name "rust-cbindgen")
69 (version "0.9.1")
70 (source
71 (origin
72 (method url-fetch)
73 (uri (crate-uri "cbindgen" version))
74 (file-name (string-append name "-" version ".crate"))
75 (sha256
76 (base32
77 "1zgamxahlxmg4warzivaa8m1f8d6b45mhznm7n6d7p5l18acdblx"))))
78 (build-system cargo-build-system)
79 (arguments
80 `(#:cargo-inputs
81 (("clap" ,rust-clap-2)
82 ("log" ,rust-log-0.4)
83 ("proc-macro2" ,rust-proc-macro2-1.0)
84 ("quote" ,rust-quote-1.0)
85 ("serde" ,rust-serde-1.0)
86 ("serde-json" ,rust-serde-json-1.0)
87 ("syn" ,rust-syn-1.0)
88 ("tempfile" ,rust-tempfile-3.0)
89 ("toml" ,rust-toml-0.5))
90 #:cargo-development-inputs
91 (("autocfg" ,rust-autocfg-0.1))))
92 (home-page "https://github.com/eqrion/cbindgen/")
93 (synopsis "Tool for generating C bindings to Rust code")
94 (description
95 "This package provides a tool for generating C/C++ bindings to Rust code.")
96 (license license:mpl2.0)))