-
-
Notifications
You must be signed in to change notification settings - Fork 27
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
[Support]: Installing local package #22
Comments
I've always found it hard to keep track of To work with a local git repository, you should now be able to specify a file path via the ;;assuming a git repository exists on disk at /tmp/example/
(elpaca (example :repo "/tmp/example/")) I haven't really advertised the ;;assuming a git repository exists on disk at /tmp/example/
(elpaca (example :repo "/tmp/example/" :local-repo "renamed")) ;;clones /tmp/example/ to $REPOS/renamed I may swap that out for another keyword or allow the In any case, testing is appreciated. You should be able to update elpaca via the |
Thanks, it works but not quite. It only works when you specify an absolute path, e.g. |
Sorry about that. The subprocess calls git directly, sans shell. I've pushed a fix which should properly expand the file path now.
Can you give me some example use cases for this? |
Thank you, everything is fine now.
I'd like to separate some configurations from (straight-use-package `(suconakh :local-repo ,(locate-user-emacs-file "suconakh/"))) With the following file structure
|
Elpaca is designed to work with elisp packages and assumes they are stored in a git repostiory. That said, what your after could be possible in the future. (defun my-symlink-repo-dir (e)
"Symlink E's repo dir."
(make-symbolic-link (plist-get (elpaca<-recipe e) :repo)
(elpaca<-repo-dir e)
'ok-if-exists)
(elpaca--continue-build e)) Then that step could be used in the recipe's :build declaration in place of those steps. e.g. (elpaca `(suconakh
:repo ,(expand-file-name "suconakh/" user-emacs-directory)
:build (my-symlink-repo-dir ;; replaces repo clone steps
elpaca--run-pre-build-commands
elpaca--link-build-files
elpaca--generate-autoloads-async
elpaca--byte-compile
elpaca--activate-package))) This would break the (elpaca `(suconakh :repo ,(expand-file-name "suconakh/" user-emacs-directory))) Or, alternatively, if (elpaca `(suconakh :repo ,user-emacs-directory :files ("suconakh/*"))) |
Thanks, this is very elegant and flexible and just what I needed! Is this the correct way to tell elpaca to rebuild this package on every init? (add-hook 'elpaca-after-init-hook (lambda () (elpaca-rebuild 'suconakh t))) |
We discussed this in Matrix recently and after spending some time experimenting with this problem and diving into the Elpaca docs, I figured this is exactly what I was looking for. While the I think it would be nice to have a keyword argument for this, like |
Emacs Version
GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
Operating System
Linux
question
With straight i can install a local package in my user-emacsdirectory using the
:local-repo
keyword and straight will compile and do autoloads for me. Is it possible to do this with elpaca?Relevant information
No response
Confirmation
The text was updated successfully, but these errors were encountered: