From: Junio C Hamano Date: Sun, 14 Dec 2025 07:13:14 GMT Subject: Re: [PATCH v2 1/2] Makefile: add NO_HOMEBREW Message-ID: In-Reply-To: <20251214064544.GA26358@tb-raspi4> Torsten Bögershausen writes: > 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 >> Suggested-by: Torsten Bögershausen >> Signed-off-by: René Scharfe >> --- >> 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. > 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.