about summary refs log tree commit diff
path: root/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
diff options
context:
space:
mode:
authorAnthony Cowley <acowley@gmail.com>2023-08-19 12:34:14 -0400
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-08-24 03:26:59 +0000
commit9b3fefd37d264c7a6f560a5d932aa267c1c11b71 (patch)
tree9e3c54520fd518d83ea521470a5615dbe8607459 /pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
parent6dd389dd9f3ced16f8a436a10445297540dfca8b (diff)
elpa-devel-packages: build xeft dynamic module
Build the native dynamic module required by the xeft package for Emacs.
Diffstat (limited to 'pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix')
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
index 18e685cc8467c..82f1c6bfaaae8 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
@@ -63,6 +63,22 @@ self: let
           popd
         '';
       });
+
+      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
+        '';
+      });
     };
 
     elpaDevelPackages = super // overrides;