From 6dd389dd9f3ced16f8a436a10445297540dfca8b Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Thu, 17 Aug 2023 11:27:02 -0400 Subject: [PATCH] elpa-packages: build xeft dynamic module Build the native dynamic module required by the xeft package for Emacs. --- .../emacs/elisp-packages/elpa-packages.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix index e792a758373b..2808ec7fcc0f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix @@ -158,6 +158,23 @@ self: let } ); + xeft = super.xeft.overrideAttrs (old: let + libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary; + in { + dontUnpack = false; + + buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.xapian ]; + buildPhase = (old.buildPhase or "") + '' + $CXX -shared -o xapian-lite${libExt} xapian-lite.cc $NIX_CFLAGS_COMPILE -lxapian + ''; + postInstall = (old.postInstall or "") + "\n" + '' + outd=$out/share/emacs/site-lisp/elpa/xeft-* + install -m444 -t $outd xapian-lite${libExt} + rm $outd/xapian-lite.cc $outd/emacs-module.h $outd/emacs-module-prelude.h $outd/demo.gif $outd/Makefile + ''; + }); + + }; elpaPackages = super // overrides;