summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Perepelitsa <roman.perepelitsa@gmail.com>2020-11-17 12:02:15 +0300
committerRoman Perepelitsa <roman.perepelitsa@gmail.com>2020-11-17 12:02:15 +0300
commit790f4719ab3db8d62f8dec6fbb89a91d87e81df0 (patch)
treeaa890c5b8ab3b4f4f5ff293219c94aff312ef892
parentb7167a64c60401b184346147d8297f3803f56e06 (diff)
Squashed 'gitstatus/' changes from f9acc15a..cb363c77
cb363c77 build: use zsh if possible when langued with bash < 4.0 (#188) efb0fd1b make mbuild work with darwin-aarch64 c9e6e608 do not hardcode path to homebrew, retrieve it with `brew --prefix` df4eba94 work around bugs in ancient versions of bash (#188) git-subtree-dir: gitstatus git-subtree-split: cb363c778a37575b0d5371d7e355d80ec7ae5498
-rwxr-xr-xbuild15
-rwxr-xr-xmbuild7
2 files changed, 15 insertions, 7 deletions
diff --git a/build b/build
index 8db1cd14..cbd8ce1f 100755
--- a/build
+++ b/build
@@ -11,6 +11,12 @@ fi
export LC_ALL=C
+if [ -z "${ZSH_VERSION-}" ] && command -v zsh >/dev/null 2>&1; then
+ case "${BASH_VERSION-}" in
+ [0-3].*) exec zsh "$0" "$@";;
+ esac
+fi
+
usage="$(command cat <<\END
Usage: build [-m ARCH] [-c CPU] [-d CMD] [-i IMAGE] [-s] [-w]
@@ -29,7 +35,7 @@ Options:
succeed; on some operating systems this option is not
supported; on others it can have partial effect
-w automatically download tarballs for dependencies if they
- don't already exist in ./deps; dependencies are described
+ do not already exist in ./deps; dependencies are described
in ./build.info
END
)"
@@ -159,10 +165,11 @@ case "$gitstatus_kernel" in
;;
darwin)
command mkdir -- "$workdir"/lib
- command ln -s -- /usr/local/opt/libiconv/lib/libiconv.a "$workdir"/lib
+ brew_prefix="$(command brew --prefix)"
+ command ln -s -- "$brew_prefix"/opt/libiconv/lib/libiconv.a "$workdir"/lib
libgit2_cmake_flags="$libgit2_cmake_flags -DUSE_ICONV=ON"
- libgit2_cflags="$libgit2_cflags -I/usr/local/opt/libiconv/include"
- gitstatus_cxxflags="$gitstatus_cxxflags -I/usr/local/opt/libiconv/include"
+ libgit2_cflags="$libgit2_cflags -I"$brew_prefix"/opt/libiconv/include"
+ gitstatus_cxxflags="$gitstatus_cxxflags -I"$brew_prefix"/opt/libiconv/include"
gitstatus_ldlibs="$gitstatus_ldlibs -liconv"
gitstatus_ldflags="$gitstatus_ldflags -L${workdir}/lib"
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF"
diff --git a/mbuild b/mbuild
index 7d98b1fb..b6f220e0 100755
--- a/mbuild
+++ b/mbuild
@@ -181,9 +181,10 @@ local build='
function build-unix() {
local intro flags=(-sw)
case $2 in
- linux-ppc64le);;
- linux-*) flags+=(-d docker);;
- darwin-*) intro='PATH="/usr/local/bin:$PATH"';;
+ linux-ppc64le) ;;
+ linux-*) flags+=(-d docker);;
+ darwin-aarch64) intro='PATH="/opt/homebrew/bin:$PATH"';;
+ darwin-*) intro='PATH="/usr/local/bin:$PATH"';;
esac
ssh $1 -- /bin/sh -uex <<<"
$intro