termux-packages/packages/nushell/build.sh

60 lines
1.7 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://www.nushell.sh
TERMUX_PKG_DESCRIPTION="A new type of shell operating on structured data"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=0.62.0
TERMUX_PKG_SRCURL=https://github.com/nushell/nushell/archive/$TERMUX_PKG_VERSION.tar.gz
TERMUX_PKG_SHA256=ed183be2579979097368441b0ded5cb21653f4e6f50b530729e65883cfe2aa20
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="openssl, zlib"
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_CONFIGURE_EXTRA_ARGS="--features=extra"
termux_step_pre_configure() {
termux_setup_rust
export CFLAGS="${TARGET_CFLAGS}"
local _CARGO_TARGET_LIBDIR="target/${CARGO_TARGET_NAME}/release/deps"
mkdir -p $_CARGO_TARGET_LIBDIR
if [ $TERMUX_ARCH = "i686" ]; then
RUSTFLAGS+=" -C link-arg=-latomic"
elif [ $TERMUX_ARCH = "x86_64" ]; then
pushd $_CARGO_TARGET_LIBDIR
local libgcc="$($CC -print-libgcc-file-name)"
echo "INPUT($libgcc -l:libunwind.a)" >libgcc.so
popd
fi
: "${CARGO_HOME:=$HOME/.cargo}"
export CARGO_HOME
cargo fetch --target "${CARGO_TARGET_NAME}"
for d in $CARGO_HOME/registry/src/github.com-*/libgit2-sys-*/libgit2; do
patch --silent -p1 -d ${d} \
<$TERMUX_SCRIPTDIR/packages/libgit2/src-rand.c.patch || :
cp $TERMUX_SCRIPTDIR/packages/libgit2/getloadavg.c ${d}/src/ || :
done
mv $TERMUX_PREFIX/lib/libz.so.1{,.tmp}
mv $TERMUX_PREFIX/lib/libz.so{,.tmp}
ln -sfT $(readlink -f $TERMUX_PREFIX/lib/libz.so.1.tmp) \
$_CARGO_TARGET_LIBDIR/libz.so.1
ln -sfT $(readlink -f $TERMUX_PREFIX/lib/libz.so.tmp) \
$_CARGO_TARGET_LIBDIR/libz.so
}
termux_step_post_make_install() {
mv $TERMUX_PREFIX/lib/libz.so.1{.tmp,}
mv $TERMUX_PREFIX/lib/libz.so{.tmp,}
}
termux_step_post_massage() {
rm -f lib/libz.so.1
rm -f lib/libz.so
}