diff --git a/packages/nim/build.sh b/packages/nim/build.sh index eb0cd36d1..70b8d3c04 100644 --- a/packages/nim/build.sh +++ b/packages/nim/build.sh @@ -4,33 +4,33 @@ TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_VERSION=0.19.0 TERMUX_PKG_SRCURL=https://nim-lang.org/download/nim-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_SHA256=a1996347253c590de42f6e36e33bd1d5ec7479c0aa013769b92deef802df3c2e +TERMUX_PKG_DEPENDS="clang, git, libandroid-glob" TERMUX_PKG_HOSTBUILD=yes TERMUX_PKG_BUILD_IN_SRC=yes -TERMUX_PKG_DEPENDS="git, clang, libandroid-glob" termux_step_host_build() { - cp ../src/* -r ./ + cp -r ../src/* ./ make -j $TERMUX_MAKE_PROCESSES CC=gcc LD=gcc } termux_step_make() { - if [ $TERMUX_ARCH = "x86_64" ]; then + if [ $TERMUX_ARCH = "x86_64" ]; then export NIM_ARCH=amd64 elif [ $TERMUX_ARCH = "i686" ]; then export NIM_ARCH=i386 elif [ $TERMUX_ARCH = "aarch64" ]; then - # -Oz breaks aarch64 build + # -Oz breaks aarch64 build CFLAGS+=" -Os" - export NIM_ARCH=arm64 - else + export NIM_ARCH=arm64 + else export NIM_ARCH=arm fi LDFLAGS+=" -landroid-glob" sed -i "s%\@CC\@%${CC}%g" config/nim.cfg sed -i "s%\@CFLAGS\@%${CFLAGS}%g" config/nim.cfg sed -i "s%\@LDFLAGS\@%${LDFLAGS}%g" config/nim.cfg - sed -i "s%\@CPPFLAGS\@%${CPPFLAGS}%g" config/nim.cfg - + sed -i "s%\@CPPFLAGS\@%${CPPFLAGS}%g" config/nim.cfg + find -name "stdlib_osproc.c" | xargs -n 1 sed -i 's',"/system/bin/sh\"\,\ 14","/data/data/com.termux/files/usr/bin/sh\"\,\ 38",'g' PATH=$TERMUX_PKG_HOSTBUILD_DIR/bin:$PATH @@ -38,18 +38,19 @@ termux_step_make() { sed -i 's/arm64/amd64/g' makefile fi export CFLAGS=" $CPPFLAGS $CFLAGS -w -fno-strict-aliasing" - make LD=$CC uos=linux mycpu=$NIM_ARCH myos=android -j $TERMUX_MAKE_PROCESSES useShPath=$TERMUX_PREFIX/bin/sh + make LD=$CC uos=linux mycpu=$NIM_ARCH myos=android -j $TERMUX_MAKE_PROCESSES useShPath=$TERMUX_PREFIX/bin/sh cp config/nim.cfg ../host-build/config - + nim --opt:size --define:termux -d:release --os:android --cpu:$NIM_ARCH -t:-I/data/data/com.termux/files/usr/include -l:"-L/data/data/com.termux/files/usr/lib -landroid-glob" c koch.nim cd dist/nimble/src nim --define:termux -d:release --os:android --cpu:$NIM_ARCH -t:-I/data/data/com.termux/files/usr/include -l:"-L/data/data/com.termux/files/usr/lib -landroid-glob" c nimble.nim } + termux_step_make_install() { ./install.sh $TERMUX_PREFIX/lib - cp koch $TERMUX_PREFIX/lib/nim/bin - cp dist/nimble/src/nimble $TERMUX_PREFIX/lib/nim/bin - ln -sf $TERMUX_PREFIX/lib/nim/bin/nim $TERMUX_PREFIX/bin/ - ln -sf $TERMUX_PREFIX/lib/nim/bin/koch $TERMUX_PREFIX/bin/ - ln -sf $TERMUX_PREFIX/lib/nim/bin/nimble $TERMUX_PREFIX/bin/ + cp koch $TERMUX_PREFIX/lib/nim/bin/ + cp dist/nimble/src/nimble $TERMUX_PREFIX/lib/nim/bin/ + ln -sfr $TERMUX_PREFIX/lib/nim/bin/nim $TERMUX_PREFIX/bin/ + ln -sfr $TERMUX_PREFIX/lib/nim/bin/koch $TERMUX_PREFIX/bin/ + ln -sfr $TERMUX_PREFIX/lib/nim/bin/nimble $TERMUX_PREFIX/bin/ }