emacsPackages: fix build for elpa packages

This commit is contained in:
Lin Jian
2024-09-23 15:26:52 +08:00
parent e48a0365d2
commit fc9502ff29
@@ -4,6 +4,14 @@ self: super:
let
libExt = pkgs.stdenv.hostPlatform.extensions.sharedLibrary;
inherit (import ./lib-override-helper.nix pkgs lib)
addPackageRequires
addPackageRequiresIfOlder
ignoreCompilationError
ignoreCompilationErrorIfOlder
mkHome
mkHomeIfOlder
;
in
{
cl-lib = null; # builtin
@@ -54,6 +62,64 @@ in
}
);
# native-compiler-error-empty-byte in old versions
ada-ref-man = ignoreCompilationErrorIfOlder super.ada-ref-man "2020.1.0.20201129.190419";
# elisp error in old versions
ampc = ignoreCompilationErrorIfOlder super.ampc "0.2.0.20240220.181558";
auctex = mkHome super.auctex;
auctex-cont-latexmk = mkHome super.auctex-cont-latexmk;
auctex-label-numbers = mkHome super.auctex-label-numbers;
# missing optional dependencies https://codeberg.org/rahguzar/consult-hoogle/issues/4
consult-hoogle = addPackageRequiresIfOlder super.consult-hoogle [ self.consult ] "0.2.2";
# missing optional dependencies https://github.com/jacksonrayhamilton/context-coloring/issues/10
context-coloring = addPackageRequires super.context-coloring [ self.js2-mode ];
cpio-mode = ignoreCompilationError super.cpio-mode; # elisp error
# fixed in https://git.savannah.gnu.org/cgit/emacs/elpa.git/commit/?h=externals/dbus-codegen&id=cfc46758c6252a602eea3dbc179f8094ea2a1a85
dbus-codegen = ignoreCompilationErrorIfOlder super.dbus-codegen "0.1.0.20201127.221326"; # elisp error
ebdb = super.ebdb.overrideAttrs (
finalAttrs: previousAttrs:
let
applyOrgRoamMissingPatch = lib.versionOlder finalAttrs.version "0.8.22.0.20240205.070828";
in
{
dontUnpack = !applyOrgRoamMissingPatch;
patches =
if applyOrgRoamMissingPatch then
previousAttrs.patches or [ ]
++ [
(pkgs.fetchpatch {
name = "fix-comilation-error-about-missing-org-roam.patch";
url = "https://github.com/girzel/ebdb/commit/058f30a996eb9074feac8f94db4eb49e85ae08f1.patch";
hash = "sha256-UI72N3lCgro6bG75sWnbw9truREToQHEzZ1TeQAIMjo=";
})
]
else
previousAttrs.patches or null;
preBuild =
if applyOrgRoamMissingPatch then
previousAttrs.preBuild or ""
+ "\n"
+ ''
pushd ..
local content_directory=$ename-$version
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
popd
''
else
previousAttrs.preBuild or null;
}
);
eglot = super.eglot.overrideAttrs (
finalAttrs: previousAttrs: {
postInstall =
@@ -99,6 +165,29 @@ in
};
});
notes-mode = (mkHome super.notes-mode).overrideAttrs (old: {
dontUnpack = false;
buildInputs = old.buildInputs or [ ] ++ [ pkgs.perl ];
nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.perl ];
preInstall =
old.preInstall or ""
+ "\n"
+ ''
patchShebangs --build mkconfig
pushd ..
local content_directory=$ename-$version
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
popd
'';
postFixup =
old.postFixup or ""
+ "\n"
+ ''
patchShebangs --host --update $out/share/emacs/site-lisp/elpa/$ename-$version/mkconfig
'';
});
plz = super.plz.overrideAttrs (old: {
dontUnpack = false;
postPatch =
@@ -117,10 +206,22 @@ in
'';
});
# https://sourceware.org/bugzilla/show_bug.cgi?id=32185
poke = addPackageRequires super.poke [ self.poke-mode ];
pq = super.pq.overrideAttrs (old: {
buildInputs = old.buildInputs or [ ] ++ [ pkgs.postgresql ];
});
preview-auto = mkHome super.preview-auto;
preview-tailor = mkHome super.preview-tailor;
# native-ice https://github.com/mattiase/relint/issues/15
relint = ignoreCompilationError super.relint;
shen-mode = ignoreCompilationErrorIfOlder super.shen-mode "0.1.0.20221221.82050"; # elisp error
# native compilation for tests/seq-tests.el never ends
# delete tests/seq-tests.el to workaround this
seq = super.seq.overrideAttrs (old: {
@@ -136,6 +237,26 @@ in
'';
});
# https://github.com/alphapapa/taxy.el/issues/3
taxy = super.taxy.overrideAttrs (old: {
dontUnpack = false;
postUnpack =
old.postUnpack or ""
+ "\n"
+ ''
local content_directory=$ename-$version
rm --verbose --recursive $content_directory/examples
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
'';
});
tex-parens = mkHomeIfOlder super.tex-parens "0.4.0.20240630.70456";
timerfunctions = ignoreCompilationErrorIfOlder super.timerfunctions "1.4.2.0.20201129.225252";
wisitoken-grammar-mode = ignoreCompilationError super.wisitoken-grammar-mode; # elisp error
xeft = super.xeft.overrideAttrs (old: {
dontUnpack = false;
buildInputs = old.buildInputs or [ ] ++ [ pkgs.xapian ];
@@ -153,4 +274,7 @@ in
rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile
'';
});
# native-ice https://github.com/mattiase/xr/issues/9
xr = ignoreCompilationError super.xr;
}