Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diskuv/dkml-component-ocamlcompiler
DKML component for ocamlrun
https://github.com/diskuv/dkml-component-ocamlcompiler
Last synced: 8 days ago
JSON representation
DKML component for ocamlrun
- Host: GitHub
- URL: https://github.com/diskuv/dkml-component-ocamlcompiler
- Owner: diskuv
- License: apache-2.0
- Created: 2022-01-19T03:46:16.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-30T07:20:45.000Z (12 months ago)
- Last Synced: 2023-11-30T08:28:07.362Z (12 months ago)
- Language: PowerShell
- Homepage:
- Size: 619 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# enduser-ocamlcompiler
The ocamlcompiler component installs an OCaml compiler in the end-user
installation directory.These are components that can be used with [dkml-install-api](https://diskuv.github.io/dkml-install-api/index.html)
to generate installers.## Testing Locally
FIRST, make sure any changes are committed with `git commit`.
SECOND,
On Windows, assuming you already have installed a DKML distribution, run:
```powershell
# Use an Opam install which will download supporting files
opam install ./dkml-component-network-ocamlcompiler.opam
opam pin dkml-component-staging-desktop-full git+https://gitlab.com/dkml/components/dkml-component-desktop.git --yes
opam pin dkml-component-staging-withdkml git+https://gitlab.com/dkml/components/dkml-component-desktop.git --yes# Set vars we will use below
$ocshare = opam var dkml-component-network-ocamlcompiler:share
$op32share = opam var dkml-component-staging-opam32:share
$op64share = opam var dkml-component-staging-opam64:share
$fullshare = opam var dkml-component-staging-desktop-full:share
$withdkmlshare = opam var dkml-component-staging-withdkml:share
$confshare = opam var dkml-component-staging-dkmlconfdir:share
& $env:DiskuvOCamlHome\dkmlvars.ps1# Print Help
& "$ocshare/staging-files/generic/setup_machine.bc.exe" --help
& "$ocshare/staging-files/generic/setup_userprofile.bc.exe" --help# Same help if you build directly
dune build
& "_build\default\src\installtime\setup-userprofile\setup_userprofile.exe" --help# After opam install we mimic the placing of binaries that
# dkml-component-offline-desktop-full doeswith-dkml install -d "$env:TEMP\ocamlcompiler-t" "$env:TEMP\ocamlcompiler-up"
opam exec -- diskuvbox copy-dir `
"$withdkmlshare\staging-files\windows_x86_64" `
"$fullshare\staging-files\windows_x86_64" `
"$env:TEMP\ocamlcompiler-up"
opam exec -- diskuvbox copy-file `
"$fullshare\staging-files\windows_x86_64\bin\dkml-fswatch.exe" `
"$env:TEMP\ocamlcompiler-up\tools\fswatch\fswatch.exe"# After opam install that you can run either of them properly ...
opam exec -- dune build src/installtime/setup-userprofile/setup_userprofile.exe
_build/default/src/installtime/setup-userprofile/setup_userprofile.exe `
--scripts-dir=assets\staging-files\win32 `
--dkml-confdir-exe="$confshare\staging-files\windows_x86_64\bin\dkml-confdir.exe" `
--control-dir="$env:TEMP\ocamlcompiler-up" `
--temp-dir="$env:TEMP\ocamlcompiler-t" `
--dkml-dir "$ocshare\staging-files\windows_x86_64\dkmldir" `
--target-abi windows_x86_64 `
--msys2-dir "$env:DiskuvOCamlMSYS2Dir" `
--opam-exe "$op64share\staging-files\windows_x86_64\bin\opam.exe" `
-v -vopam exec -- dune build src/installtime/uninstall-userprofile/uninstall_userprofile.exe
_build/default/src/installtime/uninstall-userprofile/uninstall_userprofile.exe `
--audit-only `
--target-abi windows_x86_64 `
--scripts-dir=assets/staging-files/win32 `
--control-dir="$env:TEMP\ocamlcompiler-up" `
-v -v
```## Contributing
See [the Contributors section of dkml-install-api](https://github.com/diskuv/dkml-install-api/blob/main/contributors/README.md).
## Status
[![Syntax check](https://github.com/diskuv/dkml-component-ocamlcompiler/actions/workflows/syntax.yml/badge.svg)](https://github.com/diskuv/dkml-component-ocamlcompiler/actions/workflows/syntax.yml)