public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Gilbert" <floppym@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/files/, www-client/chromium/
Date: Mon,  5 Nov 2018 00:22:20 +0000 (UTC)	[thread overview]
Message-ID: <1541377219.a8cee29e8bfb76d27b97f5059fe51f70aefc6c85.floppym@gentoo> (raw)

commit:     a8cee29e8bfb76d27b97f5059fe51f70aefc6c85
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 29 02:20:33 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Nov  5 00:20:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a8cee29e

www-client/chromium: allow gcc for M70

Thanks to Garry Filakhtov.

Bug: https://bugs.gentoo.org/669542
Package-Manager: Portage-2.3.51_p2, Repoman-2.3.11_p27
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 .../chromium/chromium-70.0.3538.67-r1.ebuild       |  8 +-
 www-client/chromium/files/chromium-70-gcc-0.patch  | 70 ++++++++++++++++
 www-client/chromium/files/chromium-70-gcc-1.patch  | 98 ++++++++++++++++++++++
 www-client/chromium/files/chromium-70-gcc-2.patch  | 37 ++++++++
 4 files changed, 212 insertions(+), 1 deletion(-)

diff --git a/www-client/chromium/chromium-70.0.3538.67-r1.ebuild b/www-client/chromium/chromium-70.0.3538.67-r1.ebuild
index 6d86b451b47..45613e9b729 100644
--- a/www-client/chromium/chromium-70.0.3538.67-r1.ebuild
+++ b/www-client/chromium/chromium-70.0.3538.67-r1.ebuild
@@ -105,7 +105,7 @@ DEPEND="${COMMON_DEPEND}
 	dev-vcs/git
 "
 
-: ${CHROMIUM_FORCE_CLANG=yes}
+: ${CHROMIUM_FORCE_CLANG=no}
 
 if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then
 	DEPEND+=" >=sys-devel/clang-5"
@@ -143,6 +143,9 @@ PATCHES=(
 	"${FILESDIR}/chromium-stdint.patch"
 	"${FILESDIR}/chromium-pdfium-stdlib-r0.patch"
 	"${FILESDIR}/chromium-harfbuzz-r0.patch"
+	"${FILESDIR}/chromium-70-gcc-0.patch"
+	"${FILESDIR}/chromium-70-gcc-1.patch"
+	"${FILESDIR}/chromium-70-gcc-2.patch"
 )
 
 pre_build_checks() {
@@ -577,6 +580,9 @@ src_configure() {
 }
 
 src_compile() {
+	# Final link uses lots of file descriptors.
+	ulimit -n 2048 || die
+
 	# Calling this here supports resumption via FEATURES=keepwork
 	python_setup
 

diff --git a/www-client/chromium/files/chromium-70-gcc-0.patch b/www-client/chromium/files/chromium-70-gcc-0.patch
new file mode 100644
index 00000000000..7005d373254
--- /dev/null
+++ b/www-client/chromium/files/chromium-70-gcc-0.patch
@@ -0,0 +1,70 @@
+From e98f8ef8b2f236ecbb01df8c39e6ee1c8fbe8d7d Mon Sep 17 00:00:00 2001
+From: Maksim Sisov <msisov@igalia.com>
+Date: Thu, 13 Sep 2018 15:17:29 +0000
+Subject: [PATCH] ScrollPaintPropertyNode: Rename SnapContainerData() to
+ GetSnapContainerData()
+
+GCC is stricter than clang when it comes to class members' names and how
+they can change the meaning of a previously existing symbol with the same
+name.
+
+Here is a short error message:
+
+error: changes meaning of 'SnapContainerData' from 'using SnapContainerData =
+class cc::SnapContainerData' [-fpermissive]  using SnapContainerData =
+cc::SnapContainerData;
+
+Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
+Change-Id: I0de5460f17b13484253e1ff0538b111c9a3b0d13
+Reviewed-on: https://chromium-review.googlesource.com/1213180
+Commit-Queue: Maksim Sisov <msisov@igalia.com>
+Reviewed-by: Philip Rogers <pdr@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#591015}
+---
+ .../renderer/core/paint/paint_property_tree_update_tests.cc     | 2 +-
+ .../platform/graphics/compositing/property_tree_manager.cc      | 2 +-
+ .../platform/graphics/paint/scroll_paint_property_node.h        | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc b/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc
+index 0d999d45076f..1fe1815a5659 100644
+--- a/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc
++++ b/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc
+@@ -1310,7 +1310,7 @@ TEST_P(PaintPropertyTreeUpdateTest, EnsureSnapContainerData) {
+   GetDocument().View()->Resize(300, 300);
+   GetDocument().View()->UpdateAllLifecyclePhases();
+ 
+-  auto doc_snap_container_data = DocScroll()->SnapContainerData();
++  auto doc_snap_container_data = DocScroll()->GetSnapContainerData();
+   ASSERT_TRUE(doc_snap_container_data);
+   EXPECT_EQ(doc_snap_container_data->scroll_snap_type().axis, SnapAxis::kBoth);
+   EXPECT_EQ(doc_snap_container_data->scroll_snap_type().strictness,
+diff --git a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
+index 745b8c8b387e..5f87eeea9435 100644
+--- a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
++++ b/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
+@@ -333,7 +333,7 @@ void PropertyTreeManager::CreateCompositorScrollNode(
+           scroll_node->OverscrollBehaviorX()),
+       static_cast<cc::OverscrollBehavior::OverscrollBehaviorType>(
+           scroll_node->OverscrollBehaviorY()));
+-  compositor_node.snap_container_data = scroll_node->SnapContainerData();
++  compositor_node.snap_container_data = scroll_node->GetSnapContainerData();
+ 
+   auto compositor_element_id = scroll_node->GetCompositorElementId();
+   if (compositor_element_id) {
+diff --git a/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h b/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h
+index e1479269ccc3..5bd7f65f10ba 100644
+--- a/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h
++++ b/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h
+@@ -99,7 +99,7 @@ class PLATFORM_EXPORT ScrollPaintPropertyNode
+     return state_.overscroll_behavior.y;
+   }
+ 
+-  base::Optional<SnapContainerData> SnapContainerData() const {
++  base::Optional<SnapContainerData> GetSnapContainerData() const {
+     return state_.snap_container_data;
+   }
+ 
+-- 
+2.19.1
+

diff --git a/www-client/chromium/files/chromium-70-gcc-1.patch b/www-client/chromium/files/chromium-70-gcc-1.patch
new file mode 100644
index 00000000000..bca2a1f8e80
--- /dev/null
+++ b/www-client/chromium/files/chromium-70-gcc-1.patch
@@ -0,0 +1,98 @@
+From 87902b3202f81d689dd314c17006ffc907fe12a1 Mon Sep 17 00:00:00 2001
+From: Wang Qing <wangqing-hf@loongson.cn>
+Date: Mon, 3 Sep 2018 02:41:08 +0000
+Subject: [PATCH] Fix build error for blink.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This CLs fixed the error of constexpr function call to non-constexpr function.
+
+Bug: 878202
+Change-Id: I6ad217a687e62a9a384980d852743a56479de3a9
+Reviewed-on: https://chromium-review.googlesource.com/1192467
+Commit-Queue: 汪 清 <wangqing-hf@loongson.cn>
+Reviewed-by: Eric Willigers <ericwilligers@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#588316}
+---
+ .../core/animation/animation_time_delta.cc    | 22 ++++++++++++++
+ .../core/animation/animation_time_delta.h     | 30 +++++++------------
+ 2 files changed, 32 insertions(+), 20 deletions(-)
+
+diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.cc b/third_party/blink/renderer/core/animation/animation_time_delta.cc
+index 1b25469c7f2f..2e30a18890da 100644
+--- a/third_party/blink/renderer/core/animation/animation_time_delta.cc
++++ b/third_party/blink/renderer/core/animation/animation_time_delta.cc
+@@ -7,6 +7,28 @@
+ namespace blink {
+ 
+ #if !defined(BLINK_ANIMATION_USE_TIME_DELTA)
++// Comparison operators on AnimationTimeDelta.
++bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs) {
++  return lhs.InSecondsF() == rhs.InSecondsF();
++}
++bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs) {
++  return lhs.InSecondsF() != rhs.InSecondsF();
++}
++bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs,
++                                     const AnimationTimeDelta& rhs) {
++  return lhs.InSecondsF() > rhs.InSecondsF();
++}
++bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs) {
++  return lhs.InSecondsF() >= rhs.InSecondsF();
++}
++bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs) {
++  return lhs.InSecondsF() <= rhs.InSecondsF();
++}
++
+ std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time) {
+   return os << time.InSecondsF() << " s";
+ }
+diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.h b/third_party/blink/renderer/core/animation/animation_time_delta.h
+index 1903c1150d3e..95d218466d90 100644
+--- a/third_party/blink/renderer/core/animation/animation_time_delta.h
++++ b/third_party/blink/renderer/core/animation/animation_time_delta.h
+@@ -90,26 +90,16 @@ AnimationTimeDelta operator*(T a, AnimationTimeDelta td) {
+ }
+ 
+ // Comparison operators on AnimationTimeDelta.
+-constexpr bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs,
+-                                      const AnimationTimeDelta& rhs) {
+-  return lhs.InSecondsF() == rhs.InSecondsF();
+-}
+-constexpr bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs,
+-                                      const AnimationTimeDelta& rhs) {
+-  return lhs.InSecondsF() != rhs.InSecondsF();
+-}
+-constexpr bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs,
+-                                     const AnimationTimeDelta& rhs) {
+-  return lhs.InSecondsF() > rhs.InSecondsF();
+-}
+-constexpr bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs,
+-                                      const AnimationTimeDelta& rhs) {
+-  return lhs.InSecondsF() >= rhs.InSecondsF();
+-}
+-constexpr bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs,
+-                                      const AnimationTimeDelta& rhs) {
+-  return lhs.InSecondsF() <= rhs.InSecondsF();
+-}
++bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs);
++bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs);
++bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs,
++                                     const AnimationTimeDelta& rhs);
++bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs);
++bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs,
++                                      const AnimationTimeDelta& rhs);
+ 
+ // Defined to allow DCHECK_EQ/etc to work with the class.
+ CORE_EXPORT std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time);
+-- 
+2.19.1
+

diff --git a/www-client/chromium/files/chromium-70-gcc-2.patch b/www-client/chromium/files/chromium-70-gcc-2.patch
new file mode 100644
index 00000000000..33041454c52
--- /dev/null
+++ b/www-client/chromium/files/chromium-70-gcc-2.patch
@@ -0,0 +1,37 @@
+From cbdb8bd6567c8143dc8c1e5e86a21a8ea064eea4 Mon Sep 17 00:00:00 2001
+From: Maksim Sisov <msisov@igalia.com>
+Date: Fri, 7 Sep 2018 18:57:42 +0000
+Subject: [PATCH] OmniboxTextView: fix gcc error for structure initialization
+
+It looks like there is bug in GCC 6, which cannot go through
+structure initialization normally.
+
+Thus, instead of a default initialization of one of the members,
+explicitly initialize it to a default value.
+
+Change-Id: Ia55cc6658e6b6b2f8a80c2582dd28f001c9e648c
+Reviewed-on: https://chromium-review.googlesource.com/1213181
+Reviewed-by: Scott Violet <sky@chromium.org>
+Commit-Queue: Maksim Sisov <msisov@igalia.com>
+Cr-Commit-Position: refs/heads/master@{#589614}
+---
+ chrome/browser/ui/views/omnibox/omnibox_text_view.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc
+index f0a8083dc930..9021284f166d 100644
+--- a/chrome/browser/ui/views/omnibox/omnibox_text_view.cc
++++ b/chrome/browser/ui/views/omnibox/omnibox_text_view.cc
+@@ -175,7 +175,8 @@ void ApplyTextStyleForType(SuggestionAnswer::TextStyle text_style,
+       style = {part_color, .baseline = gfx::SUPERIOR};
+       break;
+     case SuggestionAnswer::TextStyle::BOLD:
+-      style = {part_color, .weight = gfx::Font::Weight::BOLD};
++      style = {part_color, .baseline = gfx::NORMAL_BASELINE,
++               .weight = gfx::Font::Weight::BOLD};
+       break;
+     case SuggestionAnswer::TextStyle::NORMAL:
+     case SuggestionAnswer::TextStyle::NORMAL_DIM:
+-- 
+2.19.1
+


             reply	other threads:[~2018-11-05  0:22 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-05  0:22 Mike Gilbert [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-04 13:28 [gentoo-commits] repo/gentoo:master commit in: www-client/chromium/files/, www-client/chromium/ Matt Jolly
2025-02-13 10:59 Matt Jolly
2025-01-28 23:28 Matt Jolly
2025-01-19  1:36 Matt Jolly
2024-11-12 14:43 Matt Jolly
2024-10-12 11:05 Matt Jolly
2024-07-07  9:46 Matt Jolly
2024-05-21  5:59 Matt Jolly
2024-04-26  1:54 Matt Jolly
2024-04-18 15:30 Matt Jolly
2024-01-31  9:42 Sam James
2024-01-31  9:42 Sam James
2023-11-24 22:48 Sam James
2023-08-15  8:02 Stephan Hartmann
2023-08-14  7:12 Stephan Hartmann
2023-08-04  6:57 Stephan Hartmann
2023-08-03 18:31 Stephan Hartmann
2023-06-30 13:11 Stephan Hartmann
2023-06-29 14:49 Stephan Hartmann
2023-06-14 15:09 Mike Gilbert
2023-06-10  5:09 Sam James
2023-05-05 14:17 Mike Gilbert
2023-04-22 23:29 Mike Gilbert
2023-04-14 15:57 Mike Gilbert
2023-04-03 17:32 Mike Gilbert
2023-03-28 15:29 Mike Gilbert
2023-03-13  2:01 Mike Gilbert
2023-01-14  8:38 Stephan Hartmann
2022-12-04 23:40 Sam James
2022-10-01  9:58 Stephan Hartmann
2022-09-26 20:33 Stephan Hartmann
2022-08-20 18:07 Stephan Hartmann
2022-08-20  8:18 Stephan Hartmann
2022-03-11 17:10 Stephan Hartmann
2022-03-03 18:09 Stephan Hartmann
2022-02-20 14:12 Stephan Hartmann
2022-01-30  8:37 Stephan Hartmann
2022-01-24  9:33 Stephan Hartmann
2022-01-23 18:05 Stephan Hartmann
2022-01-23 18:03 Stephan Hartmann
2022-01-12 18:53 Stephan Hartmann
2022-01-03 18:20 Stephan Hartmann
2021-11-22 16:03 Stephan Hartmann
2021-11-13 20:08 Stephan Hartmann
2021-11-04 20:16 Stephan Hartmann
2021-10-30 17:30 Stephan Hartmann
2021-10-24  7:30 Stephan Hartmann
2021-10-10 17:45 Stephan Hartmann
2021-10-04 20:58 Stephan Hartmann
2021-09-14 11:27 Stephan Hartmann
2021-09-11  7:47 Stephan Hartmann
2021-09-08 20:00 Stephan Hartmann
2021-08-08 11:50 Jason A. Donenfeld
2021-07-27 17:39 Stephan Hartmann
2021-07-26 21:17 Stephan Hartmann
2021-07-24  9:48 Stephan Hartmann
2021-06-16 21:28 Stephan Hartmann
2021-05-22  8:37 Stephan Hartmann
2021-04-19 13:07 Stephan Hartmann
2021-04-13 17:01 Stephan Hartmann
2021-02-28  9:16 Stephan Hartmann
2021-02-18 22:08 Stephan Hartmann
2021-02-14  8:43 Stephan Hartmann
2020-11-22  8:18 Stephan Hartmann
2020-10-22 17:24 Mike Gilbert
2020-10-03  7:25 Stephan Hartmann
2020-09-12  9:16 Stephan Hartmann
2020-09-07  5:27 Stephan Hartmann
2020-07-29 18:02 Mike Gilbert
2020-07-26 16:42 Mike Gilbert
2020-06-20  4:09 Aaron Bauman
2020-06-04 14:47 Mike Gilbert
2020-05-30  0:19 Mike Gilbert
2020-05-08 16:23 Mike Gilbert
2020-05-03 19:57 Mike Gilbert
2020-04-11 16:43 Mike Gilbert
2020-04-09 17:20 Mike Gilbert
2020-04-08 15:30 Mike Gilbert
2020-03-30 18:55 Mike Gilbert
2020-03-15 18:35 Mike Gilbert
2020-03-10 15:06 Mike Gilbert
2020-02-14 20:12 Mike Gilbert
2020-02-06 20:48 Mike Gilbert
2020-02-06 20:24 Mike Gilbert
2020-01-20 17:04 Mike Gilbert
2019-12-23 16:22 Mike Gilbert
2019-12-18 17:31 Mike Gilbert
2019-11-11 21:04 Mike Gilbert
2019-11-06 18:56 Mike Gilbert
2019-10-29 20:11 Mike Gilbert
2019-10-27 14:40 Mike Gilbert
2019-08-27 17:25 Mike Gilbert
2019-08-22 15:00 Mike Gilbert
2019-08-08 15:46 Mike Gilbert
2019-08-02 20:42 Mike Gilbert
2019-07-29 17:32 Mike Gilbert
2019-07-25 14:34 Mike Gilbert
2019-06-25 14:58 Mike Gilbert
2019-06-19 21:24 Mike Gilbert
2019-06-18 13:52 Mike Gilbert
2019-02-17 17:53 Mike Gilbert
2019-02-15 20:26 Mike Gilbert
2019-02-10 15:44 Mike Gilbert
2018-11-05  0:22 Mike Gilbert
2018-10-21 15:17 Mike Gilbert
2018-09-22 17:38 Mike Gilbert
2018-07-22  0:41 Mike Gilbert
2018-06-20 14:00 Mike Gilbert
2018-06-16 19:34 Mike Gilbert
2018-05-29 19:36 Mike Gilbert
2018-04-30 23:26 Mike Gilbert
2018-03-04 23:02 Mike Gilbert
2018-02-21 20:31 Mike Gilbert
2018-01-14  2:32 Mike Gilbert
2017-12-09 16:00 Mike Gilbert
2017-11-04 22:17 Mike Gilbert
2017-11-04 14:53 Mike Gilbert
2017-10-04 13:50 Paweł Hajdan
2017-09-27 12:32 Paweł Hajdan
2017-09-04 21:07 Paweł Hajdan
2017-08-16 19:35 Paweł Hajdan
2017-08-02 21:28 Mike Gilbert
2017-07-27  8:22 Paweł Hajdan
2017-07-17 12:41 Paweł Hajdan
2017-06-28 15:18 Paweł Hajdan
2017-06-26  7:09 Paweł Hajdan
2017-06-11 17:35 Mike Gilbert
2017-06-11 16:39 Paweł Hajdan
2017-05-31 20:19 Paweł Hajdan
2017-05-17 14:22 Paweł Hajdan
2017-04-28 15:09 Paweł Hajdan
2017-04-13 19:18 Paweł Hajdan
2017-03-22  2:39 Mike Gilbert
2017-03-20 12:12 Paweł Hajdan
2017-03-12  1:00 Mike Gilbert
2017-01-29 22:27 Mike Gilbert
2017-01-22  5:24 Mike Gilbert
2017-01-05 21:47 Paweł Hajdan
2016-11-08 19:14 Mike Gilbert
2016-10-17 15:35 Mike Gilbert
2016-09-01 17:11 Mike Gilbert
2016-08-01 17:37 Paweł Hajdan
2016-06-13 20:38 Paweł Hajdan
2016-06-03 18:58 Paweł Hajdan
2016-06-01 20:22 Paweł Hajdan
2016-05-08 20:06 Paweł Hajdan
2016-03-25 21:29 Paweł Hajdan
2016-03-09  4:33 Mike Gilbert
2015-12-07 21:19 Paweł Hajdan
2015-11-29 21:44 Paweł Hajdan
2015-11-19  7:19 Paweł Hajdan
2015-09-08 21:01 Paweł Hajdan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1541377219.a8cee29e8bfb76d27b97f5059fe51f70aefc6c85.floppym@gentoo \
    --to=floppym@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox