diff --git a/pkgs/by-name/re/re-isearch/0001-fix-JsonHitTable-undefined-reference.patch b/pkgs/by-name/re/re-isearch/0001-fix-JsonHitTable-undefined-reference.patch
new file mode 100644
index 000000000000..30b8696b70d8
--- /dev/null
+++ b/pkgs/by-name/re/re-isearch/0001-fix-JsonHitTable-undefined-reference.patch
@@ -0,0 +1,50 @@
+# fixes "undefined reference to `IDB::JsonHitTable(RESULT const&)" build failure
+
+---
+ src/idb.cxx | 26 --------------------------
+ 1 file changed, 26 deletions(-)
+
+diff --git a/src/idb.cxx b/src/idb.cxx
+index 2469c06..753a9fb 100644
+--- a/src/idb.cxx
++++ b/src/idb.cxx
+@@ -5486,37 +5486,11 @@ STRING IDB::XMLHitTable(const RESULT& Result)
+ }
+ #endif
+
+-#if 0
+ STRING IDB::JsonHitTable(const RESULT& Result)
+ {
+-#if 1
+ message_log (LOG_FATAL, "JsonHitTable is not yet implemented");
+ return NulString;
+-#else
+-/*
+-
+- Shopping
+-
+-
+-is JSON
+-
+-{
+- "folders": {
+- "folder":{
+- "@": {
+- "id": "123",
+- "private": "0",
+- "archived": "0",
+- "order": "1"
+- },
+- "#": "Shopping"
+- }
+- }
+-}
+-*/
+ }
+-#endif
+-#endif
+
+
+ PIRSET IDB::SearchSmart(QUERY *Query, const STRING& DefaultField)
+--
+2.47.2
diff --git a/pkgs/by-name/re/re-isearch/package.nix b/pkgs/by-name/re/re-isearch/package.nix
index b026835b89cb..c6ba1b38f0c0 100644
--- a/pkgs/by-name/re/re-isearch/package.nix
+++ b/pkgs/by-name/re/re-isearch/package.nix
@@ -5,24 +5,30 @@
db,
file,
libnsl,
+ writableTmpDirAsHomeHook,
}:
-stdenv.mkDerivation {
+stdenv.mkDerivation (finalAttr: {
pname = "re-Isearch";
- version = "unstable-2022-03-24";
+ version = "2.20220925.4.0a-unstable-2025-03-16";
src = fetchFromGitHub {
owner = "re-Isearch";
repo = "re-Isearch";
- rev = "e5953ea6c84285283be3689df7065908369cdbaf";
- sha256 = "sha256-D0PDqlWzIOHqdS2MlNzR2T5cyhiLcFlf30v6eFokoRQ=";
+ rev = "56e0dfbe7468881b3958ca8e630f41a5354e9873";
+ sha256 = "sha256-tI75D02/sFEkHDQX/BpDlu24WNP6Qh9G0MIfEvs8npM=";
};
+ # Upstream issue: https://github.com/re-Isearch/re-Isearch/issues/11
+ patches = [ ./0001-fix-JsonHitTable-undefined-reference.patch ];
+
postPatch = ''
# Fix gcc-13 build due to missing include.
sed -e '1i #include ' -i src/mmap.cxx
'';
+ nativeBuildInputs = [ writableTmpDirAsHomeHook ];
+
buildinputs = [
db
file # libmagic
@@ -33,11 +39,11 @@ stdenv.mkDerivation {
"CC=g++"
"cc=gcc"
"LD=g++"
- "INSTALL=${placeholder "out"}/bin"
];
preBuild = ''
cd build
+ make clean # clean up pre-built objects in the source
makeFlagsArray+=(
EXTRA_INC="-I${db.dev}/include -I${lib.getDev file}/include"
LD_PATH="-L../lib -L${db.out}/lib -L${file}/lib -L${libnsl}/lib"
@@ -47,14 +53,23 @@ stdenv.mkDerivation {
preInstall = ''
mkdir -p $out/{bin,lib}
'';
- postInstall = ''
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/{bin,lib}
+
+ cp ../bin/{Iindex,Isearch,Iutil,Idelete,zpresent,Iwatch,zipper} $out/bin
cp ../lib/*.so $out/lib/
+
+ runHook postInstall
'';
- meta = with lib; {
+ meta = {
description = "Novel multimodal search and retrieval engine";
- homepage = "https://github.com/re-Isearch/";
- license = licenses.asl20;
- maintainers = [ maintainers.astro ];
+ homepage = "https://nlnet.nl/project/Re-iSearch/";
+ license = lib.licenses.asl20;
+ platforms = [ "x86_64-linux" ];
+ maintainers = [ lib.maintainers.astro ] ++ lib.teams.ngi.members;
};
-}
+})