diff options
Diffstat (limited to 'app-admin/lnav')
-rw-r--r-- | app-admin/lnav/Manifest | 7 | ||||
-rw-r--r-- | app-admin/lnav/files/lnav-0.9.0-bug713600_0.patch | 36 | ||||
-rw-r--r-- | app-admin/lnav/files/lnav-0.9.0-bug713600_1.patch | 32 | ||||
-rw-r--r-- | app-admin/lnav/files/lnav-0.9.0-bug786456.patch | 561 | ||||
-rw-r--r-- | app-admin/lnav/files/lnav-0.9.0-bug792582.patch | 97 | ||||
-rw-r--r-- | app-admin/lnav/lnav-0.9.0-r1.ebuild | 52 | ||||
-rw-r--r-- | app-admin/lnav/lnav-0.9.0.ebuild | 3 |
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() { |