pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/CLI11
Module Name: pkgsrc
Committed By: ktnb
Date: Thu Oct 15 13:05:22 UTC 2026
Modified Files:
pkgsrc/devel/CLI11: Makefile PLIST distinfo
Log Message:
CLI11: update to 2.7.2
2.7.2:
Changed
- The C++20 named module uses the precompiled implementation and we
lowered its floor from C++23 to C++20. CLI11::Module now works for
both find_package and add_subdirectory, and configure fails with a
clear message if CMake is older than 3.28.
- Removed <iostream>, <codecvt>, <iomanip>, <fstream>, and <locale>
from the declaration headers, so precompiled clients do not parse
them. App::exit() is now three overloads instead of one with stream
default arguments.
- Moved the remaining non-template function bodies out of App.hpp,
Option.hpp, Validators.hpp, TypeTools.hpp, ConfigFwd.hpp, and
FormatterFwd.hpp into the impl/*_inl.hpp files, so they compile
into the library in precompiled mode. Header-only mode is
unchanged.
Fixed
- Fixed the Bazel precompiled build: CLI11_COMPILE and
CLI11_ENABLE_EXTRA_VALIDATORS now propagate to consumers, which
previously got duplicate implementations from both the headers and
the library. Added a cli11_header_only target, the Windows shell32
link, and more tests.
- Made ExtraValidators_inl.hpp use the same
CLI11_ENABLE_EXTRA_VALIDATORS test as its header, and gave the file
permission validators the CLI11_MODULE_INLINE marker the other
global validators have.
Documentation
- Documented the precompiled mode in the README.
- Added a minimal module example, corrected the CLI11::Module target
name in the book, and noted that macros such as CLI11_PARSE do not
come through an import.
Internal
Added an iwyu preset that runs include-what-you-use over the one precompiled translation unit, with a mapping file for both standard libraries, and applied its findings. #1418
2.7.1:
Fixed
- Fixed missing symbols in the precompiled library under LTO:
Precompile.cpp now explicitly instantiates Option::ignore_case<App>
and ignore_underscore<App>, and the library always compiles the
full validator set unless CMake disables it.
Documentation
- Added the changelog to the Doxygen site.
- Titled the changelog entries and named the releases from them.
Internal
- Moved the release checklist to a prepare-release skill.
2.7.0:
Added
- Added a FileSize validator to check minimum and maximum file sizes.
- Added PrefixCommandMode::PositionalOnly, which restores the
pre-2.6.2 prefix command behavior as an opt-in mode: only a
positional argument or the -- separator triggers prefix mode, and
unrecognized options are collected as extras.
- Added an option to write only the active subcommand defaults when
generating a config file.
Changed
- Improved performance by removing unnecessary string and container
copies in parsing and validator hot paths.
- Improved the performance of string splitting by replacing a
stringstream with a find-based loop.
- Sorted the excludes and needs sets by name for stable help output.
- Removed en_US.UTF-8 from the unicode locale fallback list.
- Modernization and portability fixes: added missing standard
includes, exported CLI::Number from the C++20 module, and cleaned
up the warning lists.
- Aligned the Meson build with wrapdb policy by removing
disable_auto_if for subprojects.
Fixed
- Fixed require_subcommand maximum enforcement for dot notation and
for disabled fallthrough, dot-notation subcommands with
Windows-style prefixes, get_options const/non-const consistency,
and a crash when parsing with argc == 0.
- Fixed missing symbol export from the precompiled shared library on
macOS.
- Fixed double indentation of nested option groups in help output.
- Fixed config reading and writing bugs: section headers with
trailing comments, one-line multiline comments, embedded delimiters
with the Join policy, and multiline values for indented keys.
- Fixed help formatting issues: hidden positionals appearing in the
usage line, long subcommand names running into their descriptions,
and ExtrasError reporting the wrong error name.
- Fixed ignore_case and ignore_underscore so both apply when used
together.
- Fixed string handling edge cases in split_up, remove_quotes,
append_codepoint, and escape_detect.
- Fixed type conversion edge cases: negative input to unsigned types,
whitespace-only floating point input, containers of pairs with an
odd element count, large integer sums, and the Join policy with
default values.
- Fixed stale processed values being returned after Option::clear().
- Fixed out-of-bounds reads in the non-codecvt narrow/widen
conversion paths used under C++26.
- Fixed infinite recursion on subcommand option groups with
fallthrough enabled.
- Fixed empty strings given to wrapper types such as std::optional to
consistently produce a default-constructed value.
- Fixed CLI::ExistingFile to reject an empty filename with a clear
error.
- Fixed an empty description on a modified Transformer.
- Fixed unsigned wraparound in split_program_name for command lines
without spaces.
- Fixed FileOnDefaultPath with an empty default path, and
PositiveNumber rejecting subnormal values.
- Fixed compilation with libc++/clang in C++26 mode.
- Fixed the case of the shell32 library name in CMake.
- Removed the static keyword from the precompiled library definition
in CMake.
Documentation
- Clarified the behavior of the prefix_command overloads.
- Documented the Catch2 dependency for the test build.
- Corrected documentation errors, including the AsSizeValue example,
the App::required() doc, and validator comments.
- Modernized some documentation.
- Moved the tutorial book into the Doxygen documentation, modernized
the HTML output with doxygen-awesome-css, and reorganized the
sidebar navigation.
- Corrected errors found in a documentation review.
- Split the documentation into Guide and Examples sections and filled
gaps in the guide.
Internal
- Added a dev CMake preset and workflow for faster local iteration
using the precompiled library and ccache.
- Added a CUDA test for the single-header build.
- Refactored the duplicated parse-completion pipeline and removed
dead code.
- Moved static std::string reference initializers to helper functions.
- Routed formatter label fallback through an internal helper as a
step toward internationalization support.
- Cleaned up the CMake logic for finding Catch2 and Boost, and
corrected the example test regular expressions.
- Reorganized the GitHub workflows and reduced CI build times.
- Added C++26 CI coverage (GCC, and clang with modules), and made
codecov wait for all coverage uploads.
- Tidied the configuration files in the root directory.
- Attached the source packages to tagged releases, wrote the release
notes from the changelog, and added a CI check for a changelog
entry on every build.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/CLI11/Makefile pkgsrc/devel/CLI11/PLIST \
pkgsrc/devel/CLI11/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/CLI11/Makefile
diff -u pkgsrc/devel/CLI11/Makefile:1.1 pkgsrc/devel/CLI11/Makefile:1.2
--- pkgsrc/devel/CLI11/Makefile:1.1 Mon Jan 13 18:37:07 2025
+++ pkgsrc/devel/CLI11/Makefile Thu Oct 15 13:05:22 2026
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.1 2025/01/13 18:37:07 gdt Exp $
+# $NetBSD: Makefile,v 1.2 2026/10/15 13:05:22 ktnb Exp $
GITHUB_TAG= refs/tags/v${PKGVERSION_NOREV}
-DISTNAME= CLI11-2.4.2
+DISTNAME= CLI11-2.7.2
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=CLIUtils/}
@@ -29,4 +29,3 @@ CMAKE_CONFIGURE_ARGS+= -DCLI11_BUILD_EXA
# download it, even if one has not asked to run tests.
.include "../../devel/catch2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
-
Index: pkgsrc/devel/CLI11/PLIST
diff -u pkgsrc/devel/CLI11/PLIST:1.1 pkgsrc/devel/CLI11/PLIST:1.2
--- pkgsrc/devel/CLI11/PLIST:1.1 Mon Jan 13 18:37:07 2025
+++ pkgsrc/devel/CLI11/PLIST Thu Oct 15 13:05:22 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2025/01/13 18:37:07 gdt Exp $
+@comment $NetBSD: PLIST,v 1.2 2026/10/15 13:05:22 ktnb Exp $
include/CLI/App.hpp
include/CLI/Argv.hpp
include/CLI/CLI.hpp
@@ -6,6 +6,7 @@ include/CLI/Config.hpp
include/CLI/ConfigFwd.hpp
include/CLI/Encoding.hpp
include/CLI/Error.hpp
+include/CLI/ExtraValidators.hpp
include/CLI/Formatter.hpp
include/CLI/FormatterFwd.hpp
include/CLI/Macros.hpp
@@ -20,11 +21,14 @@ include/CLI/impl/App_inl.hpp
include/CLI/impl/Argv_inl.hpp
include/CLI/impl/Config_inl.hpp
include/CLI/impl/Encoding_inl.hpp
+include/CLI/impl/ExtraValidators_inl.hpp
include/CLI/impl/Formatter_inl.hpp
include/CLI/impl/Option_inl.hpp
include/CLI/impl/Split_inl.hpp
include/CLI/impl/StringTools_inl.hpp
+include/CLI/impl/TypeTools_inl.hpp
include/CLI/impl/Validators_inl.hpp
share/cmake/CLI11/CLI11Config.cmake
share/cmake/CLI11/CLI11ConfigVersion.cmake
+share/cmake/CLI11/CLI11Targets.cmake
share/pkgconfig/CLI11.pc
Index: pkgsrc/devel/CLI11/distinfo
diff -u pkgsrc/devel/CLI11/distinfo:1.1 pkgsrc/devel/CLI11/distinfo:1.2
--- pkgsrc/devel/CLI11/distinfo:1.1 Mon Jan 13 18:37:07 2025
+++ pkgsrc/devel/CLI11/distinfo Thu Oct 15 13:05:22 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.1 2025/01/13 18:37:07 gdt Exp $
+$NetBSD: distinfo,v 1.2 2026/10/15 13:05:22 ktnb Exp $
-BLAKE2s (CLI11-2.4.2.tar.gz) = 4874854bce57b3193e9f1df793b99a5cb30e4d53a108b5288a74dd4d34369aeb
-SHA512 (CLI11-2.4.2.tar.gz) = fdb61c430f5b99a9495fda7f94bfc8d0fb5360c99beeccbcb3b8918713579aac97fa0dcbce296065d9043f141a538c505919c9810fd1d192661e8b48b6a2637a
-Size (CLI11-2.4.2.tar.gz) = 343478 bytes
+BLAKE2s (CLI11-2.7.2.tar.gz) = 788614a72f94153d49103635ba00c759e2b27e4439a2a864dfcbe5e2a7d2e3f6
+SHA512 (CLI11-2.7.2.tar.gz) = 437cd9d704c1b0de0516bdc8cb115befb2e7170417375a64845a2bc2385fa07948c4af724ec615d27fbc102dbe13a7117f33873d6776fe9b17f293d42fe64dd9
+Size (CLI11-2.7.2.tar.gz) = 1446996 bytes
Home |
Main Index |
Thread Index |
Old Index