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