boost1.83-git

Created by Peter J. Mello on 2023-07-28 and last modified on 2024-04-21

Description

This source code recipe adapts the published procedures for building the Boost C++ libraries for the Launchpad packaging workflow.

The Boost project employs a hierarchical Version Control System structure, being anchored by a Git "super-repository" that then populates a directory tree within itself for each constituent library using the `git submodules` functionality (which Launchpad has always been famously incapable of working with) to achieve the complete build environment. This recipe replaces that behavior using analogous features from `git-buildpackage`, the primary tool used by Launchpad to generate the build source tree prior to packaging.

The upstream reference document from which this recipe is adapted is the .gitmodules file in the "super-repository," which can be examined by visiting the URL: <https://raw.githubusercontent.com/boostorg/boost/master/.gitmodules>

Each listed submodule has been imported for mirroring here on Launchpad as a standalone Git repository under my personal namespace and the Boost project (~roguescholar/+git and lp:boost, respectively, resulting in lp:~roguescholar/boost/+git/<submoduleName>) which is then referenced in this recipe by way of the `nest` instruction according to the syntax:

nest <submoduleName> <mirroredLaunchpadRepositoryURL> <submodulePath> <gitTag>

As the upstream project publishes new versions, updating this recipe to build those subsequent releases will naturally involve editing the final element of each line of the recipe to point to the corresponding tag in each upstream repository. Such tags will identify themselves by following the rubric `boost-<majorVersion>.<minorVersion>.<patchVersion>`, as defined by version 2.0.0 of the Semantic Versioning specification (available at <https://semver.org/spec/v2.0.0.html>).

The most recent changes to this recipe were made following the release of Boost v1.83.0, using the .gitmodules file from that tagged release as found at <https://raw.githubusercontent.com/boostorg/boost/boost-1.83.0/.gitmodules>. Envisioning an (as yet, hypothetical) future upstream minor release to v1.84.0 would involve examining the upstream .gitmodules file from the new tagged release at <https://raw.githubusercontent.com/boostorg/boost/boost-1.84.0/.gitmodules> to ensure any changes to the order of the submodules listed therein along with any additions or removals to their number were likewise reflected in this recipe, and finally, updating the last element of each line as mentioned earlier:

Before:
    …
    lp:~roguescholar/boost/+git/trunk boost-1.83.0
    nest system lp:~roguescholar/boost/+git/system libs/system boost-1.83.0
    …

After:
    …
    lp:~roguescholar/boost/+git/trunk boost-1.84.0
    nest system lp:~roguescholar/boost/+git/system libs/system boost-1.84.0
    …

Recipe information

Build schedule: (?)
Built daily
Owner:
AppImageLauncher Maintainers
Base source:
lp:~roguescholar/boost/+git/trunk
Debian version:
{debupstream}+pkg{time}~{git-commit}-{revno:packaging}
Daily build archive:
AppImageLauncher - Build Dependencies
Distribution series:

Latest builds

Status When complete Distribution series Archive
[FULLYBUILT] Successful build buildlog (87.8 KiB) Noble AppImageLauncher - Build Dependencies
[FAILEDTOBUILD] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu24.04.1 buildlog (722.1 KiB) amd64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu24.04.1 buildlog (665.6 KiB) arm64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu24.04.1 buildlog (675.5 KiB) armhf
[FULLYBUILT] Successful build buildlog (85.3 KiB) Jammy AppImageLauncher - Build Dependencies
[FAILEDTOBUILD] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu22.04.1 buildlog (646.2 KiB) amd64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu22.04.1 buildlog (661.5 KiB) arm64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu22.04.1 buildlog (674.8 KiB) armhf
[FULLYBUILT] Successful build buildlog (77.4 KiB) Mantic AppImageLauncher - Build Dependencies
[FAILEDTOBUILD] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu23.10.1 buildlog (638.0 KiB) amd64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu23.10.1 buildlog (658.2 KiB) arm64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404222203~564e2ac169-6640~ubuntu23.10.1 buildlog (670.2 KiB) armhf
[FULLYBUILT] Successful build buildlog (85.2 KiB) Jammy AppImageLauncher - Build Dependencies
[FAILEDTOBUILD] boost1.83 - 1.83.0+ds1+pkg202404212202~564e2ac169-6640~ubuntu22.04.1 buildlog (646.2 KiB) amd64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404212202~564e2ac169-6640~ubuntu22.04.1 buildlog (660.9 KiB) arm64
[FULLYBUILT] boost1.83 - 1.83.0+ds1+pkg202404212202~564e2ac169-6640~ubuntu22.04.1 buildlog (676.8 KiB) armhf
[MANUALDEPWAIT] Could not build because of missing dependencies buildlog (61.7 KiB) Mantic AppImageLauncher - Build Dependencies

Recipe contents

# git-build-recipe format 0.4 deb-version {debupstream}+pkg{time}~{git-commit}-{revno:packaging}
lp:~roguescholar/boost/+git/trunk boost-1.83.0
nest system lp:~roguescholar/boost/+git/system libs/system boost-1.83.0
nest multi_array lp:~roguescholar/boost/+git/multi_array libs/multi_array boost-1.83.0
nest math lp:~roguescholar/boost/+git/math libs/math boost-1.83.0
nest smart_ptr lp:~roguescholar/boost/+git/smart_ptr libs/smart_ptr boost-1.83.0
nest parameter lp:~roguescholar/boost/+git/parameter libs/parameter boost-1.83.0
nest algorithm lp:~roguescholar/boost/+git/algorithm libs/algorithm boost-1.83.0
nest any lp:~roguescholar/boost/+git/any libs/any boost-1.83.0
nest concept_check lp:~roguescholar/boost/+git/concept_check libs/concept_check boost-1.83.0
nest python lp:~roguescholar/boost/+git/python libs/python boost-1.83.0
nest tti lp:~roguescholar/boost/+git/tti libs/tti boost-1.83.0
nest functional lp:~roguescholar/boost/+git/functional libs/functional boost-1.83.0
nest config lp:~roguescholar/boost/+git/config libs/config boost-1.83.0
nest log lp:~roguescholar/boost/+git/log libs/log boost-1.83.0
nest interprocess lp:~roguescholar/boost/+git/interprocess libs/interprocess boost-1.83.0
nest exception lp:~roguescholar/boost/+git/exception libs/exception boost-1.83.0
nest foreach lp:~roguescholar/boost/+git/foreach libs/foreach boost-1.83.0
nest spirit lp:~roguescholar/boost/+git/spirit libs/spirit boost-1.83.0
nest io lp:~roguescholar/boost/+git/io libs/io boost-1.83.0
nest units lp:~roguescholar/boost/+git/units libs/units boost-1.83.0
nest preprocessor lp:~roguescholar/boost/+git/preprocessor libs/preprocessor boost-1.83.0
nest format lp:~roguescholar/boost/+git/format libs/format boost-1.83.0
nest xpressive lp:~roguescholar/boost/+git/xpressive libs/xpressive boost-1.83.0
nest integer lp:~roguescholar/boost/+git/integer libs/integer boost-1.83.0
nest thread lp:~roguescholar/boost/+git/thread libs/thread boost-1.83.0
nest tokenizer lp:~roguescholar/boost/+git/tokenizer libs/tokenizer boost-1.83.0
nest timer lp:~roguescholar/boost/+git/timer libs/timer boost-1.83.0
nest inspect lp:~roguescholar/boost/+git/inspect tools/inspect boost-1.83.0
nest boostbook lp:~roguescholar/boost/+git/boostbook tools/boostbook boost-1.83.0
nest regex lp:~roguescholar/boost/+git/regex libs/regex boost-1.83.0
nest crc lp:~roguescholar/boost/+git/crc libs/crc boost-1.83.0
nest random lp:~roguescholar/boost/+git/random libs/random boost-1.83.0
nest serialization lp:~roguescholar/boost/+git/serialization libs/serialization boost-1.83.0
nest test lp:~roguescholar/boost/+git/test libs/test boost-1.83.0
nest date_time lp:~roguescholar/boost/+git/date_time libs/date_time boost-1.83.0
nest logic lp:~roguescholar/boost/+git/logic libs/logic boost-1.83.0
nest graph lp:~roguescholar/boost/+git/graph libs/graph boost-1.83.0
nest numeric_conversion lp:~roguescholar/boost/+git/numeric_conversion libs/numeric/conversion boost-1.83.0
nest lambda lp:~roguescholar/boost/+git/lambda libs/lambda boost-1.83.0
nest mpl lp:~roguescholar/boost/+git/mpl libs/mpl boost-1.83.0
nest typeof lp:~roguescholar/boost/+git/typeof libs/typeof boost-1.83.0
nest tuple lp:~roguescholar/boost/+git/tuple libs/tuple boost-1.83.0
nest utility lp:~roguescholar/boost/+git/utility libs/utility boost-1.83.0
nest dynamic_bitset lp:~roguescholar/boost/+git/dynamic_bitset libs/dynamic_bitset boost-1.83.0
nest assign lp:~roguescholar/boost/+git/assign libs/assign boost-1.83.0
nest filesystem lp:~roguescholar/boost/+git/filesystem libs/filesystem boost-1.83.0
nest function lp:~roguescholar/boost/+git/function libs/function boost-1.83.0
nest conversion lp:~roguescholar/boost/+git/conversion libs/conversion boost-1.83.0
nest optional lp:~roguescholar/boost/+git/optional libs/optional boost-1.83.0
nest property_tree lp:~roguescholar/boost/+git/property_tree libs/property_tree boost-1.83.0
nest bimap lp:~roguescholar/boost/+git/bimap libs/bimap boost-1.83.0
nest variant lp:~roguescholar/boost/+git/variant libs/variant boost-1.83.0
nest array lp:~roguescholar/boost/+git/array libs/array boost-1.83.0
nest iostreams lp:~roguescholar/boost/+git/iostreams libs/iostreams boost-1.83.0
nest multi_index lp:~roguescholar/boost/+git/multi_index libs/multi_index boost-1.83.0
nest bcp lp:~roguescholar/boost/+git/bcp tools/bcp boost-1.83.0
nest ptr_container lp:~roguescholar/boost/+git/ptr_container libs/ptr_container boost-1.83.0
nest statechart lp:~roguescholar/boost/+git/statechart libs/statechart boost-1.83.0
nest static_assert lp:~roguescholar/boost/+git/static_assert libs/static_assert boost-1.83.0
nest range lp:~roguescholar/boost/+git/range libs/range boost-1.83.0
nest rational lp:~roguescholar/boost/+git/rational libs/rational boost-1.83.0
nest iterator lp:~roguescholar/boost/+git/iterator libs/iterator boost-1.83.0
nest build lp:~roguescholar/boost/+git/build tools/build boost-1.83.0
nest quickbook lp:~roguescholar/boost/+git/quickbook tools/quickbook boost-1.83.0
nest graph_parallel lp:~roguescholar/boost/+git/graph_parallel libs/graph_parallel boost-1.83.0
nest property_map lp:~roguescholar/boost/+git/property_map libs/property_map boost-1.83.0
nest program_options lp:~roguescholar/boost/+git/program_options libs/program_options boost-1.83.0
nest detail lp:~roguescholar/boost/+git/detail libs/detail boost-1.83.0
nest interval lp:~roguescholar/boost/+git/interval libs/numeric/interval boost-1.83.0
nest ublas lp:~roguescholar/boost/+git/ublas libs/numeric/ublas boost-1.83.0
nest wave lp:~roguescholar/boost/+git/wave libs/wave boost-1.83.0
nest type_traits lp:~roguescholar/boost/+git/type_traits libs/type_traits boost-1.83.0
nest compatibility lp:~roguescholar/boost/+git/compatibility libs/compatibility boost-1.83.0
nest bind lp:~roguescholar/boost/+git/bind libs/bind boost-1.83.0
nest pool lp:~roguescholar/boost/+git/pool libs/pool boost-1.83.0
nest proto lp:~roguescholar/boost/+git/proto libs/proto boost-1.83.0
nest fusion lp:~roguescholar/boost/+git/fusion libs/fusion boost-1.83.0
nest function_types lp:~roguescholar/boost/+git/function_types libs/function_types boost-1.83.0
nest gil lp:~roguescholar/boost/+git/gil libs/gil boost-1.83.0
nest intrusive lp:~roguescholar/boost/+git/intrusive libs/intrusive boost-1.83.0
nest asio lp:~roguescholar/boost/+git/asio libs/asio boost-1.83.0
nest uuid lp:~roguescholar/boost/+git/uuid libs/uuid boost-1.83.0
nest litre lp:~roguescholar/boost/+git/litre tools/litre boost-1.83.0
nest circular_buffer lp:~roguescholar/boost/+git/circular_buffer libs/circular_buffer boost-1.83.0
nest mpi lp:~roguescholar/boost/+git/mpi libs/mpi boost-1.83.0
nest unordered lp:~roguescholar/boost/+git/unordered libs/unordered boost-1.83.0
nest signals2 lp:~roguescholar/boost/+git/signals2 libs/signals2 boost-1.83.0
nest accumulators lp:~roguescholar/boost/+git/accumulators libs/accumulators boost-1.83.0
nest atomic lp:~roguescholar/boost/+git/atomic libs/atomic boost-1.83.0
nest scope_exit lp:~roguescholar/boost/+git/scope_exit libs/scope_exit boost-1.83.0
nest flyweight lp:~roguescholar/boost/+git/flyweight libs/flyweight boost-1.83.0
nest icl lp:~roguescholar/boost/+git/icl libs/icl boost-1.83.0
nest predef lp:~roguescholar/boost/+git/predef libs/predef boost-1.83.0
nest chrono lp:~roguescholar/boost/+git/chrono libs/chrono boost-1.83.0
nest polygon lp:~roguescholar/boost/+git/polygon libs/polygon boost-1.83.0
nest msm lp:~roguescholar/boost/+git/msm libs/msm boost-1.83.0
nest heap lp:~roguescholar/boost/+git/heap libs/heap boost-1.83.0
nest coroutine lp:~roguescholar/boost/+git/coroutine libs/coroutine boost-1.83.0
nest coroutine2 lp:~roguescholar/boost/+git/coroutine2 libs/coroutine2 boost-1.83.0
nest ratio lp:~roguescholar/boost/+git/ratio libs/ratio boost-1.83.0
nest odeint lp:~roguescholar/boost/+git/odeint libs/odeint boost-1.83.0
nest geometry lp:~roguescholar/boost/+git/geometry libs/geometry boost-1.83.0
nest phoenix lp:~roguescholar/boost/+git/phoenix libs/phoenix boost-1.83.0
nest move lp:~roguescholar/boost/+git/move libs/move boost-1.83.0
nest locale lp:~roguescholar/boost/+git/locale libs/locale boost-1.83.0
nest auto_index lp:~roguescholar/boost/+git/auto_index tools/auto_index boost-1.83.0
nest container lp:~roguescholar/boost/+git/container libs/container boost-1.83.0
nest local_function lp:~roguescholar/boost/+git/local_function libs/local_function boost-1.83.0
nest context lp:~roguescholar/boost/+git/context libs/context boost-1.83.0
nest type_erasure lp:~roguescholar/boost/+git/type_erasure libs/type_erasure boost-1.83.0
nest multiprecision lp:~roguescholar/boost/+git/multiprecision libs/multiprecision boost-1.83.0
nest lockfree lp:~roguescholar/boost/+git/lockfree libs/lockfree boost-1.83.0
nest assert lp:~roguescholar/boost/+git/assert libs/assert boost-1.83.0
nest align lp:~roguescholar/boost/+git/align libs/align boost-1.83.0
nest type_index lp:~roguescholar/boost/+git/type_index libs/type_index boost-1.83.0
nest core lp:~roguescholar/boost/+git/core libs/core boost-1.83.0
nest throw_exception lp:~roguescholar/boost/+git/throw_exception libs/throw_exception boost-1.83.0
nest winapi lp:~roguescholar/boost/+git/winapi libs/winapi boost-1.83.0
nest boostdep lp:~roguescholar/boost/+git/boostdep tools/boostdep boost-1.83.0
nest lexical_cast lp:~roguescholar/boost/+git/lexical_cast libs/lexical_cast boost-1.83.0
nest sort lp:~roguescholar/boost/+git/sort libs/sort boost-1.83.0
nest convert lp:~roguescholar/boost/+git/convert libs/convert boost-1.83.0
nest endian lp:~roguescholar/boost/+git/endian libs/endian boost-1.83.0
nest vmd lp:~roguescholar/boost/+git/vmd libs/vmd boost-1.83.0
nest dll lp:~roguescholar/boost/+git/dll libs/dll boost-1.83.0
nest compute lp:~roguescholar/boost/+git/compute libs/compute boost-1.83.0
nest hana lp:~roguescholar/boost/+git/hana libs/hana boost-1.83.0
nest metaparse lp:~roguescholar/boost/+git/metaparse libs/metaparse boost-1.83.0
nest qvm lp:~roguescholar/boost/+git/qvm libs/qvm boost-1.83.0
nest fiber lp:~roguescholar/boost/+git/fiber libs/fiber boost-1.83.0
nest process lp:~roguescholar/boost/+git/process libs/process boost-1.83.0
nest stacktrace lp:~roguescholar/boost/+git/stacktrace libs/stacktrace boost-1.83.0
nest poly_collection lp:~roguescholar/boost/+git/poly_collection libs/poly_collection boost-1.83.0
nest beast lp:~roguescholar/boost/+git/beast libs/beast boost-1.83.0
nest mp11 lp:~roguescholar/boost/+git/mp11 libs/mp11 boost-1.83.0
nest callable_traits lp:~roguescholar/boost/+git/callable_traits libs/callable_traits boost-1.83.0
nest contract lp:~roguescholar/boost/+git/contract libs/contract boost-1.83.0
nest check_build lp:~roguescholar/boost/+git/check_build tools/check_build boost-1.83.0
nest container_hash lp:~roguescholar/boost/+git/container_hash libs/container_hash boost-1.83.0
nest hof lp:~roguescholar/boost/+git/hof libs/hof boost-1.83.0
nest yap lp:~roguescholar/boost/+git/yap libs/yap boost-1.83.0
nest safe_numerics lp:~roguescholar/boost/+git/safe_numerics libs/safe_numerics boost-1.83.0
nest parameter_python lp:~roguescholar/boost/+git/parameter_python libs/parameter_python boost-1.83.0
nest headers lp:~roguescholar/boost/+git/headers libs/headers boost-1.83.0
nest boost_install lp:~roguescholar/boost/+git/boost_install tools/boost_install boost-1.83.0
nest outcome lp:~roguescholar/boost/+git/outcome libs/outcome boost-1.83.0
nest histogram lp:~roguescholar/boost/+git/histogram libs/histogram boost-1.83.0
nest variant2 lp:~roguescholar/boost/+git/variant2 libs/variant2 boost-1.83.0
nest nowide lp:~roguescholar/boost/+git/nowide libs/nowide boost-1.83.0
nest docca lp:~roguescholar/boost/+git/docca tools/docca boost-1.83.0
nest cmake lp:~roguescholar/boost/+git/cmake tools/cmake boost-1.83.0
nest static_string lp:~roguescholar/boost/+git/static_string libs/static_string boost-1.83.0
nest stl_interfaces lp:~roguescholar/boost/+git/stl_interfaces libs/stl_interfaces boost-1.83.0
nest more lp:~roguescholar/boost/+git/more more boost-1.83.0
nest leaf lp:~roguescholar/boost/+git/leaf libs/leaf boost-1.83.0
nest json lp:~roguescholar/boost/+git/json libs/json boost-1.83.0
nest pfr lp:~roguescholar/boost/+git/pfr libs/pfr boost-1.83.0
nest describe lp:~roguescholar/boost/+git/describe libs/describe boost-1.83.0
nest lambda2 lp:~roguescholar/boost/+git/lambda2 libs/lambda2 boost-1.83.0
nest property_map_parallel lp:~roguescholar/boost/+git/property_map_parallel libs/property_map_parallel boost-1.83.0
nest url lp:~roguescholar/boost/+git/url libs/url boost-1.83.0
nest mysql lp:~roguescholar/boost/+git/mysql libs/mysql boost-1.83.0
nest compat lp:~roguescholar/boost/+git/compat libs/compat boost-1.83.0
nest-part packaging lp:~appimagelauncher-team/boost/+git/boost-packaging debian debian main