bpkg/0.14.0

[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.14.0
license MIT
repository https://pkg.cppget.org/1/alpha
download bpkg-0.14.0.tar.gz
sha256 e164c59b435864eba3c50dcf47d3328d7109e2a978a99f4e33905e3ee1c82b53
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.21
libodb-sqlite ^2.5.0-b.21
libsqlite3 ^3.21.0ATTACH in transaction
libbutl ^0.14.0
libbpkg ^0.14.0

Requires (2)

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

Builds

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

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