0

Looking at the package installed under elpa directory I see that it have been byte compiled and the structure is different from the source.

Consider the following example https://github.com/hlissner/emacs-doom-themes:

$ ls -1a
.git
.gitignore
.travis.yml
Cask
LICENSE
Makefile
README.md
doom-themes-base.el
doom-themes-ext-neotree.el
doom-themes-ext-org.el
doom-themes-ext-treemacs.el
doom-themes-ext-visual-bell.el
doom-themes.el
test
themes

When downloading the package from elpa I see a different file tree, with all the files at the root dir:

$ ls -1a
doom-Iosvkem-theme.el
doom-challenger-deep-theme.el
doom-city-lights-theme.el
doom-dracula-theme.el
doom-fairy-floss-theme.el
doom-gruvbox-theme.el
doom-molokai-theme.el
doom-moonlight-theme.el
doom-nord-light-theme.el
doom-nord-theme.el
doom-nova-theme.el
doom-one-light-theme.el
doom-one-theme.el
doom-opera-light-theme.el
doom-opera-theme.el
doom-outrun-electric-theme.el
doom-palenight-theme.el
doom-peacock-theme.el
doom-snazzy-theme.el
doom-solarized-dark-theme.el
doom-solarized-light-theme.el
doom-sourcerer-theme.el
doom-spacegrey-theme.el
doom-themes-base.el
doom-themes-ext-neotree.el
doom-themes-ext-org.el
doom-themes-ext-treemacs.el
doom-themes-ext-visual-bell.el
doom-themes-pkg.el
doom-themes.el
doom-tomorrow-day-theme.el
doom-tomorrow-night-theme.el
doom-vibrant-theme.el
doom-wilmersdorf-theme.el

I've tried to run make and cask on the source project but I couldn't achieve the same result.

  • Looks like the elpa dir consists of project root and directory themes copied into one directory. I'm not sure which of both directories do you whish to compile. If you just whish to convert *.el to *.elc then there are a bunch of byte-(re)compile commands in emacs. If you want to build the project as intended by the developer, then this varies with every single project, reading makefiles an similiar will help. – jue Oct 2 at 9:39
  • I don't think themes are even supposed to be byte-compiled. Try taking a look at the Makefile and cask build files to figure out what's going on. With packages that are supposed to be byte compiled, you can simply compile all of the files, by using byte-compile-file. Dired provides a way to byte-compile as well, bound to L by default. – DoMiNeLa10 Oct 2 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.