Skip to content

Commit

Permalink
Merge pull request #18235 from cho-m/broken_linkage_allowlist
Browse files Browse the repository at this point in the history
  • Loading branch information
carlocab committed Sep 10, 2024
2 parents f0be97f + dd25679 commit c0f08f8
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions Library/Homebrew/linkage_checker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,13 @@ def dylib_to_dep(dylib)
Regexp.last_match(2)
end

sig { params(file: String).returns(T::Boolean) }
def broken_dylibs_allowed?(file)
return false if formula.name != "julia"

file.start_with?("#{formula.prefix.realpath}/share/julia/compiled/")
end

def check_dylibs(rebuild_cache:)
keg_files_dylibs = nil

Expand Down Expand Up @@ -128,7 +135,7 @@ def check_dylibs(rebuild_cache:)
if !file_has_any_rpath_dylibs && (dylib.start_with? "@rpath/")
file_has_any_rpath_dylibs = true
pathname = Pathname(file)
@files_missing_rpaths << file if pathname.rpaths.empty?
@files_missing_rpaths << file if pathname.rpaths.empty? && !broken_dylibs_allowed?(file.to_s)
end

next if checked_dylibs.include? dylib
Expand Down Expand Up @@ -156,7 +163,7 @@ def check_dylibs(rebuild_cache:)
# If we cannot associate the dylib with a dependency, then it may be a system library.
# If dlopen finds the dylib, then the linkage is not broken.
@system_dylibs << dylib
elsif !system_framework?(dylib)
elsif !system_framework?(dylib) && !broken_dylibs_allowed?(file.to_s)
@broken_dylibs << dylib
end
else
Expand Down

0 comments on commit c0f08f8

Please sign in to comment.