From patchwork Mon Dec 16 19:08:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: John Soo X-Patchwork-Id: 16544 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B136517913; Mon, 16 Dec 2019 19:10:41 +0000 (GMT) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 365581790D for ; Mon, 16 Dec 2019 19:10:41 +0000 (GMT) Received: from localhost ([::1]:58874 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igvlQ-0005fB-I6 for patchwork@mira.cbaines.net; Mon, 16 Dec 2019 14:10:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34600) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igvl1-0005Nl-3Y for guix-patches@gnu.org; Mon, 16 Dec 2019 14:10:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igvkq-0002vk-2D for guix-patches@gnu.org; Mon, 16 Dec 2019 14:10:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:34388) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igvko-0002uB-Pw for guix-patches@gnu.org; Mon, 16 Dec 2019 14:10:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1igvko-0000XK-JU for guix-patches@gnu.org; Mon, 16 Dec 2019 14:10:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#38640] [PATCH] Add ripgrep and many rust dependencies Resent-From: John Soo Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 16 Dec 2019 19:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38640 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 38640@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15765233732018 (code B ref -1); Mon, 16 Dec 2019 19:10:02 +0000 Received: (at submit) by debbugs.gnu.org; 16 Dec 2019 19:09:33 +0000 Received: from localhost ([127.0.0.1]:40362 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igvkL-0000WU-0t for submit@debbugs.gnu.org; Mon, 16 Dec 2019 14:09:33 -0500 Received: from lists.gnu.org ([209.51.188.17]:51506) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1igvkI-0000WK-NU for submit@debbugs.gnu.org; Mon, 16 Dec 2019 14:09:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34356) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1igvk7-0005I7-GR for guix-patches@gnu.org; Mon, 16 Dec 2019 14:09:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1igvjv-0001Xd-JX for guix-patches@gnu.org; Mon, 16 Dec 2019 14:09:18 -0500 Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]:37071) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1igvjr-0001LA-5e for guix-patches@gnu.org; Mon, 16 Dec 2019 14:09:07 -0500 Received: by mail-vs1-xe31.google.com with SMTP id x18so4842907vsq.4 for ; Mon, 16 Dec 2019 11:09:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=Jc3qwOY3RVr4WWDidcHSxWpCyn95yOvBB9v6L+tEwEU=; b=x8UkruJfaTcgsUHD1ZwwPOTK4BabldE5aVVSQmnBDCAOSwl/1dbnxX+37iX7R1Cy8F LSTy4hhssDQlPeDhqBFkPapYVVQH3GhSZNJNulCNslv42BAS6nrkv88/I153b2t7jWEc FbOQ4qLeEwgqedMta8wHduejnR0jw+JsNbfrTTU00cx1jH3Jn+m8agVbCRRKJ+iin3zl MDX6fKLo09XFX38pHZiOfzYnsX2BgFDAPESRgQV++59O7XHhbxTtu4WJ2b3bY5uVOta9 JPxe8zLowaO94hZIApeVC9OVqABvgyxFelfHsDtIwoFunsi7wITzVMIiTotxeNWQ+piH Zejg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Jc3qwOY3RVr4WWDidcHSxWpCyn95yOvBB9v6L+tEwEU=; b=mfjwSorgBrcwWmfFSnFRQVJ6shNkpIKaLxXyGRQwD8dFgwil9BVfcpNZ8xXxiBo0jZ x+7G3roMFVo8/yGSTdIiFp6MjopoudneZeunc0EcuVpSlAMAw9hmifhke9+UZuN3m8GQ 6SziK0eRPCmwyjV59ZOQd46K+I8Cj7CUH1sNHkBdoCd3P0uO6jal2Pph2+ePfddvlsFn hSO0dQGkvbbDXNXRdNMLTCki6UaKVR+H4kuxPv28AJ2lqN8JJHszBOg5Tjqsnui1B6+T zzFkVxzXuKsCiDVOtQTG4vu5CCy+zm4cV8pYkiszbhpc2KlJQ4Q7JBrR71EqJC+vIYP4 HiAA== X-Gm-Message-State: APjAAAXIjGJyNADvsEhgviR8Uu8CP3dznRAh4/c8Vnp+sfKsjAOF4SwF ii5cuMUHXS3usa6A949JSYOacnvnowCV1WHN7ya8L0nQ X-Google-Smtp-Source: APXvYqx6so0a1ycnEXPl75vrH+qgewxlcxlTZpYGuWybqbaz7tgRgvyg/MOf3m41eSkwnYyshIgc/pC4A1lcMr0rkxQ= X-Received: by 2002:a67:f155:: with SMTP id t21mr341983vsm.80.1576523340612; Mon, 16 Dec 2019 11:09:00 -0800 (PST) MIME-Version: 1.0 From: John Soo Date: Mon, 16 Dec 2019 19:08:45 +0000 Message-ID: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hi Guix, I have missed using the rust tools I use outside of Guix. Ripgrep was the first one I could build thanks to the work on the rust build system. Of course, it required adding over 200 dependencies. Some of these have cyclic dependencies, as you all know. What I understand is that the rust community is OK with including cyclic dependencies as test dependencies. I am actually seeing how useful that is. Consider the system tests in the guix repository. Certainly that would require including guix as a dependency to guix. I also left the cargo inputs and dev inputs commented out just in case someone wants to put them back in the future and to give a sense of the topological order of the patches. Having imported ripgrep some months ago, some of these dependencies will require updates, but I did not want to break the working version of ripgrep at the end of the line. Otherwise I have fixed the other lint errors and I have been using ripgrep for several months. - John From d87bce9a0abd7fb24145e7e68b213cd6973edf26 Mon Sep 17 00:00:00 2001 From: John Soo Date: Sun, 15 Dec 2019 11:27:39 -0800 Subject: [PATCH 206/206] gnu: Add ripgrep. * gnu/packages/rust-apps.scm (ripgrep): New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/rust-apps.scm | 113 +++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 gnu/packages/rust-apps.scm diff --git a/gnu/local.mk b/gnu/local.mk index c895b7711a..45c8e8756c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -432,6 +432,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/ruby.scm \ %D%/packages/rush.scm \ %D%/packages/rust.scm \ + %D%/packages/rust-apps.scm \ %D%/packages/rust-cbindgen.scm \ %D%/packages/samba.scm \ %D%/packages/sagemath.scm \ diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm new file mode 100644 index 0000000000..3662a2bb55 --- /dev/null +++ b/gnu/packages/rust-apps.scm @@ -0,0 +1,113 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 John Soo +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages rust-apps) + #:use-module (gnu packages crates-io) + #:use-module (guix build-system cargo) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public ripgrep + (package + (name "ripgrep") + (version "11.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ripgrep" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bn40lz9n08llq615p4qqqbi24zbkf0appfx3zgxg34a86ga9zds")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aho-corasick" ,rust-aho-corasick-0.7) + ("rust-atty" ,rust-atty-0.2) + ("rust-bitflags-1" ,rust-bitflags-1) + ("rust-bstr" ,rust-bstr-0.1) + ("rust-bytecount" ,rust-bytecount-0.5) + ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-cc" ,rust-cc-1.0) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-clap" ,rust-clap-2) + ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1) + ("rust-fnv" ,rust-fnv-1.0) + ("rust-globset" ,rust-globset-0.4) + ("rust-grep" ,rust-grep-0.2) + ("rust-grep-cli" ,rust-grep-cli-0.1) + ("rust-grep-matcher" ,rust-grep-matcher-0.1) + ("rust-grep-pcre2" ,rust-grep-pcre2-0.1) + ("rust-grep-printer" ,rust-grep-printer-0.1) + ("rust-grep-regex" ,rust-grep-regex-0.1) + ("rust-grep-searcher" ,rust-grep-searcher-0.1) + ("rust-ignore" ,rust-ignore-0.4) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-lazy-static" ,rust-lazy-static-1.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-memchr" ,rust-memchr-2.2) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-num-cpus" ,rust-num-cpus-1.10) + ("rust-packed-simd" ,rust-packed-simd-0.3) + ("rust-pcre2" ,rust-pcre2-0.2) + ("rust-pcre2-sys" ,rust-pcre2-sys-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-regex" ,rust-regex-1.1) + ("rust-regex-automata" ,rust-regex-automata-0.1) + ("rust-regex-syntax" ,rust-regex-syntax-0.6) + ("rust-ryu" ,rust-ryu-1.0) + ("rust-same-file" ,rust-same-file-1.0) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-strsim" ,rust-strsim-0.8) + ("rust-syn" ,rust-syn-1.0) + ("rust-termcolor" ,rust-termcolor-1.0) + ("rust-textwrap" ,rust-textwrap-0.11) + ("rust-thread-local" ,rust-thread-local-0.3) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-unicode-xid" ,rust-unicode-xid-0.2) + ("rust-ucd-util" ,rust-ucd-util-0.1) + ("rust-utf8-ranges" ,rust-utf8-ranges-1.0) + ("rust-walkdir" ,rust-walkdir-2.2) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winapi-util" ,rust-winapi-util-0.1) + ("rust-wincolor" ,rust-wincolor-1.0) + ("rust-quote" ,rust-quote-0.6)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-lazy-static" ,rust-lazy-static-1.3) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0)))) + (home-page + "https://github.com/BurntSushi/ripgrep") + (synopsis + "Line-oriented search tool") + (description + "ripgrep is a line-oriented search tool that recursively searches +your current directory for a regex pattern while respecting your +gitignore rules. ripgrep has first class support on Windows, macOS +and Linux") + (license `(,license:unlicense ,license:expat)))) -- 2.24.0