From d1fe834e6f9e01cf40f107807199099730ecee10 Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Thu, 21 Oct 2021 23:19:37 -0700 Subject: [PATCH] Move material from 'release-notes' to README (#526) * Move material from 'release-notes' to README * Remove extra junk files from Lispusers DATE and PLAINTEXTSTREAM * Update README instructions per feedback; add a BUILDING readme --- BUILDING.md | 16 +++++++++++ README.md | 75 ++++++++++++++++++++++++++++++++++++++---------- release-notes.md | 41 ++------------------------ 3 files changed, 79 insertions(+), 53 deletions(-) create mode 100644 BUILDING.md diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 00000000..255d6606 --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,16 @@ +# How to build a medley release + +Originally done only with shell scripts: + +./scripts/loadup-all.sh +./scripts/loadup-and-release.sh + + +# Using github actions + +In the github medley repository (Interlisp/medley) go to the Actions tab. + +It should list the available github actions, select the bottom one, Build Medley Release. + +In the middle of the screen there's a box labeled workflow runs. +There should be a row in it that states 'This workflow has a workflow_dispatch event trigger' with a drop down menu (it really looks more like a button) on the right side labeled 'Run workflow'. Select that and you'll get a form allowing you to select the branch (I've only used Master) and enter the release name. Enter a name or leave it empty and press the green 'Run workflow' button. The workflow should queue up and run. diff --git a/README.md b/README.md index 68295c36..cbf5b624 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,72 @@ # Medley - - - This repository is for the Lisp environment of [Medley Interlisp](https://Interlisp.org). -We've made great process in sorting out what we have (some dusty corners notwithstanding), but there's quite a bit more work to do. Please report problems! +See the [Medley Interlisp Wiki](https://github.com/Interlisp/medley/wiki/) for an overview and pointers to available documentation. -See [Medley Interlisp Wiki](https://github.com/Interlisp/medley/wiki/) for an overview, and other pointers. +A sub-project is [Interlisp/maiko](https://github.com/Interlisp/maiko), which is the implementation (in C) of the Medley virtual machine. -A sub-project is [Interlisp/maiko](https://github.com/Interlisp/maiko), which is the implementation (in C) of the Medley virtual machine. +## Using releases + +There currently are separate releases of medley and maiko; get the latest version of each. +There (soon) will also be Docker containers with the latest, and a way to try out Medley in the cloud (without installing). -## Instructions for Building and Running +### Getting releases + +Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). You'll need the one corresponding to your operating system and processor (for Windows with WSL or Intel linux, use `linux.x86_64`; for Macs use `darwin.x86_64` for Intel and `darwin.aarch64` for M1.) + +Or, build your own maiko (the binaries `lde` `ldex` and `ldeinit`.) We can build for other OS arch pairs depending on what is available for GitHub actions. + +The medley release comes in two parts, found [here](https://github.com/Interlisp/medley/releases) +1. The "loadups" (download `medley-`YYMMDD`-loadups.tgz`) +2. The "runtime" (download `medley-`YYMMDD`-runtime.tgz`) + +You don't need the "runtime" if you've cloned this (medley) repo. +If you happen to have the 'gh' GitHub command line installed you can download both using +``` + gh release download -R Interlisp/medley -p "*" +``` +but otherwise just click on the link(s) to the parts you need. + +### Unpacking releases + +From a shell/terminal window: + +1. Choose where you want to install medley and maiko. +Unpack the medley loadups file + +* `cd ` ~parent~ +* `tar -xvfz medley-`YYMMDD`-loadups.tgz` + +2. Unpack the medley runtime OR clone the Medley repo + (the "medley runtime" is just a subset of the whole repo) + +* `tar -xvfz medley-`YYMMDD`-runtime.tgz` + + OR + ``` + git clone https://github.com/Interlisp/medley + ``` + +3. Unpack the maiko file for your operating system and CPU type, e.g., + + ``` + tar -xvfz maiko-210823.linux.x86_64.tgz + ``` + +3. This should leave you with two directories, `medley` and `maiko`. ### Setting up X -Medley Interlisp needs an X-Server to manage its display. Most Linux desktops have one. There are a number of free open source X-servers for windows. Mac users should head over to [XQuartz.org](https://xquartz.org/releases) -- be sure to pick a version if you have a newer Mac. +Medley Interlisp currently needs an X-Server to manage its display. Most Linux desktops have one. Windows 11 with WSL includes an X-Server. For Windows 10 with WSL2, there are a number of open-source X servers; for example vcxsrv. + +Mac users should get [XQuartz from XQuartz.org](https://xquartz.org/releases). + +Medley manages the display entirely, doesn't use X fonts and manages it's own window system. If you have a high-resolution display, note that much of the graphics was designed for a low-resolution display, so an X-server that does "pixel doublilng" is best. (E.g., Raspberry Pi does pixel doubling on 4K displays.) It also presumes you have a 3-button mouse; the scroll-wheel on some mice act as one with some difficulty.) XQuartz Preferences/Input has "Emulate three button mouse" option. - ### Running Medley Interlisp The `run-medley` script in this repo sets up some convenient defaults. Running Medley can be done by typing: @@ -35,9 +81,6 @@ Or, if you wish to start Medley up with a different SYSOUT: $ cd medley $ ./run-medley ``` - -Once the system comes up, give it a few seconds to initialize. - The first time the system is run it loads the system image that comes with the system. When you exit the system (or "do a `SaveVM`" menu option) the state of your machine is saved in a file named @@ -73,8 +116,12 @@ files. A .TEDIT or .TXT file is probably documentation for the package of same name, at least in the library, internal/library, lispusers. + + + + The current repo has both Lisp sources and compiled .LCOM and .DFASL -files, because some files don't compile in a vanilla lisp.sysout . +files. Each directory should have a README.md, but briefly @@ -85,9 +132,7 @@ Each directory should have a README.md, but briefly - library -- packages that were supported (30 years ago) - lispusers -- packages that were only half supported (ditto) - loadups -- has sysouts and other builds -- patches -- for cases where reloading doesn't wor - scripts -- some scripts for fixing up things -- sunloadup -- support information for making a new lisp.sysout from scratch - sources -- sources for Interlisp and Common Lisp implementations - unicode -- data files for support of XCCS to and from Unicode mappings diff --git a/release-notes.md b/release-notes.md index f65c6d69..70b8eb1d 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,41 +1,6 @@ -There are separate releases of medley and maiko. -Just get the latest version of each. - -Alternatively, you can pick up the medley release, and build your own maiko. - -Get the Maiko release [here](https://github.com/Interlisp/maiko/releases). - -The medley release comes in two parts: -1. The "loadups" (download `$tag-loadups.tgz` below) -2. The "runtime" (download `$tag-runtime.tgz` below) - -You won't need the "runtime" if you clone medley; it's just a subset. - -To download both using 'gh' GitHub command line: -``` - gh release download -R Interlisp/medley -p "*" -``` - -To use (from a shell/terminal window): - -1. Unpack the medley tar file(s) -``` - tar -xvfz $tag-loadups.tgz - tar -xvfz $tag-runtime.tgz -``` - -2. Unpack the maiko file for your operating system and CPU type, e.g., - - ``` - tar -xvfz maiko-210823.linux.x86_64.tgz - ``` - -3. This should leave you with two directories, `medley` and `maiko`. - Then you can - ``` - cd medley - ./run-medley -full - ``` +See the [Medley README](https://github.com/Interlisp/medley#readme)for +information on how to set up to use Medley. +DELETE THIS PARAGRAPH and replace it with a description of what changed since the last release (using the GitHub web ui).