From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "SZEDER Gábor" <szeder.dev@gmail.com>,
"Eric Sunshine" <sunshine@sunshineco.com>,
"Carlo Marcelo Arenas Belón" <carenas@gmail.com>,
"Johannes Schindelin" <johannes.schindelin@gmx.de>,
"Johannes Schindelin" <johannes.schindelin@gmx.de>
Subject: [PATCH v2] macos: do let the build find the gettext headers/libraries/msgfmt
Date: Sat, 25 Apr 2020 12:54:26 +0000 [thread overview]
Message-ID: <pull.616.v2.git.1587819266388.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.616.git.1587628367528.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
Apparently a recent Homebrew update now installs `gettext` into a
subdirectory under /usr/local/, requiring the CFLAGS/LDFLAGS to list
explicit directories _even_ when asking to force-link the `gettext`
package.
Likewise, the `msgfmt` tool is no longer in the `PATH`.
While it is unclear which change is responsible for this breakage (that
most notably only occurs on CI build agents that updated very recently),
https://github.com/Homebrew/homebrew-core/pull/53489 should fix it.
Nevertheless, let's work around this issue, as there are still quite a
few build agents out there that need some help in this regard: we
explicitly do not call `brew update` in our CI/PR builds anymore.
Helped-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Prepare for Homebrew changing the gettext package
In an early Azure Pipelines preview of what is to come, I saw the
osx-clang and osx-gcc jobs fail consistently.
This patch tries to prevent that from affecting our CI/PR builds.
Changes since v1:
* Described a bit better what the issue is, and that there is a
"de-keg" change that should fix this (but as we no longer call brew
update, some build agents, that won't matter for slightly out of date
agents).
* Guarded the added flags behind a check whether the directory exists
in the first place.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-616%2Fdscho%2Fbrew-gettext-update-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-616/dscho/brew-gettext-update-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/616
Range-diff vs v1:
1: c56a2321f62 ! 1: 1aa1b049e5c macos: do let the build find the gettext headers/libraries/msgfmt
@@ Commit message
Likewise, the `msgfmt` tool is no longer in the `PATH`.
- Let's work around this issue.
+ While it is unclear which change is responsible for this breakage (that
+ most notably only occurs on CI build agents that updated very recently),
+ https://github.com/Homebrew/homebrew-core/pull/53489 should fix it.
+ Nevertheless, let's work around this issue, as there are still quite a
+ few build agents out there that need some help in this regard: we
+ explicitly do not call `brew update` in our CI/PR builds anymore.
+
+ Helped-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
## config.mak.uname ##
@@ config.mak.uname: ifeq ($(uname_S),Darwin)
HAVE_NS_GET_EXECUTABLE_PATH = YesPlease
- BASIC_CFLAGS += -I/usr/local/include
- BASIC_LDFLAGS += -L/usr/local/lib
-+ BASIC_CFLAGS += -I/usr/local/include -I/usr/local/opt/gettext/include
-+ BASIC_LDFLAGS += -L/usr/local/lib -L/usr/local/opt/gettext/lib
-+ ifeq ($(shell test -x /usr/local/opt/gettext/bin/msgfmt && echo y),y)
-+ MSGFMT = /usr/local/opt/gettext/bin/msgfmt
++
++ # Workaround for `gettext` being keg-only and not even being linked via
++ # `brew link --force gettext`, should be obsolete as of
++ # https://github.com/Homebrew/homebrew-core/pull/53489
++ ifeq ($(shell test -d /usr/local/opt/gettext/ && echo y),y)
++ BASIC_CFLAGS += -I/usr/local/include -I/usr/local/opt/gettext/include
++ BASIC_LDFLAGS += -L/usr/local/lib -L/usr/local/opt/gettext/lib
++ ifeq ($(shell test -x /usr/local/opt/gettext/bin/msgfmt && echo y),y)
++ MSGFMT = /usr/local/opt/gettext/bin/msgfmt
++ endif
+ endif
endif
ifeq ($(uname_S),SunOS)
config.mak.uname | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/config.mak.uname b/config.mak.uname
index 0ab8e009383..1ea16e89288 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -133,8 +133,17 @@ ifeq ($(uname_S),Darwin)
HAVE_BSD_SYSCTL = YesPlease
FREAD_READS_DIRECTORIES = UnfortunatelyYes
HAVE_NS_GET_EXECUTABLE_PATH = YesPlease
- BASIC_CFLAGS += -I/usr/local/include
- BASIC_LDFLAGS += -L/usr/local/lib
+
+ # Workaround for `gettext` being keg-only and not even being linked via
+ # `brew link --force gettext`, should be obsolete as of
+ # https://github.com/Homebrew/homebrew-core/pull/53489
+ ifeq ($(shell test -d /usr/local/opt/gettext/ && echo y),y)
+ BASIC_CFLAGS += -I/usr/local/include -I/usr/local/opt/gettext/include
+ BASIC_LDFLAGS += -L/usr/local/lib -L/usr/local/opt/gettext/lib
+ ifeq ($(shell test -x /usr/local/opt/gettext/bin/msgfmt && echo y),y)
+ MSGFMT = /usr/local/opt/gettext/bin/msgfmt
+ endif
+ endif
endif
ifeq ($(uname_S),SunOS)
NEEDS_SOCKET = YesPlease
base-commit: e870325ee8575d5c3d7afe0ba2c9be072c692b65
--
gitgitgadget
next prev parent reply other threads:[~2020-04-25 12:54 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-23 7:52 [PATCH] macos: do let the build find the gettext headers/libraries/msgfmt Johannes Schindelin via GitGitGadget
2020-04-23 16:17 ` Eric Sunshine
2020-04-23 20:49 ` Eric Sunshine
2020-04-25 12:54 ` Johannes Schindelin
2020-04-26 15:54 ` Carlo Arenas
2020-04-26 16:59 ` Johannes Schindelin
2020-04-25 6:15 ` [PATCH] macos: do not assume brew and gettext are always available/wanted Carlo Marcelo Arenas Belón
2020-04-25 12:33 ` Johannes Schindelin
2020-04-25 12:54 ` Johannes Schindelin via GitGitGadget [this message]
2020-04-26 17:05 ` [PATCH v2] macos: do let the build find the gettext headers/libraries/msgfmt Torsten Bögershausen
2020-04-26 17:34 ` Carlo Marcelo Arenas Belón
2020-04-26 20:09 ` [PATCH v3 1/1] MacOs/brew: Let the build find " tboegi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.616.v2.git.1587819266388.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=carenas@gmail.com \
--cc=git@vger.kernel.org \
--cc=johannes.schindelin@gmx.de \
--cc=sunshine@sunshineco.com \
--cc=szeder.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.