./devel/confuse, Configuration file parser library

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

Branch: CURRENT, Version: 3.0, Package name: confuse-3.0, 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:

SHA1: f212b31464b3ac24e783f374af8f8055e47c427b
RMD160: 8a92bf3a9f7d4f9692ecb38359deff1eb9e0a2ff
Filesize: 107.974 KB

Version history: (Expand)

CVS history: (Expand)

   2017-09-03 10:37:04 by Thomas Klausner | Files touched by this commit (182)
Log message:
Comment out dead MASTER_SITES/HOMEPAGEs.
   2017-07-31 00:32:28 by Thomas Klausner | Files touched by this commit (229)
Log message:
Switch github HOMEPAGEs to https.
   2016-07-27 14:22:13 by Leonardo Taccari | Files touched by this commit (1)
Log message:
Avoid to include "../../mk/fetch/github.mk" in package Makefile
   2016-06-19 22:44:24 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Updated confuse to 3.0.

[v3.0][] - 2016-03-03

This release signifies a major change in libConfuse.  On out-of-memory
conditions at run time, invalid API input, and some other odd use-cases,
libConfuse will no longer `assert()`.  Instead, `NULL` or `CFG_FAIL` is
returned with an error code for you to handle.  For some users this will
completely change how your application works, so heads up!  The library
ABI version has also been stepped due to this.

Special thanks in this release goes out to Frank Hunleth, Peter Rosin
and David Grayson for their tireless efforts in helping improve this

**Note:** libConfuse no longer calls `setlocale()` for `LC_MESSAGES` and
  `LC_CTYPE`.  See the documentation for `cfg_init()` for details.

### Changes

* Support for handling unknown options.  The idea is to provide future
  proofing of configuration files, i.e. if a new parameter is added, the
  new config file will not fail if loaded in an older version of your
  program.  See the `CFGF_IGNORE_UNKNOWN` flag in the documenation for
  more information.  Idea and implementation by Frank Hunleth.
* Add public API for removing sections at runtime, by Peter Rosin.
* Allow `cfg_opt_getval()` on options that are `CFGF_MULTI` sections,
  by Peter Rosin.
* Add `cfg_setmulti()` and `cfg_opt_setmulti()`, by Peter Rosin.
* Add CLI example of how to manage configuration changes at runtime,
  also by Peter Rosin.
* Support for Travis-CI and Coverity Scan, by Joachim Nilsson.
* Use `autoreconf` in `autogen.sh` instead of calling tools separately.
* Powershell script for AppVeyor CI to build libConfuse with MSYS2
  by David Grayson.
* Removed calls to `setlocale()` intended to localize messages, with
  `LC_MESSAGES`, and region specific types, with `LC_CTYPE`.  This is
  now the responsibility of the user of the library.
* Reindent to Linux coding style for a clear and well defined look,
  this to ease future maintenance.  Issue #33
* Add support for `CFGF_DEPRECATED` and `CFGF_DROP` option flags.  The
  former causes libConfuse to print a deprecated warning message and the
  latter drops the read value on input.  Idea and implementation by
  Sebastian Geiger.  Issue #24
* Add `HACKING.md` document to detail maintenance and release checklists

### Fixes

* Do not assert on API input validation, memory allocation, or similar.
  Instead, return error code to user for further handling.  This change
  also includes fixes for a lot of unchecked API return values, e.g.,
  `strdup()`.  Issue #37
* Protect callers arguments to `cfg_setopt()`, by Peter Rosin
* If new value to `cfg_setopt()` fails parsing, do not lose old value,
  by Peter Rosin.
* Fixes to update support for older versions of Microsoft Visual Studio
  as well as MSYS2/mingw-w64 by Peter Rosin and David Grayson.
* Issue #45: `cfg_init()` does not report error on multiple options with
  the same name.  Fixed by Peter Rosin.
* Fixes for memory leaks, invalid expressions, unused variables and
  missing error handling, all thanks to Coverity Scan
   2015-11-25 23:10:16 by Sebastian Wiedenroth | Files touched by this commit (1)
Log message:
bulk build wants flex
   2015-11-07 20:31:17 by Thomas Klausner | Files touched by this commit (1)
Log message:
gettext-tools is a build dependency, make it so.
   2015-11-06 21:12:01 by Benny Siegert | Files touched by this commit (1)
Log message:
Explicitly depend on gettext-tools and gettext-m4. Fix build when these
packages are not installed.

From joerg and wiz via email.
   2015-11-03 20:32:50 by Benny Siegert | Files touched by this commit (3) | Package updated
Log message:
Update confuse to 2.8.


- Support for specifying a searchpath for cfg_parse(), by J.J. Green
- Restore build of shared library by default, by Nathan Phillip Brink
- Added German translation, contributed by Chris Leick, Aurelien Jarno, and
- Document CFG_SIMPLE_STR for doxygen, by Nathan Phillip Brink
- Update ISC license to 2007 version, by Joachim Nilsson
- Write files in a Bourne shell compatible way, by Alvaro G. M
- Fix mid-string environment variable substitution, by Frank Hunleth


- Various ISO C90 and -ansi fixes by Carlo Marcelo Arenas Belon
- Fix C++ compiler warnings for const strings, by Craig McQueen
- Fix make distcheck and out-of-source builds, by Nathan Phillip Brink
- Fix missing .gitignore files, by Carlo Marcelo Arenas Belon
- Fix CFG_SIMPLE_INT on 64-bit systems, by Carlo Marcelo Arenas Belon
- Coding style cleanup by J.J. Green
- Fix issue #27: searchpath free problems. Fix to new feature introduced in
  this release cycle.
- Improved support for MSYS2 by David Grayson.