public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jimi Huotari" <chiitoo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
Date: Sat, 10 Jun 2023 13:33:10 +0000 (UTC)	[thread overview]
Message-ID: <1686403981.7a57f531764a85be38fdc0577a8df620150fb358.chiitoo@gentoo> (raw)

commit:     7a57f531764a85be38fdc0577a8df620150fb358
Author:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  6 19:16:25 2023 +0000
Commit:     Jimi Huotari <chiitoo <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 13:33:01 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a57f531

dev-qt/qtwebengine: add 6.5.1

Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...ine-6.5.1-normalise-clipboard-permissions.patch |  99 +++++++++
 dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild        | 246 +++++++++++++++++++++
 3 files changed, 346 insertions(+)

diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 1641a6908ec3..78e692b2ce43 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -2,3 +2,4 @@ DIST qtwebengine-5.15.2-r1-chromium87-ppc64le.tar.xz 28784 BLAKE2B aa101d14446f3
 DIST qtwebengine-5.15.8_p20230313-patchset.tar.xz 45904 BLAKE2B 9f58b9808fd445a06e6a2cd6d5f7bc9782bd6de13138fdebc9e81bd9f69e7ae673a71bd3ed6b011a47e84cc64b5b703a7cfc8d5f740eaaa663da1db8ef9ef05b SHA512 21b0b853358260fa1bdc96c97c5b2af7007c744d10abeebf9f0e708a0cd7dece583d86c0554a4e327a0d615bb403b0d328acaa6622b50d7a8059bc0802edbcec
 DIST qtwebengine-5.15.9_p20230505.tar.xz 298713240 BLAKE2B 835e93a0b33e7294d72571c9031524a0e3002100e36433501cc83bac91646b788c1030ee9ce90edce39c6ee2ee61a1d697e021b6346804d3be0f0b930e6084d0 SHA512 61d16399a7d8f5c135c5c097c2dcb7ebeccfe7e31769e950443ffa8178f55ad22d90307b7bd2b2ebdcb3ee0dd2064266159c27da4fc5b35ddac346ca9f336cc1
 DIST qtwebengine-everywhere-src-6.5.0.tar.xz 411792556 BLAKE2B 42aa5023462ee2db6ef24da1858873897ac5d6bd170adc389617525745708529578dcbcf694d1cadf3b591770f4e925ad24f61500cd13ef90236bda412797cb7 SHA512 02413eaf5e4e4d5d8401bf28ea2362cc9f147cc002c014b1a50daf3dfa092b1c923652eefb0b727e94e36d3d53ddf93b5b4c5e8830986902b34b53a848d7a8e0
+DIST qtwebengine-everywhere-src-6.5.1.tar.xz 412377436 BLAKE2B 1ff179daf1433246b931558f52f1cf193eff4a1d646e6f6037a40fe85fa28cf944b7f361fd68cb01b1247680d376762c2c5317be125f5b24cc08e4bbfa6f0def SHA512 68aae60184af6189b70207a458458a3dab23d49891f12ac57ede01a0eb43c403378e7d85baa074d3b12120624eff78d674cbd9112f7d1be84c33ce9bf95ca428

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch b/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch
new file mode 100644
index 000000000000..7caf202072c7
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.5.1-normalise-clipboard-permissions.patch
@@ -0,0 +1,99 @@
+Qt Upstream: https://code.qt.io/cgit/qt/qtwebengine.git/commit/?h=6.5&id=281174f5e010d819a49562b48b2c2067255a41c6
+
+From 281174f5e010d819a49562b48b2c2067255a41c6 Mon Sep 17 00:00:00 2001
+From: Szabolcs David <davidsz@inf.u-szeged.hu>
+Date: Fri, 19 May 2023 01:00:41 +0200
+Subject: Normalize clipboard permissions
+
+Handle clipboard read and write permissions the same way everywhere.
+
+Fixes: QTBUG-113579
+Change-Id: If1f271e8591c54f4ee2f935486502df19d5f6b3e
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+(cherry picked from commit 79e4a37668a9176373e81fe4fc8dfe29f6c8c37b)
+Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
+---
+ src/core/permission_manager_qt.cpp | 46 +++++++++++++++++++-------------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/core/permission_manager_qt.cpp b/src/core/permission_manager_qt.cpp
+index 9d98c0592..28e1c981d 100644
+--- a/src/core/permission_manager_qt.cpp
++++ b/src/core/permission_manager_qt.cpp
+@@ -84,6 +84,22 @@ static blink::mojom::PermissionStatus toBlink(ProfileAdapter::PermissionState re
+     }
+ }
+ 
++static blink::mojom::PermissionStatus getStatusFromSettings(blink::PermissionType type, WebEngineSettings *settings)
++{
++    switch (type) {
++    case blink::PermissionType::CLIPBOARD_READ_WRITE:
++        if (!settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
++            return blink::mojom::PermissionStatus::DENIED;
++         Q_FALLTHROUGH();
++    case blink::PermissionType::CLIPBOARD_SANITIZED_WRITE:
++        if (!settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard))
++            return blink::mojom::PermissionStatus::DENIED;
++        return blink::mojom::PermissionStatus::GRANTED;
++    default:
++        return blink::mojom::PermissionStatus::ASK;
++    }
++}
++
+ PermissionManagerQt::PermissionManagerQt()
+     : m_requestIdCount(0)
+ {
+@@ -179,13 +195,8 @@ void PermissionManagerQt::RequestPermission(blink::PermissionType permission,
+     Q_ASSERT(contentsDelegate);
+ 
+     ProfileAdapter::PermissionType permissionType = toQt(permission);
+-    if (permissionType == ProfileAdapter::ClipboardRead) {
+-        WebEngineSettings *settings = contentsDelegate->webEngineSettings();
+-        if (settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)
+-            && settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
+-            std::move(callback).Run(blink::mojom::PermissionStatus::GRANTED);
+-        else
+-            std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
++    if (permissionType == ProfileAdapter::ClipboardRead || permissionType == ProfileAdapter::ClipboardWrite) {
++        std::move(callback).Run(getStatusFromSettings(permission, contentsDelegate->webEngineSettings()));
+         return;
+     } else if (!canRequestPermissionFor(permissionType)) {
+         std::move(callback).Run(blink::mojom::PermissionStatus::DENIED);
+@@ -220,14 +231,9 @@ void PermissionManagerQt::RequestPermissions(const std::vector<blink::Permission
+         const ProfileAdapter::PermissionType permissionType = toQt(permission);
+         if (permissionType == ProfileAdapter::UnsupportedPermission)
+             result.push_back(blink::mojom::PermissionStatus::DENIED);
+-        else if (permissionType == ProfileAdapter::ClipboardRead) {
+-            WebEngineSettings *settings = contentsDelegate->webEngineSettings();
+-            if (settings->testAttribute(QWebEngineSettings::JavascriptCanAccessClipboard)
+-                && settings->testAttribute(QWebEngineSettings::JavascriptCanPaste))
+-                result.push_back(blink::mojom::PermissionStatus::GRANTED);
+-            else
+-                result.push_back(blink::mojom::PermissionStatus::DENIED);
+-        } else {
++        else if (permissionType == ProfileAdapter::ClipboardRead || permissionType == ProfileAdapter::ClipboardWrite)
++            result.push_back(getStatusFromSettings(permission, contentsDelegate->webEngineSettings()));
++        else {
+             answerable = false;
+             break;
+         }
+@@ -280,14 +286,8 @@ blink::mojom::PermissionStatus PermissionManagerQt::GetPermissionStatusForCurren
+             permission == blink::PermissionType::CLIPBOARD_SANITIZED_WRITE) {
+         WebContentsDelegateQt *delegate = static_cast<WebContentsDelegateQt *>(
+                 content::WebContents::FromRenderFrameHost(render_frame_host)->GetDelegate());
+-        if (!delegate->webEngineSettings()->testAttribute(
+-                    QWebEngineSettings::JavascriptCanAccessClipboard))
+-            return blink::mojom::PermissionStatus::DENIED;
+-        if (permission == blink::PermissionType::CLIPBOARD_READ_WRITE
+-            && !delegate->webEngineSettings()->testAttribute(
+-                    QWebEngineSettings::JavascriptCanPaste))
+-            return blink::mojom::PermissionStatus::DENIED;
+-        return blink::mojom::PermissionStatus::GRANTED;
++        Q_ASSERT(delegate);
++        return getStatusFromSettings(permission, delegate->webEngineSettings());
+     }
+ 
+     return GetPermissionStatus(
+-- 
+cgit v1.2.3
+

diff --git a/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild b/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild
new file mode 100644
index 000000000000..93f241ac06e2
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-6.5.1.ebuild
@@ -0,0 +1,246 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="xml(+)"
+CHROMIUM_VER="108.0.5359.181"
+CHROMIUM_PATCHES_VER="112.0.5615.138"
+
+inherit check-reqs estack flag-o-matic multiprocessing python-any-r1 qt6-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt6 C++ and QML applications"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+	KEYWORDS="~amd64"
+fi
+
+IUSE="
+	alsa bindist designer geolocation +jumbo-build kerberos pulseaudio screencast
+	+system-icu widgets
+"
+REQUIRED_USE="designer? ( widgets )"
+
+BDEPEND="
+	$(python_gen_any_dep 'dev-python/html5lib[${PYTHON_USEDEP}]')
+	dev-util/gperf
+	dev-util/ninja
+	dev-util/re2c
+	net-libs/nodejs[ssl]
+	sys-devel/bison
+	sys-devel/flex
+"
+RDEPEND="
+	app-arch/snappy:=
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	dev-libs/expat
+	dev-libs/libevent:=
+	dev-libs/libxml2[icu]
+	dev-libs/libxslt
+	dev-libs/re2:=
+	=dev-qt/qtdeclarative-${PV}*
+	=dev-qt/qtwebchannel-${PV}*
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/harfbuzz:=
+	media-libs/lcms:2
+	media-libs/libjpeg-turbo:=
+	media-libs/libpng:=
+	>=media-libs/libvpx-1.5:=[svc(+)]
+	media-libs/libwebp:=
+	media-libs/openjpeg:2=
+	media-libs/opus
+	sys-apps/dbus
+	sys-apps/pciutils
+	sys-libs/zlib[minizip]
+	virtual/libudev
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libXcomposite
+	x11-libs/libXcursor
+	x11-libs/libxcb:=
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libXi
+	x11-libs/libxkbcommon
+	x11-libs/libxkbfile
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXScrnSaver
+	x11-libs/libxshmfence:=
+	x11-libs/libXtst
+	alsa? ( media-libs/alsa-lib )
+	geolocation? ( =dev-qt/qtpositioning-${PV}* )
+	kerberos? ( virtual/krb5 )
+	pulseaudio? ( media-libs/libpulse:= )
+	screencast? ( media-video/pipewire:= )
+	system-icu? ( >=dev-libs/icu-69.1:= )
+	widgets? (
+		=dev-qt/qtbase-${PV}*[widgets]
+	)
+"
+DEPEND="${RDEPEND}
+	media-libs/libglvnd
+"
+
+PATCHES=( "${FILESDIR}/${PN}-6.5.1-normalise-clipboard-permissions.patch" )
+
+python_check_deps() {
+	python_has_version "dev-python/html5lib[${PYTHON_USEDEP}]"
+}
+
+qtwebengine_check-reqs() {
+	# bug #307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+	fi
+	eshopts_pop
+
+	[[ ${MERGE_TYPE} == binary ]] && return
+
+	# (check-reqs added for bug #570534)
+	#
+	# Estimate the amount of RAM required
+	# Multiplier is *10 because Bash doesn't do floating point maths.
+	# Let's crudely assume ~2GB per compiler job for GCC.
+	local multiplier=20
+
+	# And call it ~1.5GB for Clang.
+	if tc-is-clang ; then
+		multiplier=15
+	fi
+
+	local CHECKREQS_DISK_BUILD="7G"
+	local CHECKREQS_DISK_USR="150M"
+	if ! has "distcc" ${FEATURES} ; then
+		# bug #830661
+		# Not super realistic to come up with good estimates for distcc right now
+		local CHECKREQS_MEMORY=$(($(makeopts_jobs)*multiplier/10))G
+	fi
+
+	check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+	qtwebengine_check-reqs
+}
+
+pkg_setup() {
+	qtwebengine_check-reqs
+	python-any-r1_pkg_setup
+}
+
+pkg_preinst() {
+	elog "This version of Qt WebEngine is based on Chromium version ${CHROMIUM_VER}, with"
+	elog "additional security fixes up to ${CHROMIUM_PATCHES_VER}. Extensive as it is, the"
+	elog "list of backports is impossible to evaluate, but always bound to be behind"
+	elog "Chromium's release schedule."
+	elog "In addition, various online services may deny service based on an outdated"
+	elog "user agent version (and/or other checks). Google is already known to do so."
+	elog
+	elog "tldr: Your web browsing experience will be compromised."
+}
+
+src_unpack() {
+	# bug 307861
+	eshopts_push -s extglob
+	if is-flagq '-g?(gdb)?([1-9])'; then
+		ewarn
+		ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
+		ewarn "You may experience really long compilation times and/or increased memory usage."
+		ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
+		ewarn
+	fi
+	eshopts_pop
+
+	case ${QT6_BUILD_TYPE} in
+		live)    git-r3_src_unpack ;&
+		release) default ;;
+	esac
+}
+
+src_prepare() {
+	# bug 620444 - ensure local headers are used
+	find . -type f -name "*.pr[fio]" -exec \
+		sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' {} + || die
+
+	if use system-icu; then
+		# Sanity check to ensure that bundled copy of ICU is not used.
+		# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
+		# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
+		# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
+		# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
+		local file
+		while read file; do
+			echo "#error This file should not be used!" > "${file}" || die
+		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
+	fi
+
+	qt6-build_src_prepare
+}
+
+src_configure() {
+	export NINJA_PATH="${BROOT}"/usr/bin/ninja
+	export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"
+
+	local mycmakeargs=(
+		#-DQT_FEATURE_accessibility=off
+		#-DQT_FEATURE_force_asserts=off
+		#-DQT_FEATURE_opengl=off
+		#-DQT_FEATURE_printer=off
+		-DQT_FEATURE_qtpdf_build=off
+		-DQT_FEATURE_qtpdf_quick_build=off
+		-DQT_FEATURE_qtpdf_widgets_build=off
+		-DQT_FEATURE_qtwebengine_build=on
+		-DQT_FEATURE_qtwebengine_quick_build=on
+		-DQT_FEATURE_qtwebengine_widgets_build=on
+		#-DQT_FEATURE_ssl=off
+		#-DQT_FEATURE_static=off
+		#-DQT_FEATURE_system_zlib=off
+		#-DQT_FEATURE_system_png=off
+		#-DQT_FEATURE_system_jpeg=off
+		#-DQT_FEATURE_system_freetype=off
+		#-DQT_FEATURE_system_harfbuzz=off
+		#-DQT_FEATURE_use_gold_linker=off
+		#-DQT_FEATURE_use_lld_linker=off
+		-DQT_FEATURE_webengine_embedded_build=off
+		-DQT_FEATURE_webengine_extensions=on
+		#-DQT_FEATURE_webengine_full_debug_info=$(usex debug)
+		-DQT_FEATURE_webengine_geolocation=$(usex geolocation on off)
+		-DQT_FEATURE_webengine_jumbo_build=$(usex jumbo-build)
+		#-DQT_FEATURE_webengine_jumbo_file_merge_limit
+		-DQT_FEATURE_webengine_kerberos=$(usex kerberos on off)
+		-DQT_FEATURE_webengine_native_spellchecker=off
+		-DQT_FEATURE_webengine_ozone_x11=on
+		-DQT_FEATURE_webengine_pepper_plugins=on
+		-DQT_FEATURE_webengine_proprietary_codecs=$(usex bindist off on)
+		-DQT_FEATURE_webengine_printing_and_pdf=on
+		-DQT_FEATURE_webengine_sanitizer=on
+		-DQT_FEATURE_webengine_spellchecker=on
+		-DQT_FEATURE_webengine_system_opus=on
+		-DQT_FEATURE_webengine_system_libwebp=on
+		-DQT_FEATURE_webengine_system_alsa=$(usex alsa on off)
+		-DQT_FEATURE_webengine_system_ffmpeg=off # https://bugs.gentoo.org/831487
+		-DQT_FEATURE_webengine_system_icu=$(usex system-icu)
+		-DQT_FEATURE_webengine_system_libevent=on
+		-DQT_FEATURE_webengine_system_libopenjpeg2=on
+		-DQT_FEATURE_webengine_system_libpci=on
+		-DQT_FEATURE_webengine_system_libpng=on
+		-DQT_FEATURE_webengine_system_pulseaudio=$(usex pulseaudio on off)
+		-DQT_FEATURE_webengine_system_zlib=on
+		-DQT_FEATURE_webengine_webchannel=on
+		-DQT_FEATURE_webengine_webrtc=on
+		-DQT_FEATURE_webengine_webrtc_pipewire=$(usex screencast on off)
+		#-DQT_FEATURE_xcb=off
+	)
+
+	qt6-build_src_configure
+}


             reply	other threads:[~2023-06-10 13:33 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-10 13:33 Jimi Huotari [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-04 12:19 [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/ Ionen Wolkens
2024-12-03  8:58 Ionen Wolkens
2024-12-02  7:23 Ionen Wolkens
2024-11-18  9:06 Ionen Wolkens
2024-10-30  2:55 Sam James
2024-09-13  2:45 Ionen Wolkens
2024-08-09  9:27 Ionen Wolkens
2024-07-29 20:20 Sam James
2024-05-23 16:04 Andreas Sturmlechner
2024-04-29 23:51 Sam James
2024-04-17  0:15 Ionen Wolkens
2023-12-19 20:33 Ionen Wolkens
2023-11-22 12:46 Ionen Wolkens
2023-11-21 22:36 Andreas Sturmlechner
2023-11-06 18:11 Andreas Sturmlechner
2023-08-10  3:53 Sam James
2023-08-04 12:35 Sam James
2023-07-26 13:31 Jimi Huotari
2023-06-10 13:33 Jimi Huotari
2023-04-26  3:54 Ionen Wolkens
2023-04-22 18:09 Andreas Sturmlechner
2023-03-27 12:51 Sam James
2023-01-08 21:45 Andreas Sturmlechner
2022-08-02 21:51 Sam James
2022-04-05 16:35 Andreas Sturmlechner
2022-04-05 16:35 Andreas Sturmlechner
2021-12-28 12:19 Andreas Sturmlechner
2021-12-25  0:10 Andreas Sturmlechner
2021-12-14 18:13 Andreas Sturmlechner
2021-11-14 19:53 Andreas Sturmlechner
2021-10-31  3:06 Sam James
2021-10-09 22:24 Sam James
2021-09-19 13:42 Andreas Sturmlechner
2021-09-14 16:27 Andreas Sturmlechner
2021-07-22  9:35 Andreas Sturmlechner
2021-05-17 21:15 Andreas Sturmlechner
2021-04-20 22:23 Andreas Sturmlechner
2021-04-06 21:34 Andreas Sturmlechner
2021-03-24  0:50 Georgy Yakovlev
2021-03-12 20:08 Andreas Sturmlechner
2021-02-26 21:19 Andreas Sturmlechner
2021-02-23 20:27 Andreas Sturmlechner
2021-01-02  1:23 Andreas Sturmlechner
2020-11-05 22:51 Andreas Sturmlechner
2020-08-19 19:39 Andreas Sturmlechner
2020-05-17  8:18 Andreas Sturmlechner
2020-05-14 17:21 Andreas Sturmlechner
2020-04-29 20:44 Lars Wendler
2018-06-27 19:00 Andreas Sturmlechner
2018-02-07  2:04 Andreas Sturmlechner
2017-12-10  1:43 Michael Palimaka
2017-01-31  5:14 Davide Pesavento
2016-12-06  6:54 Michael Palimaka
2016-12-01 14:03 Michael Palimaka

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=1686403981.7a57f531764a85be38fdc0577a8df620150fb358.chiitoo@gentoo \
    --to=chiitoo@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