Subject: Re: [bug#28365] [PATCH] gnu: emacs-ess: Include the etc directory in the build

From: Roel Janssen <[email-masked]>
Date: Thu, 07 Sep 2017 10:05:31 +0200

Kyle Meyer writes:

> Roel Janssen <[email-masked]> writes:
>
>> When loading ESS "the standard way":
>>   (require 'ess-site)
>>
>> it fails to load because it cannot find the "etc" directory that should
>> ship with this package.
>
> Thanks, I hit this too.  Here's a fix that I have locally but hadn't
> sent yet.
>
> -- >8 --
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 9c0f9bc89..a47e90a40 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -3206,7 +3206,14 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
>                                    version ".tgz"))
>                (sha256
>                 (base32
> -                "0w7mbbajn377gdmvnd21mpyr368b2ia46gq6cb99y4y5rspf9pcg"))))
> +                "0w7mbbajn377gdmvnd21mpyr368b2ia46gq6cb99y4y5rspf9pcg"))
> +              (modules '((guix build utils)))
> +              (snippet
> +               ;; Add an entry to ess-etc-directory-list that is relative to
> +               ;; guix.d/.
> +               '(substitute* "lisp/ess-site.el"
> +                  (("^  '\\(\"\\.\\./etc/ess/\"" line)
> +                   (string-append line " \"../../../etc/ess/\""))))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:tests? #f ; There is no test suite.
> -- >8 --
>
> That teaches ess-etc-directory-list about $PROFILE/share/emacs/etc/.  I
> prefer your solution because I think it's less fragile.
>
> I just have a minor comment on the patch description.
>
>> Subject: [PATCH] gnu: emacs-ess: Include the etc directory in the build
>>  output.
>>
>> * gnu/packages/emacs.scm (emacs-ess):  Also copy the etc directory.
>
> That doesn't seem quite right because the etc directory is already
> included in the build; it's under $PROFILE/share/emacs/etc/.  Perhaps
> this should instead say something like "Relocate the etc directory so
> that ESS can find it."

You're right.  I didn't know that the directory was at
$PROFILE/share/emacs/etc/.

So I adjusted the commit message and pushed in
eaff063aa0f478f23b78c5db8ba0d465b3f691cd.

Thanks!

Kind regards,
Roel Janssen