summaryrefslogtreecommitdiff
path: root/app-admin/lnav
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-07-17 19:04:28 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-07-17 19:04:28 +0100
commit514d1bbe260df2521fe60f1a3ec87cfcfde1a829 (patch)
tree555c194dbeb0fb2ac4ad3cde7c0f6a80fd330ce2 /app-admin/lnav
parent4df3bf9762850b34cd1ead5c80374d1a0fc3362e (diff)
gentoo resync : 17.07.2021
Diffstat (limited to 'app-admin/lnav')
-rw-r--r--app-admin/lnav/Manifest7
-rw-r--r--app-admin/lnav/files/lnav-0.9.0-bug713600_0.patch36
-rw-r--r--app-admin/lnav/files/lnav-0.9.0-bug713600_1.patch32
-rw-r--r--app-admin/lnav/files/lnav-0.9.0-bug786456.patch561
-rw-r--r--app-admin/lnav/files/lnav-0.9.0-bug792582.patch97
-rw-r--r--app-admin/lnav/lnav-0.9.0-r1.ebuild52
-rw-r--r--app-admin/lnav/lnav-0.9.0.ebuild3
7 files changed, 787 insertions, 1 deletions
diff --git a/app-admin/lnav/Manifest b/app-admin/lnav/Manifest
index af99c3460a01..bf150a9aa683 100644
--- a/app-admin/lnav/Manifest
+++ b/app-admin/lnav/Manifest
@@ -1,7 +1,12 @@
AUX lnav-0.8.4-disable-tests.patch 385 BLAKE2B b00a7e4af717a567bf9a7bbecc77500afc22ccab48caaa3781a3d786f4487bcedc59db06b01bfbdcf7871b08cc3b8841582341bec1d707ccf3c94e180a3e59f6 SHA512 f199ec2e9b9a87b8665705051c2a833b8643b18f4793f00587b27eebf0fd455e3d09cbe40613c4e87db58fb91d1f491893d6d9eae38d81de4bb96452e1fb8489
AUX lnav-0.9.0-bug639332-tinfow.patch 579 BLAKE2B 17707472f4fa764e27d98a1ae426f65a1ad45dacdc34e4c19b608298b7bbc094ddf3c49ded6987ac2c2f145dc58ff9f520a49c44551b277182b76ef13b2fc2fb SHA512 b69da2eac944affd7c70bdf9bcc2be333d5d67d1415e05ebbfd87bff85369ffbe61399b05440637941bdfa4d220ae1ba100342a9e028ee789f3c9f0f1e2dec2c
+AUX lnav-0.9.0-bug713600_0.patch 1077 BLAKE2B e4f2978bac67ec15e6c0320d2136a1edf020941d26bc1b7a63ba23a0139b8a00731c9a8e4e3d5667d9179d05b46e795f99dada4eeafca0b97f24d805ba754e25 SHA512 a90ec77439c9ab74d7b5742542fb2904f154219f63c27ab4e91656f674387bad0cc316c02a60cad72623952e2260b7f4c42dba2f4bdb96c549e2122942ebb039
+AUX lnav-0.9.0-bug713600_1.patch 1090 BLAKE2B 2bf0a77205fa38fd5bd5ca28c65f2b67562b3cbcffd740ee82f1d59e017b1fce9a8ce3a70282d642ce34667a69de2c3a20b20f0fdf9640dc6f9cdb644c923e91 SHA512 821e9f49cd990edff0061f694666a6c9875b023bda2218cd598ef2e2a5d6ae5b6c405249834259035d7d2ee6a91de72f915977ef0bc9ba1bb4936ece72597c95
+AUX lnav-0.9.0-bug786456.patch 12401 BLAKE2B 698644b7b573dd15e3c91125ad80f6794be037f1ccbd8e9505166a0a13968222515672ca502dfc85acffd2d3e594ba8d3802f5561825f7c2a25943970f565f0e SHA512 8c2f6da60355aa9b0b90e9cdbe00b389e5b473bbf2b7705635b1167ab22c2add8c6fd3ec4e8903f6e457c6b1c5e60536b393357b4e5b3403a124f83413d4de33
+AUX lnav-0.9.0-bug792582.patch 3615 BLAKE2B 3e1c71ea871aa909067f3d6a1fa75dc314e4000dc4c8875fa806fcd92bdfd74c2fff4f248742691aa0c1797b7343700f9ab03450ec4504f993750b6e2f020a8f SHA512 2704893f2ae634cf4f15d61a40b3276fc27d40b08373d928b05123e16bc364f0f874dd09c34eeb493604e5f92676d69a7e552c3f9f7362c27998214060bc79ee
DIST lnav-0.8.5.tar.gz 908012 BLAKE2B a53e79d9403e5f3c731c88a171ddcb62027016b6d7d16fb618aeb9857ff86d1cc9c982d23bd172cc95f5e200afe84b488422ad4fc0aeb440cf2a96506829198e SHA512 fbb61d454dc89388aeaaeca6ba1366f84cbd75260ef8e2f26a4208ab22f175886438dad7f40e4c21089209c7713c1ebcc3a722a248083c8d55f264cf139a79fe
DIST lnav-0.9.0.tar.gz 1094734 BLAKE2B 79d6b035d9fc1efba618dbbd0924dbac2c8a2b3316849164c8c1a3782c7e8b85f12ade02a973d0c4fabff64b38e26fd579f1931aeafb05396ece7e75608cfc5d SHA512 4f03c83003b262c6aa1d1e87d61b4a3ae8f1ccd33a2df1b451f263d3925791d3b46285bbe276d89733a2bd464be9029e7100ce12fdfe3e009a089f250e601151
EBUILD lnav-0.8.5.ebuild 769 BLAKE2B b08fe37937578081017b9431dc1aa9d191f6f79e09c1c8b3d3f6ec704688bbba9808a72e9df73f77c88f0bd42bf392a252a07ca723363a35a0d5e1c912fe8aeb SHA512 8361c2a5730cbcbdaae957ab04401685e332b4ff67fcf03441d72bdd6a8d54b95c9caa9378096d32b691c14ab0e135310b7c7c15cf7c1ba2aa4c6eb66a4601da
-EBUILD lnav-0.9.0.ebuild 840 BLAKE2B cc25dbfa40662f380fe3114885cb014c88bb1fa1586207cd0a2f588bbbf0a0921089a44198025e20dd9a9ac90dd2445cbaa62879f278143b90e9e29fea974ef8 SHA512 d7f6d7972d71bb9f96f9cd68a4a320afbe66fa7381a3c80c10eb7c3bb51b929fbef107afe657a2879a38b75159d96eb9a1fab9abc04653989a4358f7d3c9ae47
+EBUILD lnav-0.9.0-r1.ebuild 1127 BLAKE2B 3db56f6846bedb38d6605cebd74c21d210bd1293c71e707a05f00b1ee6bd5fdd330fc137de8090f15a20394ba31374e288bf28e9b7d8b13284fa550cc1da4cfa SHA512 0b536153247f3ab9e6d017ad3a21cfef41f8cee76efa7da19293162984b7ec8b8ad6e2bd9c49a6e729f6cb6e42b0df2c195d844290d7d38bd678d156be0a356d
+EBUILD lnav-0.9.0.ebuild 944 BLAKE2B dc46210b028568171b31b40b3531a24ae7ca2e2aa9f80e1c9538a10ae80e77973b628c5389cf644feb1358152ff2b4f38e0e2fe5c3d898fa8c8f4b4139697e82 SHA512 8d243ec4fafae0bc1c1558b0a9c980874d47bdeeaf3451e0e8647d5825f09647254d76d02e29d71f323f45d63df1b45d42864f2e41cbdc45124bc988c615ad42
MISC metadata.xml 780 BLAKE2B 2cef44f3fda69ccc20f16a7f75cac035bfec429767dc12966c6729fa1b0b72ac66333d3f3ab7341f7b1b2a0fdd8f533577a04fcf15df7f268ca0a99f8c0acb07 SHA512 b9a91a8dfb2f0f528fb89fc6ea20867792baccdb12386dd8e92f4462b16869b51a796ed44f3f44faa41f8745db18d2c1fe5dd0df82aad6f40486b47b37a8a6e2
diff --git a/app-admin/lnav/files/lnav-0.9.0-bug713600_0.patch b/app-admin/lnav/files/lnav-0.9.0-bug713600_0.patch
new file mode 100644
index 000000000000..47aef6d593da
--- /dev/null
+++ b/app-admin/lnav/files/lnav-0.9.0-bug713600_0.patch
@@ -0,0 +1,36 @@
+From 60dde499ac87c2399ac24ae85c98ed8cce564858 Mon Sep 17 00:00:00 2001
+From: Timothy Stack <timothyshanestack@gmail.com>
+Date: Thu, 31 Dec 2020 23:23:56 -0800
+Subject: [PATCH] [tests] fix test to make it insensitive to the current date
+
+Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
+---
+ test/test_sql.sh | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/test/test_sql.sh b/test/test_sql.sh
+index c7480ecc..bbb98dce 100644
+--- a/test/test_sql.sh
++++ b/test/test_sql.sh
+@@ -1012,13 +1012,13 @@ EOF
+
+
+ cat ${test_dir}/logfile_syslog.0 | run_test ${lnav_test} -n \
+- -c ";select log_time from syslog_log where log_procname = 'automount'"
++ -c ";select log_body from syslog_log where log_procname = 'automount'"
+
+ check_output "querying against stdin is not working?" <<EOF
+- log_time
+-2020-11-03 09:23:38.000
+-2020-11-03 09:23:38.000
+-2020-11-03 09:23:38.000
++ log_body
++ lookup(file): lookup for foobar failed
++ attempting to mount entry /auto/opt
++ lookup(file): lookup for opt failed
+ EOF
+
+
+--
+2.31.1
+
diff --git a/app-admin/lnav/files/lnav-0.9.0-bug713600_1.patch b/app-admin/lnav/files/lnav-0.9.0-bug713600_1.patch
new file mode 100644
index 000000000000..58aa7264a0de
--- /dev/null
+++ b/app-admin/lnav/files/lnav-0.9.0-bug713600_1.patch
@@ -0,0 +1,32 @@
+From cc072d29ead6f1df896bc61b83d7d41dab0b7132 Mon Sep 17 00:00:00 2001
+From: Timothy Stack <timothyshanestack@gmail.com>
+Date: Thu, 31 Dec 2020 23:26:57 -0800
+Subject: [PATCH] [tests] update another date-sensitive test
+
+Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
+---
+ test/test_sql.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/test/test_sql.sh b/test/test_sql.sh
+index bbb98dce..22941c2a 100644
+--- a/test/test_sql.sh
++++ b/test/test_sql.sh
+@@ -1023,11 +1023,11 @@ EOF
+
+
+ cat ${test_dir}/logfile_syslog.0 | run_test ${lnav_test} -n \
+- -c ";select log_time from syslog_log where log_procname = 'sudo'"
++ -c ";select log_body from syslog_log where log_procname = 'sudo'"
+
+ check_output "single result is not working?" <<EOF
+- log_time
+-2020-11-03 09:47:02.000
++ log_body
++ timstack : TTY=pts/6 ; PWD=/auto/wstimstack/rpms/lbuild/test ; USER=root ; COMMAND=/usr/bin/tail /var/log/messages
+ EOF
+
+ # Create a dummy database for the next couple of tests to consume.
+--
+2.31.1
+
diff --git a/app-admin/lnav/files/lnav-0.9.0-bug786456.patch b/app-admin/lnav/files/lnav-0.9.0-bug786456.patch
new file mode 100644
index 000000000000..e77dd17854e5
--- /dev/null
+++ b/app-admin/lnav/files/lnav-0.9.0-bug786456.patch
@@ -0,0 +1,561 @@
+From e6d2e2d2b95c27cc85397d4af9528111c5304d02 Mon Sep 17 00:00:00 2001
+From: Timothy Stack <timothyshanestack@gmail.com>
+Date: Sun, 30 May 2021 13:33:05 -0700
+Subject: [PATCH] [logfile] add notes for automatic decisions and fix compile
+ errors
+
+Fixes #864
+
+Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
+---
+ m4/ax_cxx_compile_stdcxx.m4 | 462 +++++++++++++++++++++++++++++++++---
+ src/base/result.h | 1 +
+ src/logfile.hh | 13 +
+ src/optional.hpp | 45 +++-
+ src/pcrepp/pcrepp.hh | 1 +
+ 5 files changed, 482 insertions(+), 40 deletions(-)
+
+diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
+index 2c18e49c..9413da62 100644
+--- a/m4/ax_cxx_compile_stdcxx.m4
++++ b/m4/ax_cxx_compile_stdcxx.m4
+@@ -1,5 +1,5 @@
+ # ===========================================================================
+-# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
++# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+ # ===========================================================================
+ #
+ # SYNOPSIS
+@@ -16,7 +16,7 @@
+ # The second argument, if specified, indicates whether you insist on an
+ # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+ # -std=c++11). If neither is specified, you get whatever works, with
+-# preference for an extended mode.
++# preference for no added switch, and then for an extended mode.
+ #
+ # The third argument, if specified 'mandatory' or if left unspecified,
+ # indicates that baseline support for the specified C++ standard is
+@@ -33,21 +33,24 @@
+ # Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
+ # Copyright (c) 2015 Paul Norman <penorman@mac.com>
+ # Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
++# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
++# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
++# Copyright (c) 2020 Jason Merrill <jason@redhat.com>
+ #
+ # Copying and distribution of this file, with or without modification, are
+ # permitted in any medium without royalty provided the copyright notice
+ # and this notice are preserved. This file is offered as-is, without any
+ # warranty.
+
+-#serial 4
++#serial 12
+
+ dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
+ dnl (serial version number 13).
+
+ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
+- m4_if([$1], [11], [],
+- [$1], [14], [],
+- [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
++ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
++ [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
++ [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$2], [], [],
+ [$2], [ext], [],
+@@ -59,18 +62,21 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
+ AC_LANG_PUSH([C++])dnl
+ ac_success=no
+- AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
+- ax_cv_cxx_compile_cxx$1,
+- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+- [ax_cv_cxx_compile_cxx$1=yes],
+- [ax_cv_cxx_compile_cxx$1=no])])
+- if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
+- ac_success=yes
+- fi
++
++ m4_if([$2], [], [dnl
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
++ ax_cv_cxx_compile_cxx$1,
++ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [ax_cv_cxx_compile_cxx$1=yes],
++ [ax_cv_cxx_compile_cxx$1=no])])
++ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
++ ac_success=yes
++ fi])
+
+ m4_if([$2], [noext], [], [dnl
+ if test x$ac_success = xno; then
+- for switch in -std=gnu++$1 -std=gnu++0x; do
++ for alternative in ${ax_cxx_compile_alternatives}; do
++ switch="-std=gnu++${alternative}"
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+@@ -96,22 +102,27 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
+ dnl HP's aCC needs +std=c++11 according to:
+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
+ dnl Cray's crayCC needs "-h std=c++11"
+- for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
+- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+- AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+- $cachevar,
+- [ac_save_CXX="$CXX"
+- CXX="$CXX $switch"
+- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+- [eval $cachevar=yes],
+- [eval $cachevar=no])
+- CXX="$ac_save_CXX"])
+- if eval test x\$$cachevar = xyes; then
+- CXX="$CXX $switch"
+- if test -n "$CXXCPP" ; then
+- CXXCPP="$CXXCPP $switch"
++ for alternative in ${ax_cxx_compile_alternatives}; do
++ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
++ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
++ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
++ $cachevar,
++ [ac_save_CXX="$CXX"
++ CXX="$CXX $switch"
++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
++ [eval $cachevar=yes],
++ [eval $cachevar=no])
++ CXX="$ac_save_CXX"])
++ if eval test x\$$cachevar = xyes; then
++ CXX="$CXX $switch"
++ if test -n "$CXXCPP" ; then
++ CXXCPP="$CXXCPP $switch"
++ fi
++ ac_success=yes
++ break
+ fi
+- ac_success=yes
++ done
++ if test x$ac_success = xyes; then
+ break
+ fi
+ done
+@@ -148,6 +159,11 @@ m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+ )
+
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
++ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
++)
+
+ dnl Tests for new features in C++11
+
+@@ -185,11 +201,13 @@ namespace cxx11
+
+ struct Base
+ {
++ virtual ~Base() {}
+ virtual void f() {}
+ };
+
+ struct Derived : public Base
+ {
++ virtual ~Derived() override {}
+ virtual void f() override {}
+ };
+
+@@ -518,7 +536,7 @@ namespace cxx14
+
+ }
+
+- namespace test_digit_seperators
++ namespace test_digit_separators
+ {
+
+ constexpr auto ten_million = 100'000'000;
+@@ -560,3 +578,385 @@ namespace cxx14
+ #endif // __cplusplus >= 201402L
+
+ ]])
++
++
++dnl Tests for new features in C++17
++
++m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
++
++// If the compiler admits that it is not ready for C++17, why torture it?
++// Hopefully, this will speed up the test.
++
++#ifndef __cplusplus
++
++#error "This is not a C++ compiler"
++
++#elif __cplusplus < 201703L
++
++#error "This is not a C++17 compiler"
++
++#else
++
++#include <initializer_list>
++#include <utility>
++#include <type_traits>
++
++namespace cxx17
++{
++
++ namespace test_constexpr_lambdas
++ {
++
++ constexpr int foo = [](){return 42;}();
++
++ }
++
++ namespace test::nested_namespace::definitions
++ {
++
++ }
++
++ namespace test_fold_expression
++ {
++
++ template<typename... Args>
++ int multiply(Args... args)
++ {
++ return (args * ... * 1);
++ }
++
++ template<typename... Args>
++ bool all(Args... args)
++ {
++ return (args && ...);
++ }
++
++ }
++
++ namespace test_extended_static_assert
++ {
++
++ static_assert (true);
++
++ }
++
++ namespace test_auto_brace_init_list
++ {
++
++ auto foo = {5};
++ auto bar {5};
++
++ static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
++ static_assert(std::is_same<int, decltype(bar)>::value);
++ }
++
++ namespace test_typename_in_template_template_parameter
++ {
++
++ template<template<typename> typename X> struct D;
++
++ }
++
++ namespace test_fallthrough_nodiscard_maybe_unused_attributes
++ {
++
++ int f1()
++ {
++ return 42;
++ }
++
++ [[nodiscard]] int f2()
++ {
++ [[maybe_unused]] auto unused = f1();
++
++ switch (f1())
++ {
++ case 17:
++ f1();
++ [[fallthrough]];
++ case 42:
++ f1();
++ }
++ return f1();
++ }
++
++ }
++
++ namespace test_extended_aggregate_initialization
++ {
++
++ struct base1
++ {
++ int b1, b2 = 42;
++ };
++
++ struct base2
++ {
++ base2() {
++ b3 = 42;
++ }
++ int b3;
++ };
++
++ struct derived : base1, base2
++ {
++ int d;
++ };
++
++ derived d1 {{1, 2}, {}, 4}; // full initialization
++ derived d2 {{}, {}, 4}; // value-initialized bases
++
++ }
++
++ namespace test_general_range_based_for_loop
++ {
++
++ struct iter
++ {
++ int i;
++
++ int& operator* ()
++ {
++ return i;
++ }
++
++ const int& operator* () const
++ {
++ return i;
++ }
++
++ iter& operator++()
++ {
++ ++i;
++ return *this;
++ }
++ };
++
++ struct sentinel
++ {
++ int i;
++ };
++
++ bool operator== (const iter& i, const sentinel& s)
++ {
++ return i.i == s.i;
++ }
++
++ bool operator!= (const iter& i, const sentinel& s)
++ {
++ return !(i == s);
++ }
++
++ struct range
++ {
++ iter begin() const
++ {
++ return {0};
++ }
++
++ sentinel end() const
++ {
++ return {5};
++ }
++ };
++
++ void f()
++ {
++ range r {};
++
++ for (auto i : r)
++ {
++ [[maybe_unused]] auto v = i;
++ }
++ }
++
++ }
++
++ namespace test_lambda_capture_asterisk_this_by_value
++ {
++
++ struct t
++ {
++ int i;
++ int foo()
++ {
++ return [*this]()
++ {
++ return i;
++ }();
++ }
++ };
++
++ }
++
++ namespace test_enum_class_construction
++ {
++
++ enum class byte : unsigned char
++ {};
++
++ byte foo {42};
++
++ }
++
++ namespace test_constexpr_if
++ {
++
++ template <bool cond>
++ int f ()
++ {
++ if constexpr(cond)
++ {
++ return 13;
++ }
++ else
++ {
++ return 42;
++ }
++ }
++
++ }
++
++ namespace test_selection_statement_with_initializer
++ {
++
++ int f()
++ {
++ return 13;
++ }
++
++ int f2()
++ {
++ if (auto i = f(); i > 0)
++ {
++ return 3;
++ }
++
++ switch (auto i = f(); i + 4)
++ {
++ case 17:
++ return 2;
++
++ default:
++ return 1;
++ }
++ }
++
++ }
++
++ namespace test_template_argument_deduction_for_class_templates
++ {
++
++ template <typename T1, typename T2>
++ struct pair
++ {
++ pair (T1 p1, T2 p2)
++ : m1 {p1},
++ m2 {p2}
++ {}
++
++ T1 m1;
++ T2 m2;
++ };
++
++ void f()
++ {
++ [[maybe_unused]] auto p = pair{13, 42u};
++ }
++
++ }
++
++ namespace test_non_type_auto_template_parameters
++ {
++
++ template <auto n>
++ struct B
++ {};
++
++ B<5> b1;
++ B<'a'> b2;
++
++ }
++
++ namespace test_structured_bindings
++ {
++
++ int arr[2] = { 1, 2 };
++ std::pair<int, int> pr = { 1, 2 };
++
++ auto f1() -> int(&)[2]
++ {
++ return arr;
++ }
++
++ auto f2() -> std::pair<int, int>&
++ {
++ return pr;
++ }
++
++ struct S
++ {
++ int x1 : 2;
++ volatile double y1;
++ };
++
++ S f3()
++ {
++ return {};
++ }
++
++ auto [ x1, y1 ] = f1();
++ auto& [ xr1, yr1 ] = f1();
++ auto [ x2, y2 ] = f2();
++ auto& [ xr2, yr2 ] = f2();
++ const auto [ x3, y3 ] = f3();
++
++ }
++
++ namespace test_exception_spec_type_system
++ {
++
++ struct Good {};
++ struct Bad {};
++
++ void g1() noexcept;
++ void g2();
++
++ template<typename T>
++ Bad
++ f(T*, T*);
++
++ template<typename T1, typename T2>
++ Good
++ f(T1*, T2*);
++
++ static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
++
++ }
++
++ namespace test_inline_variables
++ {
++
++ template<class T> void f(T)
++ {}
++
++ template<class T> inline T g(T)
++ {
++ return T{};
++ }
++
++ template<> inline void f<>(int)
++ {}
++
++ template<> int g<>(int)
++ {
++ return 5;
++ }
++
++ }
++
++} // namespace cxx17
++
++#endif // __cplusplus < 201703L
++
++]])
diff --git a/app-admin/lnav/files/lnav-0.9.0-bug792582.patch b/app-admin/lnav/files/lnav-0.9.0-bug792582.patch
new file mode 100644
index 000000000000..9059712242a6
--- /dev/null
+++ b/app-admin/lnav/files/lnav-0.9.0-bug792582.patch
@@ -0,0 +1,97 @@
+From 141436933a8d30edfd33aa5fcfb0c93cfa3ae9d5 Mon Sep 17 00:00:00 2001
+From: Timothy Stack <timothyshanestack@gmail.com>
+Date: Wed, 9 Dec 2020 15:35:06 -0800
+Subject: [PATCH] [view_curses] use VC_ROLE instead of VC_STYLE where possible
+ and fix segv in mvwattrline
+
+Fixes #806
+
+Signed-off-by: Randy Barlow <randy@electronsweatshop.com>
+---
+ src/highlighter.cc | 4 +++-
+ src/logfile_sub_source.cc | 17 ++++++++++-------
+ src/view_curses.cc | 9 ++++++---
+ 3 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/src/highlighter.cc b/src/highlighter.cc
+index 24aafebd..110ca03f 100644
+--- a/src/highlighter.cc
++++ b/src/highlighter.cc
+@@ -115,7 +115,9 @@ void highlighter::annotate(attr_line_t &al, int start) const
+ vc.match_color(this->h_bg));
+ }
+ if (this->h_role != view_colors::VCR_NONE) {
+- attrs |= vc.attrs_for_role(this->h_role);
++ sa.emplace_back(lr,
++ &view_curses::VC_ROLE,
++ this->h_role);
+ }
+ sa.emplace_back(lr, &view_curses::VC_STYLE, attrs);
+
+diff --git a/src/logfile_sub_source.cc b/src/logfile_sub_source.cc
+index 14e87002..dce0d4ae 100644
+--- a/src/logfile_sub_source.cc
++++ b/src/logfile_sub_source.cc
+@@ -468,25 +468,28 @@ void logfile_sub_source::text_attrs_for_line(textview_curses &lv,
+
+ shift_string_attrs(value_out, 0, time_offset_end);
+
+- attrs = vc.attrs_for_role(view_colors::VCR_OFFSET_TIME);
+- value_out.emplace_back(lr, &view_curses::VC_STYLE, attrs);
++ value_out.emplace_back(lr,
++ &view_curses::VC_ROLE,
++ view_colors::VCR_OFFSET_TIME);
+ value_out.emplace_back(line_range(12, 13),
+ &view_curses::VC_GRAPHIC, ACS_VLINE);
+
+- int bar_attrs = 0;
++ view_colors::role_t bar_role = view_colors::VCR_NONE;
+
+ switch (this->get_line_accel_direction(vis_line_t(row))) {
+ case log_accel::A_STEADY:
+ break;
+ case log_accel::A_DECEL:
+- bar_attrs = vc.attrs_for_role(view_colors::VCR_DIFF_DELETE);
++ bar_role = view_colors::VCR_DIFF_DELETE;
+ break;
+ case log_accel::A_ACCEL:
+- bar_attrs = vc.attrs_for_role(view_colors::VCR_DIFF_ADD);
++ bar_role = view_colors::VCR_DIFF_ADD;
+ break;
+ }
+- value_out.push_back(
+- string_attr(line_range(12, 13), &view_curses::VC_STYLE, bar_attrs));
++ if (bar_role != view_colors::VCR_NONE) {
++ value_out.emplace_back(
++ line_range(12, 13), &view_curses::VC_ROLE, bar_role);
++ }
+ }
+
+ lr.lr_start = 0;
+diff --git a/src/view_curses.cc b/src/view_curses.cc
+index 4a36a3ad..2456d53d 100644
+--- a/src/view_curses.cc
++++ b/src/view_curses.cc
+@@ -402,13 +402,16 @@ void view_curses::mvwattrline(WINDOW *window,
+ }
+ }
+
++ if (attr_range.lr_end == -1) {
++ attr_range.lr_end = line_width_chars;
++ }
++ if (attr_range.lr_end < lr_chars.lr_start) {
++ continue;
++ }
+ attr_range.lr_start = max(0, attr_range.lr_start - lr_chars.lr_start);
+ if (attr_range.lr_start > line_width_chars) {
+ continue;
+ }
+- if (attr_range.lr_end == -1) {
+- attr_range.lr_end = lr_chars.lr_start + line_width_chars;
+- }
+
+ attr_range.lr_end = min(line_width_chars, attr_range.lr_end - lr_chars.lr_start);
+
+--
+2.31.1
+
diff --git a/app-admin/lnav/lnav-0.9.0-r1.ebuild b/app-admin/lnav/lnav-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..1a6b79c93526
--- /dev/null
+++ b/app-admin/lnav/lnav-0.9.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="A curses-based tool for viewing and analyzing log files"
+HOMEPAGE="https://lnav.org"
+SRC_URI="https://github.com/tstack/lnav/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="unicode"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ >=dev-db/sqlite-3.9.0
+ dev-libs/libpcre[cxx]
+ >=net-misc/curl-7.23.0
+ sys-libs/ncurses:0=[unicode?]
+ sys-libs/readline:0=
+ sys-libs/zlib:0="
+DEPEND="${RDEPEND}"
+
+DOCS=( AUTHORS NEWS README )
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.4-disable-tests.patch
+ # bug 723242
+ "${FILESDIR}"/${PN}-0.9.0-bug639332-tinfow.patch
+ # bug 713600
+ "${FILESDIR}"/${PN}-0.9.0-bug713600_0.patch
+ "${FILESDIR}"/${PN}-0.9.0-bug713600_1.patch
+ # Fix a segfault when using right arrow
+ # bug 792582
+ "${FILESDIR}"/${PN}-0.9.0-bug792582.patch
+ # Fix a build failure on gcc
+ # bug 786456
+ "${FILESDIR}"/${PN}-0.9.0-bug786456.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ $(use_with unicode ncursesw)
+}
diff --git a/app-admin/lnav/lnav-0.9.0.ebuild b/app-admin/lnav/lnav-0.9.0.ebuild
index 73758b4838f4..bc2f04f49352 100644
--- a/app-admin/lnav/lnav-0.9.0.ebuild
+++ b/app-admin/lnav/lnav-0.9.0.ebuild
@@ -29,6 +29,9 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.8.4-disable-tests.patch
# bug 723242
"${FILESDIR}"/${PN}-0.9.0-bug639332-tinfow.patch
+ # bug 713600
+ "${FILESDIR}"/${PN}-0.9.0-bug713600_0.patch
+ "${FILESDIR}"/${PN}-0.9.0-bug713600_1.patch
)
src_prepare() {