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
List information: http://vger.kernel.org/majordomo-info.html
* 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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).