Subject: [bug#33058] [PATCH] gnu: Add i3blocks.

From: Meiyo Peng <[email-masked]>
Date: Tue, 16 Oct 2018 16:43:11 +0800

Hello,

I created a package for i3blocks. This is my first guix package, so
forgive me if i did anything wrong.

>From 6116bec4d60175e2d1fb12da75c803962ddb3ec7 Mon Sep 17 00:00:00 2001
From: Meiyo Peng <[email-masked]>
Date: Tue, 16 Oct 2018 15:16:43 +0800
Subject: [PATCH] gnu: Add i3blocks.

* gnu/packages/wm.scm (i3blocks): New variable.
---
 gnu/packages/wm.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7c58770de..d5e191770 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2017 Oleg Pykhalov <[email-masked]>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <[email-masked]>
+;;; Copyright © 2018 Meiyo Peng <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -233,6 +234,46 @@ from scratch.  i3 is primarily targeted at advanced users and
 developers.")
     (license license:bsd-3)))
 
+(define-public i3blocks
+  (let ((commit "37f23805ff886639163fbef8aedba71c8071eff8")
+        (revision "1"))
+    (package
+      (name "i3blocks")
+      (version (string-append "1.4-" revision "."
+                              (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/vivien/i3blocks.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "15rnrcajzyrmhlz1a21qqsjlj3dkib70806dlb386fliylc2kisb"))
+                (file-name (string-append name "-" version "-checkout"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'autogen
+                      (lambda _ (invoke "sh" "autogen.sh")))
+                    (add-after 'install 'install-doc
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (let* ((out (assoc-ref outputs "out"))
+                               (man1 (string-append out "/share/man/man1")))
+                          (install-file "docs/i3blocks.1" man1)))))
+         #:tests? #f))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("pkg-config" ,pkg-config)))
+      (home-page "https://github.com/vivien/i3blocks")
+      (synopsis "Minimalist scheduler for status bar scripts")
+      (description "i3blocks executes your command lines and generates a
+status line from their output.  The generated line is meant to be displayed by
+the i3 window manager through its i3bar component, as an alternative to
+i3status.")
+      (license license:gpl3+))))
+
 (define-public perl-anyevent-i3
   (package
     (name "perl-anyevent-i3")
-- 
2.19.1