Fix phpactor leaking /build/ into init.elc

Fixes doom-full build.
This commit is contained in:
Marien Zwart 2024-04-07 18:56:32 +10:00
parent f7591a18bc
commit 367bce4bd1
No known key found for this signature in database
3 changed files with 36 additions and 17 deletions

View file

@ -94,23 +94,7 @@ I am open to suggestions for how this should work:
- If we try to use home-manager, I would expect to hit the same problems - If we try to use home-manager, I would expect to hit the same problems
and/or collisions on activation, but I have not experimented with this. and/or collisions on activation, but I have not experimented with this.
### `php` module without `+lsp` breaks the build ### Flag-controlled packages may be broken
Enabling the `php` module without enabling the `+lsp` flag currently breaks the
build with:
```
> Doom profile contains a forbidden reference to /build/
```
This is triggered by
[emacs-php](https://github.com/emacs-php/phpactor.el/blob/8733fef84b458457c1bfd188cfb861fc3150ee1c/phpactor.el#L71-L72)
determining the location of the user's Emacs directory at byte-compile time. I
do not know why it does this yet (it seems undesirable).
Upstream recommends migrating to LSP.
### Other flag-controlled packages may be broken
Doom supports listing all packages (including ones pulled in by modules that are Doom supports listing all packages (including ones pulled in by modules that are
not currently enabled). Unstraightened uses this to build-test them. However, not currently enabled). Unstraightened uses this to build-test them. However,

View file

@ -145,6 +145,12 @@
done done
''; '';
}; };
# Fix /build/ leaking into byte-compiled files (patch accepted upstream).
phpactor = esuper.phpactor.overrideAttrs (attrs: {
patches = (attrs.patches or [ ]) ++ [
./elisp-patches/0001-Do-not-call-locate-user-emacs-file-when-compiling.patch
];
});
# Make it byte-compile properly. # Make it byte-compile properly.
code-review = esuper.code-review.overrideAttrs (attrs: { code-review = esuper.code-review.overrideAttrs (attrs: {
nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ git ]; nativeBuildInputs = (attrs.nativeBuildInputs or [ ]) ++ [ git ];

View file

@ -0,0 +1,29 @@
From 9d0a3eb98982c38bfe1e1872498538b103ad06cd Mon Sep 17 00:00:00 2001
From: Marien Zwart <marienz@google.com>
Date: Sun, 7 Apr 2024 17:46:36 +1000
Subject: [PATCH] Do not call locate-user-emacs-file when compiling
The default value of phpactor-install-directory is relative to the
user's user-emacs-directory. Using eval-when-compile here hardcodes the
wrong directory if a separate build user is used.
---
phpactor.el | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/phpactor.el b/phpactor.el
index 7e7c036..96de425 100644
--- a/phpactor.el
+++ b/phpactor.el
@@ -68,8 +68,7 @@
;;;###autoload
(defcustom phpactor-install-directory
- (eval-when-compile
- (expand-file-name (locate-user-emacs-file "phpactor/")))
+ (expand-file-name (locate-user-emacs-file "phpactor/"))
"Directory for setup Phactor. (default `~/.emacs.d/phpactor/')."
:type 'directory)
--
2.42.0