From 4ed7e2a8669dda9cf6abac113264b563657c1949 Mon Sep 17 00:00:00 2001 From: Jiajie Chen Date: Sat, 13 Aug 2022 10:15:13 +0800 Subject: [PATCH] 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. --- pkgs/applications/search/recoll/default.nix | 7 +++++++ pkgs/applications/search/recoll/fix-datadir.patch | 13 +++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/applications/search/recoll/fix-datadir.patch diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index 8d33a910546c..4117c8ac78a9 100644 --- a/pkgs/applications/search/recoll/default.nix +++ b/pkgs/applications/search/recoll/default.nix @@ -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 ]; diff --git a/pkgs/applications/search/recoll/fix-datadir.patch b/pkgs/applications/search/recoll/fix-datadir.patch new file mode 100644 index 000000000000..3b316f4d90c6 --- /dev/null +++ b/pkgs/applications/search/recoll/fix-datadir.patch @@ -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);