Subject: [bug#30433] [PATCH] gnu: Add epipe.

From: Oleg Pykhalov <[email-masked]>
Date: Wed, 14 Feb 2018 16:14:15 +0300

Leo Famulari <[email-masked]> writes:

> On Mon, Feb 12, 2018 at 10:48:51AM +0300, Oleg Pykhalov wrote:
>> * gnu/packages/emacs.scm (epipe): New public variable.
>
> Thanks!

Thank you for review.

>> +(define-public epipe
>> +  (let ((commit "c966d549d5416fb92ecf4bd4a0a5a8fc9239e3af")
>> +        (revision "1"))
>> +    (package
>> +      (name "epipe")
>> +      (version (string-append "0.0.1" "-" revision "."
>> +                              (string-take commit 7)))
>
> This commit corresponds to the upstream tag "0.1.0", so you can omit the
> commit and revision variables, and just set the version to "0.1.0"...

Maybe it's better to get a source via url-fetch from GitHub archive
tarball?

>> +      (source (origin
>> +                (method git-fetch)
>> +                (uri (git-reference
>> +                      (url "https://github.com/cute-jumper/epipe")
>> +                      (commit commit)))
>
> ... and here use (commit version).

OK.

>> +      (arguments
>> +       '(#:modules ((guix build utils))
>> +         #:builder
>> +         (begin
>> +           (use-modules (guix build utils))
>> +           ;; Copy source
>> +           (copy-recursively (assoc-ref %build-inputs "source") ".")
>> +           ;; Patch shebangs
>> +           (substitute* "epipe"
>> +             (("/usr/bin/env bash")
>> +              (string-append (assoc-ref %build-inputs "bash") "/bin/bash")))
>> +           (substitute* "epipe.pl"
>> +             (("/usr/bin/perl")
>> +              (string-append (assoc-ref %build-inputs "perl") "/bin/perl")))
>> +           ;; Installation
>> +           (for-each (lambda (file)
>> +                       (install-file file (string-append %output "/bin")))
>> +                     '("epipe" "epipe.pl"))
>> +           #t)))
>
> I think you could use the patch-shebang procedure from (guix build
> utils), as in the package for woof.

As I see only for Perl, because folling does nothing:
--8<---------------cut here---------------start------------->8---
(patch-shebang "epipe"
  (list (string-append (assoc-ref %build-inputs "bash")
                       "/bin")))
--8<---------------cut here---------------end--------------->8---

Oleg.