From bddc23b13461f2d953309144af73a357fe5ffa92 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 25 Feb 2018 23:06:50 -0800 Subject: [PATCH] recoll: Allow building a non-X/inotify version on Darwin --- pkgs/applications/search/recoll/default.nix | 51 ++++++++++++--------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix index ada68e47aa04..da6ccf940c7a 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;