package oui
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=b806a63c9acd581a00729a48f1faf86b294cc82936fc705fc628a20ede33f977
sha512=e61c35a6e08671634c1edabd7b0add926ac6e0c6c43c9e0a095e89efab7696b6ae5cc1ea0844283a80640c19adb36478bdfb2414bbcab5077ceb7fd16ae45e66
Description
oui is a command-line tool that generates standalone installers for Linux, Windows and macOS from your OCaml and non OCaml binaries.
README
OCaml Universal Installer
OCaml Universal Installer or oui is a command-line tool that produces standalone installers for your OCaml applications.
It can produce installers for Linux, Windows and macOS, installing pre-compiled binaries directly, no need to build anything on the target machine.
You won't need to teach your users how to install OCaml, Opam or any other tools that they don't need. Just download and run the installer and you're good to go.
Detailed documentation can be found here.
This project is built on top of opam-wix. The project's original documentation is still available here.
Installation
oui is still in development but if you wish to try the latest dev version, you can install it via opam:
opam pin oui.0.0.0 https://github.com/OCamlPro/ocaml-universal-installer.git#masteroui does require some opam libraries so you will need opam.2.4.0 or higher.
Platform specific dependencies
Producing installers for different platforms requires different extra tools. They do not need to be installed before oui but need to be available on the system when running it.
Linux
Our linux installers are built using makeself.
The result is a .run self-extracting archive that will decompress itself and execute an installation script before cleaning up.
To produce linux installer, the makeself script must be in the PATH. You can dowload the latest official release from the official makeself website.
Windows
Windows MSI are built using the Wix6 toolkit.
You can install Wix 6 from the GitHub releases page.
Usage
To assemble an installer for your current platform you need to provide:
- an installation bundle (a directory containing all binaries and files to install), usually produced by running
dune build @installanddune install --relocatable --prefix <install-bundle-dir>. - a JSON configuration file for
oui, describing the important parts of the bundle and some project metadata. The format is fully documented here.
You can then run oui lint to check that the configuration and bundle are consistent.
Once this is good, you can run oui build oui.json <install-bundle-dir> to generate an installer.
Dependencies (10)
- ppx_deriving_yojson
- yojson
- fmt
-
opam-core
>= "2.5" & = opam-version -
opam-format
>= "2.5" & = opam-version -
opam-client
>= "2.5" & = opam-version -
crunch
>= "3.3.1" -
cmdliner
>= "1.3" -
dune
build & >= "3.2" -
ocaml
build & >= "4.13.0"
Dev Dependencies (1)
-
ppx_expect
with-test
Used by
None
Conflicts
None