diff options
Diffstat (limited to 'gnu/packages/rust-apps.scm')
-rw-r--r-- | gnu/packages/rust-apps.scm | 93 |
1 files changed, 85 insertions, 8 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 215955214c..8ad3c0ced4 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 John Soo <jsoo1@asu.edu> -;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +22,11 @@ #:use-module (guix build-system cargo) #:use-module (guix download) #:use-module (guix packages) - #:use-module (gnu packages crates-io)) + #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control)) (define-public ripgrep (package @@ -66,7 +70,7 @@ gitignore rules.") (define-public rust-cbindgen (package (name "rust-cbindgen") - (version "0.9.1") + (version "0.12.2") (source (origin (method url-fetch) @@ -74,7 +78,7 @@ gitignore rules.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1zgamxahlxmg4warzivaa8m1f8d6b45mhznm7n6d7p5l18acdblx")))) + "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -86,11 +90,84 @@ gitignore rules.") ("serde-json" ,rust-serde-json-1.0) ("syn" ,rust-syn-1.0) ("tempfile" ,rust-tempfile-3.0) - ("toml" ,rust-toml-0.5)) - #:cargo-development-inputs - (("autocfg" ,rust-autocfg-0.1)))) + ("toml" ,rust-toml-0.5)))) (home-page "https://github.com/eqrion/cbindgen/") (synopsis "Tool for generating C bindings to Rust code") (description "This package provides a tool for generating C/C++ bindings to Rust code.") (license license:mpl2.0))) + +(define-public tokei + (package + (name "tokei") + (version "10.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokei" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07f5laqw2k9l3k8wrg9h8p2m5d9hkfxngyacwrn3vs7mlnw8l81m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-2) + ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4) + ("rust-dirs" ,rust-dirs-2.0) + ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-grep-searcher" ,rust-grep-searcher-0.1) + ("rust-hex" ,rust-hex-0.4) + ("rust-ignore" ,rust-ignore-0.4) + ("rust-log" ,rust-log-0.4) + ("rust-rayon" ,rust-rayon-1.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-cbor" ,rust-serde-cbor-0.10) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-term-size" ,rust-term-size-0.3) + ("rust-toml" ,rust-toml-0.5)) + #:cargo-development-inputs + (("rust-git2" ,rust-git2-0.11) + ("rust-handlebars" ,rust-handlebars-2.0) + ("rust-ignore" ,rust-ignore-0.4) + ("rust-lazy-static" ,rust-lazy-static-1.4) + ("rust-regex" ,rust-regex-1.3) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-tempfile" ,rust-tempfile-3.0)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'unvendor-libraries-from-crates + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl) + (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1") + (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") + (delete-file-recursively + (string-append "guix-vendor/rust-libgit2-sys-" + ,(package-version rust-libgit2-sys-0.10) + ".crate/libgit2")) + (delete-file-recursively + (string-append "guix-vendor/rust-libssh2-sys-" + ,(package-version rust-libssh2-sys-0.2) + ".crate/libssh2")) + (delete-file-recursively + (string-append "guix-vendor/rust-libz-sys-" + ,(package-version rust-libz-sys-1.0) + ".crate/src/zlib"))) + #t))))) + (native-inputs + `(("libgit2" ,libgit2) + ("openssl" ,openssl) + ("pkg-config" ,pkg-config) + ("zlib" ,zlib))) + (home-page "https://tokei.rs") + (synopsis "Count code, quickly") + (description + "Tokei is a program that displays statistics about your code. Tokei will +show number of files, total lines within those files and code, comments, and +blanks grouped by language.") + (license (list license:expat license:asl2.0)))) |