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.