mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-05-24 05:40:15 +00:00
libghostty-vt: fix linker tests for darwin
This commit is contained in:
@@ -103,14 +103,25 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
--replace-fail "$out" "$dev"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
passthru.tests = let
|
||||
sharedExt = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
sharedLibName = version:
|
||||
if stdenv.hostPlatform.isDarwin
|
||||
then "libghostty-vt.${version}${sharedExt}"
|
||||
else "libghostty-vt${sharedExt}.${version}";
|
||||
linkCheck = bin: pat:
|
||||
if stdenv.hostPlatform.isDarwin
|
||||
then ''otool -L "${bin}" | grep -q ${pat}''
|
||||
else ''ldd "${bin}" 2>/dev/null | grep -q ${pat}'';
|
||||
in {
|
||||
sanity-check = let
|
||||
version = "${lib.versions.major finalAttrs.version}.${lib.versions.minor finalAttrs.version}.${lib.versions.patch finalAttrs.version}";
|
||||
in
|
||||
runCommand "sanity-check" {} (builtins.concatStringsSep "\n" [
|
||||
''
|
||||
${lib.getExe' stdenv.cc "nm"} "${finalAttrs.finalPackage}/lib/libghostty-vt.so.${version}" | grep -q 'T ghostty_terminal_new'
|
||||
${lib.getExe' stdenv.cc "nm"} "${finalAttrs.finalPackage.dev}/lib/libghostty-vt.a" | grep -q 'T ghostty_terminal_new'
|
||||
set +o pipefail
|
||||
${lib.getExe' stdenv.cc "nm"} "${finalAttrs.finalPackage}/lib/${sharedLibName version}" | grep -qE 'T _?ghostty_terminal_new'
|
||||
${lib.getExe' stdenv.cc "nm"} "${finalAttrs.finalPackage.dev}/lib/libghostty-vt.a" | grep -qE 'T _?ghostty_terminal_new'
|
||||
''
|
||||
(
|
||||
lib.optionalString simd
|
||||
@@ -167,7 +178,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
then "yes"
|
||||
else "no"
|
||||
}"
|
||||
ldd "$out/bin/test" 2>/dev/null | grep -q libghostty-vt
|
||||
${linkCheck "$out/bin/test" "libghostty-vt"}
|
||||
|
||||
runHook postInstallCheckHooks
|
||||
'';
|
||||
@@ -205,7 +216,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
then "yes"
|
||||
else "no"
|
||||
}"
|
||||
! ldd "$out/bin/test" 2>/dev/null | grep -q libghostty-vt
|
||||
! ${linkCheck "$out/bin/test" "libghostty-vt"}
|
||||
|
||||
runHook postInstallCheckHooks
|
||||
'';
|
||||
@@ -240,7 +251,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheckHooks
|
||||
|
||||
ldd "$out/bin/test" 2>/dev/null | grep -q libghostty-vt
|
||||
${linkCheck "$out/bin/test" "libghostty-vt"}
|
||||
|
||||
runHook postInstallCheckHooks
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user