bpkg/0.15.0-a.0.20211209135511.bd939839b44d

[full]

build2 package dependency manager

This package contains the build2 package dependency manager.

build2 is an open source, cross-platform toolchain for building and packaging
C++ code. Its aim is a modern build system and dependency manager for the C++
language that provide a consistent, out of the box interface across multiple
platforms and compilers. For more information see:

https://build2.org/

See the NEWS file for the user-visible changes from the previous release.

See the LICENSE file for the distribution conditions.

See... More
version 0.15.0-a.0.20211209135511.bd939839b44d
license MIT
repository https://stage.build2.org/1
download bpkg-0.15.0-a.0.20211209135511.bd939839b44d.tar.gz
sha256 143d35a5cba0df69ef0ce81c6b3926c0c74c8a6025b796577bacbad68c1d040e
project build2
url build2.org
doc-url build2.org/doc.xhtml
src-url git.build2.org/cgit/bpkg/tree/
topics package dependency managementbuild toolchain

Depends (5)

libodb [2.5.0-b.22.1 2.5.0-b.23)
libodb-sqlite [2.5.0-b.22.1 2.5.0-b.23)
libsqlite3 ^3.21.0ATTACH in transaction
libbutl [0.15.0-a.0.1 0.15.0-a.1)
libbpkg [0.15.0-a.0.1 0.15.0-a.1)

Requires (2)

c++14
? cliOnly required if changing .cli files

Builds

toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_15.9 / x86_64-microsoft-win32-msvc14.1
timestamp 2022-01-16 10:22:36 UTC (13:51:00 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-clang_13.0_llvm_msvc_16.11_lld / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 10:17:00 UTC (13:56:35 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-clang_13.0_llvm_msvc_16.11-static_O2 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 10:15:30 UTC (13:58:06 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-clang_13.0_llvm_msvc_16.11-O2 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 10:10:58 UTC (14:02:37 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-clang_13.0_llvm_msvc_16.11 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 10:06:45 UTC (14:06:50 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_16.11-charset / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 10:01:17 UTC (14:12:19 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_16.11-static_O2 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 10:01:11 UTC (14:12:24 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-clang_12.0_msvc_msvc_16.11 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 09:56:52 UTC (14:16:44 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-gcc_11.2_mingw_w64-O2 / x86_64-w64-mingw32
timestamp 2022-01-16 09:55:47 UTC (14:17:48 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_16.11 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 09:49:15 UTC (14:24:20 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_16.11-O2 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 09:48:20 UTC (14:25:16 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config freebsd_13-clang_11.0-static_O3 / x86_64-freebsd13.0
timestamp 2022-01-16 09:48:09 UTC (14:25:27 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-gcc_11.2_homebrew-static_O3 / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:45:11 UTC (14:28:24 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-gcc_11.2_homebrew-O3 / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:44:04 UTC (14:29:31 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config freebsd_13-clang_11.0-O3 / x86_64-freebsd13.0
timestamp 2022-01-16 09:43:08 UTC (14:30:28 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config freebsd_11-clang_10.0 / x86_64-freebsd11.4
timestamp 2022-01-16 09:38:38 UTC (14:34:58 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config freebsd_13-clang_11.0 / x86_64-freebsd13.0
timestamp 2022-01-16 09:37:37 UTC (14:35:59 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-gcc_11.2_homebrew / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:37:10 UTC (14:36:25 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-gcc_11.2_mingw_w64-static_O2 / x86_64-w64-mingw32
timestamp 2022-01-16 09:36:57 UTC (14:36:38 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-clang_13.0-static_O3 / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:36:30 UTC (14:37:05 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-gcc_11.2_mingw_w64 / x86_64-w64-mingw32
timestamp 2022-01-16 09:35:26 UTC (14:38:10 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_11-clang_13.0_libc++-static_O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:34:35 UTC (14:39:01 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_11-clang_13.0-static_O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:34:26 UTC (14:39:09 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_9.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:33:45 UTC (14:39:50 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_11-clang_13.0_libc++-O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:33:35 UTC (14:40:01 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-gcc_11.2-static_O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:33:23 UTC (14:40:13 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_12.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:32:47 UTC (14:40:49 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_11.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:32:19 UTC (14:41:17 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config freebsd_12-clang_10.0 / x86_64-freebsd12.2
timestamp 2022-01-16 09:32:12 UTC (14:41:24 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-clang_8.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:32:00 UTC (14:41:35 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_10.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:31:43 UTC (14:41:52 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-clang_13.0 / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:31:38 UTC (14:41:57 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_9.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:29:34 UTC (14:44:02 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-clang_13.0-O3 / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:29:05 UTC (14:44:30 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_11-clang_13.0-O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:29:01 UTC (14:44:34 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_11-clang_13.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:28:43 UTC (14:44:52 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-gcc_11.2-ndebug_O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:28:39 UTC (14:44:57 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-gcc_10.2 / x86_64-linux-gnu
timestamp 2022-01-16 09:28:13 UTC (14:45:22 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-gcc_11.2-O3 / x86_64-linux-gnu
timestamp 2022-01-16 09:27:20 UTC (14:46:15 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_12.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:27:16 UTC (14:46:19 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_11.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:27:16 UTC (14:46:20 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-clang_8.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:27:00 UTC (14:46:36 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-clang_10.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:25:27 UTC (14:48:09 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_16.9 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 09:25:07 UTC (14:48:29 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-clang_7.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:24:56 UTC (14:48:39 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_11-clang_13.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:23:48 UTC (14:49:48 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-gcc_11.2 / x86_64-linux-gnu
timestamp 2022-01-16 09:22:23 UTC (14:51:13 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_ubuntu_16.04-clang_3.7_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:21:24 UTC (14:52:11 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-clang_6.0_libc++ / x86_64-linux-gnu
timestamp 2022-01-16 09:20:12 UTC (14:53:23 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9_tsan-gcc_7.4 / x86_64-linux-gnu
timestamp 2022-01-16 09:19:58 UTC (14:53:37 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9_asan-gcc_8.4 / x86_64-linux-gnu
timestamp 2022-01-16 09:19:11 UTC (14:54:25 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-clang_7.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:18:56 UTC (14:54:39 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-clang_6.0 / x86_64-linux-gnu
timestamp 2022-01-16 09:17:01 UTC (14:56:34 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config macos_11-clang_12.0 / x86_64-apple-darwin20.5.0
timestamp 2022-01-16 09:16:38 UTC (14:56:58 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10_devmode-msvc_16.11 / x86_64-microsoft-win32-msvc14.2
timestamp 2022-01-16 09:16:27 UTC (14:57:09 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_10-gcc_9.3 / x86_64-linux-gnu
timestamp 2022-01-16 09:16:24 UTC (14:57:11 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-gcc_7.4 / x86_64-linux-gnu
timestamp 2022-01-16 09:15:21 UTC (14:58:14 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_8-gcc_4.9 / x86_64-linux-gnu
timestamp 2022-01-16 09:14:50 UTC (14:58:46 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config linux_debian_9-gcc_8.4 / x86_64-linux-gnu
timestamp 2022-01-16 09:05:24 UTC (15:08:11 hours ago)
result success | log | rebuild
toolchain stage-0.15.0-a.0.20220111090042.b2ef88520bfe
config windows_10-msvc_14.3 / x86_64-microsoft-win32-msvc14.0
result unbuilt
config linux_debian_10-emcc_2.0.25 / wasm32-emscripten
result excluded

Changes

Version 0.14.0

  * Support for configuration types, configuration linking, and build-time
    dependencies.

    Configurations can now be linked with each other to allow a package to be
    built in one configuration while its dependencies -- in one or more linked
    configurations. This can be used to create a "base" configuration with
    common dependencies that are shared between multiple configurations.

    Configurations now also have types with the three predefined types being
    `target` (the default) `host` (used for build-time dependencies), and
    `build2` (used for build system modules). This mechanism together with
    configuration linking is used to provide separate configurations for
    build-time dependencies, for example, tools that need to be executed or
    build system modules that need to be loaded during the build.

    If during dependency resolution a build-time dependency is encountered and
    there is no build configuration of a suitable type linked with the target
    configuration, then a private configuration of the needed type is
    automatically created and linked.

    New relevant commands: bpkg-cfg-{link,unlink,info}.

    Command with relevant changes (new options, etc): bpkg-cfg-create,
    bpkg-pkg-{build,status}.

    See bpkg-cfg-create(1) for details on this functionality.

  * Tests, examples, and benchmark packages can now also be run-time or build-
    time.

    See the `tests`, `examples`, and `benchmarks` package manifest values for
    details.

  * Two new pre-defined automated build bot requirements: `bootstrap` (package
    is a build system module that requires bootstrapping) and `host` (package
    is normally used as build-time dependency and should be built in a host
    configuration).

    See the `requires` package manifest value for details.

  * Configuration of an external package is now preserved between upgrades and
    downgrades.

    The same behavior for normal packages is still a TODO. The old behavior
    can be achieved with the new --disfigure bpkg-pkg-build option that forces
    a from-scratch reconfiguration.

  * New `min-bpkg-version` repositories manifest value that allows specifying
    the minimum supported bpkg version.

    See also the new --min-bpkg-version bpkg-rep-create option.

  * Change of the `build-email` package manifest value semantics.

    Now build result notifications are only sent if this value is explicitly
    specified (before we used to fallback to `email`).

  * New --immediate|-i and --recursive|-r bpkg-pkg-{update,clean} options.

    These options can be used to additionally update or clean immediate or all
    dependencies of a package, respectively.

  * New --all-pattern bpkg-pkg-{update,clean,test,install,uninstall} option.

    This option can be used to perform the command on all the held packages
    that match a wildcard pattern.

  * New --rebuild-checksum bpkg-pkg-build option.

    This option can be used to avoid rebuilds if the result of a dependency
    resolution for a package has not changed.

  * New --noop-exit bpkg-pkg-build option.

    This option can be used to request a distinct exit code if the build is
    a noop (performs no new package builds, upgrades, etc).

  * New --output-{root,purge} bpkg-pkg-checkout and --checkout-{root,purge}
    bpkg-pkg-build options.

  * New --keep-config bpkg-pkg-disfigure option.

  * New BPKG_DEF_OPT environment variable that can be used to suppress loading
    of default options files.

Version 0.13.0

  * The SPDX License Expression is now the default scheme for the 'license'
    package manifest value.

    See the "license" section in the manual for details.

  * New --pkg-proxy common option.

    This option specifies the proxy server to use when fetching package
    manifests and archives from remote pkg repositories. See the option
    documentation in bpkg-common-options(1) for details.

  * External test packages can now have their own build constraints.

Version 0.12.0

  * Ability to specify the full package version constraint in the pkg-build
    command.

    For example:

    $ bpkg build "bar < 2.0.0"

    See bpkg-pkg-build(1) for details.

  * Support for default options files (aka tool config files).

    See the bpkg-default-options-files(1) help topic for background and the
    DEFAULT OPTIONS FILES section in each command's man pages for specifics.

  * Support for tests, examples, and benchmarks as separate packages.

    See the "tests, examples, benchmarks" section in the manual for details.

Version 0.11.0

  * The 'tags' package manifest value has been deprecated and replaced with
    'keywords' (list of space-separated words) and 'topics' (list of comma-
    separated, potentially multi-word concepts). For example:

    topics: xml parser, xml serializer
    keywords: sax dom

  * New 'description-type' package manifest value allows specifying the
    content type of the 'description' or 'description-file' value.... More