dk packages /

CommonsBase_Build 0.1.20260910130259

CMake, Ninja and VSWhere plus the Lua build rules (scriptmodules) that compile dk packages from source.

BSD-3-Clause AND Apache-2.0 AND MIT AND LicenseRef-CMake-Copyright Source → Generated

CMake, Ninja and VSWhere plus the Lua build rules (scriptmodules) that compile dk packages from source.

CommonsBase_Build is the build apparatus other dk packages use to compile from source: the CMake and Ninja build tools, VSWhere for locating MSVC on Windows, and the Lua scriptmodules (build rules) that drive them.

Toolchain discovery

The CommonsBase_Build.Toolchain.Discover.* objects supply system-toolchain discovery probes. A probe runs at execution time inside a consuming form command, emits UTF-8 LF KEY=VALUE lines on stdout, and exits nonzero with a one-line stderr message naming the per-ABI contract when the toolchain is absent. Discovery data stays in process environment and configuration files; it never enters dk values.

Provider contract (any dk package can ship an alternative provider):

  • The object slot tree contains bin/discover.sh and/or bin/discover.bat.
  • Invocation: discover --abi <TARGET_ABI> [--config <path>].
  • Output keys match [A-Z0-9_]+.

Key registry:

ProviderKeys
Toolchain.Discover.MSVCVSINSTALLDIR, VCToolsVersion, WindowsSDKVersion, VSCMD_VER, VisualStudioVersion, MSVS_PREFERENCE, DKML_COMPILE_VS_DIR, DKML_COMPILE_VS_VCVARSVER, DKML_COMPILE_VS_WINSDKVER, DKML_COMPILE_VS_MSVSPREFERENCE, DKML_COMPILE_VS_CMAKEGENERATOR
Toolchain.Discover.CGlibcDK_TC_CC, DK_TC_CXX, DK_TC_AS, DK_TC_AR, DK_TC_LD, DK_TC_GLIBC_VERSION

Configuration files (toolchains.jsonc), highest precedence first:

  1. The project-level etc/dk/t/toolchains.jsonc (git-ignored; it names paths on one machine).
  2. The user/machine-level <xdg config>/dk/toolchains.jsonc ($XDG_CONFIG_HOME/dk, default ~/.config/dk, on Unix; %LOCALAPPDATA%\dk on Windows).
  3. The host probe.

Schema: a toolchains object keyed by target ABI name or family glob (Windows_*, Linux_*, Linux_*_musl, Darwin_*). Keys per section: provider (module@version of the Discover object), msvs_preference (ordered ;-separated glob list over VS<major>.<minor> identifiers, the existing MSVS_PREFERENCE syntax), vs_dir, cc, cxx, as, ar, ld, binutils_prefix. A value is a literal path, or a dk value expression beginning with $( that dk0 dialog CommonsBase_Build.Toolchain.Discover.<Family> resolves under the run and write trust caps into the resolved section (with a fingerprint staleness token). Hand-written keys override the resolved cache.

Usage

CommonsBase_Build.CMake0.Bundle@3.25.3

  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-darwin_universal.zip -f ${RUNTIME}/a1
  \test(pass)
  \dk.asset(path: "cmake-darwin_universal.zip", value-id: "ajjqc36qkgaflit2qxg2ayr5gjfiekyaikkgaxiwtvr463hmlg6ka", byteSize: "80161981")\;
  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-linux_arm64.zip -f ${RUNTIME}/a2
  \test(pass)
  \dk.asset(path: "cmake-linux_arm64.zip", value-id: "a6ccbymavku5pjrg2giaozjc35lwxpa4eq6nw5qv3uf2hnpkhqilq", byteSize: "44899058")\;
  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-linux_x86_64.zip -f ${RUNTIME}/a3
  \test(pass)
  \dk.asset(path: "cmake-linux_x86_64.zip", value-id: "a4og42sdel4bzx763wqmhjnqe2feiql6njkgexflbzlqr7vmdggca", byteSize: "45788799")\;
  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-linux_x86.zip -f ${RUNTIME}/a4
  \test(pass)
  \dk.asset(path: "cmake-linux_x86.zip", value-id: "am3qa2663r76v226xjftixsgerl3j4bcujq7vyh4est7fye2ojisa", byteSize: "44946942")\;
  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-3.25.3-windows-x86_64.zip -f ${RUNTIME}/a5
  \test(pass)
  \dk.asset(path: "cmake-3.25.3-windows-x86_64.zip", value-id: "ap4puij6vpw64crkhh6bgsyfgporhjw4h34tmhgfxyzeeqm77ngma", byteSize: "41490629")\;
  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-3.25.3-windows-i386.zip -f ${RUNTIME}/a6
  \test(pass)
  \dk.asset(path: "cmake-3.25.3-windows-i386.zip", value-id: "a6hznijbmw57hikmvdc35dbdyk7bnwdxt2feoowe6tx6xpwpwsrfa", byteSize: "38114288")\;
  $ get-asset CommonsBase_Build.CMake0.Bundle@3.25.3 -p cmake-3.25.3-windows-arm64.zip -f ${RUNTIME}/a7
  \test(pass)
  \dk.asset(path: "cmake-3.25.3-windows-arm64.zip", value-id: "azdpj6lgvg2dz5nu24r7pgfdxknwosrso75wjibkdh4q52iwho5zq", byteSize: "40937837")\;

CommonsBase_Build.CMake0.Build@3.25.3

(UI rule) Generates a CMake build system in the build directory.

### Configurations

One of the following sets of options must be provided:

-   installdir= src[]= out[]=
-   installdir= src[]= outexe[]=
-   installdir= mirrors[]= urlpath= out[]=
-   installdir= mirrors[]= urlpath= outexe[]=

### Options

-  src[]: list of glob patterns for the local source directory
-  mirrors[]: HTTP base urls to download the CMake source directory
-  urlpath: path added to the mirrors so full URL is a ZIP file of the CMake source directory
-  installdir: (required) the install directory to pass to `cmake --install ... --prefix INSTALL_DIRECTORY`
-  generator: the cmake generator to use (defaults to "none" on Windows, "Ninja" on other OS-es).
   The special value "none" removes the "-G GENERATOR" CMake option so CMake selects any
     available compiler.
-  sourcesubdir: subdirectory inside the asset or bundle that contains the CMakeLists.txt (defaults to root of asset or bundle)
-  nstrip: levels of leading directories to nstrip while extract asset or bundle (defaults to 0)
-  gargs[]: list of cmake generator arguments to pass to cmake executable.
   The -S source directory is required.
   The -B build directory will already be set.
-  bargs[]: list of cmake build arguments to pass to cmake executable.
-  iargs[]: list of cmake install arguments to pass to cmake executable.
-  out[]: list of expected output files in the install directory
-  outexe[]: list of expected executable files in the install directory. On Windows `.exe` is added automatically.
   ie. outexe[]=bin/xyz is the equivalent of out[]=bin/xyz.exe on Windows and out[]=bin/xyz on Unix
-  outrmexact[]: list of exact strictly relative paths (relative to build directory) to remove
-  outrmglob[]: list of "fd" filename glob patterns for files in the build directory to remove after outrmexact[].
   Remove every file type except directories; use outrmexact for directories for safety.
-  exe[]: list of glob patterns for executables to set execute permissions (Unix) and locally codesign (macOS).

-- COMPILERS
--
-- ::: Windows / Visual Studio
-- The default generator is nothing on Windows. CMake will select any available compiler,
-- which may be the latest Visual Studio if your build machine has Visual Studio installed.

-- DESIGN QUESTIONS
-- Q1: Why a rule instead of a simpler `get-object`?
-- ANS1: Because dk0 objects are deterministic zip files that do not allow symlinks.
-- Symlinks cause inconsistency across platforms so with deterministic objects
-- the CMake.app code signature output by `get-object` would be invalid on macOS.
--
-- Q2: CMAKE_INSTALL_PREFIX?
-- The CMAKE_INSTALL_PREFIX is set for CMake projects like google/or-tools that do not respect
-- the prefix option in `cmake --install --prefix` (usually when the project sets CMAKE_INSTALL_PREFIX CACHE
-- variable by default).
--
-- Q3: Hermeticity?
-- In a <FUTURE> version, CMakeCache.txt can be checked in this rule to find out if all the CACHE variables are hermetic.
--    Example: BAD: _Python3_EXECUTABLE:INTERNAL=/opt/homebrew/Frameworks/Python.framework/Versions/3.11/bin/python3.11
--    Example: GOOD: generated_dir:INTERNAL=/Volumes/SSD/Source/dk/t/p/4472/e7lu/f/Release.Darwin_arm64/b/_deps/googletest-build/googletest/generated

### Examples

  $ run CommonsBase_Build.CMake0.Build@3.25.3 installdir=${RUNTIME}/i/llama-cpp
  >   'mirrors[]=https://github.com/ggml-org/llama.cpp/archive/refs/tags'
  >   'urlpath=b7974.zip#be9d624603e39cd4edee5fa85e8812eb8e1393537c8e4e4629bc4bd016388053,29881192'
  >   'nstrip=1'
  >   'gargs[]=-DBUILD_SHARED_LIBS:BOOL=OFF' 'gargs[]=-DCMAKE_BUILD_TYPE=Release'
  >   'bargs[]=--config' 'bargs[]=Release'
  >   'iargs[]=--config' 'iargs[]=Release'
  >   'exe[]=bin/*'
  >   'outexe[]=bin/llama-quantize'
  >   'outrmglob[]=test-*' 'outrmglob[]=*.py' 'outrmglob[]=llama-[a-p]*' 'outrmglob[]=llama-[r-z]*'
  >   'outrmexact[]=include' 'outrmexact[]=lib' 'outrmexact[]=lib64'
  [pass] (no-eol)

CommonsBase_Build.CMake0.F_Build@3.25.3

(Free rule) Generates a CMake build directory, builds the CMake project and installs the CMake project in the output directory.

### Configurations

One of the following sets of options must be provided:

-  bundlemodver=
-  assetmodver= assetpath=

### Options

-  generator: the cmake generator to use (defaults to "none" on Windows, "Ninja" on other OS-es).
   The special value "none" removes the "-G GENERATOR" CMake option so CMake selects any
   available compiler.
-  assetmodver: bundle module@version; see assetpath

-  assetpath: asset inside the [assetmodver] bundle of the CMake source directory
-  overlayassetpath: path inside the [assetmodver] asset module that gets layered on top of the source
-  bundlemodver: bundle module@version of CMake source directory; overlayassetpath ignored
-  overlaybundlemodver: bundle module@version that gets layered on top of the source
-  sourcesubdir: subdirectory inside the asset or bundle that contains the CMakeLists.txt (defaults to root of asset or bundle)
-  nstrip: levels of leading directories to nstrip while extract asset or bundle (defaults to 0)
-  gargs[]: list of cmake generator arguments to pass to cmake executable.
   The -S source directory is required.
   The -B build directory will already be set.
-  bargs[]: list of cmake build arguments to pass to cmake executable.
-  iargs[]: list of cmake install arguments to pass to cmake executable.
-  out[]: list of expected output files in the install directory
-  outexe[]: list of expected executable files in the install directory. On Windows `.exe` is added automatically.
   ie. outexe[]=bin/xyz is the equivalent of out[]=bin/xyz.exe on Windows and out[]=bin/xyz on Unix
-  outrmexact[]: list of exact strictly relative paths (relative to build directory) to remove
-  outrmglob[]: list of "fd" filename glob patterns for files in the build directory to remove after outrmexact[].
   Remove every file type except directories; use outrmexact for directories for safety.
-  exe[]: list of glob patterns for executables to set execute permissions (Unix) and locally codesign (macOS).

### Examples

  $ post-object CommonsBase_Build.CMake0.F_Build@3.25.3 -d t/o/somewhere/
  > assetmodver=CommonsBase_Build.Apparatus.HelloWorld@0.1.0
  > assetpath=dist/hw
  > gargs[]=-DCMAKE_BUILD_TYPE=Release
  > bargs[]=--config bargs[]=Release
  > iargs[]=--config iargs[]=Release
  > outexe[]=bin/hello
  \test(pass)
  \dk.object(abi: "Release.Linux_x86_64", value-id: "oi3jvicq74t5qojnntwu63ajrcsbo6kbvbvvyeswbpes5it4y2efq")\;

which runs:

- `get-asset <assetmodver> -p <assetpath> -d s [-or-] get-bundle <bundlemodver> -d s`
- (if generator is "Ninja") `$(get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.<execution abi> -m ./ninja.exe -f : -e '*')`
- `cmake
     -G <generator> (if generator is "Ninja")
     -S s/<sourcesubdir> -B b
     -DCMAKE_INSTALL_PREFIX:FILEPATH=${SLOTABS.Release.execution_abi}
     -DCMAKE_MAKE_PROGRAM:FILEPATH=<path to ninja.exe> (if generator is "Ninja")
     <gargs>`
- `cmake --build b <bargs>`
- `cmake --install b --prefix ${SLOTABS.Release.execution_abi} <iargs>`

CommonsBase_Build.Ninja0@1.12.1

  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Windows_arm64 -f ${RUNTIME}/Windows_arm64-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_arm64", value-id: "osazbl5uyb3m4yc3wbvtyvwq75ncf6kwhghsc7o7zzqkayxz6s3sa")\;
  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Windows_x86_64 -f ${RUNTIME}/Windows_x86_64-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86_64", value-id: "oxeoosleep7sa5lb4g3lssoegajgthfxpu2x7wd2vt2ese7wudcoq")\;
  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Darwin_arm64 -f ${RUNTIME}/Darwin_arm64-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_arm64", value-id: "ohbidmffyeodcth4fqhlfrlfeg5c3j7w56zzfxltqjob6vtyi3owa")\;
  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Darwin_x86_64 -f ${RUNTIME}/Darwin_x86_64-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_x86_64", value-id: "oxtqvbjzqrrrkq6cogsb6daux34rtsm2trcp6frpjtrfz3tcxigoq")\;
  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Linux_x86 -f ${RUNTIME}/Linux_x86-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86", value-id: "oknuyrdqfc7wxfuzo7fag6wo67uhudvg73rlsyursa2qi7rl2vasq")\;
  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Linux_x86_64 -f ${RUNTIME}/Linux_x86_64-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86_64", value-id: "oe7dmxtsno2tpawkvnjzjipdwodgnpivq4drxhzzq4lsg5qtlwqra")\;
  $ get-object CommonsBase_Build.Ninja0@1.12.1 -s Release.Linux_arm64 -f ${RUNTIME}/Linux_arm64-Ninja0-1.12.1.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_arm64", value-id: "ornywcjsnickrz5ihkprqcdsxm36qmtt5dsuy7t3tmwar4pahbaya")\;

CommonsBase_Build.VSWhere@3.1.7

  $ get-object CommonsBase_Build.VSWhere@3.1.7 -s Release.Windows_arm64 -f ${RUNTIME}/Windows_arm64-VSWhere-3.1.7.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_arm64", value-id: "oxkvqdyqqkckzixie4no4qcww4xnt2nk5s7mdo6igqnbip7gsfxlq")\;
  $ get-object CommonsBase_Build.VSWhere@3.1.7 -s Release.Windows_x86 -f ${RUNTIME}/Windows_x86-VSWhere-3.1.7.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86", value-id: "oemwxule77tg56amz4t2xsyjwqjc5sqnwbryimrjf2ozvgwl3hy7q")\;
  $ get-object CommonsBase_Build.VSWhere@3.1.7 -s Release.Windows_x86_64 -f ${RUNTIME}/Windows_x86_64-VSWhere-3.1.7.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86_64", value-id: "ooksmbvvs7gwkwdcyqbfpul33gasjuamvllvjo2r3aulzxqn4smfa")\;

CommonsBase_Build.Age@1.3.1

`age` and `age-keygen` for file encryption. Tar slots use
`CommonsBase_Std.Extract.F_Untar@0.2.0` (selective path extraction).

  $ get-object CommonsBase_Build.Age@1.3.1 -s Release.Windows_x86_64 -f ${RUNTIME}/Windows_x86_64-Age-1.3.1.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86_64", value-id: "ol42sancrjf36auqfxvqoy5qkltbryjavnjkcorxt6p4sl47mcnua")\;
  $ get-object CommonsBase_Build.Age@1.3.1 -s Release.Linux_x86_64 -f ${RUNTIME}/Linux_x86_64-Age-1.3.1.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86_64", value-id: "oedpzmnqk4ya45djudefpsco5eo3ts6k5ojpyb7fdblqe3mid6gfq")\;
  $ get-object CommonsBase_Build.Age@1.3.1 -s Release.Linux_arm64 -f ${RUNTIME}/Linux_arm64-Age-1.3.1.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_arm64", value-id: "omd4qexkvhw6f65uibqzjzuisfaie37rdcs37rzzhanuj2bn26vza")\;
  $ get-object CommonsBase_Build.Age@1.3.1 -s Release.Darwin_x86_64 -f ${RUNTIME}/Darwin_x86_64-Age-1.3.1.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_x86_64", value-id: "o2ikk5lhs3gd3qo3lt2jjxa4l23ks2folvwcdcahhqbnj7assxsza")\;
  $ get-object CommonsBase_Build.Age@1.3.1 -s Release.Darwin_arm64 -f ${RUNTIME}/Darwin_arm64-Age-1.3.1.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_arm64", value-id: "oy2e27afox5clyexvrhqjotw7rx3ybxblrnuvfhvkfodijtcdwcrq")\;

CommonsBase_Build.GitHubCLI@2.92.0

`gh` GitHub CLI. Linux slots use `CommonsBase_Std.Extract.F_Untar@0.2.0`
(selective path extraction); Windows and Darwin slots use `get-asset`.

  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Windows_x86 -f ${RUNTIME}/Windows_x86-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86", value-id: "ogku2dt3tmegyntsw6mix2eiacfhhjwvl66o52mwrcf4epo5szs2q")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Windows_x86_64 -f ${RUNTIME}/Windows_x86_64-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86_64", value-id: "okqvx6ezhymtqk4etjltl3m3ik3tmltrumafi762ybpkodanjpvqa")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Windows_arm64 -f ${RUNTIME}/Windows_arm64-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_arm64", value-id: "o4hreoiypmsplbsuujhuqdt7qrevwnywgtbuut66tzol44326r6sa")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Linux_x86 -f ${RUNTIME}/Linux_x86-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86", value-id: "ot77eu32ew4i7m54cdtq3tw56livw326iqohx3yurvqotgfuljd3q")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Linux_x86_64 -f ${RUNTIME}/Linux_x86_64-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86_64", value-id: "ou2c665d5at454qnljnaa66k232x2syjon76oqckiy6wtkblopz2a")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Linux_arm64 -f ${RUNTIME}/Linux_arm64-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_arm64", value-id: "oh3sqi47dwlyrziyevv7zji5jj3ycqlsnws4qupkpw4omgi3tzzvq")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Darwin_x86_64 -f ${RUNTIME}/Darwin_x86_64-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_x86_64", value-id: "oew33hjrlccybkmmphlgdlmgzq2ox3ew4vee3fz33xsfgs2vjxtaq")\;
  $ get-object CommonsBase_Build.GitHubCLI@2.92.0 -s Release.Darwin_arm64 -f ${RUNTIME}/Darwin_arm64-GitHubCLI-2.92.0.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_arm64", value-id: "orstlyhdkgmvlg7fqgvulfafhee7vn6dmumfvzknxx4hrfgxs2jza")\;

CommonsBase_Build.Git.MinGit@2.55.0

MinGit (git-for-windows) whole-tree prebuilt: `cmd/git.exe` plus its
`mingw64|mingw32|clangarm64` runtime, Windows slots only. `cmd/` deliberately
contains no bash, so the object is safe for
`opam init --git-location=<obj>/cmd`. Whole-zip `get-asset` extraction per
slot; the exhaustive outputs were generated from a local extraction of the
pinned zips.

  $ get-object CommonsBase_Build.Git.MinGit@2.55.0 -s Release.Windows_x86_64 -f ${RUNTIME}/Windows_x86_64-Git.MinGit-2.55.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86_64", value-id: "o3lm5afrryywtvglphf5fut234kc6au54mmltkzxdr46skouby7nq")\;
  $ get-object CommonsBase_Build.Git.MinGit@2.55.0 -s Release.Windows_x86 -f ${RUNTIME}/Windows_x86-Git.MinGit-2.55.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86", value-id: "okt6q3a7yqkxvd4jixcyqb52cdrvr5oprkygdhexnf4acdsidgyuq")\;
  $ get-object CommonsBase_Build.Git.MinGit@2.55.0 -s Release.Windows_arm64 -f ${RUNTIME}/Windows_arm64-Git.MinGit-2.55.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_arm64", value-id: "ohfdxbl7oystrglbp3lpduqxptd42e5ddagwj7rs3bx24p2qcvslq")\;

CommonsBase_Build.Toolchain.Discover.MSVC@1.0.0

MSVC toolchain discovery probe `bin/discover.bat`, copied from the
`CommonsBase_Build.Apparatus.ToolchainDiscover@0.1.0` asset, Windows slots only.

  $ get-object CommonsBase_Build.Toolchain.Discover.MSVC@1.0.0 -s Release.Windows_x86_64 -f ${RUNTIME}/Windows_x86_64-Toolchain.Discover.MSVC-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86_64", value-id: "o2u5nmcm62r5cevsoqb2tlecgcifn5ckoi3oeyeesgyd3twoknxja")\;
  $ get-object CommonsBase_Build.Toolchain.Discover.MSVC@1.0.0 -s Release.Windows_x86 -f ${RUNTIME}/Windows_x86-Toolchain.Discover.MSVC-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_x86", value-id: "oe46nvdirbzsfcxmvt4g2zpnm5bxvc2ie5liaglsxo6s6awtfotiq")\;
  $ get-object CommonsBase_Build.Toolchain.Discover.MSVC@1.0.0 -s Release.Windows_arm64 -f ${RUNTIME}/Windows_arm64-Toolchain.Discover.MSVC-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Windows_arm64", value-id: "om6lprq5s7ujodrbwuliwfppxxubsp763qab4a5ljrruzlk4thfda")\;

CommonsBase_Build.Toolchain.Discover.CGlibc@1.0.0

C and glibc toolchain discovery probe `bin/discover.sh`, copied from the
`CommonsBase_Build.Apparatus.ToolchainDiscover@0.1.0` asset, Linux and Darwin
slots only.

  $ get-object CommonsBase_Build.Toolchain.Discover.CGlibc@1.0.0 -s Release.Linux_x86_64 -f ${RUNTIME}/Linux_x86_64-Toolchain.Discover.CGlibc-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86_64", value-id: "on3yuwhrjdujg6lnp74lh3go5copcxegk6hbj4xhh52tubj7wza4a")\;
  $ get-object CommonsBase_Build.Toolchain.Discover.CGlibc@1.0.0 -s Release.Linux_x86 -f ${RUNTIME}/Linux_x86-Toolchain.Discover.CGlibc-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_x86", value-id: "oa7fq4vq34ybjdqjlaghlr4znsguex3mqnzfzfvb7wv4mutgyle2q")\;
  $ get-object CommonsBase_Build.Toolchain.Discover.CGlibc@1.0.0 -s Release.Linux_arm64 -f ${RUNTIME}/Linux_arm64-Toolchain.Discover.CGlibc-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Linux_arm64", value-id: "otimdrti6rpmdgoklfdjeojgzckbypidbsxqharbmyvbfyaiyq7cq")\;
  $ get-object CommonsBase_Build.Toolchain.Discover.CGlibc@1.0.0 -s Release.Darwin_x86_64 -f ${RUNTIME}/Darwin_x86_64-Toolchain.Discover.CGlibc-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_x86_64", value-id: "ofr6ps52wdoyvxshgifpcxvm3rtb4lceovrb4jawyqestiq3erp7a")\;
  $ get-object CommonsBase_Build.Toolchain.Discover.CGlibc@1.0.0 -s Release.Darwin_arm64 -f ${RUNTIME}/Darwin_arm64-Toolchain.Discover.CGlibc-1.0.0.zip
  \test(pass)
  \dk.object(abi: "Release.Darwin_arm64", value-id: "oibi3kxnrjndmkoojp7lfep4bscecl5b2qoriz7ra333g77vxdzia")\;

Provides

ModuleVersionPlatformvalue-id
CommonsBase_Build.CMake0.Bundle 3.25.3 bundle (7 downloads)
CommonsBase_Build.CMake0 3.25.3 scriptmodule
CommonsBase_Build.Ninja0 1.12.1 Windows_arm64 osazbl5uyb3m…
CommonsBase_Build.Ninja0 1.12.1 Windows_x86_64 oxeoosleep7s…
CommonsBase_Build.Ninja0 1.12.1 Darwin_arm64 ohbidmffyeod…
CommonsBase_Build.Ninja0 1.12.1 Darwin_x86_64 oxtqvbjzqrrr…
CommonsBase_Build.Ninja0 1.12.1 Linux_x86 oknuyrdqfc7w…
CommonsBase_Build.Ninja0 1.12.1 Linux_x86_64 oe7dmxtsno2t…
CommonsBase_Build.Ninja0 1.12.1 Linux_arm64 ornywcjsnick…
CommonsBase_Build.VSWhere 3.1.7 Windows_arm64 oxkvqdyqqkck…
CommonsBase_Build.VSWhere 3.1.7 Windows_x86 oemwxule77tg…
CommonsBase_Build.VSWhere 3.1.7 Windows_x86_64 ooksmbvvs7gw…
CommonsBase_Build.Age 1.3.1 Windows_x86_64 ol42sancrjf3…
CommonsBase_Build.Age 1.3.1 Linux_x86_64 oedpzmnqk4ya…
CommonsBase_Build.Age 1.3.1 Linux_arm64 omd4qexkvhw6…
CommonsBase_Build.Age 1.3.1 Darwin_x86_64 o2ikk5lhs3gd…
CommonsBase_Build.Age 1.3.1 Darwin_arm64 oy2e27afox5c…
CommonsBase_Build.GitHubCLI 2.92.0 Windows_x86 ogku2dt3tmeg…
CommonsBase_Build.GitHubCLI 2.92.0 Windows_x86_64 okqvx6ezhymt…
CommonsBase_Build.GitHubCLI 2.92.0 Windows_arm64 o4hreoiypmsp…
CommonsBase_Build.GitHubCLI 2.92.0 Linux_x86 ot77eu32ew4i…
CommonsBase_Build.GitHubCLI 2.92.0 Linux_x86_64 ou2c665d5at4…
CommonsBase_Build.GitHubCLI 2.92.0 Linux_arm64 oh3sqi47dwly…
CommonsBase_Build.GitHubCLI 2.92.0 Darwin_x86_64 oew33hjrlccy…
CommonsBase_Build.GitHubCLI 2.92.0 Darwin_arm64 orstlyhdkgmv…
CommonsBase_Build.Git.MinGit 2.55.0 Windows_x86_64 o3lm5afrryyw…
CommonsBase_Build.Git.MinGit 2.55.0 Windows_x86 okt6q3a7yqkx…
CommonsBase_Build.Git.MinGit 2.55.0 Windows_arm64 ohfdxbl7oyst…
CommonsBase_Build.Toolchain.Discover.MSVC 1.0.0 Windows_x86_64 o2u5nmcm62r5…
CommonsBase_Build.Toolchain.Discover.MSVC 1.0.0 Windows_x86 oe46nvdirbzs…
CommonsBase_Build.Toolchain.Discover.MSVC 1.0.0 Windows_arm64 om6lprq5s7uj…
CommonsBase_Build.Toolchain.Discover.CGlibc 1.0.0 Linux_x86_64 on3yuwhrjduj…
CommonsBase_Build.Toolchain.Discover.CGlibc 1.0.0 Linux_x86 oa7fq4vq34yb…
CommonsBase_Build.Toolchain.Discover.CGlibc 1.0.0 Linux_arm64 otimdrti6rpm…
CommonsBase_Build.Toolchain.Discover.CGlibc 1.0.0 Darwin_x86_64 ofr6ps52wdoy…
CommonsBase_Build.Toolchain.Discover.CGlibc 1.0.0 Darwin_arm64 oibi3kxnrjnd…

Build downloads

Assets fetched by get-asset during the build, content-addressed with a deterministic size.

ModulePathvalue-idSize
CommonsBase_Build.CMake0.Bundle cmake-darwin_universal.zip ajjqc36qkgaf… 76.4 MB
CommonsBase_Build.CMake0.Bundle cmake-linux_arm64.zip a6ccbymavku5… 42.8 MB
CommonsBase_Build.CMake0.Bundle cmake-linux_x86_64.zip a4og42sdel4b… 43.7 MB
CommonsBase_Build.CMake0.Bundle cmake-linux_x86.zip am3qa2663r76… 42.9 MB
CommonsBase_Build.CMake0.Bundle cmake-3.25.3-windows-x86_64.zip ap4puij6vpw6… 39.6 MB
CommonsBase_Build.CMake0.Bundle cmake-3.25.3-windows-i386.zip a6hznijbmw57… 36.3 MB
CommonsBase_Build.CMake0.Bundle cmake-3.25.3-windows-arm64.zip azdpj6lgvg2d… 39.0 MB

Workspace assets

Files and directories in the package repo, bundled into the build.

AssetProject pathType
HelloWorld dist/hw directory
LookupCMake3_25_3 dist/lookup-cmake-3-25-3 directory
LookupCMakeBin dist/lookup-cmake-bin directory
ToolchainDiscover assets/dkt directory

Downloaded assets

Third-party sources fetched and checksum-verified during the build.

AssetSizesha256Source
cmake-3.25.3-windows-x86_64.zip 39.6 MB d129425d569140b7… https://github.com/Kitware/CMake/releases/download/v3.25.3/cmake-3.25.3-windows-x86_64.zip
ninja-win.zip 269 KB f550fec705b6d6ff… https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip
gh_2.92.0_linux_386.tar.gz 12.8 MB 65320dc8465c424f… https://github.com/cli/cli/releases/download/v2.92.0/gh_2.92.0_linux_386.tar.gz
age-v1.3.1-darwin-amd64.tar.gz 9.8 MB 2b233301ad21ab7b… https://github.com/FiloSottile/age/releases/download/v1.3.1/age-v1.3.1-darwin-amd64.tar.gz
vswhere.exe 458 KB c54f3b7c9164ea9a… https://github.com/microsoft/vswhere/releases/download/3.1.7/vswhere.exe
MinGit-2.55.0.2-64-bit.zip 37.0 MB e3ea2944cea4b3fa… https://github.com/git-for-windows/git/releases/download/v2.55.0.windows.2/MinGit-2.55.0.2-64-bit.zip

Dependencies

PackageVersionsha256
CommonsBase_Std 2.6.20260718222208 ec03493d6f73aa96…

Producer signing key

Releases of this package are signed with this OpenBSD signify key. After you import the package, dk1 trust list prints the same public key and fingerprint; compare them here to confirm you are trusting the intended publisher over a channel independent of the download.

Fingerprint 9e6aa8010a71532a
Public key RWSeaqgBCnFTKnH5DQPSFvVC/a7F8kL3fujjoHXf0dX3CKHfArEfmu/H

Named licenses

Plaintext for each LicenseRef-* in the SPDX expression above.

LicenseRef-CMake-Copyright
CMake - Cross Platform Makefile Generator
Copyright 2000-2025 Kitware, Inc. and Contributors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,
  this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of Kitware, Inc. nor the names of Contributors may be
  used to endorse or promote products derived from this software without
  specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.