Re: [PATCH v2 1/2] Makefile: add NO_HOMEBREW
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 14, 2025, 07:13 UTC
- Message-ID
- <xmqqecoxa645.fsf@gitster.g>
- In-Reply-To
- <20251214064544.GA26358@tb-raspi4>
Torsten Bögershausen <tboegi@web.de> writes:
Show 41 quoted lines
> On Sat, Dec 13, 2025 at 07:42:38PM +0100, René Scharfe wrote: >> Allow disabling the use of Homebrew on macOS, or Linux for that matter, >> like we already do for other package sources, MacPorts and Fink in >> particular. This is useful for packagers, or anyone else who wants to >> control dependencies. > > Good. >> >> Suggested-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> >> Suggested-by: Torsten Bögershausen <tboegi@web.de> >> Signed-off-by: René Scharfe <l.s.r@web.de> >> --- >> Makefile | 17 +++++++++++++++++ >> config.mak.uname | 11 +++++------ >> 2 files changed, 22 insertions(+), 6 deletions(-) >> >> diff --git a/Makefile b/Makefile >> index 6fc322ff88..dbd2760d18 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -100,6 +100,9 @@ include shared.mak >> # specify your own (or DarwinPort's) include directories and >> # library directories by defining CFLAGS and LDFLAGS appropriately. >> # >> +# Define NO_HOMEBREW if you have Homebrew and don't want Git to link >> +# against libraries installed by it. >> +# > Good >> # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X >> # and do not want to use Apple's CommonCrypto library. This allows you >> # to provide your own OpenSSL library, for example from MacPorts. >> @@ -1692,6 +1695,20 @@ ifeq ($(uname_S),Darwin) >> PTHREAD_LIBS = >> endif >> >> +ifndef NO_HOMEBREW >> + ifdef HOMEBREW_PREFIX > > Question from a homebrew newbie, kind of: > Where do the HOMEBREW_PREFIX (and other HOMEBREW...) come from, > and what do they do ?
I understand these are purely _our_ thing. HOMEBREW_PREFIX and HOMEBREW_GETTEXT_PREFIX are set in config.mak.uname (added in this patch). I presume that those who installed homebrew at non-default location and want to use homebrew would not set NO_HOMEBREW and set HOMEBREW_PREFIX to the location they installed their homebrew which would be different from the default set in config.mak.uname. Those who have homebrew installed at default location.
Show 6 quoted lines
> Running > git grep HOMEBREW > gives > ci/install-dependencies.sh: export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1 > > Whould it make sense to have a few words here as a comment ?
Yeah, like
# Define HOMEBREW_PREFIX to point at an appropriate directory, iff # you want to use homebrew installed at a non-standard location. # /opt/homebrew on Apple Silicon macOS and at /usr/local on Intel # macOS are the standard locations (and you do not have to define # this variable yourself).
perhaps? Similarly for other variables.