Distro for Linux for WebAssembly
at main 53 lines 1.4 kB view raw
1_help: 2 @just --list 3 4eject pkg: 5 #!/usr/bin/env bash 6 set -e 7 if [ -d "overrides/{{ pkg }}" ]; then 8 echo "override for {{ pkg }} already exists" 9 exit 1 10 fi 11 12 src=$(nix build .#{{ pkg }}.src --print-out-paths) 13 mkdir -p overrides/{{ pkg }} 14 cp -r $src overrides/{{ pkg }}/src 15 chmod -R u+w overrides/{{ pkg }}/src 16 echo "override for {{ pkg }} created in overrides/{{ pkg }}" 17 18_nix cmd *args: 19 #!/usr/bin/env bash 20 if [ -d overrides ]; then 21 DISTRO_OVERRIDES=$PWD/overrides exec nix {{ cmd }} --impure --print-build-logs {{ args }} 22 else 23 exec nix {{ cmd }} --print-build-logs {{ args }} 24 fi 25 26build pkg: 27 #!/usr/bin/env bash 28 set -e 29 if [ ! -d "overrides/{{ pkg }}" ]; then 30 exec just _nix build .#{{ pkg }} 31 fi 32 33 mkdir -p overrides/{{ pkg }}/outputs 34 35 redirects=() 36 for package in $(ls overrides); do 37 if [[ $package =~ ^_ ]]; then 38 continue 39 fi 40 for output in $(ls overrides/$package/outputs); do 41 redirects+=(--redirect .#$package.$output $PWD/overrides/$package/outputs/$output) 42 done 43 done 44 45 cd overrides/{{ pkg }} 46 rm -rf outputs 47 mkdir outputs 48 49 exec nix develop .#{{ pkg }} --build --ignore-env "${redirects[@]}" 50 51run *args: (_nix "run" ".#runner" "--" args) 52 53serve *args: (_nix "run" ".#serve" "--" args)