package dockerfile-opam

  1. Overview
  2. Docs

Rules for Cygwin-based installation.

type cyg = {
  1. root : string;
    (*

    Root installation directory

    *)
  2. site : string;
    (*

    Download site URL

    *)
  3. args : string list;
    (*

    List of arguments to give to Cygwin's setup, except --root and --site.

    *)
}
val default : cyg

The default Cygwin root, mirror, and arguments.

val install_from_release : ?cyg:cyg -> ?extra:string list -> unit -> Dockerfile.t

Install Cygwin with CygSymPathy and msvs-tools, and extra Cygwin packages (first in a separate Docker image). Sets the CYGWIN=winsymlinks:native environment variable.

val setup : ?cyg:cyg -> ?from:string -> unit -> Dockerfile.t

Setup winget, optionally copied from the from Docker image.

val install : ?cyg:cyg -> string list -> Dockerfile.t

Install the supplied Cygwin package list. The packages should be comma-separated.

val update : ?cyg:cyg -> unit -> Dockerfile.t

Update Cygwin packages.

val cygwin_packages : ?extra:string list -> ?flexdll_version:string -> unit -> string list

cygwin_packages ?extra () will install the base development tools for the OCaml Cygwin port. Extra packages may also be optionally supplied via extra.

val mingw_packages : ?extra:string list -> unit -> string list

mingw_packages ?extra () will install the base development tools for the OCaml mingw port. Extra packages may also be optionally supplied via extra.

val msvc_packages : ?extra:string list -> unit -> string list

msvc_packages ?extra () will install the base development tools for the OCaml MSVC port. Extra packages may also be optionally supplied via extra.

val ocaml_for_windows_packages : ?cyg:cyg -> ?extra:string list -> ?version:string -> unit -> string list * Dockerfile.t

ocaml_for_windows_packages ?extra () returns the list of Cygwin packages dependencies, and the installation instructions. Extra packages may also be optionally supplied via extra.

val run_sh : ?cyg:cyg -> ('a, unit, string, Dockerfile.t) format4 -> 'a

run_sh ?cyg fmt will execute in the Cygwin root \bin\bash.exe --login -c "fmt".

val run_sh_ocaml_env : ?cyg:cyg -> string list -> ('a, unit, string, Dockerfile.t) format4 -> 'a

run_cmd_ocaml_env args fmt will execute fmt in the environment loaded by ocaml-env cygwin exec with args.

module Git : sig ... end

Rules for Git.

OCaml

Innovation. Community. Security.