Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EDTS in elisp package repository? #106

Closed
qrilka opened this issue Feb 22, 2014 · 14 comments
Closed

EDTS in elisp package repository? #106

qrilka opened this issue Feb 22, 2014 · 14 comments

Comments

@qrilka
Copy link
Contributor

qrilka commented Feb 22, 2014

I'd be convenient to have a possibility to install EDTS from any emacs lisp packages repository (elpa/melpa/marmalade)
I don't know much about the process of adding a new package though.
And distel is supposed to go this way - massemanet/distel#21

@josephDunne
Copy link
Contributor

Please see #52

"EDTS has non-elisp (specifically Erlang) dependencies, that are not available to install from package.el
EDTS requires compilation of its Erlang modules as part of the install procedure which can't be done in package.el"

@qrilka
Copy link
Contributor Author

qrilka commented Feb 22, 2014

As I understand disterl also needs to have beam available and they are planning to solve it somehow

@josephDunne
Copy link
Contributor

That ticket has been open for 10 months now so I wouldn't hold your breath. The only mechanism I can think of is to distribute the .erl files and compile them when edts is first initiated. @tjarvstrand what do you think? If we explained that the initial startup would hang Emacs while it compile it might work.

@tjarvstrand
Copy link
Collaborator

Yeah, AFAIK there's no way to compile the Erlang binaries at install time using package.el. There's also no way to depend on non-elisp packages (such as Erlang).

@proofit404
Copy link

@tjarvstrand We can do this with little helper function like edts-install. I add something similar to my 'company-jedi' package for python dependencies resolution.

Or even this:

(eval-when-compile
  (let ((default-directory (file-name-directory load-file-name)))
     (compile "make")))

@proofit404
Copy link

Also I think moving project to Cask instead of git submodules will help with this direction.

@tjarvstrand
Copy link
Collaborator

Yeah, that looks like it could be get us part of the way. Unfortunately it will fail if erlang, make, or git is not installed on the machine.

Moving to Cask may work for the elisp dependencies but there are a number of erlang ones that will still have to be fetched using git in some way.

@proofit404
Copy link

Fail without git, make or Erlang is normal I think. But having emacs dependencies managed in emacs way is really necessary because user can install or update edts in the same way as any other emacs package.

@syl20bnr
Copy link

syl20bnr commented Mar 4, 2014

Unfortunately it will fail if erlang, make, or git is not installed on the machine.

Seems fine to me as long as it is documented,

@tjarvstrand
Copy link
Collaborator

Looking into it

@goofansu
Copy link

You can use el-get to install edts. I just send a PR to it.

It just git cloned edts into ~/.emacs.d/el-get/edts and invoke make.

Here is my usage: https://github.com/goofansu/prelude/blob/master/personal/preload/init-el-get.el

@tjarvstrand
Copy link
Collaborator

EDTS should now be more or less ready for installation using package.el. You can follow the progress in melpa/melpa#1651

@proofit404
Copy link

Nice work!

@syl20bnr
Copy link

syl20bnr commented Jun 4, 2014

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants