From f1ea0704f4d2003c6f6c27825ee6b98d5ca6dbeb Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Thu, 18 Jul 2024 08:46:57 +0800 Subject: [PATCH] emacsPackages.notdeft: improve build process of notdeft-xapian Before, the upstream Makefile[1] is used, which does not work well with nix: - Hardening flags of nix are ignored. - One binary of buildInput xapian is run at build time. [1]: https://github.com/hasu/notdeft/blob/1b7054dcfc3547a7cafeb621552cec01d0540478/xapian/Makefile#L10 --- .../manual-packages/notdeft/default.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix index 62b6a696a384..6c6bc776c122 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix @@ -30,14 +30,23 @@ let pname = "notdeft-xapian"; inherit version src; - sourceRoot = "${src.name}/xapian"; + strictDeps = true; - nativeBuildInputs = [ - pkg-config + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ tclap xapian ]; + buildPhase = '' + runHook preBuild + + $CXX -std=c++11 -o notdeft-xapian xapian/notdeft-xapian.cc -lxapian + + runHook postBuild + ''; + installPhase = '' runHook preInstall @@ -66,6 +75,10 @@ melpaBuild { ${lib.optionalString withIvy ''"extras/notdeft-ivy.el"''}) ''; + passthru = { + inherit notdeft-xapian; + }; + meta = { homepage = "https://tero.hasu.is/notdeft/"; description = "Fork of Deft that uses Xapian as a search engine";