./devel/confuse, Configuration file parser library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.3, Package name: confuse-3.3, Maintainer: pkgsrc-users

libConfuse is a configuration file parser library, licensed under the
terms of the LGPL, and written in C. It supports sections and (lists
of) values (strings, integers, floats, booleans or other sections), as
well as some other features (such as single/double-quoted strings,
environment variable expansion, functions and nested include
statements). It makes it very easy to add configuration file
capability to a program using a simple API.

The goal of libConfuse is not to be the configuration file parser
library with a gazillion of features. Instead, it aims to be easy to
use and quick to integrate with your code. libConfuse was called
libcfg before, but was changed to not confuse with other similar

Required to build:
[devel/gettext-m4] [devel/gettext-tools] [pkgtools/cwrappers]

Master sites:

Filesize: 757.196 KB

Version history: (Expand)

CVS history: (Expand)

   2023-06-06 14:42:56 by Taylor R Campbell | Files touched by this commit (1319)
Log message:
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:

The following distfiles were unfetchable (note: some may be only fetched

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2020-12-05 13:35:25 by Nia Alarie | Files touched by this commit (1)
Log message:
confuse: Fix HOMEPAGE
   2020-08-24 10:18:12 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
confuse: update to 3.3.

[v3.3][] - 2020-06-25

### Changes
* Support building static library on Windows
* Support for `fmemopen()` in Windows UWP applications
* Support for `cfg_getopt(cfg, "sub=name|option")`, i.e., get an option
  from a sub-section, by Peter Rosin
* Support for `CFGF_MODIFIED` flag, to detect changes to settings
  in memory after parsing, by Peter Rosin
* Support for filtering out settings when printing, by Peter Rosin
* Support for dynamic key=value sections with no pre-runtime knowledge
  of setting names, useful for environment variables and similar
* Updated German translation, by Chris Leick

### Fixes
* Fix loop-forever bug found by Christian Reitter; a .conf file
  containing only "=", will cause even the simplest parser to loop
  forever in internal function `cfg_getopt_secidx()`
* Issue #113: Fail to build `strdup()` replacement
* Issue #118: Fix build on Windows, missing `fmemopen()` replacement
* Issue #120: Handle shell and C++ comments with no space separator
* Issue #125: Drop developer debug msg `QSTR: ...`
* Issue #131: Fix `CFG_PTR_CB()` regression, segfaults when, e.g.,
  `cfg_free()` is called.  Found and fixed by Peter Rosin
* Issue #135: Revert `CFGF_RESET` flag if `cfg_setmulti()` family fail
* Issue #137: Memory leak in `cfg_setopt()` for PTR options
   2019-05-01 09:15:18 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
confuse: update to 3.2.2.

[v3.2.2][] - 2018-08-19

This is a security patch release for CVE-2018-14447.  The vulnerability
affects all releases since v3.1 when the `CFGF_COMMENTS` functionality
was first introduced.

### Fixes
* Issue #109: Out of bounds read in `lexer.l:trim_whitespace()`.
   2018-08-15 15:55:00 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 3.2.1

[v3.2.1][] - 2017-08-17

### Fixes
* Issue #101: Bump ABI major number due to incompatible change in struct
  when adding option annotation/comments in [v.3.1][]: `1.1.0 -> 2.0.0`

[v3.2][] - 2017-06-03

### Fixes
* Issue #96: Add Windows/mingw compatible `fmemopen()` replacement
* Issue #98: Fix v3.1 regression, segfault on comment-only lines

[v3.1][] - 2017-05-24

### Changes
* Refactored `CFGF_IGNORE_UNKNOWN` support, libConfuse now properly
  ignores any type and sub-section without the need for declaring an
  `__unknown` option.  When the flag is set all unknown options,
  including unknown sub-sections with, in turn, unknown options, are
  now fully ignored
* Issue #69: New API for creating titled sections at runtime,
  by Jonas Johansson @jonasj76
* Issue #92: Support for option annotation/comments.  Every option can
  now have a comment, which is both read and written from/to file.
  Disabled by default, enable with `CFGF_COMMENTS` flag in `cfg_init()`
* ABI bump: 1.0.0 --> 1.1.0, due to new functionality

### Fixes
* Build unit tests statically for easier debugging
* Issue #21: Major refactor of lexer to fix memory leaks, `cfg_free()`
  now properly releases all memory.  By Joachim Nilsson @troglobit
* Issue #64: Fixed MSVC build errors, by George Koskeridis @Gikoskos
* Issue #65: SIGSEGV when parsed default values are used with include,
  by Dmitri Zhabinski
* Issue #71: Fix syntax in rpm spec file, for CentOS/RHEL7
* Issue #73: Adjust gettext version requirement to build on CentOS/RHEL7.
  GNU gettext v0.18.2.1 update `AM_GNU_GETTEXT()` to use AC_PROG_MKDIR_P
  instead of `AM_PROG_MKDIR_P`, but v0.18.1.1 is included in Ubuntu 12.04
  LTS.  Fortunately Ubuntu 14.04 LTS ships v0.18.3.1 and Debian Jessie
  ships v0.19.3.  Unfortunately, CentOS7 and RHEL7 ships v0.18.2.1, so
  for best compat. level at this point in time we require v0.18.2.
* Issue #74: Fix typos in documentation, by Luca Ceresoli
* Issue #79: Add `fmemopen()` compat for *BSD, including macOS
   2017-09-03 10:37:04 by Thomas Klausner | Files touched by this commit (182)
Log message:
Comment out dead MASTER_SITES/HOMEPAGEs.