about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix')
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix b/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
index 18e685cc8467..82f1c6bfaaae 100644
--- a/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-devel-packages.nix
+++ b/nixpkgs/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;