From patchwork Wed Oct 13 22:11:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: phodina X-Patchwork-Id: 33827 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 28EF127BBE3; Wed, 13 Oct 2021 23:13:28 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8CF4527BBE1 for ; Wed, 13 Oct 2021 23:13:27 +0100 (BST) Received: from localhost ([::1]:34174 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mamV4-0000h1-La for patchwork@mira.cbaines.net; Wed, 13 Oct 2021 18:13:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51670) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mamUg-0000dL-Tq for guix-patches@gnu.org; Wed, 13 Oct 2021 18:13:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:50515) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mamUg-0001pI-Dt for guix-patches@gnu.org; Wed, 13 Oct 2021 18:13:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mamUg-000370-9Q for guix-patches@gnu.org; Wed, 13 Oct 2021 18:13:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#51193] Subject: [PATCH 4/4] gnu: Add i3status-rust. References: In-Reply-To: Resent-From: phodina Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 13 Oct 2021 22:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51193 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 51193@debbugs.gnu.org Received: via spool by 51193-submit@debbugs.gnu.org id=B51193.163416312811898 (code B ref 51193); Wed, 13 Oct 2021 22:13:02 +0000 Received: (at 51193) by debbugs.gnu.org; 13 Oct 2021 22:12:08 +0000 Received: from localhost ([127.0.0.1]:33828 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mamTo-00035q-2S for submit@debbugs.gnu.org; Wed, 13 Oct 2021 18:12:08 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:36417) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mamTl-00035D-Tg for 51193@debbugs.gnu.org; Wed, 13 Oct 2021 18:12:06 -0400 Date: Wed, 13 Oct 2021 22:11:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1634163115; bh=7BMX2AmGUg61fz/HcAUIoFm0zJCV+jtU3aRfFKWSFQw=; h=Date:To:From:Reply-To:Subject:From; b=dbpWdwbofmT+im4SQwsXU5/IF6iP2pMLqs/WjI9N/KW8KM7XS0uakELS24plRu3d8 0lBFOGt5PgcvK7fXL9f2G9XgPQghXMjA3GtThvzKcqJNfR9U4KoUcKoyOqaFyEsc0q 769cKIFFAamPbRp/9C4gtJNMxNlfpQpE7Jym8SpU= Message-ID: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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" Reply-to: phodina X-ACL-Warn: , phodina via Guix-patches X-Patchwork-Original-From: phodina via Guix-patches via From: phodina X-getmail-retrieved-from-mailbox: Patches * gnu/packages/rust-apps.scm (i3status-rust): New variable. * gnu/packages/patches/i3status-rust-enable-unstable-features.patch: New file. --- 2.33.0 diff --git a/gnu/packages/patches/i3status-rust-enable-unstable-features.patch b/gnu/packages/patches/i3status-rust-enable-unstable-features.patch new file mode 100644 index 0000000000..edbbef7534 --- /dev/null +++ b/gnu/packages/patches/i3status-rust-enable-unstable-features.patch @@ -0,0 +1,20 @@ +From 3006390c0058f06c255d9850327163aebcdc3b40 Mon Sep 17 00:00:00 2001 +From: Petr Hodina +Date: Mon, 11 Oct 2021 22:35:39 +0200 +Subject: [PATCH] Enable unstable features. + + +diff --git a/src/main.rs b/src/main.rs +index d9e964b..820e22e 100644 +--- a/src/main.rs ++++ b/src/main.rs +@@ -1,3 +1,6 @@ ++#![feature(bool_to_option)] ++#![feature(clamp)] ++ + #[macro_use] + mod de; + #[macro_use] +-- +2.33.0 + diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 27cd57de8b..39bfc9fba2 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Alexandru-Sergiu Marton ;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Petr Hodina ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) @@ -41,12 +43,14 @@ #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages jemalloc) #:use-module (gnu packages linux) #:use-module (gnu packages ssh) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python-xyz) #:use-module (gnu packages rust) #:use-module (gnu packages tls) @@ -440,6 +444,73 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") "This package provides a command-line benchmarking tool.") (license (list license:expat license:asl2.0)))) +(define-public i3status-rust + (package + (name "i3status-rust") + (version "0.20.1") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/greshake/i3status-rust") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version)) + (patches (search-patches "i3status-rust-enable-unstable-features.patch")) + (sha256 + (base32 + "00gzm3g297s9bfp13vnb623p7dfac3g6cdhz2b3lc6l0kmnnqs1s")))) + (build-system cargo-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("dbus" ,dbus) + ("pulseaudio" ,pulseaudio) + ("zlib" ,zlib) + ("openssl" ,openssl) + ("curl" ,curl))) + (arguments + `(#:features '("pulseaudio" "libpulse-binding") + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-chrono-tz" ,rust-chrono-tz-0.5) + ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) + ("rust-curl" ,rust-curl-0.4) ("rust-dbus" ,rust-dbus-0.9) + ("rust-dbus-tree" ,rust-dbus-tree-0.9) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-nix" ,rust-nix-0.20) + ("rust-nl80211" ,rust-nl80211-0.0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-signal-hook" ,rust-signal-hook-0.3) + ("rust-swayipc" ,rust-swayipc-2) + ("rust-toml" ,rust-toml-0.5) + ("rust-cpuprofiler" ,rust-cpuprofiler-0.0.4) + ("rust-inotify" ,rust-inotify-0.9) + ("rust-libpulse-binding" ,rust-libpulse-binding-2) + ("rust-maildir" ,rust-maildir-0.5) + ("rust-notmuch" ,rust-notmuch-0.6) + ("rust-progress" ,rust-progress-0.2) + ("rust-assert-fs" ,rust-assert-fs-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-resources-path + (lambda* (#:key outputs #:allow-other-keys) + (let ((resources (string-append %output "/share"))) + (substitute* "src/util.rs" (("/usr/share/i3status-rust") resources))))) + (add-after 'install 'install-resources + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "files" (string-append %output "/share"))#t)) + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t))))) + (synopsis "i3status, written in pure Rust") + (description "i3status-rs is a feature-rich and resource-friendly replacement +for i3status, written in pure Rust. It provides a way to display 'blocks' of +system information (time, battery status, volume, etc) on the i3 bar. It is also +compatible with sway.") + (home-page "https://github.com/greshake/i3status-rust") + (license license:gpl3))) + (define-public ripgrep (package (name "ripgrep")