Patchwork entr-3.5

login
register
mail settings
Submitter Matthew Jordan
Date May 11, 2016, 2:03 p.m.
Message ID <87wpn0ofn8.fsf@mailerver.i-did-not-set--mail-host-address--so-tickle-me>
Download mbox | patch
Permalink /patch/12203/
State New
Headers show

Comments

Matthew Jordan - May 11, 2016, 2:03 p.m.
Good Day everyone,

I'm relatively new to guix, spent the first couple
days getting used to running it in my VM.  Loving it so far.  Since I'm
not sure what to expect I decided to package a simple program that I
find quite handy. Let me know if I should change anything.

Also note that I followed "8.5 Submitting Patches" of the "GNU Guix
Reference Manual"
Sincerely,
Ludovic Courtès - May 11, 2016, 4:19 p.m.
Hello, and welcome!

Matthew Jordan <matthewjordan85@gmail.com> skribis:

> I'm relatively new to guix, spent the first couple
> days getting used to running it in my VM.  Loving it so far.  Since I'm
> not sure what to expect I decided to package a simple program that I
> find quite handy. Let me know if I should change anything.
>
> Also note that I followed "8.5 Submitting Patches" of the "GNU Guix
> Reference Manual"

Great!  There’s a couple of things that this section doesn’t clearly
mention, such as copyright notices—there’s room for improvement.  ;-)

> From 5b33ed530e472008bddf85a2f23b3fa9857b365e Mon Sep 17 00:00:00 2001
> From: Matthew Jordan <matthewjordandevops@yandex.com>
> Date: Wed, 11 May 2016 09:25:13 -0400
> Subject: [PATCH] Added package entr.

Pushed as 5d38aa0 with these minor changes:

  1. Added a copyright notice for you (let me know if you think it’s
     incorrect!).

  2. Added a ‘remove-fhs-file-names’ phase to remove hard-coded
     references to /bin/cat and /usr/bin/clear.

  3. Added the file to gnu/local.mk.

  4. Added a ChangeLog-style commit log.

Thank you!

Ludo’.
Matthew Jordan - May 11, 2016, 5:19 p.m.
Thank you for the welcome Ludovic Courtès. I just have a couple of
questions.

>   3. Added the file to gnu/local.mk.

Is this file to be updated when a new source file is added?

>   4. Added a ChangeLog-style commit log.

Is there a specific reference/manual on the "ChangeLog-style" I could review?

>   2. Added a ‘remove-fhs-file-names’ phase to remove hard-coded
>      references to /bin/cat and /usr/bin/clear.

And is ‘remove-fhs-file-names’ a custom phase? If not, which source file
contains the available phases?

Thank you in advance, and sorry for all the noob questions.

Ludovic Courtès writes:

> Hello, and welcome!
>
> Matthew Jordan <matthewjordan85@gmail.com> skribis:
>
>> I'm relatively new to guix, spent the first couple
>> days getting used to running it in my VM.  Loving it so far.  Since I'm
>> not sure what to expect I decided to package a simple program that I
>> find quite handy. Let me know if I should change anything.
>>
>> Also note that I followed "8.5 Submitting Patches" of the "GNU Guix
>> Reference Manual"
>
> Great!  There’s a couple of things that this section doesn’t clearly
> mention, such as copyright notices—there’s room for improvement.  ;-)
>
>> From 5b33ed530e472008bddf85a2f23b3fa9857b365e Mon Sep 17 00:00:00 2001
>> From: Matthew Jordan <matthewjordandevops@yandex.com>
>> Date: Wed, 11 May 2016 09:25:13 -0400
>> Subject: [PATCH] Added package entr.
>
> Pushed as 5d38aa0 with these minor changes:
>
>   1. Added a copyright notice for you (let me know if you think it’s
>      incorrect!).
>
>   2. Added a ‘remove-fhs-file-names’ phase to remove hard-coded
>      references to /bin/cat and /usr/bin/clear.
>
>   3. Added the file to gnu/local.mk.
>
>   4. Added a ChangeLog-style commit log.
>
> Thank you!
>
> Ludo’.

Sincerely,
Ludovic Courtès - May 15, 2016, 7:50 p.m.
Hello!

Matthew Jordan <matthewjordandevops@yandex.com> skribis:

> Thank you for the welcome Ludovic Courtès. I just have a couple of
> questions.
>
>>   3. Added the file to gnu/local.mk.
>
> Is this file to be updated when a new source file is added?

Yes.

>>   4. Added a ChangeLog-style commit log.
>
> Is there a specific reference/manual on the "ChangeLog-style" I could review?

The manual contains references to the GNU Coding Standards, which
explain it in more detail:

  https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html

Otherwise, it’s a good idea to look at the output of ‘git log’ and to
mimic what others do.  :-)

>>   2. Added a ‘remove-fhs-file-names’ phase to remove hard-coded
>>      references to /bin/cat and /usr/bin/clear.
>
> And is ‘remove-fhs-file-names’ a custom phase? If not, which source file
> contains the available phases?

No, it’s a phase I added specifically to this package.  See
gnu/packages/entr.scm.

HTH!

Ludo’.

Patch

From 5b33ed530e472008bddf85a2f23b3fa9857b365e Mon Sep 17 00:00:00 2001
From: Matthew Jordan <matthewjordandevops@yandex.com>
Date: Wed, 11 May 2016 09:25:13 -0400
Subject: [PATCH] Added package entr.

---
 gnu/packages/entr.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 gnu/packages/entr.scm

diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm
new file mode 100644
index 0000000..8cb1dca
--- /dev/null
+++ b/gnu/packages/entr.scm
@@ -0,0 +1,43 @@ 
+(define-module (gnu packages entr)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages less))
+
+(define-public entr
+  (package
+    (name "entr")
+    (version "3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://entrproject.org/code/entr-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "05k4jyjna0pr2dalwc1l1dhrcyk6pw7hbss7jl4ykwfadcs5br73"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+                     #:phases
+                     (modify-phases %standard-phases
+                       (replace 'configure
+                         (lambda* (#:key outputs #:allow-other-keys)
+                           (let ((out (assoc-ref outputs "out")))
+                             (setenv "CONFIG_SHELL" (which "bash"))
+                             (setenv "CC" (which "gcc"))
+                             (setenv "DESTDIR" (string-append out "/"))
+                             (setenv "PREFIX" "")
+                             (setenv "MANPREFIX" "man")
+                             (system* "./configure")))))))
+    (home-page "http://entrproject.org/")
+    (synopsis "Run arbitrary commands when files change")
+    (description
+     "entr is a zero-configuration tool with no external build or
+runtime dependencies.  The interface to entr is not only minimal, it
+aims to be simple enough to create a new category of ad hoc
+automation.  These micro-tests reduce keystrokes, but more importantly
+they emphasize the utility of automated checks.")
+    (license isc)))
-- 
2.7.4