summary refs log tree commit diff
path: root/pkgs/applications/networking/mailreaders/notmuch/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/mailreaders/notmuch/default.nix')
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix57
1 files changed, 14 insertions, 43 deletions
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index c2c5d18e2f0d..69de3ef5d51c 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, fixDarwinDylibNames
+{ fetchurl, stdenv
 , pkgconfig, gnupg
 , xapian, gmime, talloc, zlib
 , doxygen, perl
@@ -34,18 +34,11 @@ stdenv.mkDerivation rec {
     bash-completion  # (optional) dependency to install bash completion
     emacs  # (optional) to byte compile emacs code, also needed for tests
     ruby  # (optional) ruby bindings
-    which dtach openssl bash  # test dependencies
-  ]
-  ++ optional stdenv.isDarwin fixDarwinDylibNames
-  ++ optionals (!stdenv.isDarwin) [ gdb man ]; # test dependencies
+  ];
 
   postPatch = ''
     patchShebangs configure
-
-    find test/ -type f -exec \
-      sed -i \
-        -e "1s|#!/usr/bin/env bash|#!${bash}/bin/bash|" \
-        "{}" ";"
+    patchShebangs test/
 
     for src in \
       util/crypto.c \
@@ -54,6 +47,9 @@ stdenv.mkDerivation rec {
       substituteInPlace "$src" \
         --replace \"gpg\" \"${gnupg}/bin/gpg\"
     done
+
+    substituteInPlace lib/Makefile.local \
+      --replace '-install_name $(libdir)' "-install_name $out/lib"
   '';
 
   configureFlags = [ "--zshcompletiondir=$(out)/share/zsh/site-functions" ];
@@ -64,33 +60,6 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   makeFlags = "V=1";
 
-  preFixup = optionalString stdenv.isDarwin ''
-    set -e
-
-    die() {
-      >&2 echo "$@"
-      exit 1
-    }
-
-    prg="$out/bin/notmuch"
-    lib="$(find "$out/lib" -name 'libnotmuch.?.dylib')"
-
-    [[ -s "$prg" ]] || die "couldn't find notmuch binary"
-    [[ -s "$lib" ]] || die "couldn't find libnotmuch"
-
-    badname="$(otool -L "$prg" | awk '$1 ~ /libtalloc/ { print $1 }')"
-    goodname="$(find "${talloc}/lib" -name 'libtalloc.*.*.*.dylib')"
-
-    [[ -n "$badname" ]]  || die "couldn't find libtalloc reference in binary"
-    [[ -n "$goodname" ]] || die "couldn't find libtalloc in nix store"
-
-    echo "fixing libtalloc link in $lib"
-    install_name_tool -change "$badname" "$goodname" "$lib"
-
-    echo "fixing libtalloc link in $prg"
-    install_name_tool -change "$badname" "$goodname" "$prg"
-  '';
-
   preCheck = let
     test-database = fetchurl {
       url = "https://notmuchmail.org/releases/test-databases/database-v1.tar.xz";
@@ -99,12 +68,14 @@ stdenv.mkDerivation rec {
   in ''
     ln -s ${test-database} test/test-databases/database-v1.tar.xz
   '';
-  doCheck = !stdenv.isDarwin && (versionAtLeast gmime.version "3.0");
-  checkTarget = "test V=1";
-
-  postInstall = ''
-    make install-man
-  '';
+  doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0");
+  checkTarget = "test";
+  checkInputs = [
+    which dtach openssl bash
+    gdb man
+  ];
+
+  installTargets = "install install-man";
 
   dontGzipMan = true; # already compressed