Subject: [bug#64137] [PATCH v2 1/8] gnu: Add mpark-variant.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 22 Jun 2023 06:16:42 +0200

Am Sonntag, dem 18.06.2023 um 20:53 +0000 schrieb David Elsing:
> * gnu/packages/cpp.scm (mpark-variant): New variable.
> ---
>  gnu/packages/cpp.scm | 37 ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 39a34c20dd..5a6298fc4d 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -29,7 +29,7 @@
>  ;;; Copyright © 2022 muradm <[email-masked]>
>  ;;; Copyright © 2022 Attila Lendvai <[email-masked]>
>  ;;; Copyright © 2022 Arun Isaac <[email-masked]>
> -;;; Copyright © 2022 David Elsing <[email-masked]>
> +;;; Copyright © 2022, 2023 David Elsing <[email-masked]>
>  ;;; Copyright © 2022, 2023 Zheng Junjie <[email-masked]>
>  ;;; Copyright © 2022 Maxim Cournoyer <[email-masked]>
>  ;;; Copyright © 2023 Sughosha <[email-masked]>
> @@ -2553,3 +2553,38 @@ (define-public ftxui
>  @item No dependencies.
>  @end itemize")
>      (license license:expat)))
> +
> +(define-public mpark-variant
> +  (package
> +    (name "mpark-variant")
> +    (version "1.4.0")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/mpark/variant")
> +                    (commit (string-append "v" version))))
> +              (sha256
> +               (base32
> +               
> "0gz8d5qprlfqb42cfyyc4nbwhgarhw027a9nr52h3gbdn560j0j4"))
> +              (file-name (git-file-name name version))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     (list
> +      #:configure-flags #~(list "-
> DMPARK_VARIANT_INCLUDE_TESTS=mpark")
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (add-after 'unpack 'find-googletest
> +            (lambda _
> +              (substitute* "test/CMakeLists.txt"
> +                (("add_subdirectory.*3rdparty/googletest.*\n")
> +                 "find_package(GTest REQUIRED)\n")
> +                ((".*3rdparty/googletest.*\n") "")
> +                ((".*config_compiler_and_linker.*\n") "")
> +                (("gtest_main") "gtest gtest_main")))))))
> +    (native-inputs (list googletest))
> +    (home-page "https://github.com/mpark/variant")
> +    (synopsis "Implementation of the C++17 std::variant for
> C++11/14/17")
Could probably be shortened to std::variant for C++11/14[/17]
> +    (description
> +     "MPark.Variant provides the C++17 std::variant for
> C++11/14/17.  It is
> +based on the implementation of std::variant in libc++.")
> +    (license license:boost1.0)))

Otherwise LGTM.