-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdkml-installer-ocaml-network.opam
91 lines (86 loc) · 3.19 KB
/
dkml-installer-ocaml-network.opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# This file is generated by dune, edit dune-project instead
opam-version: "2.0"
version: "2.1.3"
synopsis: "DkML network installer generator for OCaml"
description:
"Generates a network installer for OCaml, including Visual Studio and Git on Windows, and including a OCaml compiler built during installation time"
maintainer: ["[email protected]"]
authors: ["Diskuv, Inc. <[email protected]>"]
license: "Apache-2.0"
homepage: "https://github.com/diskuv/dkml-installer-ocaml"
bug-reports: "https://github.com/diskuv/dkml-installer-ocaml/issues"
depends: [
"dune" {>= "2.9"}
"odoc" {>= "1.5.3" & with-doc}
"ocaml" {>= "4.12.1~"}
"dkml-installer-ocaml-common" {= version}
"dkml-component-ocamlcompiler-network" {>= "4.14.2~" & < "4.14.3~"}
"dkml-component-offline-desktop-full" {>= "0.1.0"}
"dkml-component-offline-opamshim" {>= "2.2.0~alpha0~20221104"}
"dkml-install-installer" {>= "0.5.2"}
]
build: [
["dune" "subst"] {dev}
[
"dune"
"build"
"-p"
name
"-j"
jobs
"--promote-install-files=false"
"@install"
"@runtest" {with-test}
"@doc" {with-doc}
]
["dune" "install" "-p" name "--create-install-files" name]
]
dev-repo: "git+https://github.com/diskuv/dkml-installer-ocaml.git"
build-env: [
OCAMLRUNPARAM = "b"
]
install: [
# Create the installer executable after `dune install` (which is after
# `build:[]` section) so Dune can do plugin rewriting since Dune edits (yes!)
# the executables.
# The installers will be in $OPAM/share/dkml-installer-ocaml/.
# For the benefit of Windows and macOS we keep the build directory name ("iw")
# small.
[ "install" "-d" "%{_:share}%/w" "%{_:share}%/t" ]
[
"_build/install/default/bin/dkml-installer-ocaml-network-create-installers%{exe}%"
# Debug logs
"-vv"
"--program-version"
"2.1.3"
"--component=ocamlcompiler-network"
"--component=offline-desktop-full"
"--component=offline-opamshim"
# Only Windows, Linux (dockcross manylinux2014) and Darwin Intel which
# corresponds to the build environments of GitHub workflow setup-dkml.yml.
# Later can add Dune cross-compiler to get Darwin ARM64.
"--abi=windows_x86"
"--abi=windows_x86_64"
"--abi=linux_x86"
"--abi=linux_x86_64"
"--abi=darwin_x86_64"
"--abi=darwin_arm64"
"--work-dir"
"%{_:share}%/w"
"--target-dir"
"%{_:share}%/t"
"--runner-admin-exe"
"_build/install/$(dune-context)/bin/dkml-installer-ocaml-network-admin-runner%{exe}%"
"--runner-user-exe"
"_build/install/$(dune-context)/bin/dkml-installer-ocaml-network-user-runner%{exe}%"
# $(dune-context) is a macro for the correct Dune context directory based on the target ABI
"--packager-install-exe"
"_build/install/$(dune-context)/bin/dkml-installer-ocaml-network-package-install%{exe}%"
"--packager-uninstall-exe"
"_build/install/$(dune-context)/bin/dkml-installer-ocaml-network-package-uninstall%{exe}%"
"--packager-setup-bytecode"
"_build/install/$(dune-context)/bin/dkml-installer-ocaml-network-package-setup.bc%{exe}%"
"--packager-uninstaller-bytecode"
"_build/install/$(dune-context)/bin/dkml-installer-ocaml-network-package-uninstaller.bc%{exe}%"
]
]