argagg: init at 0.4.6

Caveat: it is not running on ARM-Darwin.

+68
+20
pkgs/development/libraries/argagg/0001-catch.diff
··· 1 + --- old/test/doctest.h 2019-03-05 18:04:06.143740733 +0300 2 + +++ new/test/doctest.h 2019-03-05 18:04:43.577284916 +0300 3 + @@ -1307,7 +1307,7 @@ 4 + __FILE__, __LINE__, #expr, #as); \ 5 + try { \ 6 + expr; \ 7 + - } catch(as) { \ 8 + + } catch(as e) { \ 9 + _DOCTEST_RB.m_threw = true; \ 10 + _DOCTEST_RB.m_threw_as = true; \ 11 + } catch(...) { _DOCTEST_RB.m_threw = true; } \ 12 + @@ -1332,7 +1332,7 @@ 13 + #define DOCTEST_REQUIRE_THROWS(expr) DOCTEST_ASSERT_THROWS(expr, DT_REQUIRE_THROWS) 14 + 15 + #define DOCTEST_WARN_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, ex, DT_WARN_THROWS_AS) 16 + -#define DOCTEST_CHECK_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, ex, DT_CHECK_THROWS_AS) 17 + +#define DOCTEST_CHECK_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, const ex &, DT_CHECK_THROWS_AS) 18 + #define DOCTEST_REQUIRE_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, ex, DT_REQUIRE_THROWS_AS) 19 + 20 + #define DOCTEST_WARN_NOTHROW(expr) DOCTEST_ASSERT_NOTHROW(expr, DT_WARN_NOTHROW)
+46
pkgs/development/libraries/argagg/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , cmake 5 + }: 6 + 7 + stdenv.mkDerivation rec { 8 + pname = "argagg"; 9 + version = "0.4.6"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "vietjtnguyen"; 13 + repo = pname; 14 + rev = version; 15 + hash = "sha256-MCtlAPfwdJpgfS8IH+zlcgaaxZ5AsP4hJvbZAFtOa4o="; 16 + }; 17 + 18 + patches = [ 19 + # Fix compilation of macro catch statement 20 + ./0001-catch.diff 21 + ]; 22 + 23 + nativeBuildInputs = [ 24 + cmake 25 + ]; 26 + 27 + meta = with lib; { 28 + homepage = "https://github.com/vietjtnguyen/argagg"; 29 + description = "Argument Aggregator"; 30 + longDescription = '' 31 + argagg is yet another C++ command line argument/option parser. It was 32 + written as a simple and idiomatic alternative to other frameworks like 33 + getopt, Boost program options, TCLAP, and others. The goal is to achieve 34 + the majority of argument parsing needs in a simple manner with an easy to 35 + use API. It operates as a single pass over all arguments, recognizing 36 + flags prefixed by - (short) or -- (long) and aggregating them into easy to 37 + access structures with lots of convenience functions. It defers processing 38 + types until you access them, so the result structures end up just being 39 + pointers into the original command line argument C-strings. 40 + ''; 41 + license = licenses.mit; 42 + maintainers = with maintainers; [ AndersonTorres ]; 43 + platforms = with platforms; all; 44 + badPlatforms = [ "aarch64-darwin" ]; 45 + }; 46 + }
+2
pkgs/top-level/all-packages.nix
··· 1456 1456 1457 1457 apitrace = libsForQt514.callPackage ../applications/graphics/apitrace {}; 1458 1458 1459 + argagg = callPackage ../development/libraries/argagg { }; 1460 + 1459 1461 argtable = callPackage ../development/libraries/argtable { }; 1460 1462 1461 1463 arguments = callPackage ../development/libraries/arguments { };