diff mbox

Tmux Themepack

Message ID 20160618000030.GA19441@jasmine
State New
Headers show

Commit Message

Leo Famulari June 18, 2016, midnight UTC
On Sun, Jun 12, 2016 at 04:01:41PM -0400, Matthew Jordan wrote:
> Good Day,
> 
> The package has been updated inline with suggested changes.

Thanks! Can you test the attached revision on your patch? Here are the
changes:

> +(define-public tmux-themepack
> +  (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48"))
> +    (package
> +      (name "tmux-themepack")
> +      (version (string-append "1.0.0." (string-take commit 7))) ;; No version tags

I think we need to improve 7.6.3 Version Numbers in the manual. *Nobody*
gets it right the first time :)

With no upstream revision, we use 0.0.0 as the version (this should be
documented). We also include a Guix package revision number, which seems
to begin at 1. It ends up looking like this:

(define-public tmux-themepack
  (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48")
        (revision "1"))
    (package
      (name "tmux-themepack")
      (version (string-append "0.0.0-" revision "." (string-take commit 7))) ;; No version tags

> +       `(#:tests? #f

I added the comment "no test suite".

> +                    (replace 'install
> +                      (lambda* (#:key inputs outputs #:allow-other-keys)

Since no inputs were referred to, I remove 'inputs'.

> +                        (let* ((out (string-append
> +                                     (assoc-ref outputs "out")
> +                                     "/share/" ,name "-" ,version)))
> +                          (mkdir-p out)

This (mkdir-p) does not appear to be needed, so I removed it.

Comments

non such July 10, 2016, 2:06 p.m. UTC | #1
Hi,

Leo Famulari <leo@famulari.name> writes:

> On Sun, Jun 12, 2016 at 04:01:41PM -0400, Matthew Jordan wrote:
>> Good Day,
>> 
>> The package has been updated inline with suggested changes.
>
> Thanks! Can you test the attached revision on your patch? Here are the
> changes:
>
>> +(define-public tmux-themepack
>> +  (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48"))
>> +    (package
>> +      (name "tmux-themepack")
>> +      (version (string-append "1.0.0." (string-take commit 7))) ;; No version tags
>
> I think we need to improve 7.6.3 Version Numbers in the manual. *Nobody*
> gets it right the first time :)
>
> With no upstream revision, we use 0.0.0 as the version (this should be
> documented). We also include a Guix package revision number, which seems
> to begin at 1. It ends up looking like this:

A side question: We do guix revisions of packages? I know we had
a discussion on this in the past which included the string-take
commit 7 or 8, but even with using grep in the gnu/packages dir
it's not obvious as egrep -nr 'revision "1"'
for example just gives 5 results.
So the documentation needs to be improved, I agree.
Leo Famulari July 10, 2016, 3:45 p.m. UTC | #2
On Sun, Jul 10, 2016 at 02:06:44PM +0000, ng0 wrote:
> A side question: We do guix revisions of packages? I know we had
> a discussion on this in the past which included the string-take
> commit 7 or 8, but even with using grep in the gnu/packages dir
> it's not obvious as egrep -nr 'revision "1"'
> for example just gives 5 results.
> So the documentation needs to be improved, I agree.

Without using a revision integer, `guix package --upgrade` will not work
correctly, since Git hashes do not increase (or decrease) reliably.

For example, the computer can't tell which of these two version strings
is the newer version:

"0.0.0-deadbeef"
"0.0.0-cabba9e"

Not all packages declare a revision variable, but I think it is helpful.

Any suggestions on improving this part of the manual? It *does*
explicity describe this problem and the solution. Should we add the
revision variable to the code example?
non such July 10, 2016, 4:16 p.m. UTC | #3
Leo Famulari <leo@famulari.name> writes:

> On Sun, Jul 10, 2016 at 02:06:44PM +0000, ng0 wrote:
>> A side question: We do guix revisions of packages? I know we had
>> a discussion on this in the past which included the string-take
>> commit 7 or 8, but even with using grep in the gnu/packages dir
>> it's not obvious as egrep -nr 'revision "1"'
>> for example just gives 5 results.
>> So the documentation needs to be improved, I agree.
>
> Without using a revision integer, `guix package --upgrade` will not work
> correctly, since Git hashes do not increase (or decrease) reliably.
>
> For example, the computer can't tell which of these two version strings
> is the newer version:
>
> "0.0.0-deadbeef"
> "0.0.0-cabba9e"
>
> Not all packages declare a revision variable, but I think it is helpful.
>
> Any suggestions on improving this part of the manual? It *does*
> explicity describe this problem and the solution. Should we add the
> revision variable to the code example?

Thanks for pointing this out. In future updates of source
checkout software I contributed I'll include the revision and
update it.

You are right that 7.6.3 Version Numbers includes the entire
picture of how it is to be done, but as practice shows the
language or representation is not clear.
I'll try to come up with a fix for that part today.
diff mbox

Patch

From f3ee545ac6734d2e20b02dffc7fa808973dae8dc Mon Sep 17 00:00:00 2001
From: Matthew Jordan <matthewjordandevops@yandex.com>
Date: Sun, 12 Jun 2016 16:01:41 -0400
Subject: [PATCH] gnu: Add Tmux Themepack.

* gnu/packages/tmux.scm (tmux-themepack): New variable.
---
 gnu/packages/tmux.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index d89fc16..c15d683 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -1,6 +1,7 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,11 +22,16 @@ 
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix utils)
+  #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses))
 
+
 (define-public tmux
   (package
     (name "tmux")
@@ -50,3 +56,39 @@  windows), each running a separate program, to be created, accessed, and
 controlled from a single screen.  tmux may be detached from a screen and
 continue running in the background, then later reattached.")
     (license isc)))
+
+(define-public tmux-themepack
+  (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48")
+        (revision "1"))
+    (package
+      (name "tmux-themepack")
+      (version (string-append "0.0.0-"
+                              revision "."
+                              (string-take commit 7))) ;; No version tags
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url
+                       (string-append "https://github.com/jimeh/" name ".git"))
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1d3k87mq5lca042jbap5kxskjy3kg79wjhhpnm6jacbn3anc67zl"))
+                (file-name (string-append name "-" version "-checkout"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f ; no test suite
+         #:phases (modify-phases %standard-phases
+                    (delete 'configure)
+                    (delete 'build)
+                    (replace 'install
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (let* ((out (string-append
+                                     (assoc-ref outputs "out")
+                                     "/share/" ,name "-" ,version)))
+                          (copy-recursively "." out)))))))
+      (home-page "https://github.com/jimeh/tmux-themepack")
+      (synopsis "Collection of themes for Tmux")
+      (description "A collection of various themes for Tmux.")
+      (license
+       (non-copyleft "http://www.wtfpl.net/txt/copying/")))))
-- 
2.9.0