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

From: Leo Famulari <[email-masked]>
Date: Mon, 12 Feb 2018 14:38:48 -0500

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

Thanks!

> +(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"...

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

... and here use (commit version).

> +      (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.