[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Need help converting ess package to melpa-ess



Dirk Eddelbuettel <edd@debian.org> writes:

> Hi David,
>
>
> Ok. I added a little more polish and we now have package elpa-ess and ess
> (for the transition).  Both are lintian clean and here:
>
>    http://dirk.eddelbuettel.com/tmp/elpa-ess_17.11-4_all.deb
>    http://dirk.eddelbuettel.com/tmp/ess_17.11-4_all.deb
>
> However, the elpa-ess package does not install.
>
> Do I need to convert to dh-elpa to the helper scripts invoked?  Log below.

Ah, sorry I missed this problem before, I thought the doc thing was the
reason it was failing and glazed over from all of the warnings.

As far as I understand, the problem is that ess-autoloads.el file is
normally autogenerated and sets the correct load path, but my patch (and
I guess your package) includes the upstream file with that same name.

A quick and dirty fix to the load path problem would be

diff --git a/ess-autoloads.el b/ess-autoloads.el
index f5493d0..4208262 100644
--- a/ess-autoloads.el
+++ b/ess-autoloads.el
@@ -41,12 +41,7 @@
 ;;;=====================================================
 ;;;
 
-(when (boundp 'load-path)
-  (add-to-list 'load-path
-               (file-name-as-directory
-                (expand-file-name
-                 "lisp"
-                 (file-name-directory load-file-name)))))
+(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))


It would be somewhat nicer to use the following debian/elpa (i.e. drop ess-autoloads.el)

lisp/*.el
debian/debian-autoloads.el

where debian/debian-autoloads.el is as attached.

Basically the ;;;###autoload tells emacs to include the next form in the
generated autoloads file.

There are two remaining issues, which seem more specific to ess.

,----
| In toplevel form:
| ess-bugs-d.el:26:1:Error: Symbol’s value as variable is void: ess-microsoft-p
`----

I don't know how this works normally, but I found that adding "(require
'ess-custom)" to the top of ess-bugs-d.el fixed it.


The following looks like the change in installed package layout breaks
some assumption in ess.

,----
| In ess-message:
| ess-comp.el:44:7:Warning: reference to free variable ‘ess-show-load-messages’
| ERROR:ess-etc-directory
| Relative to ess-lisp-directory, one of the following must exist:
| ../etc/ess, ../etc, ../../etc/ess or ./etc
`----

That seems fixed by adding "etc" to debian/elpa; you'd presumable not
want to install it manually in d/rules as well.

Attachment: debian-autoloads.el
Description: application/emacs-lisp


Reply to: