head 1.12; access; symbols pkgsrc-2023Q4:1.12.0.18 pkgsrc-2023Q4-base:1.12 pkgsrc-2023Q3:1.12.0.16 pkgsrc-2023Q3-base:1.12 pkgsrc-2023Q2:1.12.0.14 pkgsrc-2023Q2-base:1.12 pkgsrc-2023Q1:1.12.0.12 pkgsrc-2023Q1-base:1.12 pkgsrc-2022Q4:1.12.0.10 pkgsrc-2022Q4-base:1.12 pkgsrc-2022Q3:1.12.0.8 pkgsrc-2022Q3-base:1.12 pkgsrc-2022Q2:1.12.0.6 pkgsrc-2022Q2-base:1.12 pkgsrc-2022Q1:1.12.0.4 pkgsrc-2022Q1-base:1.12 pkgsrc-2021Q4:1.12.0.2 pkgsrc-2021Q4-base:1.12 pkgsrc-2021Q3:1.10.0.10 pkgsrc-2021Q3-base:1.10 pkgsrc-2021Q2:1.10.0.8 pkgsrc-2021Q2-base:1.10 pkgsrc-2021Q1:1.10.0.6 pkgsrc-2021Q1-base:1.10 pkgsrc-2020Q4:1.10.0.4 pkgsrc-2020Q4-base:1.10 pkgsrc-2020Q3:1.10.0.2 pkgsrc-2020Q3-base:1.10 pkgsrc-2020Q2:1.9.0.10 pkgsrc-2020Q2-base:1.9 pkgsrc-2020Q1:1.9.0.6 pkgsrc-2020Q1-base:1.9 pkgsrc-2019Q4:1.9.0.8 pkgsrc-2019Q4-base:1.9 pkgsrc-2019Q3:1.9.0.4 pkgsrc-2019Q3-base:1.9 pkgsrc-2019Q2:1.9.0.2 pkgsrc-2019Q2-base:1.9 pkgsrc-2019Q1:1.8.0.6 pkgsrc-2019Q1-base:1.8 pkgsrc-2018Q4:1.8.0.4 pkgsrc-2018Q4-base:1.8 pkgsrc-2018Q3:1.8.0.2 pkgsrc-2018Q3-base:1.8 pkgsrc-2018Q2:1.7.0.20 pkgsrc-2018Q2-base:1.7 pkgsrc-2018Q1:1.7.0.18 pkgsrc-2018Q1-base:1.7 pkgsrc-2017Q4:1.7.0.16 pkgsrc-2017Q4-base:1.7 pkgsrc-2017Q3:1.7.0.14 pkgsrc-2017Q3-base:1.7 pkgsrc-2017Q2:1.7.0.10 pkgsrc-2017Q2-base:1.7 pkgsrc-2017Q1:1.7.0.8 pkgsrc-2017Q1-base:1.7 pkgsrc-2016Q4:1.7.0.6 pkgsrc-2016Q4-base:1.7 pkgsrc-2016Q3:1.7.0.4 pkgsrc-2016Q3-base:1.7 pkgsrc-2016Q2:1.7.0.2 pkgsrc-2016Q2-base:1.7 pkgsrc-2016Q1:1.6.0.4 pkgsrc-2016Q1-base:1.6 pkgsrc-2015Q4:1.6.0.2 pkgsrc-2015Q4-base:1.6 pkgsrc-2015Q3:1.4.0.40 pkgsrc-2015Q3-base:1.4 pkgsrc-2015Q2:1.4.0.38 pkgsrc-2015Q2-base:1.4 pkgsrc-2015Q1:1.4.0.36 pkgsrc-2015Q1-base:1.4 pkgsrc-2014Q4:1.4.0.34 pkgsrc-2014Q4-base:1.4 pkgsrc-2014Q3:1.4.0.32 pkgsrc-2014Q3-base:1.4 pkgsrc-2014Q2:1.4.0.30 pkgsrc-2014Q2-base:1.4 pkgsrc-2014Q1:1.4.0.28 pkgsrc-2014Q1-base:1.4 pkgsrc-2013Q4:1.4.0.26 pkgsrc-2013Q4-base:1.4 pkgsrc-2013Q3:1.4.0.24 pkgsrc-2013Q3-base:1.4 pkgsrc-2013Q2:1.4.0.22 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.20 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.18 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.4.0.16 pkgsrc-2012Q3-base:1.4 pkgsrc-2012Q2:1.4.0.14 pkgsrc-2012Q2-base:1.4 pkgsrc-2012Q1:1.4.0.12 pkgsrc-2012Q1-base:1.4 pkgsrc-2011Q4:1.4.0.10 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q3:1.4.0.8 pkgsrc-2011Q3-base:1.4 pkgsrc-2011Q2:1.4.0.6 pkgsrc-2011Q2-base:1.4 pkgsrc-2011Q1:1.4.0.4 pkgsrc-2011Q1-base:1.4 pkgsrc-2010Q4:1.4.0.2 pkgsrc-2010Q4-base:1.4 pkgsrc-2010Q3:1.3.0.24 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.22 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.20 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.18 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.3.0.16 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.3.0.14 pkgsrc-2009Q2-base:1.3 pkgsrc-2009Q1:1.3.0.12 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.10 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.8 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.6 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.4 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.2 pkgsrc-2008Q1:1.2.0.4 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.2 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.1.1.1.0.6 pkgsrc-2007Q3-base:1.1.1.1 pkgsrc-2007Q2:1.1.1.1.0.4 pkgsrc-2007Q2-base:1.1.1.1 pkgsrc-2007Q1:1.1.1.1.0.2 pkgsrc-2007Q1-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.12 date 2021.10.26.10.14.27; author nia; state Exp; branches; next 1.11; commitid XMBRkrafc79x2jeD; 1.11 date 2021.10.07.13.39.21; author nia; state Exp; branches; next 1.10; commitid TK9Y8OXA04EYMSbD; 1.10 date 2020.08.24.08.18.12; author wiz; state Exp; branches; next 1.9; commitid ACDWkkkPPojeailC; 1.9 date 2019.05.01.07.15.18; author wiz; state Exp; branches; next 1.8; commitid nPYlhOgf0WsfhtlB; 1.8 date 2018.08.15.13.55.00; author ryoon; state Exp; branches; next 1.7; commitid UnVjOLGoLpvvOdOA; 1.7 date 2016.06.19.20.44.23; author wiz; state Exp; branches; next 1.6; commitid dkb8cOXKPIPmn7bz; 1.6 date 2015.11.03.19.32.50; author bsiegert; state Exp; branches; next 1.5; commitid cZ4Fr1YfyH7NkGHy; 1.5 date 2015.11.03.03.27.20; author agc; state Exp; branches; next 1.4; commitid XagoUgdES8g2ZAHy; 1.4 date 2010.12.02.16.10.34; author wiz; state Exp; branches; next 1.3; 1.3 date 2008.04.23.21.57.05; author wiz; state Exp; branches; next 1.2; 1.2 date 2007.12.21.20.32.45; author joerg; state Exp; branches; next 1.1; 1.1 date 2007.03.02.01.56.46; author dmcmahill; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2007.03.02.01.56.46; author dmcmahill; state Exp; branches; next ; desc @@ 1.12 log @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: devel/py-traitlets/distinfo The following distfiles were unfetchable (note: some may be only fetched conditionally): ./devel/pvs/distinfo pvs-3.2-solaris.tgz ./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip @ text @$NetBSD: distinfo,v 1.11 2021/10/07 13:39:21 nia Exp $ BLAKE2s (confuse-3.3.tar.gz) = 2d74ad1e3582901d2f888ade7d6be765cf5477d920e7527de2b39e852c74b2fe SHA512 (confuse-3.3.tar.gz) = 07f994ca670778ea3dd667b96e1109a90f1f886184b124a9249b60c724d35e423600ed33b46d46ef9299b8b531784e8023af6fad4c88b72791c86c0b1b7c370e Size (confuse-3.3.tar.gz) = 775369 bytes @ 1.11 log @devel: Remove SHA1 hashes for distfiles @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.10 2020/08/24 08:18:12 wiz Exp $ d3 1 a3 1 RMD160 (confuse-3.3.tar.gz) = 17eb2c5c29368fab839a5b45e58b5aeb74c7d196 @ 1.10 log @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 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.9 2019/05/01 07:15:18 wiz Exp $ a2 1 SHA1 (confuse-3.3.tar.gz) = 09fd05cebe41f56d68a8fafa80070d060dea30b9 @ 1.9 log @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()`. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.8 2018/08/15 13:55:00 ryoon Exp $ d3 4 a6 4 SHA1 (confuse-3.2.2.tar.gz) = fa7d106da08fd107905e9ea2c072e8d21b914e94 RMD160 (confuse-3.2.2.tar.gz) = 998b11e8fe60e817a3d0bd5d962d89f96dc65b2e SHA512 (confuse-3.2.2.tar.gz) = 2415aae20135331e577e727c152eaad129d591155e6fcdd64720f81ad74f4c29a13d6e401deaa90f313dc070e44df2b6d1e7146f21aef41dc206f86bd47e95ed Size (confuse-3.2.2.tar.gz) = 752915 bytes @ 1.8 log @Update to 3.2.1 Changelog: [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 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.7 2016/06/19 20:44:23 wiz Exp $ d3 4 a6 4 SHA1 (confuse-3.2.1.tar.gz) = a0091aa9945d847fd6f05ef9eafd444713228b78 RMD160 (confuse-3.2.1.tar.gz) = 7f4e73fce9c162a26a2fde65493e182a7a95e1ca SHA512 (confuse-3.2.1.tar.gz) = 272b41b337a160bbafd873002a5f67af625844090a7af829f13b5cf9d66ce531c97b172ae1f76a9bb6a621eb107172275f86e2d7913701dc922270e719458285 Size (confuse-3.2.1.tar.gz) = 756948 bytes @ 1.7 log @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 library! **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 @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.6 2015/11/03 19:32:50 bsiegert Exp $ d3 4 a6 4 SHA1 (confuse-3.0.tar.gz) = f212b31464b3ac24e783f374af8f8055e47c427b RMD160 (confuse-3.0.tar.gz) = 8a92bf3a9f7d4f9692ecb38359deff1eb9e0a2ff SHA512 (confuse-3.0.tar.gz) = e2e01b7f259b934681a86594b37755bbc87a84ebcd83fe500ab4b405152187551391a94f2474cfac5f0f2740273c144c2d9294fce912f88e595a985b9356f9e8 Size (confuse-3.0.tar.gz) = 110565 bytes @ 1.6 log @Update confuse to 2.8. Changes - 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 Tux^verdreifelt. - 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 Fixes - 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. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.5 2015/11/03 03:27:20 agc Exp $ d3 4 a6 4 SHA1 (confuse-2.8.tar.gz) = 787951c94f52b0d7029b1c66bef610632e33fa53 RMD160 (confuse-2.8.tar.gz) = a4a7775da950e894d888c9b176afb8422cbaf605 SHA512 (confuse-2.8.tar.gz) = f52608ec90ce1e90b57ee378979519f7047cd3570be6fc93965f85f5840b49e9823f3b412e16785f3968d80341e7f9fa19500dfe94e74748f398644b0dadea3b Size (confuse-2.8.tar.gz) = 85757 bytes @ 1.5 log @Add SHA512 digests for distfiles for devel category Issues found with existing distfiles: distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip distfiles/fortran-utils-1.1.tar.gz distfiles/ivykis-0.39.tar.gz distfiles/enum-1.11.tar.gz distfiles/pvs-3.2-libraries.tgz distfiles/pvs-3.2-linux.tgz distfiles/pvs-3.2-solaris.tgz distfiles/pvs-3.2-system.tgz No changes made to these distinfo files. Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.4 2010/12/02 16:10:34 wiz Exp $ d3 4 a6 4 SHA1 (confuse-2.7.tar.gz) = b3f74f9763e6c9012476dbd323d083af4be34cad RMD160 (confuse-2.7.tar.gz) = adff129b2fd078b0e233386541dd83f7b0c567a4 SHA512 (confuse-2.7.tar.gz) = c9a9236c4e15928bbf41da5c0d35f85e6f939a5247a37edf3f5b2921d27c9db3773c26f1bcaa8b6433b498c0920cc5d48bd5486dc394e17af112b36f49f95a42 Size (confuse-2.7.tar.gz) = 517272 bytes @ 1.4 log @Update to 2.7: New in 2.7 ---------- * Bugfix release. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.3 2008/04/23 21:57:05 wiz Exp $ d5 1 @ 1.3 log @Update to 2.6: New in 2.6 ---------- * added French translation contributed by Matthieu Sion * added build script and instructions for compiling with Mingw under Windows (contributed by Matthieu Sion) * now accepts a simplified list append syntax: option += "value" insted of option += {"value"} * added flag CFGF_NO_TITLE_DUPES: multiple section titles must be unique (duplicates raises an error, only applies to sections) (suggested by Brian Fallik) * fixed rpm builds, patch by Dan Lipsitt * always installs pkg-config .pc script * remove obsolete confuse-config script in favour of pkg-config * fixed a bug reported by Josh Kropf with single sections with titles * added patch that escapes values with quotes and backslashes when printing. * fixed a memory leak in default values for string lists, reported by Vineeth Neelakant. * windows build files now only in separate zip distribution @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.2 2007/12/21 20:32:45 joerg Exp $ d3 3 a5 4 SHA1 (confuse-2.6.tar.gz) = e9e5510abf1eb3159a6439fd52aa5cec94811aff RMD160 (confuse-2.6.tar.gz) = 11f987089c533573482a427c7ad2ae8e155389b7 Size (confuse-2.6.tar.gz) = 504017 bytes SHA1 (patch-aa) = 35cf7140d9500bb602766500b8866017b2bdac55 @ 1.2 log @I18N (PR 37581) and DESTDIR support. @ text @d1 1 a1 1 $NetBSD: distinfo,v 1.1.1.1 2007/03/02 01:56:46 dmcmahill Exp $ d3 3 a5 3 SHA1 (confuse-2.5.tar.gz) = 0ba87baeb0f6540414b24c4b2d47ae375d0b870d RMD160 (confuse-2.5.tar.gz) = 25314942e740bb4c7e90dc9860df4df73f8ffc07 Size (confuse-2.5.tar.gz) = 502501 bytes @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD$ d6 1 @ 1.1.1.1 log @import confuse-2.5 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 libraries. @ text @@