argagg: init at 0.4.6

Caveat: it is not running on ARM-Darwin.
main
AndersonTorres 2 years ago
parent 44eaaf34b7
commit 4cd90c2e2b
  1. 20
      pkgs/development/libraries/argagg/0001-catch.diff
  2. 46
      pkgs/development/libraries/argagg/default.nix
  3. 2
      pkgs/top-level/all-packages.nix

@ -0,0 +1,20 @@
--- old/test/doctest.h 2019-03-05 18:04:06.143740733 +0300
+++ new/test/doctest.h 2019-03-05 18:04:43.577284916 +0300
@@ -1307,7 +1307,7 @@
__FILE__, __LINE__, #expr, #as); \
try { \
expr; \
- } catch(as) { \
+ } catch(as e) { \
_DOCTEST_RB.m_threw = true; \
_DOCTEST_RB.m_threw_as = true; \
} catch(...) { _DOCTEST_RB.m_threw = true; } \
@@ -1332,7 +1332,7 @@
#define DOCTEST_REQUIRE_THROWS(expr) DOCTEST_ASSERT_THROWS(expr, DT_REQUIRE_THROWS)
#define DOCTEST_WARN_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, ex, DT_WARN_THROWS_AS)
-#define DOCTEST_CHECK_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, ex, DT_CHECK_THROWS_AS)
+#define DOCTEST_CHECK_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, const ex &, DT_CHECK_THROWS_AS)
#define DOCTEST_REQUIRE_THROWS_AS(expr, ex) DOCTEST_ASSERT_THROWS_AS(expr, ex, DT_REQUIRE_THROWS_AS)
#define DOCTEST_WARN_NOTHROW(expr) DOCTEST_ASSERT_NOTHROW(expr, DT_WARN_NOTHROW)

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
}:
stdenv.mkDerivation rec {
pname = "argagg";
version = "0.4.6";
src = fetchFromGitHub {
owner = "vietjtnguyen";
repo = pname;
rev = version;
hash = "sha256-MCtlAPfwdJpgfS8IH+zlcgaaxZ5AsP4hJvbZAFtOa4o=";
};
patches = [
# Fix compilation of macro catch statement
./0001-catch.diff
];
nativeBuildInputs = [
cmake
];
meta = with lib; {
homepage = "https://github.com/vietjtnguyen/argagg";
description = "Argument Aggregator";
longDescription = ''
argagg is yet another C++ command line argument/option parser. It was
written as a simple and idiomatic alternative to other frameworks like
getopt, Boost program options, TCLAP, and others. The goal is to achieve
the majority of argument parsing needs in a simple manner with an easy to
use API. It operates as a single pass over all arguments, recognizing
flags prefixed by - (short) or -- (long) and aggregating them into easy to
access structures with lots of convenience functions. It defers processing
types until you access them, so the result structures end up just being
pointers into the original command line argument C-strings.
'';
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; all;
badPlatforms = [ "aarch64-darwin" ];
};
}

@ -1456,6 +1456,8 @@ with pkgs;
apitrace = libsForQt514.callPackage ../applications/graphics/apitrace {};
argagg = callPackage ../development/libraries/argagg { };
argtable = callPackage ../development/libraries/argtable { };
arguments = callPackage ../development/libraries/arguments { };

Loading…
Cancel
Save