diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libconfuse')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libconfuse/default.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libconfuse/default.nix b/nixpkgs/pkgs/development/libraries/libconfuse/default.nix new file mode 100644 index 000000000000..91a5a2f26f87 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libconfuse/default.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, flex +}: + +stdenv.mkDerivation rec { + pname = "libconfuse"; + version = "3.3"; + + src = fetchFromGitHub { + sha256 = "1npfk5jv59kk4n8pkyx89fn9s6p8x3gbffs42jaw24frgxfgp8ca"; + rev = "v${version}"; + repo = "libconfuse"; + owner = "martinh"; + }; + + patches = [ + (fetchpatch { + name = "CVE-2022-40320.patch"; + urls = [ + "https://sources.debian.org/data/main/libc/libconfuse/3.3-3/debian/patches/CVE-2022-40320.patch" + # files on sources.debian.org can disappear + "https://web.archive.org/web/20230107133212/https://sources.debian.org/data/main/libc/libconfuse/3.3-3/debian/patches/CVE-2022-40320.patch" + ]; + sha256 = "sha256-ftfE9JFz4nyRSOb2xHb9BAtgWn5Yv2WLm4RegDLtiBw="; + }) + ]; + + postPatch = '' + substituteInPlace tests/Makefile.am \ + --replace 'TESTS += empty_string' "" \ + --replace 'TESTS += print_filter' "" + ''; + + nativeBuildInputs = [ autoreconfHook flex ]; + + enableParallelBuilding = true; + + # On darwin the tests depend on the installed libraries because of install_name. + doInstallCheck = true; + installCheckTarget = "check"; + + meta = with lib; { + inherit (src.meta) homepage; + description = "Small configuration file parser library for C"; + longDescription = '' + libConfuse (previously libcfg) is a configuration file parser library + written in C. It supports sections and (lists of) values, as well as + some other features. 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. + ''; + license = licenses.isc; + platforms = platforms.linux ++ platforms.darwin; + }; +} |