This repository contains scripts building SML# release packages. When a new version of the SML# compiler is released, these scripts are used to build deb, rpm, and homebrew packages and update repos and homebrew-smlsharp.
- Docker is needed.
- macOS and Homebrew is needed to build homebrew formulae and bottles.
-
Set up Docker images by running
docker/setup.sh
. -
In the SML# source tree, run
make dist
. You will find the source package namedsmlsharp-X.Y.Z.tar.gz
and history filesmlsharp-X.Y.Z.history
(substitute X.Y.Z with the actual version number). Copy them to thesmlsharp-package
directory. -
In the
smlsharp-package
directory, clone the repos and homebrew-smlsharp repository from GitHub. -
Put
signing-key_<USER>.asc
andppa-key_<USER>.asc
in thesmlsharp-package
directory (substitute<USER>
with your login name). These must be GPG-encrypted files, each of which contains a pair of a secret GPG key and its password.
Because operating systems evolve very rapidly, this repository needs to be maintained frequently. It had better to review the scripts in this repository before you intend to use them. The following steps indicate typical usage of the scripts, but you should assume that the scripts does not work smoothly as follows:
-
Run
make
. Then, you will findBUILD/all.tar
file. -
Run
make install
to updaterepos
. It creates a new branch namednew
in therepos
repository and commit all the changes in that branch. -
Run
make install-brew
to updatehomebrew-smlsharp
. Similarly to step 5,new
branch is created in thehomebrew-smlsharp
repository. -
For each repository, merge the
new
branch into the master branch (main
ormaster
) and push the changes to GitHub.
Submit issues and PRs on GitHub.