1.1--- a/bootstrap.lisp Fri May 24 22:04:12 2024 +0000 1.2+++ b/bootstrap.lisp Sat May 25 23:17:00 2024 -0400 1.3@@ -34,7 +34,7 @@ 1.4 (dolist (k keys table) 1.5 (setf (gethash k table) (sb-posix:getenv k)))))) 1.6 1.7-;; (info! "starting bootstrap.lisp") 1.8+(println "starting bootstrap.lisp") 1.9 ;; (println sb-sys::*machine-version*) 1.10 ;; (trace! "env:" (hash-table-alist *env*)) 1.11
2.1--- a/install.sh Fri May 24 22:04:12 2024 +0000 2.2+++ b/install.sh Sat May 25 23:17:00 2024 -0400 2.3@@ -1,7 +1,7 @@ 2.4 #!/bin/sh 2.5 set -eu 2.6 main() { 2.7- downloader --check 2.8+ download --check 2.9 2.10 get_architecture || return 1 2.11 local _arch="$RETVAL" 2.12@@ -25,9 +25,9 @@ 2.13 local _cc_url="${_url}/cc-install" 2.14 local _sbcl_url="${_url}/pack/sbcl.tar.zst" 2.15 local _rocksdb_url="${_url}/pack/rocksdb.tar.zst" 2.16- ensure downloader "$_sbcl_url" "${_stash}/sbcl.tar.zst" "$_arch" 2.17- ensure downloader "$_rocksdb_url" "${_stash}/rocksdb.tar.zst" "$_arch" 2.18- ensure downloader "$_cc_url" "${_stash}/cc-install" "$_arch" 2.19+ ensure download "$_sbcl_url" "${_stash}/sbcl.tar.zst" "$_arch" 2.20+ ensure download "$_rocksdb_url" "${_stash}/rocksdb.tar.zst" "$_arch" 2.21+ ensure download "$_cc_url" "${_stash}/cc-install" "$_arch" 2.22 } 2.23 2.24 say() { 2.25@@ -486,7 +486,7 @@ 2.26 2.27 # This wraps curl or wget. Try curl first, if not installed, 2.28 # use wget instead. 2.29-downloader() { 2.30+download() { 2.31 local _dld 2.32 local _ciphersuites 2.33 local _err
3.1--- a/makefile Fri May 24 22:04:12 2024 +0000 3.2+++ b/makefile Sat May 25 23:17:00 2024 -0400 3.3@@ -77,7 +77,7 @@ 3.4 cd $< && make static_lib DISABLE_JEMALLOC=1 3.5 3.6 rocksdb-install:$(ROCKSDB_TARGET) 3.7- cd $< && make install LIB_MODE=shared && cp -r include/* /usr/local/include/ 3.8+ cd $< && make install-shared && cp -r include/* /usr/local/include/ 3.9 3.10 ### Nushell 3.11 NUSHELL_TARGET:=build/src/nushell 3.12@@ -90,7 +90,7 @@ 3.13 cd $< && ./scripts/install-all.sh 3.14 ### SBCL 3.15 SBCL_TARGET:=build/src/sbcl 3.16-SBCL_VERSION:=2.4.4a 3.17+SBCL_VERSION:=2.4.5 3.18 $(SBCL_TARGET):scripts/get-sbcl.sh $(B) 3.19 $< 3.20 cd $(SBCL_TARGET) && \ 3.21@@ -145,7 +145,7 @@ 3.22 cargo-tools-install:scripts/install-cargo-tools.sh 3.23 $< 3.24 ### Tree-sitter 3.25-TREE_SITTER_TARGET:=build/src/tree-sitter 3.26+TREE_SIToTER_TARGET:=build/src/tree-sitter 3.27 $(TREE_SITTER_TARGET):scripts/get-tree-sitter.sh 3.28 $< 3.29 tree-sitter:$(TREE_SITTER_TARGET)
4.1--- a/scripts/box-make.sh Fri May 24 22:04:12 2024 +0000 4.2+++ b/scripts/box-make.sh Sat May 25 23:17:00 2024 -0400 4.3@@ -1,11 +1,7 @@ 4.4 #!/bin/sh 4.5- 4.6-# SHELL=nu 4.7 set -e 4.8-img="${1:-infra/box}" 4.9+img="${1:-localhost/box}" 4.10 rule="${2:-sbcl-build}" 4.11-# in nushell 4.12-cmd="cd infra; hg pull -u; make build clean dist $rule" 4.13+cmd="cd infra; skel pull ; skel make clean $rule" 4.14 podman run --name "$rule" --replace -it "$img" -c "$cmd" 4.15-podman cp --overwrite $rule:infra/dist . 4.16-podman cp --overwrite $rule:infra/build . 4.17+podman cp --overwrite $rule:infra/.stash .
5.1--- a/scripts/build-emacs-mini.sh Fri May 24 22:04:12 2024 +0000 5.2+++ b/scripts/build-emacs-mini.sh Sat May 25 23:17:00 2024 -0400 5.3@@ -1,6 +1,6 @@ 5.4 #!/usr/bin/env bash 5.5 CPUS=$(getconf _NPROCESSORS_ONLN) 5.6-TARGETDIR="${1:-build/src/emacs}" 5.7+TARGETDIR="${1:-.stash/src/emacs}" 5.8 CONFIG=(--without-all 5.9 --with-x-toolkit=no 5.10 --without-x
6.1--- a/scripts/build-emacs.sh Fri May 24 22:04:12 2024 +0000 6.2+++ b/scripts/build-emacs.sh Sat May 25 23:17:00 2024 -0400 6.3@@ -1,6 +1,6 @@ 6.4 #!/usr/bin/env bash 6.5 CPUS=$(getconf _NPROCESSORS_ONLN) 6.6-TARGETDIR="${1:-build/src/emacs}" 6.7+TARGETDIR="${1:-.stash/src/emacs}" 6.8 CONFIG=(--with-mailutils 6.9 --with-imagemagick 6.10 --with-x-toolkit=gtk
7.1--- a/scripts/bundle-code.sh Fri May 24 22:04:12 2024 +0000 7.2+++ b/scripts/bundle-code.sh Sat May 25 23:17:00 2024 -0400 7.3@@ -1,7 +1,7 @@ 7.4 #!/bin/sh 7.5 # bundle The Compiler Company source code 7.6-OUT="${2:-$HOME/dev/comp/infra/dist}" 7.7-SRC_PATH="$OUT/../build/src/code" 7.8+OUT="${2:-/tmp/dist}" 7.9+SRC_PATH="$OUT/../.stash/src/code" 7.10 BUNDLE_NAME="${1:-code}" 7.11 echo "Bundling $BUNDLE_NAME in $OUT..." 7.12 SOURCES="${3:-org core infra demo}"
8.1--- a/scripts/bundle-dir.sh Fri May 24 22:04:12 2024 +0000 8.2+++ b/scripts/bundle-dir.sh Sat May 25 23:17:00 2024 -0400 8.3@@ -2,7 +2,7 @@ 8.4 # bundle a tar.zst archive of Mercurial repositories. 8.5 # must be absolute 8.6 #WD=/mnt/y/data/packy 8.7-WD="${2:-$HOME/dev/comp/infra/dist}" 8.8+WD="${2:-/tmp/dist}" 8.9 OUT=$WD/bundle 8.10 SRC_PATH=$HOME/dev/comp 8.11 BUNDLE_NAME="${1:-code}"
9.1--- a/scripts/cargo-install.sh Fri May 24 22:04:12 2024 +0000 9.2+++ b/scripts/cargo-install.sh Sat May 25 23:17:00 2024 -0400 9.3@@ -1,2 +1,2 @@ 9.4 #!/usr/bin/env bash 9.5-cargo install --path "${1}" --root "${2:-dist/rust}" 9.6+cargo install --path "${1}" --root "${2:-.stash/src/rust}"
10.1--- a/scripts/dist-sbcl-binary.sh Fri May 24 22:04:12 2024 +0000 10.2+++ b/scripts/dist-sbcl-binary.sh Sat May 25 23:17:00 2024 -0400 10.3@@ -1,8 +1,8 @@ 10.4 #!/bin/sh 10.5 set -e 10.6 # binary dist 10.7-cd build/src/ 10.8-tar -I 'zstd' -cf ../../dist/sbcl-binary.tar.zst sbcl/output/sbcl.core sbcl/src/runtime/sbcl sbcl/output/prefix.def \ 10.9+cd .stash/src/ 10.10+tar -I 'zstd' -cf /tmp/dist/sbcl-binary.tar.zst sbcl/output/sbcl.core sbcl/src/runtime/sbcl sbcl/output/prefix.def \ 10.11 sbcl/src/runtime/sbcl.mk \ 10.12 `grep '^LIBSBCL=' sbcl/src/runtime/sbcl.mk | cut -d= -f2- | while read lib; do echo sbcl/src/runtime/$lib; done` \ 10.13 sbcl/BUGS sbcl/COPYING sbcl/CREDITS sbcl/INSTALL sbcl/NEWS sbcl/README \
11.1--- a/scripts/dist-sbcl-source.sh Fri May 24 22:04:12 2024 +0000 11.2+++ b/scripts/dist-sbcl-source.sh Sat May 25 23:17:00 2024 -0400 11.3@@ -1,6 +1,6 @@ 11.4 #!/bin/sh 11.5 set -e 11.6-cd build/src/sbcl 11.7+cd .stash/src/sbcl 11.8 sh clean.sh 11.9 cd .. 11.10 tar -I 'zstd' -cf ../../dist/sbcl-source.tar.zst --exclude .git sbcl
12.1--- a/scripts/get-cl.sh Fri May 24 22:04:12 2024 +0000 12.2+++ b/scripts/get-cl.sh Sat May 25 23:17:00 2024 -0400 12.3@@ -1,5 +1,5 @@ 12.4 #!/usr/bin/env bash 12.5-TARGETDIR=${1:-build/cl} 12.6+TARGETDIR=${1:-.stash/src/cl} 12.7 hg clone https://vc.compiler.company/comp/cl $TARGETDIR 12.8 pushd $TARGETDIR 12.9 make
13.1--- a/scripts/get-code.sh Fri May 24 22:04:12 2024 +0000 13.2+++ b/scripts/get-code.sh Sat May 25 23:17:00 2024 -0400 13.3@@ -1,7 +1,7 @@ 13.4 #!/usr/bin/env bash 13.5 # Get The Compiler Company source code 13.6 SRC="${1:-code}" 13.7-OUT=build/src/$SRC 13.8+OUT=.stash/src/$SRC 13.9 mkdir -pv $OUT 13.10 cd $OUT 13.11 wget -nc https://packy.compiler.company/bundle/$SRC.tar.zst
14.1--- a/scripts/get-ecl.sh Fri May 24 22:04:12 2024 +0000 14.2+++ b/scripts/get-ecl.sh Sat May 25 23:17:00 2024 -0400 14.3@@ -1,4 +1,4 @@ 14.4 #!/usr/bin/env bash 14.5 # get ECL source code 14.6-TARGETDIR=${1:-build/src/ecl} 14.7+TARGETDIR=${1:-.stash/src/ecl} 14.8 git clone https://vc.compiler.company/packy/ecl.git $TARGETDIR
15.1--- a/scripts/get-emacs.sh Fri May 24 22:04:12 2024 +0000 15.2+++ b/scripts/get-emacs.sh Sat May 25 23:17:00 2024 -0400 15.3@@ -1,3 +1,3 @@ 15.4 #!/usr/bin/env bash 15.5 # get Emacs source code 15.6-git clone https://vc.compiler.company/packy/emacs.git build/src/emacs 15.7+git clone https://vc.compiler.company/packy/emacs.git .stash/src/emacs
16.1--- a/scripts/get-etc.sh Fri May 24 22:04:12 2024 +0000 16.2+++ b/scripts/get-etc.sh Sat May 25 23:17:00 2024 -0400 16.3@@ -1,3 +1,3 @@ 16.4 #!/bin/bash 16.5-TARGETDIR=${1:-build/etc} 16.6+TARGETDIR=${1:-.stash/etc} 16.7 hg clone https://vc.compiler.company/comp/etc $TARGETDIR
17.1--- a/scripts/get-linux.sh Fri May 24 22:04:12 2024 +0000 17.2+++ b/scripts/get-linux.sh Sat May 25 23:17:00 2024 -0400 17.3@@ -23,7 +23,7 @@ 17.4 VER="${1:-$HOST_VER}" 17.5 17.6 # Where to download the tarball and verification data. 17.7-TARGETDIR=${2:-build/linux-$VER} 17.8+TARGETDIR=${2:-.stash/src/linux-$VER} 17.9 17.10 # For CI and other automated infrastructure, you may want to 17.11 # create a keyring containing the keys belonging to:
18.1--- a/scripts/get-lust.sh Fri May 24 22:04:12 2024 +0000 18.2+++ b/scripts/get-lust.sh Sat May 25 23:17:00 2024 -0400 18.3@@ -1,6 +1,6 @@ 18.4 #!/usr/bin/env bash 18.5 # install the Lonely Rust compiler source code 18.6-TARGETDIR=${1:-build/lust} 18.7+TARGETDIR=${1:-.stash/lust} 18.8 hg clone https://vc.compiler.company/comp/lust $TARGETDIR 18.9 pushd $TARGETDIR 18.10 make
19.1--- a/scripts/get-nushell.sh Fri May 24 22:04:12 2024 +0000 19.2+++ b/scripts/get-nushell.sh Sat May 25 23:17:00 2024 -0400 19.3@@ -1,2 +1,2 @@ 19.4 #!/bin/sh 19.5-git clone https://vc.compiler.company/packy/nushell.git build/src/nushell 19.6+git clone https://vc.compiler.company/packy/nushell.git .stash/src/nushell
20.1--- a/scripts/get-rocksdb.sh Fri May 24 22:04:12 2024 +0000 20.2+++ b/scripts/get-rocksdb.sh Sat May 25 23:17:00 2024 -0400 20.3@@ -1,3 +1,3 @@ 20.4 #!/usr/bin/env bash 20.5 # get RocksDB source code 20.6-git clone https://vc.compiler.company/packy/rocksdb.git build/src/rocksdb 20.7+git clone https://vc.compiler.company/packy/rocksdb.git .stash/src/rocksdb
21.1--- a/scripts/get-rust.sh Fri May 24 22:04:12 2024 +0000 21.2+++ b/scripts/get-rust.sh Sat May 25 23:17:00 2024 -0400 21.3@@ -8,5 +8,5 @@ 21.4 #rustup update 21.5 #rustup default nightly 21.6 21.7-TARGETDIR=${1:-build/src/rust} 21.8+TARGETDIR=${1:-.stash/src/rust} 21.9 git clone https://vc.compiler.company/packy/rust.git $TARGETDIR
22.1--- a/scripts/get-sbcl.sh Fri May 24 22:04:12 2024 +0000 22.2+++ b/scripts/get-sbcl.sh Sat May 25 23:17:00 2024 -0400 22.3@@ -1,4 +1,4 @@ 22.4 #!/usr/bin/env bash 22.5 # get SBCL source code 22.6-TARGETDIR=${1:-build/src/sbcl} 22.7+TARGETDIR=${1:-.stash/src/sbcl} 22.8 git clone https://vc.compiler.company/packy/sbcl.git $TARGETDIR
23.1--- a/scripts/get-stumpwm.sh Fri May 24 22:04:12 2024 +0000 23.2+++ b/scripts/get-stumpwm.sh Sat May 25 23:17:00 2024 -0400 23.3@@ -1,3 +1,3 @@ 23.4 #!/usr/bin/env bash 23.5 # get Emacs source code 23.6-git clone https://vc.compiler.company/packy/stumpwm.git build/src/stumpwm 23.7+git clone https://vc.compiler.company/packy/stumpwm.git .stash/src/stumpwm
24.1--- a/scripts/get-tree-sitter.sh Fri May 24 22:04:12 2024 +0000 24.2+++ b/scripts/get-tree-sitter.sh Sat May 25 23:17:00 2024 -0400 24.3@@ -1,2 +1,2 @@ 24.4 #!/usr/bin/bash 24.5-git clone https://vc.compiler.company/packy/tree-sitter.git build/src/tree-sitter 24.6+git clone https://vc.compiler.company/packy/tree-sitter.git .stash/src/tree-sitter
25.1--- a/scripts/git-vendor-pull.sh Fri May 24 22:04:12 2024 +0000 25.2+++ b/scripts/git-vendor-pull.sh Sat May 25 23:17:00 2024 -0400 25.3@@ -7,8 +7,8 @@ 25.4 REMOTE="https://$DOMAIN/$NAME" 25.5 BRANCH="${2:-master}" 25.6 REPO="ssh://git@vc.compiler.company/packy/${1}" 25.7-OUT="${3:-build/src/${1}}" 25.8-mkdir -pv build/src 25.9+OUT="${3:-.stash/src/${1}}" 25.10+mkdir -pv .stash/src 25.11 git clone $REPO $OUT 25.12 pushd $OUT 25.13 git pull $REMOTE $BRANCH
26.1--- a/scripts/init.sh Fri May 24 22:04:12 2024 +0000 26.2+++ /dev/null Thu Jan 01 00:00:00 1970 +0000 26.3@@ -1,682 +0,0 @@ 26.4-#!/bin/sh 26.5- 26.6-# run the compiler.company core installer (cc-install) 26.7- 26.8-# this script downloads and calls the 'cc-install' installer for the 26.9-# current host. Follow the prompts and read the documentation to build 26.10-# a fully compliant operator system. 26.11- 26.12-set -u 26.13- 26.14-COMPANY_UPDATE_ROOT="${COMPANY_UPDATE_ROOT:-https://packy.compiler.company/dist}" 26.15- 26.16-# this is copy/pasted from the actual release build. 26.17-usage() { 26.18- cat <<EOF 26.19-cc-install 0.1.0 (0941fa04c53d+ 2023-12-03) 26.20-The compiler.company installer 26.21- 26.22-USAGE: 26.23- cc-install [OPTIONS] 26.24- 26.25-OPTIONS: 26.26- -y Disable confirmation prompt. 26.27- -h, --help 26.28- Print help information 26.29- -V, --version 26.30- Print version information 26.31-EOF 26.32-} 26.33- 26.34-main() { 26.35- downloader --check 26.36- need_cmd uname 26.37- need_cmd mktemp 26.38- need_cmd chmod 26.39- need_cmd mkdir 26.40- need_cmd rm 26.41- need_cmd rmdir 26.42- 26.43- get_architecture || return 1 26.44- local _arch="$RETVAL" 26.45- assert_nz "$_arch" "arch" 26.46- 26.47- local _ext="" 26.48- case "$_arch" in 26.49- *windows*) 26.50- _ext=".exe" 26.51- ;; 26.52- esac 26.53- 26.54- local _url="${COMPANY_UPDATE_ROOT}/${_arch}/cc-install${_ext}" 26.55- local _dir 26.56- if ! _dir="$(ensure mktemp -d)"; then 26.57- # Because the previous command ran in a subshell, we must manually 26.58- # propagate exit status. 26.59- exit 1 26.60- fi 26.61- local _file="${_dir}/cc-install${_ext}" 26.62- 26.63- local _ansi_escapes_are_valid=false 26.64- if [ -t 2 ]; then 26.65- if [ "${TERM+set}" = 'set' ]; then 26.66- case "$TERM" in 26.67- xterm*|rxvt*|urxvt*|linux*|vt*) 26.68- _ansi_escapes_are_valid=true 26.69- ;; 26.70- esac 26.71- fi 26.72- fi 26.73- 26.74- # check if we have to use /dev/tty to prompt the user 26.75- local need_tty=yes 26.76- for arg in "$@"; do 26.77- case "$arg" in 26.78- --help) 26.79- usage 26.80- exit 0 26.81- ;; 26.82- *) 26.83- OPTIND=1 26.84- if [ "${arg%%--*}" = "" ]; then 26.85- # Long option (other than --help); 26.86- # don't attempt to interpret it. 26.87- continue 26.88- fi 26.89- while getopts :hy sub_arg "$arg"; do 26.90- case "$sub_arg" in 26.91- h) 26.92- usage 26.93- exit 0 26.94- ;; 26.95- y) 26.96- # user wants to skip the prompt -- 26.97- # we don't need /dev/tty 26.98- need_tty=no 26.99- ;; 26.100- *) 26.101- ;; 26.102- esac 26.103- done 26.104- ;; 26.105- esac 26.106- done 26.107- 26.108- if $_ansi_escapes_are_valid; then 26.109- printf "\33[1minfo:\33[0m downloading installer\n" 1>&2 26.110- else 26.111- printf '%s\n' 'info: downloading installer' 1>&2 26.112- fi 26.113- 26.114- ensure mkdir -p "$_dir" 26.115- ensure downloader "$_url" "$_file" "$_arch" 26.116- ensure chmod u+x "$_file" 26.117- if [ ! -x "$_file" ]; then 26.118- printf '%s\n' "Cannot execute $_file (likely because of mounting /tmp as noexec)." 1>&2 26.119- printf '%s\n' "Please copy the file to a location where you can execute binaries and run ./cc-install${_ext}." 1>&2 26.120- exit 1 26.121- fi 26.122- 26.123- if [ "$need_tty" = "yes" ] && [ ! -t 0 ]; then 26.124- # The installer is going to want to ask for confirmation by 26.125- # reading stdin. This script was piped into `sh` though and 26.126- # doesn't have stdin to pass to its children. Instead we're going 26.127- # to explicitly connect /dev/tty to the installer's stdin. 26.128- if [ ! -t 1 ]; then 26.129- err "Unable to run interactively. Run with -y to accept defaults, --help for additional options" 26.130- fi 26.131- 26.132- ignore "$_file" "$@" < /dev/tty 26.133- else 26.134- ignore "$_file" "$@" 26.135- fi 26.136- 26.137- local _retval=$? 26.138- 26.139- ignore rm "$_file" 26.140- ignore rmdir "$_dir" 26.141- 26.142- return "$_retval" 26.143-} 26.144- 26.145-check_proc() { 26.146- # Check for /proc by looking for the /proc/self/exe link 26.147- # This is only run on Linux 26.148- if ! test -L /proc/self/exe ; then 26.149- err "fatal: Unable to find /proc/self/exe. Is /proc mounted? Installation cannot proceed without /proc." 26.150- fi 26.151-} 26.152- 26.153-get_bitness() { 26.154- need_cmd head 26.155- # Architecture detection without dependencies beyond coreutils. 26.156- # ELF files start out "\x7fELF", and the following byte is 26.157- # 0x01 for 32-bit and 26.158- # 0x02 for 64-bit. 26.159- # The printf builtin on some shells like dash only supports octal 26.160- # escape sequences, so we use those. 26.161- local _current_exe_head 26.162- _current_exe_head=$(head -c 5 /proc/self/exe ) 26.163- if [ "$_current_exe_head" = "$(printf '\177ELF\001')" ]; then 26.164- echo 32 26.165- elif [ "$_current_exe_head" = "$(printf '\177ELF\002')" ]; then 26.166- echo 64 26.167- else 26.168- err "unknown platform bitness" 26.169- fi 26.170-} 26.171- 26.172-is_host_amd64_elf() { 26.173- need_cmd head 26.174- need_cmd tail 26.175- # ELF e_machine detection without dependencies beyond coreutils. 26.176- # Two-byte field at offset 0x12 indicates the CPU, 26.177- # but we're interested in it being 0x3E to indicate amd64, or not that. 26.178- local _current_exe_machine 26.179- _current_exe_machine=$(head -c 19 /proc/self/exe | tail -c 1) 26.180- [ "$_current_exe_machine" = "$(printf '\076')" ] 26.181-} 26.182- 26.183-get_endianness() { 26.184- local cputype=$1 26.185- local suffix_eb=$2 26.186- local suffix_el=$3 26.187- 26.188- # detect endianness without od/hexdump, like get_bitness() does. 26.189- need_cmd head 26.190- need_cmd tail 26.191- 26.192- local _current_exe_endianness 26.193- _current_exe_endianness="$(head -c 6 /proc/self/exe | tail -c 1)" 26.194- if [ "$_current_exe_endianness" = "$(printf '\001')" ]; then 26.195- echo "${cputype}${suffix_el}" 26.196- elif [ "$_current_exe_endianness" = "$(printf '\002')" ]; then 26.197- echo "${cputype}${suffix_eb}" 26.198- else 26.199- err "unknown platform endianness" 26.200- fi 26.201-} 26.202- 26.203-get_architecture() { 26.204- local _ostype _cputype _bitness _arch _clibtype 26.205- _ostype="$(uname -s)" 26.206- _cputype="$(uname -m)" 26.207- _clibtype="gnu" 26.208- 26.209- if [ "$_ostype" = Linux ]; then 26.210- if [ "$(uname -o)" = Android ]; then 26.211- _ostype=Android 26.212- fi 26.213- if ldd --version 2>&1 | grep -q 'musl'; then 26.214- _clibtype="musl" 26.215- fi 26.216- fi 26.217- 26.218- if [ "$_ostype" = Darwin ] && [ "$_cputype" = i386 ]; then 26.219- # Darwin `uname -m` lies 26.220- if sysctl hw.optional.x86_64 | grep -q ': 1'; then 26.221- _cputype=x86_64 26.222- fi 26.223- fi 26.224- 26.225- if [ "$_ostype" = SunOS ]; then 26.226- # Both Solaris and illumos presently announce as "SunOS" in "uname -s" 26.227- # so use "uname -o" to disambiguate. We use the full path to the 26.228- # system uname in case the user has coreutils uname first in PATH, 26.229- # which has historically sometimes printed the wrong value here. 26.230- if [ "$(/usr/bin/uname -o)" = illumos ]; then 26.231- _ostype=illumos 26.232- fi 26.233- 26.234- # illumos systems have multi-arch userlands, and "uname -m" reports the 26.235- # machine hardware name; e.g., "i86pc" on both 32- and 64-bit x86 26.236- # systems. Check for the native (widest) instruction set on the 26.237- # running kernel: 26.238- if [ "$_cputype" = i86pc ]; then 26.239- _cputype="$(isainfo -n)" 26.240- fi 26.241- fi 26.242- 26.243- case "$_ostype" in 26.244- 26.245- Android) 26.246- _ostype=linux-android 26.247- ;; 26.248- 26.249- Linux) 26.250- check_proc 26.251- _ostype=unknown-linux-$_clibtype 26.252- _bitness=$(get_bitness) 26.253- ;; 26.254- 26.255- FreeBSD) 26.256- _ostype=unknown-freebsd 26.257- ;; 26.258- 26.259- NetBSD) 26.260- _ostype=unknown-netbsd 26.261- ;; 26.262- 26.263- DragonFly) 26.264- _ostype=unknown-dragonfly 26.265- ;; 26.266- 26.267- Darwin) 26.268- _ostype=apple-darwin 26.269- ;; 26.270- 26.271- illumos) 26.272- _ostype=unknown-illumos 26.273- ;; 26.274- 26.275- MINGW* | MSYS* | CYGWIN* | Windows_NT) 26.276- _ostype=pc-windows-gnu 26.277- ;; 26.278- 26.279- *) 26.280- err "unrecognized OS type: $_ostype" 26.281- ;; 26.282- 26.283- esac 26.284- 26.285- case "$_cputype" in 26.286- 26.287- i386 | i486 | i686 | i786 | x86) 26.288- _cputype=i686 26.289- ;; 26.290- 26.291- xscale | arm) 26.292- _cputype=arm 26.293- if [ "$_ostype" = "linux-android" ]; then 26.294- _ostype=linux-androideabi 26.295- fi 26.296- ;; 26.297- 26.298- armv6l) 26.299- _cputype=arm 26.300- if [ "$_ostype" = "linux-android" ]; then 26.301- _ostype=linux-androideabi 26.302- else 26.303- _ostype="${_ostype}eabihf" 26.304- fi 26.305- ;; 26.306- 26.307- armv7l | armv8l) 26.308- _cputype=armv7 26.309- if [ "$_ostype" = "linux-android" ]; then 26.310- _ostype=linux-androideabi 26.311- else 26.312- _ostype="${_ostype}eabihf" 26.313- fi 26.314- ;; 26.315- 26.316- aarch64 | arm64) 26.317- _cputype=aarch64 26.318- ;; 26.319- 26.320- x86_64 | x86-64 | x64 | amd64) 26.321- _cputype=x86_64 26.322- ;; 26.323- 26.324- mips) 26.325- _cputype=$(get_endianness mips '' el) 26.326- ;; 26.327- 26.328- mips64) 26.329- if [ "$_bitness" -eq 64 ]; then 26.330- # only n64 ABI is supported for now 26.331- _ostype="${_ostype}abi64" 26.332- _cputype=$(get_endianness mips64 '' el) 26.333- fi 26.334- ;; 26.335- 26.336- ppc) 26.337- _cputype=powerpc 26.338- ;; 26.339- 26.340- ppc64) 26.341- _cputype=powerpc64 26.342- ;; 26.343- 26.344- ppc64le) 26.345- _cputype=powerpc64le 26.346- ;; 26.347- 26.348- s390x) 26.349- _cputype=s390x 26.350- ;; 26.351- riscv64) 26.352- _cputype=riscv64gc 26.353- ;; 26.354- loongarch64) 26.355- _cputype=loongarch64 26.356- ;; 26.357- *) 26.358- err "unknown CPU type: $_cputype" 26.359- 26.360- esac 26.361- 26.362- # Detect 64-bit linux with 32-bit userland 26.363- if [ "${_ostype}" = unknown-linux-gnu ] && [ "${_bitness}" -eq 32 ]; then 26.364- case $_cputype in 26.365- x86_64) 26.366- if [ -n "${CPUTYPE:-}" ]; then 26.367- _cputype="$CPUTYPE" 26.368- else { 26.369- # 32-bit executable for amd64 = x32 26.370- if is_host_amd64_elf; then { 26.371- echo "This host is running an x32 userland; as it stands, x32 support is poor," 1>&2 26.372- echo "and there isn't a native toolchain -- you will have to install" 1>&2 26.373- echo "multiarch compatibility with i686 and/or amd64, then select one" 1>&2 26.374- echo "by re-running this script with the CPUTYPE environment variable" 1>&2 26.375- echo "set to i686 or x86_64, respectively." 1>&2 26.376- exit 1 26.377- }; else 26.378- _cputype=i686 26.379- fi 26.380- }; fi 26.381- ;; 26.382- mips64) 26.383- _cputype=$(get_endianness mips '' el) 26.384- ;; 26.385- powerpc64) 26.386- _cputype=powerpc 26.387- ;; 26.388- aarch64) 26.389- _cputype=armv7 26.390- if [ "$_ostype" = "linux-android" ]; then 26.391- _ostype=linux-androideabi 26.392- else 26.393- _ostype="${_ostype}eabihf" 26.394- fi 26.395- ;; 26.396- riscv64gc) 26.397- err "riscv64 with 32-bit userland unsupported" 26.398- ;; 26.399- esac 26.400- fi 26.401- 26.402- if [ "$_ostype" = "unknown-linux-gnueabihf" ] && [ "$_cputype" = armv7 ]; then 26.403- if ensure grep '^Features' /proc/cpuinfo | grep -q -v neon; then 26.404- # At least one processor does not have NEON. 26.405- _cputype=arm 26.406- fi 26.407- fi 26.408- 26.409- _arch="${_cputype}-${_ostype}" 26.410- 26.411- RETVAL="$_arch" 26.412-} 26.413- 26.414-say() { 26.415- printf 'compiler.company: %s\n' "$1" 26.416-} 26.417- 26.418-err() { 26.419- say "$1" >&2 26.420- exit 1 26.421-} 26.422- 26.423-need_cmd() { 26.424- if ! check_cmd "$1"; then 26.425- err "need '$1' (command not found)" 26.426- fi 26.427-} 26.428- 26.429-check_cmd() { 26.430- command -v "$1" > /dev/null 2>&1 26.431-} 26.432- 26.433-assert_nz() { 26.434- if [ -z "$1" ]; then err "assert_nz $2"; fi 26.435-} 26.436- 26.437-# Run a command that should never fail. If the command fails execution 26.438-# will immediately terminate with an error showing the failing 26.439-# command. 26.440-ensure() { 26.441- if ! "$@"; then err "command failed: $*"; fi 26.442-} 26.443- 26.444-# This is just for indicating that commands' results are being 26.445-# intentionally ignored. Usually, because it's being executed 26.446-# as part of error handling. 26.447-ignore() { 26.448- "$@" 26.449-} 26.450- 26.451-# This wraps curl or wget. Try curl first, if not installed, 26.452-# use wget instead. 26.453-downloader() { 26.454- local _dld 26.455- local _ciphersuites 26.456- local _err 26.457- local _status 26.458- local _retry 26.459- if check_cmd curl; then 26.460- _dld=curl 26.461- elif check_cmd wget; then 26.462- _dld=wget 26.463- else 26.464- _dld='curl or wget' # to be used in error message of need_cmd 26.465- fi 26.466- 26.467- if [ "$1" = --check ]; then 26.468- need_cmd "$_dld" 26.469- elif [ "$_dld" = curl ]; then 26.470- check_curl_for_retry_support 26.471- _retry="$RETVAL" 26.472- get_ciphersuites_for_curl 26.473- _ciphersuites="$RETVAL" 26.474- if [ -n "$_ciphersuites" ]; then 26.475- _err=$(curl $_retry --proto '=https' --tlsv1.2 --ciphers "$_ciphersuites" --silent --show-error --fail --location "$1" --output "$2" 2>&1) 26.476- _status=$? 26.477- else 26.478- echo "Warning: Not enforcing strong cipher suites for TLS, this is potentially less secure" 26.479- if ! check_help_for "$3" curl --proto --tlsv1.2; then 26.480- echo "Warning: Not enforcing TLS v1.2, this is potentially less secure" 26.481- _err=$(curl $_retry --silent --show-error --fail --location "$1" --output "$2" 2>&1) 26.482- _status=$? 26.483- else 26.484- _err=$(curl $_retry --proto '=https' --tlsv1.2 --silent --show-error --fail --location "$1" --output "$2" 2>&1) 26.485- _status=$? 26.486- fi 26.487- fi 26.488- if [ -n "$_err" ]; then 26.489- echo "$_err" >&2 26.490- if echo "$_err" | grep -q 404$; then 26.491- err "installer for platform '$3' not found, this may be unsupported" 26.492- fi 26.493- fi 26.494- return $_status 26.495- elif [ "$_dld" = wget ]; then 26.496- if [ "$(wget -V 2>&1|head -2|tail -1|cut -f1 -d" ")" = "BusyBox" ]; then 26.497- echo "Warning: using the BusyBox version of wget. Not enforcing strong cipher suites for TLS or TLS v1.2, this is potentially less secure" 26.498- _err=$(wget "$1" -O "$2" 2>&1) 26.499- _status=$? 26.500- else 26.501- get_ciphersuites_for_wget 26.502- _ciphersuites="$RETVAL" 26.503- if [ -n "$_ciphersuites" ]; then 26.504- _err=$(wget --https-only --secure-protocol=TLSv1_2 --ciphers "$_ciphersuites" "$1" -O "$2" 2>&1) 26.505- _status=$? 26.506- else 26.507- echo "Warning: Not enforcing strong cipher suites for TLS, this is potentially less secure" 26.508- if ! check_help_for "$3" wget --https-only --secure-protocol; then 26.509- echo "Warning: Not enforcing TLS v1.2, this is potentially less secure" 26.510- _err=$(wget "$1" -O "$2" 2>&1) 26.511- _status=$? 26.512- else 26.513- _err=$(wget --https-only --secure-protocol=TLSv1_2 "$1" -O "$2" 2>&1) 26.514- _status=$? 26.515- fi 26.516- fi 26.517- fi 26.518- if [ -n "$_err" ]; then 26.519- echo "$_err" >&2 26.520- if echo "$_err" | grep -q ' 404 Not Found$'; then 26.521- err "installer for platform '$3' not found, this may be unsupported" 26.522- fi 26.523- fi 26.524- return $_status 26.525- else 26.526- err "Unknown downloader" # should not reach here 26.527- fi 26.528-} 26.529- 26.530-check_help_for() { 26.531- local _arch 26.532- local _cmd 26.533- local _arg 26.534- _arch="$1" 26.535- shift 26.536- _cmd="$1" 26.537- shift 26.538- 26.539- local _category 26.540- if "$_cmd" --help | grep -q 'For all options use the manual or "--help all".'; then 26.541- _category="all" 26.542- else 26.543- _category="" 26.544- fi 26.545- 26.546- case "$_arch" in 26.547- 26.548- *darwin*) 26.549- if check_cmd sw_vers; then 26.550- case $(sw_vers -productVersion) in 26.551- 10.*) 26.552- # If we're running on macOS, older than 10.13, then we always 26.553- # fail to find these options to force fallback 26.554- if [ "$(sw_vers -productVersion | cut -d. -f2)" -lt 13 ]; then 26.555- # Older than 10.13 26.556- echo "Warning: Detected macOS platform older than 10.13" 26.557- return 1 26.558- fi 26.559- ;; 26.560- 11.*) 26.561- # We assume Big Sur will be OK for now 26.562- ;; 26.563- *) 26.564- # Unknown product version, warn and continue 26.565- echo "Warning: Detected unknown macOS major version: $(sw_vers -productVersion)" 26.566- echo "Warning TLS capabilities detection may fail" 26.567- ;; 26.568- esac 26.569- fi 26.570- ;; 26.571- 26.572- esac 26.573- 26.574- for _arg in "$@"; do 26.575- if ! "$_cmd" --help "$_category" | grep -q -- "$_arg"; then 26.576- return 1 26.577- fi 26.578- done 26.579- 26.580- true # not strictly needed 26.581-} 26.582- 26.583-# Check if curl supports the --retry flag, then pass it to the curl invocation. 26.584-check_curl_for_retry_support() { 26.585- local _retry_supported="" 26.586- # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. 26.587- if check_help_for "notspecified" "curl" "--retry"; then 26.588- _retry_supported="--retry 3" 26.589- if check_help_for "notspecified" "curl" "--continue-at"; then 26.590- # "-C -" tells curl to automatically find where to resume the download when retrying. 26.591- _retry_supported="--retry 3 -C -" 26.592- fi 26.593- fi 26.594- 26.595- RETVAL="$_retry_supported" 26.596-} 26.597- 26.598-# Return cipher suite string specified by user, otherwise return strong TLS 1.2-1.3 cipher suites 26.599-# if support by local tools is detected. Detection currently supports these curl backends: 26.600-# GnuTLS and OpenSSL (possibly also LibreSSL and BoringSSL). Return value can be empty. 26.601-get_ciphersuites_for_curl() { 26.602- if [ -n "${COMPANY_TLS_CIPHERSUITES-}" ]; then 26.603- # user specified custom cipher suites, assume they know what they're doing 26.604- RETVAL="$COMPANY_TLS_CIPHERSUITES" 26.605- return 26.606- fi 26.607- 26.608- local _openssl_syntax="no" 26.609- local _gnutls_syntax="no" 26.610- local _backend_supported="yes" 26.611- if curl -V | grep -q ' OpenSSL/'; then 26.612- _openssl_syntax="yes" 26.613- elif curl -V | grep -iq ' LibreSSL/'; then 26.614- _openssl_syntax="yes" 26.615- elif curl -V | grep -iq ' BoringSSL/'; then 26.616- _openssl_syntax="yes" 26.617- elif curl -V | grep -iq ' GnuTLS/'; then 26.618- _gnutls_syntax="yes" 26.619- else 26.620- _backend_supported="no" 26.621- fi 26.622- 26.623- local _args_supported="no" 26.624- if [ "$_backend_supported" = "yes" ]; then 26.625- # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. 26.626- if check_help_for "notspecified" "curl" "--tlsv1.2" "--ciphers" "--proto"; then 26.627- _args_supported="yes" 26.628- fi 26.629- fi 26.630- 26.631- local _cs="" 26.632- if [ "$_args_supported" = "yes" ]; then 26.633- if [ "$_openssl_syntax" = "yes" ]; then 26.634- _cs=$(get_strong_ciphersuites_for "openssl") 26.635- elif [ "$_gnutls_syntax" = "yes" ]; then 26.636- _cs=$(get_strong_ciphersuites_for "gnutls") 26.637- fi 26.638- fi 26.639- 26.640- RETVAL="$_cs" 26.641-} 26.642- 26.643-# Return cipher suite string specified by user, otherwise return strong TLS 1.2-1.3 cipher suites 26.644-# if support by local tools is detected. Detection currently supports these wget backends: 26.645-# GnuTLS and OpenSSL (possibly also LibreSSL and BoringSSL). Return value can be empty. 26.646-get_ciphersuites_for_wget() { 26.647- if [ -n "${COMPANY_TLS_CIPHERSUITES-}" ]; then 26.648- # user specified custom cipher suites, assume they know what they're doing 26.649- RETVAL="$COMPANY_TLS_CIPHERSUITES" 26.650- return 26.651- fi 26.652- 26.653- local _cs="" 26.654- if wget -V | grep -q '\-DHAVE_LIBSSL'; then 26.655- # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. 26.656- if check_help_for "notspecified" "wget" "TLSv1_2" "--ciphers" "--https-only" "--secure-protocol"; then 26.657- _cs=$(get_strong_ciphersuites_for "openssl") 26.658- fi 26.659- elif wget -V | grep -q '\-DHAVE_LIBGNUTLS'; then 26.660- # "unspecified" is for arch, allows for possibility old OS using macports, homebrew, etc. 26.661- if check_help_for "notspecified" "wget" "TLSv1_2" "--ciphers" "--https-only" "--secure-protocol"; then 26.662- _cs=$(get_strong_ciphersuites_for "gnutls") 26.663- fi 26.664- fi 26.665- 26.666- RETVAL="$_cs" 26.667-} 26.668- 26.669-# Return strong TLS 1.2-1.3 cipher suites in OpenSSL or GnuTLS syntax. TLS 1.2 26.670-# excludes non-ECDHE and non-AEAD cipher suites. DHE is excluded due to bad 26.671-# DH params often found on servers (see RFC 7919). Sequence matches or is 26.672-# similar to Firefox 68 ESR with weak cipher suites disabled via about:config. 26.673-# $1 must be openssl or gnutls. 26.674-get_strong_ciphersuites_for() { 26.675- if [ "$1" = "openssl" ]; then 26.676- # OpenSSL is forgiving of unknown values, no problems with TLS 1.3 values on versions that don't support it yet. 26.677- echo "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384" 26.678- elif [ "$1" = "gnutls" ]; then 26.679- # GnuTLS isn't forgiving of unknown values, so this may require a GnuTLS version that supports TLS 1.3 even if wget doesn't. 26.680- # Begin with SECURE128 (and higher) then remove/add to build cipher suites. Produces same 9 cipher suites as OpenSSL but in slightly different order. 26.681- echo "SECURE128:-VERS-SSL3.0:-VERS-TLS1.0:-VERS-TLS1.1:-VERS-DTLS-ALL:-CIPHER-ALL:-MAC-ALL:-KX-ALL:+AEAD:+ECDHE-ECDSA:+ECDHE-RSA:+AES-128-GCM:+CHACHA20-POLY1305:+AES-256-GCM" 26.682- fi 26.683-} 26.684- 26.685-main "$@" || exit 1
27.1--- a/scripts/install-core-pack.sh Fri May 24 22:04:12 2024 +0000 27.2+++ b/scripts/install-core-pack.sh Sat May 25 23:17:00 2024 -0400 27.3@@ -1,6 +1,6 @@ 27.4 #!/bin/sh 27.5 set -e 27.6-cd build/src 27.7+cd .stash/src 27.8 curl -O https://packy.compiler.company/dist/x86_64-unknown-linux-gnu/core.tar.zst 27.9 unzstd core.tar.zst 27.10 tar -xvf core.tar
28.1--- a/scripts/install-emacs-mini-pack.sh Fri May 24 22:04:12 2024 +0000 28.2+++ b/scripts/install-emacs-mini-pack.sh Sat May 25 23:17:00 2024 -0400 28.3@@ -1,6 +1,6 @@ 28.4 #!/bin/sh 28.5 set -e 28.6-cd build/src 28.7+cd .stash/src 28.8 curl -O https://packy.compiler.company/dist/x86_64-unknown-linux-gnu/emacs-mini.tar.zst 28.9 unzstd emacs-mini.tar.zst 28.10 tar -xvf emacs-mini.tar
29.1--- a/scripts/install-emacs-pack.sh Fri May 24 22:04:12 2024 +0000 29.2+++ b/scripts/install-emacs-pack.sh Sat May 25 23:17:00 2024 -0400 29.3@@ -1,6 +1,6 @@ 29.4 #!/bin/sh 29.5 set -e 29.6-cd build/src 29.7+cd .stash/src 29.8 curl -O https://packy.compiler.company/dist/x86_64-unknown-linux-gnu/emacs.tar.zst 29.9 unzstd emacs.tar.zst 29.10 tar -xvf emacs.tar
30.1--- a/scripts/install-nushell-pack.sh Fri May 24 22:04:12 2024 +0000 30.2+++ b/scripts/install-nushell-pack.sh Sat May 25 23:17:00 2024 -0400 30.3@@ -1,6 +1,6 @@ 30.4 #!/bin/sh 30.5 set -e 30.6-cd build/src 30.7+cd .stash/src 30.8 mkdir nushell && cd nushell 30.9 curl -O https://packy.compiler.company/dist/x86_64-unknown-linux-gnu/nushell.tar.zst 30.10 unzstd nushell.tar.zst
31.1--- a/scripts/install-rocksdb-pack.sh Fri May 24 22:04:12 2024 +0000 31.2+++ b/scripts/install-rocksdb-pack.sh Sat May 25 23:17:00 2024 -0400 31.3@@ -2,7 +2,7 @@ 31.4 # the rocksdb pack only includes the shared library and headers. the 31.5 # static library is shipped separately. 31.6 set -e 31.7-cd build/src 31.8+cd .stash/src 31.9 curl -O https://packy.compiler.company/dist/x86_64-unknown-linux-gnu/rocksdb.tar.zst 31.10 unzstd rocksdb.tar.zst 31.11 tar -xvf rocksdb.tar
32.1--- a/scripts/install-sbcl-pack.sh Fri May 24 22:04:12 2024 +0000 32.2+++ b/scripts/install-sbcl-pack.sh Sat May 25 23:17:00 2024 -0400 32.3@@ -1,6 +1,6 @@ 32.4 #!/bin/sh 32.5 set -e 32.6-cd build/src 32.7+cd .stash/src 32.8 curl -O https://packy.compiler.company/dist/x86_64-unknown-linux-gnu/sbcl.tar.zst 32.9 unzstd sbcl.tar.zst 32.10 tar -xvf sbcl.tar
33.1--- a/scripts/quicklisp-install.sh Fri May 24 22:04:12 2024 +0000 33.2+++ b/scripts/quicklisp-install.sh Sat May 25 23:17:00 2024 -0400 33.3@@ -12,5 +12,5 @@ 33.4 fi 33.5 # installs to /usr/local/share/lisp 33.6 sbcl --non-interactive \ 33.7- --load build/quicklisp.lisp \ 33.8+ --load .stash/quicklisp.lisp \ 33.9 --eval "(quicklisp-quickstart:install :path \"/usr/local/share/quicklisp\" :dist-version $QUICKLISP_DIST_VERSION :client-version $QUICKLISP_CLIENT_VERSION)"
34.1--- a/scripts/tree-sitter-install-langs.sh Fri May 24 22:04:12 2024 +0000 34.2+++ b/scripts/tree-sitter-install-langs.sh Sat May 25 23:17:00 2024 -0400 34.3@@ -9,7 +9,7 @@ 34.4 ) 34.5 # see https://tree-sitter.github.io/tree-sitter/#parsers for a 34.6 # complete list of parsers available 34.7-TARGETDIR="${1:-build/src/tree-sitter-langs}" 34.8+TARGETDIR="${1:-.stash/src/tree-sitter-langs}" 34.9 PREFIX=${PREFIX:-/usr/local} 34.10 CC=${CC:-clang} 34.11 CXX=${CXX:-clang++}
35.1--- a/skelfile Fri May 24 22:04:12 2024 +0000 35.2+++ b/skelfile Sat May 25 23:17:00 2024 -0400 35.3@@ -8,16 +8,34 @@ 35.4 :vc (:hg "https://vc.compiler.company/comp/infra") 35.5 :docs ((:org "readme")) 35.6 :scripts "scripts" 35.7-:rules 35.8-((default (emacs rocksdb sbcl rust)) 35.9- (emacs () #$make emacs-build$#) 35.10- (emacs () #$make emacs-build-mini$#) 35.11- (rocksdb () #$make rocksdb-build-shared$#) 35.12- (rocksdb-static () #$make rocksdb-build-static$#) 35.13- (sbcl () #$make sbcl-build-shared$#) 35.14- (quicklisp () #$make quicklisp-install$#) 35.15- (stumpwm () #$make stumpwm-build$#) 35.16- (tree-sitter () #$make tree-sitter-build$#) 35.17+:rules 35.18+((check (#$./check.sh$#)) 35.19+ (archlinux () #$podman build -f containers/Containerfile.archlinux -t localhost/archlinux$#) 35.20+ (alpine () #$podman build -f containers/Containerfile.alpine -t localhost/alpine$#) 35.21+ (ubuntu () #$podman build -f containers/Containerfile.alpine -t localhost/alpine$#) 35.22+ (box (archlinux) #$podman build -f containers/Containerfile.box -t localhost/box$#) 35.23+ (worker (alpine) #$podman build -f containers/Containerfile.worker -t localhost/worker$#) 35.24+ (operator (box) #$podman build -f containers/Containerfile.operator -t localhost/operator$#) 35.25+ (containers (archlinux alpine ubuntu box worker operator)) 35.26+ (src () #$mkdir -pv .stash/src$#) 35.27+ (emacs (src) #$./scripts/get-emacs.sh$# 35.28+ #$cd .stash/src/emacs && ./autogen.sh$# 35.29+ #$scripts/build-emacs.sh$#) 35.30+ (emacs-mini (src) 35.31+ #$cd .stash/src/emacs && ./autogen.sh$# 35.32+ #$scripts/build-emacs-mini.sh$#) 35.33+ (rocksdb (src) #$make rocksdb-build-shared$#) 35.34+ (rocksdb-static (src) #$make rocksdb-build-static$#) 35.35+ (sbcl (src) #$cd .stash/src/sbcl && 35.36+ ./make.sh --dynamic-space-size=8Gb --without-gencgc --with-mark-region-gc --fancy$#) 35.37+ (sbcl-gencgc (src) #$cd .stash/src/sbcl && 35.38+ ./make.sh --dynamic-space-size=8Gb --fancy$#) 35.39+ (quicklisp () #$cd .stash && curl -O https://beta.quicklisp.org/quicklisp.lisp$# 35.40+ #$./scripts/quicklisp-install.sh$#) 35.41+ (stumpwm (src) #$scripts/get-stumpwm.sh$# 35.42+ #$cd .stash/src/stumpwm && ./autogen.sh && ./configure && make$#) 35.43+ (tree-sitter (src) #$scripts/get-tree-sitter.sh$#) 35.44 (linux () #$make linux$#) 35.45- (clean () #$make clean$#) 35.46- (rust () #$make rust$#)) 35.47+ (clean () #$rm -vf .stash$#) 35.48+ (rust () #$make rust$#) 35.49+ (rustup () #$curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y$#))