From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-wm/xpra/
Date: Thu, 12 Jun 2025 10:57:43 +0000 (UTC) [thread overview]
Message-ID: <1749725753.a9e079ac6842ce1e35872a042015cf3589bb171c.sam@gentoo> (raw)
commit: a9e079ac6842ce1e35872a042015cf3589bb171c
Author: Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Thu Jun 12 10:18:07 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 12 10:55:53 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a9e079ac
x11-wm/xpra: fix build issue
* turn off strict, so no -Werror
* update sed replace pattern for doc_dir
Closes: https://bugs.gentoo.org/934032
Closes: https://bugs.gentoo.org/934033
Closes: https://bugs.gentoo.org/955482
Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42557
Signed-off-by: Sam James <sam <AT> gentoo.org>
x11-wm/xpra/xpra-6.0.1-r3.ebuild | 375 +++++++++++++++++++++++++++++++++++++++
1 file changed, 375 insertions(+)
diff --git a/x11-wm/xpra/xpra-6.0.1-r3.ebuild b/x11-wm/xpra/xpra-6.0.1-r3.ebuild
new file mode 100644
index 000000000000..679b1a0f48b7
--- /dev/null
+++ b/x11-wm/xpra/xpra-6.0.1-r3.ebuild
@@ -0,0 +1,375 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Xpra-org/xpra.git"
+ if [[ ${PV} = 6.9999* ]]; then
+ EGIT_BRANCH="v6.x"
+ fi
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_SINGLE_IMPL=yes
+DISTUTILS_EXT=1
+
+inherit cuda xdg distutils-r1 prefix tmpfiles udev
+
+DESCRIPTION="X Persistent Remote Apps (xpra) and Partitioning WM (parti) based on wimpiggy"
+HOMEPAGE="https://xpra.org/"
+LICENSE="GPL-2 BSD"
+SLOT="0"
+IUSE="+X avif brotli +client +clipboard crypt csc cuda cups dbus debug doc examples gstreamer +gtk3 html ibus jpeg +lz4 mdns minimal oauth opengl openh264 pinentry pulseaudio qrcode +server sound systemd test +trayicon udev vpx webcam webp x264 xdg xinerama "
+IUSE+=" video_cards_nvidia"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ || ( client gtk3 server )
+ cups? ( dbus )
+ oauth? ( server )
+ opengl? ( client )
+ clipboard? ( gtk3 )
+ gtk3? ( client )
+ test? ( client clipboard crypt dbus gstreamer html server sound xdg xinerama )
+"
+
+TEST_DEPEND="
+ $(python_gen_cond_dep '
+ dev-python/netifaces[${PYTHON_USEDEP}]
+ dev-python/pillow[jpeg?,webp?,${PYTHON_USEDEP}]
+ dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
+ xdg? ( dev-python/pyxdg[${PYTHON_USEDEP}] )
+ ')
+ html? ( www-apps/xpra-html5 )
+ server? (
+ x11-base/xorg-server[-minimal,xvfb]
+ x11-drivers/xf86-input-void
+ x11-drivers/xf86-video-dummy
+ )
+ webcam? ( media-video/v4l2loopback )
+ xinerama? ( x11-libs/libfakeXinerama )
+"
+DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ sound? ( dev-python/gst-python:1.0[${PYTHON_USEDEP}] )
+ gtk3? (
+ dev-python/pygobject:3[cairo]
+ )
+ ')
+ dev-libs/xxhash
+ avif? ( media-libs/libavif )
+ brotli? ( app-arch/brotli )
+ client? (
+ x11-libs/gtk+:3[X?,introspection]
+ )
+ jpeg? ( media-libs/libjpeg-turbo )
+ !minimal? ( sys-libs/pam )
+ mdns? ( dev-libs/mdns )
+ openh264? ( media-libs/openh264:= )
+ pulseaudio? (
+ media-plugins/gst-plugins-pulse:1.0
+ media-plugins/gst-plugins-opus
+ )
+ qrcode? ( media-gfx/qrencode )
+ sound? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ )
+ vpx? ( media-libs/libvpx )
+ webp? ( media-libs/libwebp )
+ X? (
+ x11-apps/xrandr
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXres
+ x11-libs/libXtst
+ x11-libs/libxkbfile
+ )
+ x264? ( media-libs/x264 )
+"
+# nvenc? ( amd64? ( media-libs/nv-codec-headers ) )
+RDEPEND="
+ ${DEPEND}
+ ${TEST_DEPEND}
+ $(python_gen_cond_dep '
+ crypt? ( dev-python/cryptography[${PYTHON_USEDEP}] )
+ cups? ( dev-python/pycups[${PYTHON_USEDEP}] )
+ lz4? ( dev-python/lz4[${PYTHON_USEDEP}] )
+ oauth? ( dev-python/oauthlib[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl-accelerate[${PYTHON_USEDEP}] )
+ webcam? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ media-libs/opencv[${PYTHON_USEDEP},python]
+ )
+ ')
+ acct-group/xpra
+ virtual/ssh
+ x11-apps/xauth
+ x11-apps/xmodmap
+ ibus? ( app-i18n/ibus )
+ pinentry? ( app-crypt/pinentry )
+ trayicon? ( dev-libs/libayatana-appindicator )
+ udev? ( virtual/udev )
+"
+DEPEND+="
+ test? (
+ ${TEST_DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ ')
+ )
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ virtual/pkgconfig
+ doc? ( virtual/pandoc )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9999-pep517.patch"
+ "${FILESDIR}/${PN}-6.0.1-pam.patch"
+)
+
+src_prepare() {
+ default
+
+ sed \
+ -e 's#UNITTESTS_DIR=`dirname $(readlink -f $0)`#: "${UNITTESTS_DIR:=`dirname $(readlink -f $0)`}"#' \
+ -e 's#INSTALL_ROOT="$SRC_DIR/dist/python${PYTHON_VERSION}"#: "${INSTALL_ROOT:=$SRC_DIR/dist/python${PYTHON_VERSION}}"#' \
+ -e '/setup.py install/d' \
+ -i "${S}/tests/unittests/run" || die
+}
+
+python_configure_all() {
+ hprefixify xpra/scripts/config.py
+
+ sed -r -e "/\bdoc_dir =/s:(/share/doc/)$PN(/):\1$PF/html\2:" \
+ -e "/'pulseaudio'/s:DEFAULT_PULSEAUDIO:$(usex pulseaudio True False):" \
+ -i setup.py || die
+
+ if use minimal; then
+ sed -r -e '/pam_ENABLED/s/DEFAULT/False/' \
+ -e 's/^(xdg_open)_ENABLED = .*/\1_ENABLED = False/' \
+ -i setup.py || die
+ fi
+
+ DISTUTILS_ARGS=(
+ --with-PIC
+ "$(use_with avif)"
+ "$(use_with brotli)"
+ "$(use_with sound audio)"
+ "$(use_with client)"
+ "$(use_with clipboard)"
+ "$(use_with csc csc_cython)"
+ --without-csc_libyuv
+ # "$(use_with csc csc_libyuv)" # https://chromium.googlesource.com/libyuv/libyuv
+ "$(use_with cuda cuda_rebuild)"
+ "$(use_with cuda cuda_kernels)"
+ "$(use_with dbus)"
+ "$(use_with debug)"
+ "$(use_with doc docs)"
+ --without-evdi
+ # "$(use_with evdi)" x11-drivers/evdi::guru
+ "$(use_with examples example)"
+ "$(use_with gstreamer)"
+ "$(use_with gstreamer gstreamer_audio)"
+ "$(use_with gstreamer gstreamer_video)"
+ "$(use_with gtk3)"
+ "$(use_with html http)"
+ "$(use_with mdns)"
+ "$(use_with video_cards_nvidia nvidia)"
+ --without-nvdec
+ --without-nvenc
+ --without-nvfbc
+ # "$(use_with nvenc nvdec)" # NVIDIA Video Codec SDK
+ # "$(use_with nvenc nvenc)" # NVIDIA Video Codec SDK
+ # "$(use_with nvenc nvfbc)" # NVIDIA Capture SDK
+ "$(use_with opengl)"
+ "$(use_with openh264)"
+ "$(use_with cups printing)"
+ --without-pandoc_lua
+ "$(use_with qrcode qrencode)"
+ --without-quic
+ # "$(use_with quic)" # https://github.com/aiortc/aioquic
+ "$(use_with systemd sd_listen)"
+ "$(use_with server)"
+ "$(use_with systemd service)"
+ "$(use_with server shadow)"
+ "$(use_with vpx)"
+ "$(use_with webcam)"
+ "$(use_with webp)"
+ "$(use_with X x11)"
+ "$(use_with X Xdummy)"
+
+ "$(use_with test tests)"
+ --without-strict
+ # --with-verbose
+ # --with-warn
+ # --with-cythonize_more
+
+ --pkg-config-path="${S}/fs/lib/pkgconfig"
+ )
+
+ if use server; then
+ DISTUTILS_ARGS+=(
+ "$(use_with jpeg jpeg_encoder)"
+ "$(use_with vpx vpx_encoder)"
+ "$(use_with openh264 openh264_encoder)"
+ "$(use_with cuda nvjpeg_encoder)"
+ "$(use_with avif avif_encoder)"
+ "$(use_with webp webp_encoder)"
+ --without-spng_encoder
+ # "$(use_with spng spng_encoder)" # https://github.com/randy408/libspng
+ )
+ else
+ DISTUTILS_ARGS+=(
+ --without-jpeg_encoder
+ --without-vpx_encoder
+ --without-openh264_encoder
+ --without-nvjpeg_encoder
+ --without-avif_encoder
+ --without-webp_encoder
+ --without-spng_encoder
+ )
+ fi
+
+ if use client || use gtk3; then
+ DISTUTILS_ARGS+=(
+ "$(use_with vpx vpx_decoder)"
+ "$(use_with openh264 openh264_decoder)"
+ "$(use_with cuda nvjpeg_decoder)"
+ "$(use_with jpeg jpeg_decoder)"
+ "$(use_with avif avif_decoder)"
+ "$(use_with webp webp_decoder)"
+ --without-spng_decoder
+ # "$(use_with spng spng_decoder)" # https://github.com/randy408/libspng
+ )
+ else
+ DISTUTILS_ARGS+=(
+ --without-jpeg_decoder
+ --without-vpx_decoder
+ --without-openh264_decoder
+ --without-nvjpeg_decoder
+ --without-avif_decoder
+ --without-webp_decoder
+ --without-spng_decoder
+ )
+ fi
+
+ DISTUTILS_ARGS+=(
+ # Arguments from user
+ "${MYDISTUTILS_ARGS[@]}"
+ )
+
+ export XPRA_SOCKET_DIRS="${EPREFIX}/var/run/xpra"
+}
+
+python_compile() {
+ if use cuda; then
+ export NVCC_PREPEND_FLAGS="-ccbin $(cuda_gccdir)/g++"
+ fi
+
+ PYTHONPATH="${S}" distutils-r1_python_compile
+}
+
+python_test() {
+ einfo "${BUILD_DIR}/install/$(python_get_sitedir)"
+
+ use cuda && cuda_add_sandbox -w
+ addwrite /dev/dri/renderD128
+
+ addpredict /dev/dri/card0
+ addpredict /dev/fuse
+ addpredict /dev/tty0
+ addpredict /dev/vga_arbiter
+ addpredict /proc/mtrr
+ addpredict /var/run/utmp
+
+ addpredict "$(python_get_sitedir)"
+
+ if [[ -d "/sys/devices/virtual/video4linux" ]]; then
+ local devices
+ readarray -t devices <<<"$(find /sys/devices/virtual/video4linux -mindepth 1 -maxdepth 1 -type d -name 'video*' )"
+ for device in "${devices[@]}"; do
+ addwrite "/dev/$(basename "${device}" || die )"
+ done
+ fi
+
+ xdg_environment_reset
+
+ export XAUTHORITY=${T}/.Xauthority
+ touch "${XAUTHORITY}" || die
+
+ local -x XPRA_TEST_COVERAGE=0 INSTALL_ROOT="${BUILD_DIR}/install" UNITTESTS_DIR="${S}/tests/unittests"
+
+ tests/unittests/run \
+ --skip-fail unit.client.mixins.audioclient_test \
+ --skip-fail unit.client.x11_client_test \
+ --skip-fail unit.net.net_util_test \
+ --skip-fail unit.notifications.common_test \
+ --skip-fail unit.server.mixins.shadow_option_test \
+ --skip-fail unit.server.mixins.start_option_test \
+ --skip-fail unit.server.mixins.startdesktop_option_test \
+ --skip-fail unit.server.server_auth_test \
+ --skip-fail unit.server.shadow_server_test \
+ --skip-fail unit.x11.x11_server_test \
+ --skip-slow unit.client.mixins.webcam_test \
+ --skip-slow unit.server.server_sockets_test \
+ --skip-slow unit.server.source.source_mixins_test \
+ || die -n
+}
+
+python_install() {
+ # remove test file
+ rm -vrf "${BUILD_DIR}/install/usr/share/xpra/www"
+
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv -v "${ED}"/usr/etc "${ED}"/ || die
+
+ sed -e "s#/.*data/etc#/etc#g" \
+ -i "${ED}/etc/xpra/conf.d/"* || die
+
+ # Move udev dir to the right place if necessary.
+ if use udev; then
+ local dir
+ dir=$(get_udevdir)
+ if [[ ! ${ED}/usr/lib/udev -ef ${ED}${dir} ]]; then
+ dodir "${dir%/*}"
+ mv -vnT "${ED}"/usr/lib/udev "${ED}${dir}" || die
+ fi
+ else
+ rm -vr "${ED}"/usr/lib/udev || die
+ rm -v "${ED}"/usr/libexec/xpra/xpra_udev_product_version || die
+ fi
+}
+
+pkg_postinst() {
+ tmpfiles_process xpra.conf
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
+
+pkg_postrm() {
+ xdg_pkg_postinst
+ use udev && udev_reload
+}
next reply other threads:[~2025-06-12 10:57 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-12 10:57 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-07-14 9:14 [gentoo-commits] repo/gentoo:master commit in: x11-wm/xpra/ Sam James
2025-07-14 9:14 Sam James
2025-07-13 7:06 Sam James
2025-06-12 10:57 Sam James
2025-06-09 2:43 Sam James
2025-06-09 2:43 Sam James
2025-06-09 2:37 Sam James
2025-05-14 3:10 Sam James
2024-11-23 17:19 Sam James
2024-07-06 14:09 James Le Cuirot
2024-06-30 22:23 James Le Cuirot
2024-06-28 8:50 James Le Cuirot
2024-06-14 12:26 Michał Górny
2024-06-10 19:50 Arthur Zamarin
2024-06-10 19:50 Arthur Zamarin
2023-10-27 15:20 Michał Górny
2023-10-14 20:34 James Le Cuirot
2023-07-27 7:07 Sam James
2023-06-27 13:38 Benda XU
2023-06-27 13:38 Benda XU
2023-06-26 22:33 James Le Cuirot
2023-06-24 14:32 James Le Cuirot
2023-06-17 12:46 James Le Cuirot
2023-06-11 19:54 Arthur Zamarin
2023-06-11 19:54 Arthur Zamarin
2023-06-10 18:03 Andreas Sturmlechner
2023-06-10 18:03 Andreas Sturmlechner
2023-06-10 18:03 Andreas Sturmlechner
2023-06-08 22:35 Sam James
2023-06-07 8:42 Pacho Ramos
2023-06-07 8:42 Pacho Ramos
2023-05-23 20:26 James Le Cuirot
2023-05-20 20:22 James Le Cuirot
2023-05-16 22:16 James Le Cuirot
2023-05-16 21:55 James Le Cuirot
2023-05-14 14:54 James Le Cuirot
2023-05-14 14:54 James Le Cuirot
2023-05-14 8:45 James Le Cuirot
2023-05-01 7:46 Arthur Zamarin
2023-04-22 16:00 Arthur Zamarin
2023-03-17 5:32 Michał Górny
2023-02-01 15:28 Benda XU
2022-09-04 10:57 James Le Cuirot
2022-08-29 12:49 Jakov Smolić
2022-07-06 6:06 Sam James
2022-06-22 21:40 James Le Cuirot
2022-05-26 22:08 James Le Cuirot
2022-05-22 10:54 James Le Cuirot
2022-04-29 9:34 James Le Cuirot
2022-03-11 19:40 Andreas K. Hüttel
2022-02-27 10:19 James Le Cuirot
2022-02-27 9:46 James Le Cuirot
2022-02-27 9:46 James Le Cuirot
2022-01-28 16:26 James Le Cuirot
2022-01-28 13:44 James Le Cuirot
2022-01-16 23:06 James Le Cuirot
2022-01-15 23:31 James Le Cuirot
2021-10-06 12:08 James Le Cuirot
2021-07-30 22:55 David Seifert
2021-07-18 6:35 Agostino Sarubbo
2021-07-18 6:33 Agostino Sarubbo
2021-07-13 21:48 James Le Cuirot
2021-05-30 7:56 James Le Cuirot
2021-04-23 10:40 James Le Cuirot
2021-04-23 10:40 James Le Cuirot
2021-04-16 11:23 Sam James
2021-04-07 23:05 James Le Cuirot
2021-04-07 23:05 James Le Cuirot
2021-03-08 12:05 James Le Cuirot
2021-03-02 13:25 James Le Cuirot
2021-03-02 13:25 James Le Cuirot
2021-01-19 22:38 James Le Cuirot
2021-01-19 22:38 James Le Cuirot
2021-01-19 22:38 James Le Cuirot
2021-01-19 22:38 James Le Cuirot
2020-12-28 15:07 Benda XU
2020-10-31 11:20 Mikle Kolyada
2020-10-24 15:33 Andreas K. Hüttel
2020-10-18 18:06 Thomas Deutschmann
2020-10-17 22:20 Andreas K. Hüttel
2020-10-16 17:09 Andreas K. Hüttel
2020-10-14 10:51 Alexey Shvetsov
2020-06-08 20:54 Alexey Shvetsov
2020-06-08 20:54 Alexey Shvetsov
2020-04-26 11:00 David Seifert
2020-04-26 8:18 Mikle Kolyada
2020-01-28 0:57 Benda XU
2020-01-27 12:13 Agostino Sarubbo
2020-01-27 3:02 Thomas Deutschmann
2020-01-26 8:09 Andreas K. Hüttel
2020-01-16 9:17 Andreas K. Hüttel
2019-12-01 12:29 Benda XU
2019-12-01 4:26 Benda XU
2019-11-29 19:53 Alexey Shvetsov
2019-11-29 19:53 Alexey Shvetsov
2019-10-30 11:49 Alexey Shvetsov
2019-01-27 5:30 Benda XU
2018-12-02 22:39 Andreas K. Hüttel
2018-12-02 22:22 Andreas K. Hüttel
2018-10-19 8:51 Michał Górny
2018-09-14 14:28 Alexey Shvetsov
2018-04-19 20:11 Mikle Kolyada
2018-04-17 22:09 Thomas Deutschmann
2018-04-16 22:46 Michael Weber
2018-01-28 20:30 Michael Weber
2018-01-28 19:04 Michael Weber
2018-01-18 5:18 Benda XU
2018-01-16 22:38 Michael Weber
2018-01-14 16:23 Thomas Deutschmann
2017-12-22 14:01 Jason Zaman
2017-12-22 9:55 Michael Weber
2017-12-08 17:37 Michael Weber
2017-12-08 17:37 Michael Weber
2017-12-08 17:37 Michael Weber
2017-12-08 17:37 Michael Weber
2017-08-31 18:09 Michael Weber
2017-08-31 18:09 Michael Weber
2017-08-29 23:16 Thomas Deutschmann
2017-08-29 23:16 Thomas Deutschmann
2017-07-31 11:52 Tobias Klausmann
2017-07-31 11:50 Tobias Klausmann
2017-07-20 7:31 Michael Weber
2017-06-14 19:06 Michael Weber
2017-06-14 19:04 Michael Weber
2017-05-16 20:56 Michael Weber
2017-04-17 8:02 Agostino Sarubbo
2017-04-05 12:55 Agostino Sarubbo
2017-04-05 0:03 Michael Weber
2017-03-13 7:43 Michael Weber
2017-03-09 17:43 Michael Weber
2017-02-20 0:08 Michael Weber
2017-02-20 0:08 Michael Weber
2017-02-07 23:35 Michael Weber
2017-02-07 23:27 Michael Weber
2017-02-07 23:20 Michael Weber
2017-02-07 23:09 Michael Weber
2017-02-01 21:11 Michael Weber
2017-01-25 23:06 Michael Weber
2017-01-25 20:40 Michael Weber
2017-01-22 23:23 Michael Weber
2017-01-22 23:17 Michael Weber
2016-12-10 20:40 Michael Weber
2016-08-31 10:49 Michael Weber
2016-07-03 9:52 Michael Weber
2016-07-03 9:31 Michael Weber
2016-06-16 19:55 Michael Weber
2016-06-16 19:47 Michael Weber
2016-03-27 17:32 Michael Palimaka
2016-02-25 14:52 Michael Weber
2016-02-23 6:46 Michael Weber
2016-02-22 13:37 Michael Weber
2016-02-22 13:37 Michael Weber
2016-02-22 11:44 Michael Weber
2016-01-08 10:27 Michael Weber
2015-12-14 20:35 Michael Weber
2015-11-15 19:37 Michael Weber
2015-11-11 9:12 Agostino Sarubbo
2015-11-09 10:31 Agostino Sarubbo
2015-10-18 20:07 Michael Weber
2015-09-19 12:32 Agostino Sarubbo
2015-09-15 12:19 Michael Weber
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=1749725753.a9e079ac6842ce1e35872a042015cf3589bb171c.sam@gentoo \
--to=sam@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