Skip to content

Prepare for v1.93 - #803

Draft
sdebionne wants to merge 38 commits into
masterfrom
develop
Draft

Prepare for v1.93#803
sdebionne wants to merge 38 commits into
masterfrom
develop

Conversation

@sdebionne

Copy link
Copy Markdown
Contributor

Description

Merge to master (again) for 1.93 (deadline Oct. 21)

Tasklist

  • Add release notes
  • Ensure all CI builds pass
  • Review and approve

marco-langerand others added 30 commits July 5, 2022 17:53
…ization
Remove std::floating_point specializations
Fix wrong return type of copy_fn and missing typedef in destruct_range
boost/gil/pixel_iterator_adaptor.hpp includes
boost/stl_interfaces/iterator_interface.hpp, but the boost_gil target's
link libraries never declared Boost::stl_interfaces. Building gil via a
minimal CMake superbuild (BOOST_INCLUDE_LIBRARIES=gil) therefore fails
to pull in stl_interfaces at all, causing a missing-header error.
Use constexpr wherever preferred; Replace static const bool by inheriting std::true_type or std::false_type in metafunctions.
Moves 2 metafunctions: check_mask_size and check_distance_type to detail namespace and prefixes them with 'dt' (distance_transform) to avoid naming conflicts.
Uses the clang-format configuration provided in the latest commit of PR #596. Formatting is applied to test file and example file as well. I have made no changes whatsoever after using the clang-format.
Fix missing Boost::stl_interfaces dependency in CMakeLists.txt
Fix integer overflow in channel_converter_unsigned_integral_nondivisible
Convert all prose documentation under doc/ to AsciiDoc pages built with
Antora, following the boostorg/redis and boostorg/url convention
(antora.yml, nav.adoc, build_antora.sh, package.json). Fix two
pre-existing navigation gaps in the process: the contrast_enhancement
pages that were unreachable from the old toctree, and the duplicated
histogram/extension inclusion.
The C++ API reference stays Doxygen-generated for now and is linked in
via modules/ROOT/pages/reference.adoc: MrDocs 0.8.0 segfaults on most
of GIL's CRTP-based pixel/image/iterator/locator headers, so a
MrDocs-native reference (mrdocs.yml is prepared but not wired into
antora.yml) is blocked on an upstream fix.
Update the docs CI actions and pixi.toml's new `docs` environment
(Node.js + Doxygen) accordingly, and remove the old Sphinx toolchain
files.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the interim Doxygen reference (see previous commit) with a real
MrDocs-generated one, now that the upstream segfault blocking it is fixed
(verified against a fixed MrDocs dev build against all 49 previously-crashing
GIL headers, and against the full public API: 6796 declarations, 5662 pages).
- doc/mrdocs-src/all.cpp: the single translation unit MrDocs extracts from --
core + concepts + image_processing + the dynamic_image/toolbox/numeric/
histogram extensions + the generic io layer. Deliberately excludes
extension/io/{jpeg,png,tiff,bmp,pnm,raw}, which need the matching external
image libraries just to parse.
- doc/mrdocs.yml: scoped to that same surface; compilation-database is
generated by build_antora.sh since it needs $BOOST_SRC_DIR baked in.
- antora.yml: ext.cppReference wired in (camelCase -- the extension doesn't
read the kebab-case key the public docs guide shows).
- reference.adoc: rewritten from the Doxygen stopgap to a curated table of
xref:reference:boost/gil/<Symbol>.adoc[] links, grouped by the categories
the old doc/reference.dox Doxygen-group taxonomy used (that taxonomy has
no equivalent in MrDocs' output, which groups by namespace/file instead).
- design/*.adoc: the ~45 concept deep-links that used to point at Doxygen
HTML now point at the real MrDocs reference pages instead.
- doxyfile, reference.dox, header.html, footer.html, doxygen-boost.css:
removed, no longer needed.
- local-playbook.yml: failure_level set to `fatal` rather than `error` --
some MrDocs-generated pages (e.g. packed_pixel) link to private-member
sub-pages (`_bitfield`) that MrDocs doesn't actually emit regardless of
extract-private; cosmetic, worth another small upstream report, but not
worth hard-failing the build over.
- .gitignore: `/doc/*build*` was accidentally also matching and silently
untracking doc/build_antora.sh this whole time (the same trap the
pre-existing `!build.jam` exception below it was clearly added for
before); narrowed to `/doc/build/`, and doc/build_antora.sh is now
actually tracked.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
setup-boost's `cp -r $GITHUB_WORKSPACE/* libs/gil` (into ../boost-root)
drops .git (cp -r with a glob doesn't match dotfiles), but
local-playbook.yml's Antora content source (`url: ..`) requires a real
git repository. Found via the docs-ci-smoke test branch:
FATAL (antora): Local content source must be a git repository:
/home/runner/work/gil/boost-root/libs/gil (url: ..)
Run the build from the original checkout instead (which does have .git),
and only use ../boost-root for BOOST_SRC_DIR (MrDocs' cross-library
header resolution), matching how boostorg/url and boostorg/redis's CI
scripts keep those two concerns separate.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add libs/gil/pixi.toml -- a self-contained `docs` environment (Node, a C++
compiler, and MrDocs from the sdebionne/label/esrf-bcu channel, which
repackages a fixed MrDocs dev build until the upstream segfault fix ships
in an official release) -- so `pixi run -e docs docs-build` is a fully
self-contained one-command local build.
build_antora.sh now auto-detects a pixi/conda-provided MrDocs via
CONDA_PREFIX when MRDOCS_ROOT isn't already set, instead of falling
through to the antora-cpp-reference-extension's auto-download (which
currently fetches the still-broken official release).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
docs-prerequisites now sets up the pixi `docs` environment instead of a
plain Node install, and generate-doc runs the build through `pixi run -e
docs docs-build`. Without this, a real push to develop/master would still
hit the antora-cpp-reference-extension's auto-download of the official
MrDocs release, which segfaults on GIL's headers -- validated end-to-end
on the docs-ci-smoke test branch first.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
sdebionneand others added 2 commits September 3, 2026 14:34
docs: migrate from Sphinx/RST/Doxygen to Antora/AsciiDoc
generate-doc's earlier fix (running the build from the original checkout
instead of the .git-less copy under ../boost-root/libs/gil) also moved
where docs-config.sh creates temp-doc: it's now at $GITHUB_WORKSPACE/temp-doc,
not ../boost-root/libs/gil/temp-doc. docs.yaml's Deploy step still pointed
at the old path, so it failed with:
ENOENT: no such file or directory, scandir
'.../boost-root/libs/gil/temp-doc'
(and a confusing secondary "branch gh-pages already exists" error from
peaceiris/actions-gh-pages mishandling that missing directory).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@sdebionnesdebionne added this to the Boost 1.93 milestone Sep 3, 2026
@sdebionnesdebionne self-assigned this Sep 3, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sdebionne@marco-langer@harshitpant1