forked from mirrors/nixpkgs
Fix notmuch for darwin, fixes #11410
platforms can be unix; this works on darwin at *least*, after we fix the libtalloc references.
This commit is contained in:
parent
3edcc3c669
commit
eeb2935ac5
1 changed files with 24 additions and 4 deletions
|
@ -42,10 +42,30 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
preFixup = if stdenv.isDarwin then
|
preFixup = if stdenv.isDarwin then
|
||||||
''
|
''
|
||||||
|
set -e
|
||||||
|
|
||||||
|
die() {
|
||||||
|
>&2 echo "$@"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
prg="$out/bin/notmuch"
|
prg="$out/bin/notmuch"
|
||||||
target="libnotmuch.3.dylib"
|
lib="$(find "$out/lib" -name 'libnotmuch.?.dylib')"
|
||||||
echo "$prg: fixing link to $target"
|
|
||||||
install_name_tool -change "$target" "$out/lib/$target" "$prg"
|
[[ -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"
|
||||||
''
|
''
|
||||||
else
|
else
|
||||||
"";
|
"";
|
||||||
|
@ -58,6 +78,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "Mail indexer";
|
description = "Mail indexer";
|
||||||
license = stdenv.lib.licenses.gpl3;
|
license = stdenv.lib.licenses.gpl3;
|
||||||
maintainers = with stdenv.lib.maintainers; [ chaoflow garbas ];
|
maintainers = with stdenv.lib.maintainers; [ chaoflow garbas ];
|
||||||
platforms = stdenv.lib.platforms.gnu;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue