package dkml-component-staging-opam64

  1. Overview
  2. Docs
DKML component for 64-bit versions of opam

Install

Dune Dependency

Authors

Maintainers

Sources

dkml-component-offline-opam-2.2.0.alpha0.20221104.tbz
sha256=0c87a32663eaa7c6b603817b2fa57d209e795ea3573b35042d78a0cab1260667
sha512=596088a892e84c1b6473502606a4840b22f87aa9ee6f7db0617aeef7c19f87bb3df0c5a27b3083b9f15805173b04ff11f5cfb0724db9674973916ab31d8509c6

Description

For 64-bit capable platforms, opam, opam-putenv and opam-installer will be in /staging-files/. But for any platform that does not support 64-bit, this package will install nothing (aka. be a no-op). Consumers of the component should place both tools/opam64 and tools/opam32 into the PATH, so that whichever is available can be used.

Cross-compiling to both darwin_arm64 and darwin_x86_64 platforms are supported on macOS when you have both dkml-base-compiler and conf-dkml-cross-toolchain installed in your switch.

The package version, and what [opam --version] returns, are closely associated with the Opam version from the Opam source code. The only modifications are to ensure that the package version can be ordered using semver. In particular:

  • 2.2.0~alpha~dev -> 2.2.0~alpha0~20221231
  • 2.2.0~alpha~1 -> 2.2.0~alpha1~20230601
  • 2.2.0 -> 2.2.0

The dates (YYYYMMDD) are the Git commit dates in the Opam source code, and simply replacing the tildes (~) with dashes (-) is sufficient to be a semver version.

Published: 14 Nov 2022

README

staging-opam32, staging-opam64 and offline-opam

The staging-opam32 and staging-opam64 components make available the Opam binaries (opam, opam-installer and on Windows opam-putenv) in the staging-files directory.

The offline-opam component will install the Opam binaries from staging-opam32 on 32-bit machines into the end-user's installation prefix, and from staging-opam64 on 64-bit machines.

These are components that can be used with dkml-install-api to generate installers.

dkml-component-staging-opam32 and dkml-component-staging-opam64

These components vary by whether distribute 32-bit or 64-bit executables. Sometimes we only distribute 64-bit for a host operating system (ex. macOS).

Executables

On Windows the binaries will end with .exe.

For a given ABI (ex. darwin_arm64) only one of opam32 or opam64's bin/opam will be present.

If you need to copy these from staging to the end-user's installation prefix, you should copy the entire %{staging-opam32:share-abi}%/bin and %{staging-opam64:share-abi}%/bin directories (one will be empty) as they may contain DLLs and shared libraries necessary for their operation.

Documentation

Man pages. The man pages will only be available if the corresponding executable is available in the 32-bit or 64-bit form. If both 32-bit and 64-bit are available, the man pages will be duplicated.

Usage

FIRST, add a dependency to your .opam file:

depends: [
  "dkml-component-staging-opam"   {>= "2.1.0"}
  # ...
]

SECOND, add the package to your currently selected Opam switch:

opam install dkml-component-staging-opam
# Alternatively, if on Windows and you have Diskuv OCaml, then:
#   with-dkml opam install dkml-component-staging-opam

Be prepared to wait several minutes while one or more Opam is being compiled for your machine.

Status

Status
Asset tests
Syntax check

Dependencies (5)

  1. diskuvbox >= "0.1.0"
  2. cmdliner >= "1.0.4"
  3. dkml-install >= "0.2.0"
  4. dune >= "2.9"
  5. ocaml >= "4.12.1~" & <= "5.0.0~"

Dev Dependencies (1)

  1. odoc with-doc

Conflicts

None