public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pypy-bin/
Date: Fri, 27 Nov 2015 19:49:55 +0000 (UTC)	[thread overview]
Message-ID: <1448653769.3d41060bb504da5fb2dd2de649a058fe4ef81b53.mgorny@gentoo> (raw)

commit:     3d41060bb504da5fb2dd2de649a058fe4ef81b53
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 27 19:13:50 2015 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 27 19:49:29 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d41060b

dev-python/pypy-bin: Bump to 4.0.1

 dev-python/pypy-bin/Manifest              |   8 ++
 dev-python/pypy-bin/pypy-bin-4.0.1.ebuild | 201 ++++++++++++++++++++++++++++++
 2 files changed, 209 insertions(+)

diff --git a/dev-python/pypy-bin/Manifest b/dev-python/pypy-bin/Manifest
index 8409437..cbbf863 100644
--- a/dev-python/pypy-bin/Manifest
+++ b/dev-python/pypy-bin/Manifest
@@ -1,5 +1,6 @@
 DIST pypy-2.6.0-src.tar.bz2 16858400 SHA256 9bf353f22d25e97a85a6d3766619966055edea1ea1b2218445d683a8ad0399d9 SHA512 82a6a44c0c551a1291215394610e5331cf83216b38ac9f1a79a3eab53ba2933b121c3154b58cead814c73a1da1fc95d895324bb0c43e8e0429438b0dea527cc4 WHIRLPOOL e536ff5d3b393c6834fd721f383318b5dcef79046f475b0f1fe737c67c56e8769cabc0a35f553da5dc475a255c5711de01bd6d42e541cabbab3b9e30f20c9a5c
 DIST pypy-4.0.0-src.tar.bz2 17244624 SHA256 acff480e44ce92acd057f2e786775af36dc3c2cd12e9efc60a1ac6a562ad7b4d SHA512 2bbdc2536a32b0aa28f7b12ec3d879ed28afe984fad38635bc3e1d950a9fe198cfbaf9b554f0fa245e7fd512ec7a76297f05a1d3e17f73fb49e8506561190f5b WHIRLPOOL e94bdf5e8ea2cbab8e25d37bb7cb36b9bae773ec051d603cfce784e0fd8e591ed16e6896f49d14d9ae094c5f613a0ba871380c8adc2a1cf0023157e3e2a51f52
+DIST pypy-4.0.1-src.tar.bz2 17172844 SHA256 29f5aa6ba17b34fd980e85172dfeb4086fdc373ad392b1feff2677d2d8aea23c SHA512 66358cc3fe9ccb402b717379c48731aca8f9f85a1a754a54e3a060113398955b87a3f3048ba731a93be4b49c0f5c7e3bac49dc4523263e1bf4f4b5149d5db5c4 WHIRLPOOL 656a6c60aeb26cb6355db121a92bafcf2b744a7f09dccf21b4a16052c0117d239891ccf6762fcb4fee7f913862263c589becd5984498edc4a8b6d55784957994
 DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 12713852 SHA256 5a23efc74a73f2073d14975949b29b46f85eb815e40fe617d788bcc8463914c2 SHA512 3dbb73047365ab39f328b1c48f370015577ac68aa8ae331d2f49b89a65f2146fa9f53629c33e424ca3949e03caf1b7616c852bd65f49a635a0a3d600f1f252ae WHIRLPOOL fdb1f43231a2e0b99f9a4db6077cda172160514b8504def1f925a66521033a522710b68f7755363701639069bb8d20edfc627dc4fb8c04015b78214581c0999d
 DIST pypy-bin-2.6.0-amd64+bzip2+jit+ncurses.tar.xz 13707848 SHA256 f989708173de093a9d98f190b249a8ed32642fe96ace548f231457e4c743ce57 SHA512 c45cc995349f30630ae14171125bb2ddf8974a77eb817f01a0d86845050832932ca00f3d2c0fcabb15649d3b19a19cfa55d515a90e750d507828ec598aaf998e WHIRLPOOL 3e07920c7bbc9217dccbad948dd404af808c441a725c804e90b2a427fb37fbaaa08dbe12f1ad970292b301e4dd2c0014442761839290a8c7f39a3a11bf6a4019
 DIST pypy-bin-2.6.0-amd64+bzip2+ncurses.tar.xz 7440860 SHA256 b86d2c6939949c16f745729082ee35ef221a48d745f98d0d9a09897187412ca9 SHA512 de9bfe9ddd342e806c59477e333c22afc672175fa3207519379c71d8d359b004a187ac0ed59211347beb562802daa05ba4e6cbb08dd8ad3587c2c9be41ed1307 WHIRLPOOL d62aec345b8a98b3ab790a2588108745c4e0203e8a76580ee700c2379b22215b141141c31d41ab211c451713aadebf05ae0f9cdd1e2b318b73e43a6f2a5ff76f
@@ -14,4 +15,11 @@ DIST pypy-bin-4.0.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9944576 SHA256
 DIST pypy-bin-4.0.0-x86+bzip2+jit+ncurses+sse2.tar.xz 11065800 SHA256 b6275632bc7901affbad59c6ee773c42bb4df0d449565a2a69beeb6b3dfedd70 SHA512 eff3d32aa3a1a106b581c715bfe2db121ce66fe60cec94e7533c1096fdec2c599a6141d688af10a51dff4e1b6ee4805d2b07ea1bdea28f343923b8a6f315b8e2 WHIRLPOOL b2d50c065dfc93fe1be3e588810586041bd42a21ca13d7b568cd1da6c2a79a4467c490fa8636315ef9a369bd914eb338c235dbea8a4b639002e8efef39aa5592
 DIST pypy-bin-4.0.0-x86+bzip2+ncurses+sse2.tar.xz 5822756 SHA256 b254570e2414f6c420146a07390260d63218e327c07d6c5048893f3ce56b78f7 SHA512 7354dbb7a6bb48ee7845ea3e99773381e845d1be1bd2b784c90596ceb01a4192d5bcef9bbe1bbf377d5ce9189e19d2d08d4701e948a04b1e5e54f83dc33f9cb5 WHIRLPOOL c5ff5a335f5bbd5a337aff0a2b4a66636228dc7c81c85fccdd885f2411d88cb5e795c2931b8d7d7f3baed89c0a01d7b858b25b792fd30a55cf25b948e9df1899
 DIST pypy-bin-4.0.0-x86+bzip2+ncurses.tar.xz 5803376 SHA256 8f7a87c48801ecc5825a00659b691125a7700c6e8d4f0e67a6c3a5dd7f4c1fc2 SHA512 678b98a093817508e23e3d55cfa514520f0f2b2d2dab3088a9b4481744eb39fe8d9ee4fbe81744c4fdab86c2cc53913bd2f63cda64a9d74166a900da7bb28aae WHIRLPOOL 0638426bc82903d0244c54a2bacb22061031c7b7f13b51a3af9911eb8abceed0d7ddb7e7d4ec3b48096d217eecee9058fbeaacb1d1705a88e643a20e58958318
+DIST pypy-bin-4.0.1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 13085168 SHA256 79ab082d2d61a46ef80759455e06afa340a8d31b3eeb5f88f47b7a1bc3370562 SHA512 dd2a0b53bd86511a5e6c8fe4cdc78cda34911082e185d5e5cbe29343132f4e3b7e86e8ed1d826c2937ae9c72aec9944ace8108d0739ad0a83b9869e61fc4e541 WHIRLPOOL b8c1282a408e60006ac8afe8aae1af89b6603ab38961dac188c3474df39db101f8c2b8c887eeca30b34f8f6a84b34161275b4433f380f463cb29d86d118c7ec0
+DIST pypy-bin-4.0.1-amd64+bzip2+jit+ncurses.tar.xz 14142344 SHA256 8251d5ac21e7cf49866ee2dfb16656a2369dc23bc8c6f50ac2439631240dc60f SHA512 ba4e4d952e895d11f164a128943d048af880077ee6d5f77154ac9dad9f46188232ff4e33b3d07f67917abfcb79ec8a55e71c2c2d4c287c6616a9b48148615221 WHIRLPOOL 14e03438503e5d914b21d91eb706a58e4772372dce300f6b4aa9be54b86b84c79b7f437d19d010a32988d92fa3645f633f70c241c6a2d6f077c204185529d328
+DIST pypy-bin-4.0.1-amd64+bzip2+ncurses.tar.xz 7524080 SHA256 0417f17763a683928534f9394c183742dca917b2ec5c06e8d241bc86deab0860 SHA512 3a048b8a1af3df6b4a3c7611e8fd4d7586805f1f6e56f7a414f7b4b2b2e84d68307f732491c6fe2d72991b4505b841de9870ac1207f9f0799d41a73c9fa69673 WHIRLPOOL fadd736ff0bd8e8a03755b5f8992e86ed14773bc566cadeae17ce326122d5d9ce422ac5b33b80105b0d0f786d03e1aacf714798ec665dd5acbcef87de3bb3266
+DIST pypy-bin-4.0.1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9948032 SHA256 d77948a7fd055303fe261f3364128793e61aa49bbad06488f924331082eb9fe4 SHA512 c7269694195064ed7ca5464d79b2efd3ad0ae7d409e3694a6b1cb7c9fb99a460f55393f02db795875214243ba616de58ec321f39e97c1eb6fa1ba3365fb56dbf WHIRLPOOL 394176b7bbd4d8cefe44cb209a0479eddb588f31c429f4576bd3f6d9f8497ae0108567a8f3f9d5a272170f61197635abc589bbb32ba5b59687ead5d64736f69d
+DIST pypy-bin-4.0.1-x86+bzip2+jit+ncurses+sse2.tar.xz 11110500 SHA256 7cf8334c8f6fbdfbc4a08b8767e23bbe51f8082ad190c109b9e5d6fa7e1c5b77 SHA512 c5f9ee5997c84ea190d40ce0af052e6a401e4ad104ddc5bab69426913c29d0affe87a7fcb688fb7ad6862a7cd74ad4e8675ecdc8c0efe918cdef23f7516fabdb WHIRLPOOL 692ecfadda6020981510aa1ac85c4b8ff6ed6addf6b1f9fc2a7ca3a98e1630efd5fee917e3c6a25d7c7298ebbc9da7f4f9b628529896f0ca2de7149fc7496739
+DIST pypy-bin-4.0.1-x86+bzip2+ncurses+sse2.tar.xz 5820624 SHA256 480b5fdfcc8757dfd44a3368627944c1234835ee01259572f94587fd134e74c4 SHA512 62f0b7c81fc7d3e71a4d43c81a8f212026d0390e52da2aa7ebb5f19d17bd1c8ce7c4760b9317e2782eba536e07f21afc19ab3a4c3bc04c5a28360a52ec7e1bb7 WHIRLPOOL af25d3b7903969a4488a5051b9dca8bea3987e6f4b16a8ff11e0d5089e3b788b9d2df4550f068ffb63d52f04f7f0ebb4f3ff9288d31b5f773b30cef90a80bafa
+DIST pypy-bin-4.0.1-x86+bzip2+ncurses.tar.xz 5820156 SHA256 fa4cd54bcb42a189ab58fde4717af940700f94d50ada2452780f2ea71963313f SHA512 7c3fbdcdddb7f743706a69874d83634f8a7a58695136737187735fe884c89e46c17b12bba8ad8aada67ebc711a096a6d193bf2af56cecf39f28f07d7161fd882 WHIRLPOOL 7aececedc47931eb1d798dba3709c3e6d74079aead655794f77270ffe2ecd6b421b10a7ed91fd5d2e7ed83a58a65c16d2b37f5725362694ee241f4f715b6d3f0
 DIST python-gentoo-patches-2.7.10-0.tar.xz 12892 SHA256 c9a838bd62ae50cc385da23a837acfd05f2b74e4f086c9c76eb4d3aa5366ef6d SHA512 5f100944635e360691dc0a2b340a906646c4ae9ee558246ddffc56e8b15d389f25f1fbdc1db4cc08e7d29560d04d66b058b3904902899d58ecae8c408ebdf056 WHIRLPOOL f69e9a518bb7ee50c1b262a21e70e1e2443f859ee6d2f4fa84421120dbd054a06ce8dd6cfea8512cbc64bce806322b879c25c561d5eb05e1ba6cc15035b373a9

diff --git a/dev-python/pypy-bin/pypy-bin-4.0.1.ebuild b/dev-python/pypy-bin/pypy-bin-4.0.1.ebuild
new file mode 100644
index 0000000..c2c94e8
--- /dev/null
+++ b/dev-python/pypy-bin/pypy-bin-4.0.1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="https://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
+CPY_PATCHSET_VERSION="2.7.10-0"
+
+DESCRIPTION="Pre-built version of PyPy"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+	https://dev.gentoo.org/~floppym/python/python-gentoo-patches-${CPY_PATCHSET_VERSION}.tar.xz
+	amd64? (
+		jit? ( shadowstack? (
+			${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+		) )
+		jit? ( !shadowstack? (
+			${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+		) )
+		!jit? ( !shadowstack? (
+			${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+		) )
+	)
+	x86? (
+		cpu_flags_x86_sse2? (
+			jit? ( shadowstack? (
+				${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+			) )
+			jit? ( !shadowstack? (
+				${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+			) )
+			!jit? ( !shadowstack? (
+				${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+			) )
+		)
+		!cpu_flags_x86_sse2? (
+			!jit? ( !shadowstack? (
+				${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+			) )
+		)
+	)"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+	x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+	app-arch/bzip2:0
+	dev-libs/expat:0
+	dev-libs/libffi:0
+	dev-libs/openssl:0[-bindist]
+	sys-libs/glibc:2.2
+	sys-libs/ncurses:0/6
+	sys-libs/zlib:0
+	gdbm? ( sys-libs/gdbm:0= )
+	sqlite? ( dev-db/sqlite:3= )
+	tk? (
+		dev-lang/tk:0=
+		dev-tcltk/tix:0=
+	)
+	!dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+	doc? ( ${PYTHON_DEPS}
+		dev-python/sphinx )
+	test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		use doc && python-any-r1_pkg_setup
+	fi
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/4.0.0-gentoo-path.patch" \
+		"${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+	sed -e "s^@EPREFIX@^${EPREFIX}^" \
+		-e "s^@libdir@^$(get_libdir)^" \
+		-i lib-python/2.7/distutils/command/install.py || die
+
+	# apply CPython stdlib patches
+	pushd lib-python/2.7 > /dev/null || die
+	epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch \
+		"${WORKDIR}"/patches/22_all_turkish_locale.patch \
+		"${WORKDIR}"/patches/62_all_xml.use_pyxml.patch
+	popd > /dev/null || die
+
+	epatch_user
+}
+
+src_compile() {
+	# Tadaam! PyPy compiled!
+	mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+	mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+	mv pypy/module/cpyext/include/*.h include/ || die
+	mv pypy/module/cpyext/include/numpy include/ || die
+
+	use doc && emake -C pypy/doc/ html
+	#needed even without jit :( also needed in both compile and install phases
+	pax-mark m pypy-c
+
+	# ctypes config cache
+	# this one we need to do with python2 too...
+	./pypy-c lib_pypy/ctypes_config_cache/rebuild.py \
+		|| die "Failed to rebuild ctypes config cache"
+}
+
+src_test() {
+	# (unset)
+	local -x PYTHONDONTWRITEBYTECODE
+
+	./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+	einfo "Installing PyPy ..."
+	insinto "/usr/$(get_libdir)/pypy"
+	doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+	fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+	pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+	dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+	dodoc README.rst
+
+	if ! use gdbm; then
+		rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+			"${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+	fi
+	if ! use sqlite; then
+		rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+			"${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+			"${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+	fi
+	if ! use tk; then
+		rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+			"${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+			"${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+	fi
+
+	# Install docs
+	use doc && dohtml -r pypy/doc/_build/html/
+
+	einfo "Generating caches and byte-compiling ..."
+
+	local -x PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+	local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+	# we can't use eclass function since PyPy is dumb and always gives
+	# paths relative to the interpreter
+	local PYTHON_SITEDIR=${EPREFIX}/usr/$(get_libdir)/pypy/site-packages
+	python_export pypy EPYTHON
+
+	echo "EPYTHON='${EPYTHON}'" > epython.py || die
+	python_domodule epython.py
+
+	# Generate Grammar and PatternGrammar pickles.
+	"${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+		|| die "Generation of Grammar and PatternGrammar pickles failed"
+
+	# Generate cffi modules
+	# Please keep in sync with pypy/tool/build_cffi_imports.py!
+#cffi_build_scripts = {
+#    "sqlite3": "_sqlite3_build.py",
+#    "audioop": "_audioop_build.py",
+#    "tk": "_tkinter/tklib_build.py",
+#    "curses": "_curses_build.py" if sys.platform != "win32" else None,
+#    "syslog": "_syslog_build.py" if sys.platform != "win32" else None,
+#    "gdbm": "_gdbm_build.py"  if sys.platform != "win32" else None,
+#    "pwdgrp": "_pwdgrp_build.py" if sys.platform != "win32" else None,
+	cffi_targets=( audioop curses syslog gdbm pwdgrp )
+	use gdbm && cffi_targets+=( gdbm )
+	use sqlite && cffi_targets+=( sqlite3 )
+	use tk && cffi_targets+=( tkinter/tklib )
+
+	local t
+	# all modules except tkinter output to .
+	# tkinter outputs to the correct dir ...
+	cd "${ED%/}${INSDESTTREE}"/lib_pypy || die
+	for t in "${cffi_targets[@]}"; do
+		# tkinter doesn't work via -m
+		"${PYTHON}" "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+	done
+
+	# Cleanup temporary objects
+	find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+	find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+	# compile the installed modules
+	python_optimize "${ED%/}${INSDESTTREE}"
+}


             reply	other threads:[~2015-11-27 19:50 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 19:49 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-03-02 20:56 [gentoo-commits] repo/gentoo:master commit in: dev-python/pypy-bin/ Michał Górny
2016-03-02 20:56 Michał Górny
2016-03-03 10:47 Michał Górny
2016-03-03 10:47 Michał Górny
2016-03-12 13:41 Michał Górny
2016-05-14  9:07 Michał Górny
2016-05-14  9:07 Michał Górny
2016-06-06 19:17 Michał Górny
2016-06-09 16:10 Michał Górny
2016-06-09 18:36 Michał Górny
2016-07-03  8:19 Michał Górny
2016-07-29 15:09 Michał Górny
2016-09-03 17:35 Michał Górny
2016-09-07 17:11 Michał Górny
2016-09-07 17:11 Michał Górny
2017-10-09 18:58 Michał Górny
2017-10-15  7:14 Michał Górny
2017-11-05 16:23 Michał Górny
2017-11-11 15:07 Michał Górny
2017-11-12 13:44 Michał Górny
2017-11-16 12:33 Michał Górny
2017-12-27 18:20 Michał Górny
2018-01-05 23:19 Michał Górny
2018-01-08 19:41 Michał Górny
2018-04-27  6:34 Michał Górny
2018-04-29  6:33 Michał Górny
2018-08-01 12:24 Michał Górny
2018-08-01 13:34 Michał Górny
2018-10-04 16:01 Michał Górny
2019-01-05 13:39 Michał Górny
2019-01-05 13:39 Michał Górny
2019-01-05 13:39 Michał Górny
2019-02-15  5:17 Michał Górny
2019-02-16 15:08 Michał Górny
2019-02-18 16:12 Michał Górny
2019-03-28 14:22 Michał Górny
2019-04-21  6:29 Michał Górny
2019-10-18 16:24 Michał Górny
2019-11-01  8:07 Michał Górny
2019-11-20 12:27 Michał Górny
2019-12-25 18:38 Michał Górny

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=1448653769.3d41060bb504da5fb2dd2de649a058fe4ef81b53.mgorny@gentoo \
    --to=mgorny@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