From 4ac228cc417b60a87bad25e45d4b30b8d0edf7b6 Mon Sep 17 00:00:00 2001 From: Ruiyang Wu <58066925+ywwry66@users.noreply.github.com> Date: Tue, 14 Mar 2023 13:41:46 -0400 Subject: [PATCH] Use `install-info` from `texinfo` if not available in `/usr/bin` `install-info` is not shipped with macOS Ventura and some Linux distros. This commit uses `install-info` from `texinfo` formula if it is not available in `/usr/bin`. See: https://github.com/Homebrew/discussions/discussions/4306 --- Library/Homebrew/extend/pathname.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index a929f153b8..28bd016628 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -343,14 +343,24 @@ class Pathname chmod saved_perms if saved_perms end + # @private + def which_install_info + @which_install_info ||= + if File.executable?("/usr/bin/install-info") + "/usr/bin/install-info" + elsif Formula["texinfo"].any_version_installed? + Formula["texinfo"].opt_bin/"install-info" + end + end + # @private def install_info - quiet_system "/usr/bin/install-info", "--quiet", to_s, "#{dirname}/dir" + quiet_system(which_install_info, "--quiet", to_s, "#{dirname}/dir") end # @private def uninstall_info - quiet_system "/usr/bin/install-info", "--delete", "--quiet", to_s, "#{dirname}/dir" + quiet_system(which_install_info, "--delete", "--quiet", to_s, "#{dirname}/dir") end # Writes an exec script in this folder for each target pathname.