====== Building Saltbush Terminal from source ====== Saltbush Terminal is written in Rust. Download ''saltbush-1.8.2-source.tar.gz'' from [[https://retro.theiguru.au/saltbush/|the download page]]. ===== Linux ===== Install Rust (rustup), a C compiler and the libssh development files (''libssh-dev'' on Debian/Ubuntu), then: tar xf saltbush-1.8.2-source.tar.gz cd saltbush-1.8.2-source cargo test cargo build --release ./target/release/saltbush ''scripts/build-packages.sh'' makes the Debian package and the tar archive. ===== Windows (cross-compiled on Linux) ===== ''scripts/build-windows.sh'' builds the Windows installer and ZIP with the ''x86_64-pc-windows-gnu'' Rust target, mingw-w64 and NSIS. It needs libssh, OpenSSL and zlib built for Windows; ''scripts/windows-env.sh'' says where they are expected. ===== macOS ===== The source supports macOS 11 or later, but it has not been built on a Mac yet. On a Mac: install the Xcode command line tools (''xcode-select --install''), Rust (rustup) and Homebrew, then ''brew install libssh openssl@3 pkg-config'' and run ''scripts/build-macos.sh''. It makes ''dist/Saltbush Terminal.app'' with libssh and OpenSSL inside, a ZIP and a DMG, signed ad hoc (on another Mac, Control-click the app and choose Open the first time). ''TARGET=x86_64-apple-darwin scripts/build-macos.sh'' builds for Intel Macs. Settings are kept in ''~/Library/Application Support/saltbush'' and passwords in the Keychain. Please report how it goes. ===== What is in the source ===== * ''src/'' — the program (terminal, connections, SSH engine, Zmodem, scripting API, Lua runner, user interface). * ''scripting/'' — the Python and Lua modules given to scripts. * ''vendored/vt100'' — the terminal parser with Saltbush's changes listed in ''SALTBUSH-PATCHES.md''. * ''examples/'' — sample scripts. Saltbush Terminal is free software under the MIT licence.