summary refs log tree commit diff
path: root/pkgs/applications/search
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2018-02-25 23:06:50 -0800
committerJohn Wiegley <johnw@newartisans.com>2018-02-28 14:02:59 -0800
commitbddc23b13461f2d953309144af73a357fe5ffa92 (patch)
tree2c582279100aa86d340ef935b64abf51218d662b /pkgs/applications/search
parent47ce3021a94ceb8ac7c4f2a8d3a8e7808c7e1bab (diff)
recoll: Allow building a non-X/inotify version on Darwin
Diffstat (limited to 'pkgs/applications/search')
-rw-r--r--pkgs/applications/search/recoll/default.nix51
1 files changed, 29 insertions, 22 deletions
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index ada68e47aa042..da6ccf940c7a0 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -15,37 +15,44 @@ stdenv.mkDerivation rec {
     sha256 = "186bj8zx2xw9hwrzvzxdgdin9nj7msiqh5j57w5g7j4abdlsisjn";
   };
 
-  configureFlags = [ "--with-inotify" ];
+  configureFlags = [ "--enable-recollq" ] ++
+    (if stdenv.isLinux then [ "--with-inotify" ] else [ "--without-inotify" ]);
 
-  buildInputs = [ qt4 xapian file python bison];
+  buildInputs = [ qt4 xapian file python bison ];
+
+  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's/-Wl,--no-undefined -Wl,--warn-unresolved-symbols//' Makefile.am
+    sed -i 's/-Wl,--no-undefined -Wl,--warn-unresolved-symbols//' Makefile.in
+  '';
 
   # the filters search through ${PATH} using a sh proc 'checkcmds' for the
   # filtering utils. Short circuit this by replacing the filtering command with
   # the absolute path to the filtering command. 
   postInstall = ''
     for f in $out/share/recoll/filters/* ; do
-      substituteInPlace  $f --replace antiword      ${lib.getBin antiword}/bin/antiword
-      substituteInPlace  $f --replace awk           ${lib.getBin gawk}/bin/awk
-      substituteInPlace  $f --replace catppt        ${lib.getBin catdoc}/bin/catppt
-      substituteInPlace  $f --replace djvused       ${lib.getBin djvulibre}/bin/djvused
-      substituteInPlace  $f --replace djvutxt       ${lib.getBin djvulibre}/bin/djvutxt
-      substituteInPlace  $f --replace egrep         ${lib.getBin gnugrep}/bin/egrep
-      substituteInPlace  $f --replace groff         ${lib.getBin groff}/bin/groff
-      substituteInPlace  $f --replace gunzip        ${lib.getBin gzip}/bin/gunzip
-      substituteInPlace  $f --replace iconv         ${lib.getBin libiconv}/bin/iconv
-      substituteInPlace  $f --replace lyx           ${lib.getBin lyx}/bin/lyx
-      substituteInPlace  $f --replace pdftotext     ${lib.getBin poppler_utils}/bin/pdftotext
-      substituteInPlace  $f --replace pstotext      ${lib.getBin ghostscript}/bin/ps2ascii
-      substituteInPlace  $f --replace sed           ${lib.getBin gnused}/bin/sed
-      substituteInPlace  $f --replace tar           ${lib.getBin gnutar}/bin/tar
-      substituteInPlace  $f --replace unzip         ${lib.getBin unzip}/bin/unzip
-      substituteInPlace  $f --replace xls2csv       ${lib.getBin catdoc}/bin/xls2csv
-      substituteInPlace  $f --replace xsltproc      ${lib.getBin libxslt}/bin/xsltproc
-      substituteInPlace  $f --replace unrtf         ${lib.getBin unrtf}/bin/unrtf
-      substituteInPlace  $f --replace untex         ${lib.getBin untex}/bin/untex
-      substituteInPlace  $f --replace wpd2html      ${lib.getBin libwpd}/bin/wpd2html
+      substituteInPlace  $f --replace '"antiword"'      '"${lib.getBin antiword}/bin/antiword"'
+      substituteInPlace  $f --replace '"awk"'           '"${lib.getBin gawk}/bin/awk"'
+      substituteInPlace  $f --replace '"catppt"'        '"${lib.getBin catdoc}/bin/catppt"'
+      substituteInPlace  $f --replace '"djvused"'       '"${lib.getBin djvulibre}/bin/djvused"'
+      substituteInPlace  $f --replace '"djvutxt"'       '"${lib.getBin djvulibre}/bin/djvutxt"'
+      substituteInPlace  $f --replace '"egrep"'         '"${lib.getBin gnugrep}/bin/egrep"'
+      substituteInPlace  $f --replace '"groff"'         '"${lib.getBin groff}/bin/groff"'
+      substituteInPlace  $f --replace '"gunzip"'        '"${lib.getBin gzip}/bin/gunzip"'
+      substituteInPlace  $f --replace '"iconv"'         '"${lib.getBin libiconv}/bin/iconv"'
+      substituteInPlace  $f --replace '"pdftotext"'     '"${lib.getBin poppler_utils}/bin/pdftotext"'
+      substituteInPlace  $f --replace '"pstotext"'      '"${lib.getBin ghostscript}/bin/ps2ascii"'
+      substituteInPlace  $f --replace '"sed"'           '"${lib.getBin gnused}/bin/sed"'
+      substituteInPlace  $f --replace '"tar"'           '"${lib.getBin gnutar}/bin/tar"'
+      substituteInPlace  $f --replace '"unzip"'         '"${lib.getBin unzip}/bin/unzip"'
+      substituteInPlace  $f --replace '"xls2csv"'       '"${lib.getBin catdoc}/bin/xls2csv"'
+      substituteInPlace  $f --replace '"xsltproc"'      '"${lib.getBin libxslt}/bin/xsltproc"'
+      substituteInPlace  $f --replace '"unrtf"'         '"${lib.getBin unrtf}/bin/unrtf"'
+      substituteInPlace  $f --replace '"untex"'         '"${lib.getBin untex}/bin/untex"'
+      substituteInPlace  $f --replace '"wpd2html"'      '"${lib.getBin libwpd}/bin/wpd2html"'
       substituteInPlace  $f --replace /usr/bin/perl ${lib.getBin perl}/bin/perl
     done
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+      substituteInPlace  $f --replace lyx           ${lib.getBin lyx}/bin/lyx
   '';
 
   enableParallelBuilding = true;