about summary refs log tree commit diff
path: root/pkgs/applications/editors/emacs/elisp-packages
diff options
context:
space:
mode:
authorAnthony Cowley <acowley@gmail.com>2023-08-17 11:27:02 -0400
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-08-24 03:26:59 +0000
commit6dd389dd9f3ced16f8a436a10445297540dfca8b (patch)
treefab65b373f08f99be9ffc93abb42e694834e200d /pkgs/applications/editors/emacs/elisp-packages
parentdaf9fbc9441cdecd0c3e0b48ef87faca68adef1d (diff)
downloadnixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.tar
nixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.tar.gz
nixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.tar.bz2
nixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.tar.lz
nixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.tar.xz
nixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.tar.zst
nixlib-6dd389dd9f3ced16f8a436a10445297540dfca8b.zip
elpa-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')
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix17
1 files changed, 17 insertions, 0 deletions
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;