Squashed 'gitstatus/' changes from 630915cc..6d00edd0

6d00edd0 use a native binary on darwin-arm64
4994f160 add a build server for darwin-arm64
0e922813 invoke port with sudo
576571c7 support macports in addition to homebrew when building on macos
b476570a remove trailing whitespace

git-subtree-dir: gitstatus
git-subtree-split: 6d00edd0bfd1d65a3cbcebfc6e679e8c43726acc
pull/1180/head
Roman Perepelitsa 4 years ago
parent 29759b7b0a
commit 9609a835ca

35
build

@ -98,17 +98,20 @@ if [ -n "$gitstatus_install_tools" ]; then
>&2 echo "[error] please run 'xcode-select --install' and retry" >&2 echo "[error] please run 'xcode-select --install' and retry"
exit 1 exit 1
fi fi
if ! command -v brew >/dev/null 2>&1; then if command -v port >/dev/null 2>&1; then
>&2 echo "[error] please install homebrew from https://brew.sh/ and retry" sudo port -N install libiconv cmake wget
elif command -v brew >/dev/null 2>&1; then
for formula in libiconv cmake git wget; do
if command brew list "$formula" &>/dev/null; then
command brew upgrade "$formula"
else
command brew install "$formula"
fi
done
else
>&2 echo "[error] please install MacPorts or Homebrew and retry"
exit 1 exit 1
fi fi
for formula in libiconv cmake git wget; do
if command brew list "$formula" &>/dev/null; then
command brew upgrade "$formula"
else
command brew install "$formula"
fi
done
;; ;;
msys*|mingw*) msys*|mingw*)
command pacman -Syu --noconfirm command pacman -Syu --noconfirm
@ -165,11 +168,17 @@ case "$gitstatus_kernel" in
;; ;;
darwin) darwin)
command mkdir -- "$workdir"/lib command mkdir -- "$workdir"/lib
brew_prefix="$(command brew --prefix)" if [ -e /opt/local/lib/libiconv.a ]; then
command ln -s -- "$brew_prefix"/opt/libiconv/lib/libiconv.a "$workdir"/lib command ln -s -- /opt/local/lib/libiconv.a "$workdir"/lib
libgit2_cflags="$libgit2_cflags -I/opt/local/include"
gitstatus_cxxflags="$gitstatus_cxxflags -I/opt/local/include"
else
brew_prefix="$(command brew --prefix)"
command ln -s -- "$brew_prefix"/opt/libiconv/lib/libiconv.a "$workdir"/lib
libgit2_cflags="$libgit2_cflags -I"$brew_prefix"/opt/libiconv/include"
gitstatus_cxxflags="$gitstatus_cxxflags -I"$brew_prefix"/opt/libiconv/include"
fi
libgit2_cmake_flags="$libgit2_cmake_flags -DUSE_ICONV=ON" libgit2_cmake_flags="$libgit2_cmake_flags -DUSE_ICONV=ON"
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_ldlibs="$gitstatus_ldlibs -liconv"
gitstatus_ldflags="$gitstatus_ldflags -L${workdir}/lib" gitstatus_ldflags="$gitstatus_ldflags -L${workdir}/lib"
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF" libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF"

@ -5,24 +5,6 @@
_gitstatus_install_daemon_found() { _gitstatus_install_daemon_found() {
local installed="$1" local installed="$1"
shift shift
case "$daemon" in
*-darwin-x86_64)
if [ "$uname_m" = arm64 ] &&
[ ! -e /Library/Apple/System/Library/LaunchDaemons/com.apple.oahd.plist ] &&
[ -x /usr/sbin/softwareupdate ]; then
>&"$e" printf 'Please run the following command to install Rosetta:\n'
>&"$e" printf '\n'
>&"$e" printf ' \033[32m/usr/sbin/softwareupdate\033[0m --install-rosetta\n'
>&"$e" printf '\n'
>&"$e" printf 'See for details: \033[4mhttps://support.apple.com/en-us/HT211861\033[0m\n'
>&"$e" printf '\n'
>&"$e" printf 'Once Rosetta is installed, restart your shell.\n'
return 1
fi
;;
esac
[ $# = 0 ] || "$@" "$daemon" "$version" "$installed" [ $# = 0 ] || "$@" "$daemon" "$version" "$installed"
} }

@ -1,15 +1,16 @@
# 6a3d54a5a44abb4ee46ce72a8097389364746c6a # 0
# #
# This file is used by ./install and indirectly by shell bindings. # This file is used by ./install and indirectly by shell bindings.
# #
# The first line is read by powerlevel10k instant prompt. It must # The first line is read by powerlevel10k instant prompt. It must
# be updated whenever the content of this file changes. The actual # be updated whenever the content of this file changes. The actual
# value doesn't matter as long as it's unique. You can use the output # value doesn't matter as long as it's unique. Consecutive integers
# of `git rev-parse HEAD`. # work fine.
# Official gitstatusd binaries. # Official gitstatusd binaries.
uname_s_glob="cygwin_nt-10.0"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="c96baef70b81b5a1d46adcc9e93721eaf4bdc295562bdd2baf210a6b416b9911"; uname_s_glob="cygwin_nt-10.0"; uname_m_glob="i686"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="c96baef70b81b5a1d46adcc9e93721eaf4bdc295562bdd2baf210a6b416b9911";
uname_s_glob="cygwin_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="18b5be49f6eb9ff1cf25e76d6f2333c7402e686e05ce5b88ca107c80504210d8"; uname_s_glob="cygwin_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="18b5be49f6eb9ff1cf25e76d6f2333c7402e686e05ce5b88ca107c80504210d8";
uname_s_glob="darwin"; uname_m_glob="arm64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="0394e2ac880c1e190ace0346499d4670861297ecc2f84315ecb8ba3c98aa68d9";
uname_s_glob="darwin"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="26d582fe9a0b2090c28e84e5e32a6d42d6988cedff51e41ec5f789512c53b0fc"; uname_s_glob="darwin"; uname_m_glob="x86_64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="26d582fe9a0b2090c28e84e5e32a6d42d6988cedff51e41ec5f789512c53b0fc";
uname_s_glob="freebsd"; uname_m_glob="amd64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="54a823373458a0908187ba8d1c5b8921015c844811916451674cc09fbdff88bb"; uname_s_glob="freebsd"; uname_m_glob="amd64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="54a823373458a0908187ba8d1c5b8921015c844811916451674cc09fbdff88bb";
uname_s_glob="linux"; uname_m_glob="aarch64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="4e0a506eafb14b009cf6670f0e11399ac7e765cad17b9fcf38ef65516d248bfa"; uname_s_glob="linux"; uname_m_glob="aarch64"; file="gitstatusd-${uname_s}-${uname_m}"; version="v1.3.1"; sha256="4e0a506eafb14b009cf6670f0e11399ac7e765cad17b9fcf38ef65516d248bfa";
@ -25,7 +26,6 @@ uname_s_glob="msys_nt-10.0"; uname_m_glob="x86_64"; file="gitstatusd-${uname_
# Fallbacks to official gitstatusd binaries. # Fallbacks to official gitstatusd binaries.
uname_s_glob="cygwin_nt-*"; uname_m_glob="i686"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="c96baef70b81b5a1d46adcc9e93721eaf4bdc295562bdd2baf210a6b416b9911"; uname_s_glob="cygwin_nt-*"; uname_m_glob="i686"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="c96baef70b81b5a1d46adcc9e93721eaf4bdc295562bdd2baf210a6b416b9911";
uname_s_glob="cygwin_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="18b5be49f6eb9ff1cf25e76d6f2333c7402e686e05ce5b88ca107c80504210d8"; uname_s_glob="cygwin_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-cygwin_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="18b5be49f6eb9ff1cf25e76d6f2333c7402e686e05ce5b88ca107c80504210d8";
uname_s_glob="darwin"; uname_m_glob="arm64"; file="gitstatusd-${uname_s}-x86_64"; version="v1.3.1"; sha256="26d582fe9a0b2090c28e84e5e32a6d42d6988cedff51e41ec5f789512c53b0fc";
uname_s_glob="mingw32_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400"; uname_s_glob="mingw32_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400";
uname_s_glob="mingw32_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="bdfae7a7c0fd83d0214a7eabde3b7d8709336bd08697a74d48bea4a04c352676"; uname_s_glob="mingw32_nt-*"; uname_m_glob="x86_64"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="bdfae7a7c0fd83d0214a7eabde3b7d8709336bd08697a74d48bea4a04c352676";
uname_s_glob="mingw64_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400"; uname_s_glob="mingw64_nt-*"; uname_m_glob="i686"; file="gitstatusd-msys_nt-10.0-${uname_m}"; version="v1.3.1"; sha256="618d2425c6a22fa3762fe6fe252f9ddb4ed9138df1377e48b2f119cd4875f400";

@ -5,7 +5,7 @@
# Usage: mbuild [-b git-ref] [kernel-arch]... # Usage: mbuild [-b git-ref] [kernel-arch]...
# #
# Builds a bunch of gitstatusd-* binaries. Without arguments builds binaries # Builds a bunch of gitstatusd-* binaries. Without arguments builds binaries
# for all platforms. git-ref defaults to src. # for all platforms. git-ref defaults to master.
# #
# Before using this script you need to set up build servers and list them # Before using this script you need to set up build servers and list them
# in ~/.ssh/config. There should be a Host entry for every value of `assets` # in ~/.ssh/config. There should be a Host entry for every value of `assets`
@ -111,6 +111,7 @@ local -rA assets=(
cygwin_nt-10.0-x86_64 build-windows-x86_64 cygwin_nt-10.0-x86_64 build-windows-x86_64
msys_nt-10.0-i686 build-windows-x86_64 msys_nt-10.0-i686 build-windows-x86_64
msys_nt-10.0-x86_64 build-windows-x86_64 msys_nt-10.0-x86_64 build-windows-x86_64
darwin-arm64 build-macos-arm64
darwin-x86_64 build-macos-x86_64 darwin-x86_64 build-macos-x86_64
freebsd-amd64 build-freebsd-amd64 freebsd-amd64 build-freebsd-amd64
linux-aarch64 build-linux-aarch64 linux-aarch64 build-linux-aarch64
@ -138,7 +139,7 @@ function usage() {
print -r -- 'usage: mbuild [-b REF] [KERNEL-ARCH]...' print -r -- 'usage: mbuild [-b REF] [KERNEL-ARCH]...'
} }
local OPTARG opt git_ref=src local OPTARG opt git_ref=master
local -i OPTIND local -i OPTIND
while getopts ":b:h" opt; do while getopts ":b:h" opt; do
case $opt in case $opt in
@ -183,7 +184,7 @@ function build-unix() {
case $2 in case $2 in
linux-ppc64le) ;; linux-ppc64le) ;;
linux-*) flags+=(-d docker);; linux-*) flags+=(-d docker);;
darwin-arm64) intro='PATH="/opt/homebrew/bin:$PATH"';; darwin-arm64) intro='PATH="/opt/local/bin:$PATH"';;
darwin-*) intro='PATH="/usr/local/bin:$PATH"';; darwin-*) intro='PATH="/usr/local/bin:$PATH"';;
esac esac
ssh $1 -- /bin/sh -uex <<<" ssh $1 -- /bin/sh -uex <<<"

Loading…
Cancel
Save