From 6513755670892983db88a6633b8c1ea6019c03d1 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 15 Nov 2024 14:55:37 -0500 Subject: Re-namespace some stuff to Omni I was getting confused about what is a product and what is internal infrastructure; I think it is good to keep those things separate. So I moved a bunch of stuff to an Omni namespace, actually most stuff went there. Only things that are explicitly external products are still in the Biz namespace. --- Biz/Ide/repl.sh | 84 --------------------------------------------------------- 1 file changed, 84 deletions(-) delete mode 100755 Biz/Ide/repl.sh (limited to 'Biz/Ide/repl.sh') diff --git a/Biz/Ide/repl.sh b/Biz/Ide/repl.sh deleted file mode 100755 index ceedb71..0000000 --- a/Biz/Ide/repl.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash -### -### a simple complement to bild which only deals with launching repls -### -### > repl [opts] -### -### Starts a repl/shell for one or more targets. (Currently, all targets must -### have the same extension for this to work.) Repls started with this script -### should bind to `localhost:$PORT`. -### -### Options: -### --bash start bash instead of the target language repl -help() { - sed -rn 's/^### ?//;T;p' "$0" -} -if [[ $# == 0 ]] || [[ "$1" == "-h" ]]; then - help - exit 1 -fi -## - set -e - CMD= - if [[ "$1" == "--bash" ]]; then - CMD="bash" - shift - fi - targets="${*:?}" - json=$(bild --plan "${targets[@]}") - mapfile -t langdeps < <(jq --raw-output '.[].langdeps | select(length > 0) | join("\n")' <<< "$json") - mapfile -t sysdeps < <(jq --raw-output '.[].sysdeps | select(length > 0) | join("\n")' <<< "$json") - mapfile -t rundeps < <(jq --raw-output '.[].rundeps | select(length > 0) | join("\n")' <<< "$json") - exts=$(jq --raw-output '.[].namespace.ext' <<< "$json" | sort | uniq) - packageSet=$(jq --raw-output '.[].packageSet' <<< "$json") - module=$(jq --raw-output '.[].mainModule' <<< "$json") - BILD="(import ${CODEROOT:?}/Biz/Bild.nix {})" - declare -a flags=(--packages "$BILD.pkgs.pkg-config") - for lib in "${sysdeps[@]}"; do - flags+=(--packages "$BILD.pkgs.${lib}") - done - for lib in "${rundeps[@]}"; do - flags+=(--packages "$BILD.pkgs.${lib}") - done - case $exts in - C) - flags+=(--packages "$BILD.pkgs.gcc") - command="bash" - ;; - Hs) - if [ -z ${var+PORT} ]; then - echo "warn: repl: ghci does not support binding to a port" - fi - flags+=(--packages "$BILD.haskell.ghcWith (h: with h; [${langdeps[*]}])") - command=${CMD:-"ghci -i${CODEROOT:?} -ghci-script ${CODEROOT:?}/.ghci ${targets[@]}"} - ;; - Scm) - for lib in "${langdeps[@]}"; do - flags+=(--packages "$BILD.guile-${lib}") - done - flags+=(--packages "$BILD.guile") - command=${CMD:-"guile -L ${CODEROOT:?} -C ${CODEROOT:?}/_/int --r7rs --listen=${PORT:-37146}"} - ;; - Lisp) - flags+=(--packages "$BILD.$packageSet (p: with p; [asdf swank ${langdeps[*]}])") - command=${CMD:-"sbcl --eval '(require :asdf)' --eval '(require :swank)' --eval '(swank:create-server :port ${PORT:-4005})' --load $targets"} - ;; - Rs) - flags+=(--packages "$BILD.pkgs.rustc") - command=bash - ;; - Py) - langdeps+=("mypy") - flags+=(--packages "$BILD.python.pythonWith (p: with p; [${langdeps[*]}])") - PYTHONPATH=$CODEROOT:$PYTHONPATH - pycommand="python -i $CODEROOT/Biz/Repl.py $module ${targets[*]}" - command=${CMD:-"$pycommand"} - ;; - *) - echo "unsupported targets: ${targets[*]}" - exit 1 - ;; - esac -## - nix-shell "${flags[@]}" --command "$command" --show-trace -## -- cgit v1.2.3