recoll: fix no/bad configuration error on darwin

Prior to this fix, running recoll fails with the following error:

No/bad main configuration file in /nix/store/.../Resources/examples.

The path is incorrect and RECOLL_DATADIR should be used.
This commit is contained in:
Jiajie Chen 2022-08-13 10:15:13 +08:00
parent 498ebaf86d
commit 4ed7e2a866
2 changed files with 20 additions and 0 deletions

View File

@ -46,6 +46,13 @@ mkDerivation rec {
++ lib.optionals (!withGui) [ "--disable-qtgui" "--disable-x11mon" ]
++ (if stdenv.isLinux then [ "--with-inotify" ] else [ "--without-inotify" ]);
NIX_CFLAGS_COMPILE = [ "-DNIXPKGS" ];
patches = [
# fix "No/bad main configuration file" error
./fix-datadir.patch
];
nativeBuildInputs = [
file pkg-config python3Packages.setuptools which
];

View File

@ -0,0 +1,13 @@
diff --git a/utils/rclutil.cpp b/utils/rclutil.cpp
index 60ff5fb..4a59ccc 100644
--- a/utils/rclutil.cpp
+++ b/utils/rclutil.cpp
@@ -279,7 +279,7 @@ const string& path_pkgdatadir()
"a subfolder of the installation directory. \n"
"Please set the RECOLL_DATADIR environment variable to point to it\n"
"(e.g. setx RECOLL_DATADIR \"C:/Program Files (X86)/Recoll/Share)\"\n";
-#elif defined(__APPLE__) && !defined(MACPORTS) && !defined(HOMEBREW)
+#elif defined(__APPLE__) && !defined(MACPORTS) && !defined(HOMEBREW) && !defined(NIXPKGS)
uint32_t size = 0;
_NSGetExecutablePath(nullptr, &size);
char *path= (char*)malloc(size+1);