#!/usr/bin/env nu # Build upstream Git's local CLI with the stock WASI SDK. Sources live in /tmp/s3-git. def main [] { let sdk = '/tmp/s3-git/wasi-sdk-34.0-arm64-linux' let ncurses = (nix eval --raw nixpkgs#ncurses.outPath) $env.LD_LIBRARY_PATH = $'($sdk)/lib:($ncurses)/lib' cd /tmp/s3-git/git-2.49.0 ^make -j2 uname_S=WASI $'CC=($sdk)/bin/clang' $'AR=($sdk)/bin/llvm-ar' $'RANLIB=($sdk)/bin/llvm-ranlib' 'CFLAGS=-O2 -I/tmp/s3-git/zlib-1.3.1 -D_WASI_EMULATED_PROCESS_CLOCKS -D_WASI_EMULATED_MMAN -D_WASI_EMULATED_SIGNAL' 'LDFLAGS=-L/tmp/s3-git/zlib-1.3.1 -lwasi-emulated-process-clocks -lwasi-emulated-mman -lwasi-emulated-signal -Wl,-z,stack-size=8388608 -Wl,--stack-first' CSPRNG_METHOD=getentropy HAVE_CLOCK_GETTIME=YesPlease HAVE_GETDELIM=YesPlease NO_OPENSSL=1 NO_CURL=1 NO_EXPAT=1 NO_GETTEXT=1 NO_TCLTK=1 NO_PERL=1 NO_PYTHON=1 NO_REGEX=NeedsStartEnd NO_ICONV=1 NO_PTHREADS=1 NO_MMAP=1 NO_SYS_POLL_H=1 NO_NSEC=1 git if $env.LAST_EXIT_CODE != 0 { error make {msg: 'Git build failed'} } }