mirror of https://github.com/cy384/ssheven.git
add build script and update readme
This commit is contained in:
parent
857343a83d
commit
ef6fedb6a6
22
README.md
22
README.md
|
@ -4,7 +4,7 @@ ssheven
|
|||
-------
|
||||
A modern SSH client for Mac OS 7/8/9.
|
||||
|
||||
Project status: as of 0.8.0 ([see github releases](https://github.com/cy384/ssheven/releases)), a functional (but not completely secure) SSH client with color terminal emulation, able to login via key or password. See roadmap below for upcoming work (i.e., things that aren't done yet).
|
||||
Project status: as of 0.8.0 ([see github releases](https://github.com/cy384/ssheven/releases)), a functional SSH client with color terminal emulation, able to login via key or password. See roadmap below for upcoming work (i.e., things that aren't done yet).
|
||||
|
||||
![ssheven screenshot](http://www.cy384.com/media/img/ssheven-0.6.1-screenshot.png)
|
||||
|
||||
|
@ -13,15 +13,14 @@ system requirements
|
|||
* CPU: Any PPC processor, or at least a 25 MHz 68040/68LC040. Presently, all 68030 and 68020 CPUs are too slow.
|
||||
* RAM: 2MB.
|
||||
* Disk space: 1MB for the fat binary.
|
||||
* System 7.5 or later, earlier System 7 versions might be possible with the Thread Manager extension installed.
|
||||
* Open Transport networking required, version 1.1.1 or later recommended.
|
||||
* System 7.5 or later, possibly earlier System 7 with the Thread Manager extension.
|
||||
* Open Transport networking required, latest version possible highly recommended.
|
||||
|
||||
feature/bug-fix roadmap
|
||||
-----------------------
|
||||
0.9.0
|
||||
* clean up network ops (write fn, read safety, don't allow send until connected, quit while connected mess)
|
||||
* clean up preferences loading/saving, include key stuff, `known_hosts` reset option
|
||||
* build/packaging scripts
|
||||
* clean up network ops (write fn, read safety)
|
||||
* fix preferences loading/saving, include key stuff, add `known_hosts` reset option
|
||||
* general ssheven code cleanup
|
||||
* text selection + copy
|
||||
|
||||
|
@ -35,7 +34,6 @@ known bugs
|
|||
* initial key exchange is too slow for 68030 and 68020 systems (improve `mbedtls_mpi_exp_mod` and maybe the assembly BN code?)
|
||||
* input latency feels high? related to draw speed/frequency? (maybe try to use an "offscreen graphics world" framebuffer? big refactor)
|
||||
* receiving a large amount of data breaks the channel (e.g. `cat /dev/zero`)
|
||||
* preference file loading has issues, especially with the key paths
|
||||
* hook scrolling into vterm to reduce redraws/blanking
|
||||
|
||||
possible upcoming features
|
||||
|
@ -50,15 +48,7 @@ Uses Retro68 and cmake.
|
|||
|
||||
Requires mbedtls, libssh2, and libvterm, see my (cy384's) ports of those libraries for details. Note that you need to build/install each for both platforms (m68k and PPC).
|
||||
|
||||
* `mkdir build && cd build`
|
||||
* `cmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path/to/Retro68-build/toolchain/powerpc-apple-macos/cmake/retroppc.toolchain.cmake` or `cmake .. -DCMAKE_TOOLCHAIN_FILE=/your/path/to/Retro68-build/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake`
|
||||
* `make`
|
||||
|
||||
Use Rez to build the fat binary: join the data fork from the PPC version and the resource fork from the m68k version.
|
||||
|
||||
I have some build scripts that I'll clean up and publish with the 1.0.0 release.
|
||||
|
||||
note to self: binary resources can be extracted in MPW via: `DeRez "Macintosh HD:whatever" -skip "'CODE'" -skip "'DATA'" -skip "'RELA'" -skip "'SIZE'"` etc., this is especially useful for icons
|
||||
To build a fat binary, edit `build-ssheven.bash` with the path to your Retro68 build, and then run it.
|
||||
|
||||
license
|
||||
-------
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# set this to the root of your Retro68 build folder, e.g. ~/src/Retro68-build/
|
||||
RETRO68_PATH=change_me_please
|
||||
|
||||
echo "Set your Retro68 build path in this script and delete this line!" && exit
|
||||
|
||||
################################################################################
|
||||
echo "building PPC..."
|
||||
|
||||
rm -rf build-ppc
|
||||
mkdir build-ppc
|
||||
|
||||
cmake -S . -B build-ppc -DCMAKE_TOOLCHAIN_FILE=$RETRO68_PATH/toolchain/powerpc-apple-macos/cmake/retroppc.toolchain.cmake
|
||||
cmake --build build-ppc
|
||||
|
||||
################################################################################
|
||||
echo "building m68k..."
|
||||
|
||||
rm -rf build-m68k
|
||||
mkdir build-m68k
|
||||
|
||||
cmake -S . -B build-m68k -DCMAKE_TOOLCHAIN_FILE=$RETRO68_PATH/toolchain/m68k-apple-macos/cmake/retro68.toolchain.cmake
|
||||
cmake --build build-m68k
|
||||
|
||||
################################################################################
|
||||
echo "Rez-ing it all together..."
|
||||
|
||||
rm -rf build-fat
|
||||
mkdir build-fat
|
||||
|
||||
$RETRO68_PATH/toolchain/bin/Rez \
|
||||
$RETRO68_PATH/toolchain/m68k-apple-macos/RIncludes/RetroPPCAPPL.r \
|
||||
-I$RETRO68_PATH/toolchain/m68k-apple-macos/RIncludes \
|
||||
-DCFRAG_NAME="\"ssheven\"" \
|
||||
--copy build-m68k/ssheven.code.bin \
|
||||
-o build-fat/ssheven-fat.bin \
|
||||
--cc build-fat/ssheven-fat.dsk --cc build-fat/ssheven-fat.APPL --cc build-fat/%ssheven-fat.ad \
|
||||
-t APPL -c SSH7 \
|
||||
--data build-ppc/ssheven.pef build-ppc/ssheven.r.rsrc.bin
|
||||
|
||||
echo "done."
|
Loading…
Reference in New Issue