public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/
Date: Tue, 16 Apr 2024 07:17:17 +0000 (UTC)	[thread overview]
Message-ID: <1713251834.f097074a001542ce0b10a3edd47d2c0c9e4b37db.juippis@gentoo> (raw)

commit:     f097074a001542ce0b10a3edd47d2c0c9e4b37db
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 16 07:15:53 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Apr 16 07:17:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f097074a

dev-lang/spidermonkey: add 115.10.0

 - enable llvm-18,
 - sync workarounds on musl from firefox-esr.

Closes: https://bugs.gentoo.org/929013
Closes: https://bugs.gentoo.org/829148
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   2 +
 dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild | 504 +++++++++++++++++++++
 2 files changed, 506 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index c34cd5c733d7..554099e6f6e2 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,8 +1,10 @@
 DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
 DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
+DIST firefox-115.10.0esr.source.tar.xz 507826764 BLAKE2B 342d5cf4d61b3efe3dde6a6e53f064739d4107690f1d101915ba8cf2214f518aa8c7490903e20179f0874a3bd62871723e877e8f789d9816f3e0d9227d751eb6 SHA512 0626e2c68ce43f24dfc2b9216e2565537ad8781daf4195d53420e1b78d57d0f6360fbe56b0ddbedae3818546c72472c85c1ff2b208c123d32a0543e666f42b65
 DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1
 DIST firefox-115.9.1esr.source.tar.xz 508070816 BLAKE2B 5182972f45edfb9ec6b23cc2e869fe86237bd51bd23fd31058d03d9dc98f0ea2dcf57215d61d724e08f98d0e0771b86b5e5ce78ed03c3ac08fac60ed4377f890 SHA512 9ccaede2fcda13a07f98a2110bb8f99c7324601d66bff311f3070a669576a1598fe1d7de2d005d725d1f44dbe3934a9c0fd0b7950f60686047d4ce8d9d812310
 DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
 DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c
+DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f
 DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
 DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1

diff --git a/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild
new file mode 100644
index 000000000000..c8d42fff7d08
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild
@@ -0,0 +1,504 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-115esr-patches-10.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=18
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+SLOT="$(ver_cut 1)"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+	virtual/pkgconfig
+	|| (
+		(
+			sys-devel/llvm:18
+			clang? (
+				sys-devel/lld:18
+				sys-devel/clang:18
+				virtual/rust:0/llvm-18
+			)
+		)
+		(
+			sys-devel/llvm:17
+			clang? (
+				sys-devel/lld:17
+				sys-devel/clang:17
+				virtual/rust:0/llvm-17
+			)
+		)
+		(
+			sys-devel/llvm:16
+			clang? (
+				sys-devel/lld:16
+				sys-devel/clang:16
+				virtual/rust:0/llvm-16
+			)
+		)
+		(
+			sys-devel/llvm:15
+			clang? (
+				sys-devel/lld:15
+				sys-devel/clang:15
+				virtual/rust:0/llvm-15
+			)
+		)
+	)
+	!clang? ( virtual/rust )
+	!elibc_glibc? (
+		|| (
+			dev-lang/rust
+			<dev-lang/rust-bin-1.73
+		)
+	)
+	test? (
+		$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+	)"
+DEPEND=">=dev-libs/icu-73.1:=
+	dev-libs/nspr
+	sys-libs/readline:0=
+	sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+		einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+			einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+			einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! tc-ld-is-mold ; then
+			if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+				einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+	if use test ; then
+		python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+	fi
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+	local out
+
+	# Ensure ld output is in English.
+	local -x LC_ALL=C
+
+	# First check the linker directly.
+	out=$($(tc-getLD "$@") --version 2>&1)
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# Then see if they're selecting mold via compiler flags.
+	# Note: We're assuming they're using LDFLAGS to hold the
+	# options and not CFLAGS/CXXFLAGS.
+	local base="${T}/test-tc-linker"
+	cat <<-EOF > "${base}.c"
+	int main() { return 0; }
+	EOF
+	out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+	rm -f "${base}"*
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# No mold here!
+	return 1
+}
+
+pkg_pretend() {
+	if use test ; then
+		CHECKREQS_DISK_BUILD="4000M"
+	else
+		CHECKREQS_DISK_BUILD="3600M"
+	fi
+
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use test ; then
+			CHECKREQS_DISK_BUILD="4000M"
+		else
+			CHECKREQS_DISK_BUILD="3600M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto && tc-ld-is-lld ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+}
+
+src_prepare() {
+	pushd ../.. &>/dev/null || die
+
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+	if ! use ppc64; then
+		rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+	fi
+
+	# Workaround for bgo #915651,915651,929013 on musl
+	if use elibc_glibc ; then
+		rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+	fi
+
+	eapply "${WORKDIR}"/firefox-patches
+	eapply "${WORKDIR}"/spidermonkey-patches
+
+	default
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# Workaround for bgo #915651,915651,929013 on musl
+	if ! use elibc_glibc ; then
+		if use amd64 ; then
+			export RUST_TARGET="x86_64-unknown-linux-musl"
+		elif use x86 ; then
+			export RUST_TARGET="i686-unknown-linux-musl"
+		else
+			die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+		fi
+	fi
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	# use prefix shell in wrapper linker scripts, bug #789660
+	hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+	einfo "Removing pre-built binaries ..."
+	find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	MOZJS_BUILDDIR="${WORKDIR}/build"
+	mkdir "${MOZJS_BUILDDIR}" || die
+
+	popd &>/dev/null || die
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current CFLAGS:    ${CFLAGS}"
+	einfo "Current CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Current LDFLAGS:   ${LDFLAGS}"
+	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+	local have_switched_compiler=
+	if use clang; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+
+		local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+		[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+		[[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+		if tc-is-gcc; then
+			have_switched_compiler=yes
+		fi
+		AR=llvm-ar
+		CC=${CHOST}-clang-${version_clang}
+		CXX=${CHOST}-clang++-${version_clang}
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain,
+	# AS is used in a non-standard way by upstream, #bmo1654031
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	export AS="$(tc-getCC) -c"
+	tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+	cd "${MOZJS_BUILDDIR}" || die
+
+	# ../python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	local -a myeconfargs=(
+		--host="${CBUILD:-${CHOST}}"
+		--target="${CHOST}"
+
+		--disable-ctype
+		--disable-jemalloc
+		--disable-smoosh
+		--disable-strip
+
+		--enable-project=js
+		--enable-readline
+		--enable-release
+		--enable-shared-js
+
+		--with-intl-api
+		--with-system-icu
+		--with-system-nspr
+		--with-system-zlib
+		--with-toolchain-prefix="${CHOST}-"
+
+		$(use_enable debug)
+		$(use_enable jit)
+		$(use_enable test tests)
+	)
+
+	if use debug; then
+		myeconfargs+=( --disable-optimize )
+		myeconfargs+=( --enable-debug-symbols )
+		myeconfargs+=( --enable-real-time-tracing )
+	else
+		myeconfargs+=( --enable-optimize )
+		myeconfargs+=( --disable-debug-symbols )
+		myeconfargs+=( --disable-real-time-tracing )
+	fi
+
+	if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+		myeconfargs+=( --enable-rust-simd )
+	fi
+
+	# Modifications to better support ARM, bug 717344
+	if use cpu_flags_arm_neon ; then
+		myeconfargs+=( --with-fpu=neon )
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			myeconfargs+=( --with-thumb=yes )
+			myeconfargs+=( --with-thumb-interwork=no )
+		fi
+	fi
+
+	# Tell build system that we want to use LTO
+	if use lto ; then
+		if use clang ; then
+			if tc-ld-is-mold ; then
+				myeconfargs+=( --enable-linker=mold )
+			else
+				myeconfargs+=( --enable-linker=lld )
+			fi
+			myeconfargs+=( --enable-lto=cross )
+
+		else
+			myeconfargs+=( --enable-linker=bfd )
+			myeconfargs+=( --enable-lto=full )
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-lto
+
+	# Use system's Python environment
+	export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+	export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+	# Show flags we will use
+	einfo "Build CFLAGS:    ${CFLAGS}"
+	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Build LDFLAGS:   ${LDFLAGS}"
+	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+	# Forcing system-icu allows us to skip patching bundled ICU for PPC
+	# and other minor arches
+	ECONF_SOURCE="${S}" \
+		econf \
+		${myeconfargs[@]} \
+		XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+}
+
+src_test() {
+	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+		einfo "Smoke-test successful, continuing with full test suite"
+	else
+		die "Smoke-test failed: did interpreter initialization fail?"
+	fi
+
+	cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
+
+	if use x86 ; then
+		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+	fi
+
+	${EPYTHON} \
+		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+		--exclude-file="${T}"/known_failures.list \
+		"${MOZJS_BUILDDIR}"/js/src/js \
+		|| die
+
+	if use jit ; then
+		${EPYTHON} \
+			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+			--exclude-file="${T}"/known_failures.list \
+			"${MOZJS_BUILDDIR}"/js/src/js basic \
+			|| die
+	fi
+}
+
+src_install() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+
+	# fix soname links
+	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+	popd &>/dev/null || die
+
+	# remove unneeded files
+	rm \
+		"${ED}"/usr/bin/js${MY_MAJOR}-config \
+		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+		|| die
+
+	# fix permissions
+	chmod -x \
+		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+		|| die
+}


             reply	other threads:[~2024-04-16  7:17 UTC|newest]

Thread overview: 447+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-16  7:17 Joonas Niilola [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-14  7:13 [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/ Joonas Niilola
2024-12-09  7:16 Joonas Niilola
2024-11-28  0:09 Jakov Smolić
2024-11-15  7:18 Joonas Niilola
2024-11-01  8:50 Joonas Niilola
2024-10-25 12:02 Arthur Zamarin
2024-10-25 11:09 Joonas Niilola
2024-10-23  8:07 Joonas Niilola
2024-10-12  7:52 Michał Górny
2024-10-10  2:50 Jakov Smolić
2024-10-09 13:28 Joonas Niilola
2024-10-09  8:05 Sam James
2024-10-09  7:29 Joonas Niilola
2024-10-09  7:29 Joonas Niilola
2024-10-09  7:11 Joonas Niilola
2024-10-09  7:11 Joonas Niilola
2024-10-04 12:57 Joonas Niilola
2024-09-28 14:03 Arthur Zamarin
2024-09-28 12:46 Joonas Niilola
2024-09-28 10:49 Arthur Zamarin
2024-09-25  9:23 Sam James
2024-09-25  7:04 Joonas Niilola
2024-09-25  7:04 Joonas Niilola
2024-09-09 15:15 Joonas Niilola
2024-08-11 14:45 Joonas Niilola
2024-08-03  7:18 Joonas Niilola
2024-07-29 17:19 Sam James
2024-07-29 16:49 Sam James
2024-07-29 16:49 Sam James
2024-07-29 16:49 Sam James
2024-07-29 16:49 Sam James
2024-07-10  6:29 Joonas Niilola
2024-06-25  2:55 Sam James
2024-06-25  2:47 Sam James
2024-06-25  2:47 Sam James
2024-06-12  7:12 Joonas Niilola
2024-06-08  5:27 Arthur Zamarin
2024-06-02  5:45 Joonas Niilola
2024-06-02  5:06 Joonas Niilola
2024-06-01  8:37 Joonas Niilola
2024-05-31 21:03 Sam James
2024-05-28 18:24 Joonas Niilola
2024-05-28 13:19 Sam James
2024-05-28 12:29 Michał Górny
2024-05-28 12:04 Michał Górny
2024-05-15  6:50 Joonas Niilola
2024-04-25 10:49 Joonas Niilola
2024-04-02  5:55 Arthur Zamarin
2024-04-01 13:50 Arthur Zamarin
2024-04-01 13:50 Arthur Zamarin
2024-04-01  9:21 Joonas Niilola
2024-04-01  8:46 Joonas Niilola
2024-04-01  6:47 Joonas Niilola
2024-03-24  7:28 Joonas Niilola
2024-01-31 14:24 Matt Turner
2024-01-24  6:23 Joonas Niilola
2024-01-20 14:05 Joonas Niilola
2024-01-08 15:13 Sam James
2024-01-08 15:13 Sam James
2024-01-08 15:13 Sam James
2024-01-08 15:13 Sam James
2024-01-08 15:13 Sam James
2024-01-08 15:13 Sam James
2024-01-06  9:32 Joonas Niilola
2023-12-27  8:14 Joonas Niilola
2023-12-27  8:14 Joonas Niilola
2023-12-27  8:14 Joonas Niilola
2023-12-21  0:07 Ionen Wolkens
2023-12-20  5:59 Joonas Niilola
2023-12-16  8:05 Joonas Niilola
2023-12-16  8:05 Joonas Niilola
2023-12-16  8:01 Joonas Niilola
2023-12-16  8:00 Arthur Zamarin
2023-12-16  8:00 Arthur Zamarin
2023-11-01 13:17 Joonas Niilola
2023-10-16 16:49 Joonas Niilola
2023-10-16 13:21 Joonas Niilola
2023-10-16 13:21 Joonas Niilola
2023-10-06  7:14 Joonas Niilola
2023-09-10  6:29 Joonas Niilola
2023-08-31 10:34 Joonas Niilola
2023-08-31  8:03 Joonas Niilola
2023-08-31  8:03 Joonas Niilola
2023-08-31  7:57 Joonas Niilola
2023-08-31  7:07 Joonas Niilola
2023-08-09  8:32 Joonas Niilola
2023-08-08  6:37 Joonas Niilola
2023-08-08  6:37 Joonas Niilola
2023-07-20 13:46 Joonas Niilola
2023-07-09  6:57 Joonas Niilola
2023-06-24  2:59 Sam James
2023-06-13 12:48 Joonas Niilola
2023-06-10  7:34 Joonas Niilola
2023-05-31 23:39 Sam James
2023-05-23 11:59 Arthur Zamarin
2023-05-23 11:59 Arthur Zamarin
2023-05-17  6:58 Joonas Niilola
2023-05-17  6:58 Joonas Niilola
2023-05-17  6:58 Joonas Niilola
2023-05-11  7:01 Joonas Niilola
2023-04-15  8:49 Arthur Zamarin
2023-04-15  8:49 Arthur Zamarin
2023-04-15  7:29 Joonas Niilola
2023-04-15  7:29 Joonas Niilola
2023-04-15  7:29 Joonas Niilola
2023-04-15  7:29 Joonas Niilola
2023-03-25  8:43 Sam James
2023-03-25  7:23 Sam James
2023-03-25  7:23 Sam James
2023-03-25  6:45 Joonas Niilola
2023-03-25  6:45 Joonas Niilola
2023-03-25  6:32 Joonas Niilola
2023-03-15  9:46 Joonas Niilola
2023-02-25 12:43 Joonas Niilola
2023-02-22  6:25 Joonas Niilola
2023-01-20  6:52 Joonas Niilola
2022-12-22 11:13 Arthur Zamarin
2022-12-17  6:45 Arthur Zamarin
2022-12-16 20:57 Arthur Zamarin
2022-12-16 20:30 Arthur Zamarin
2022-12-15 11:40 Joonas Niilola
2022-11-26  8:35 Joonas Niilola
2022-11-26  8:35 Joonas Niilola
2022-11-24 13:38 Joonas Niilola
2022-11-24 13:38 Joonas Niilola
2022-11-20  2:05 Sam James
2022-11-20  2:05 Sam James
2022-11-20  0:42 Sam James
2022-11-18 17:46 Arthur Zamarin
2022-11-18  7:20 Joonas Niilola
2022-11-10  7:54 Joonas Niilola
2022-11-08 18:07 Joonas Niilola
2022-11-07 15:05 Joonas Niilola
2022-10-24  6:02 Joonas Niilola
2022-10-04 20:23 Arthur Zamarin
2022-09-22 18:11 Arthur Zamarin
2022-09-22 17:03 Arthur Zamarin
2022-09-22 13:42 Joonas Niilola
2022-09-22 13:42 Joonas Niilola
2022-09-22  8:06 Joonas Niilola
2022-09-22  8:06 Joonas Niilola
2022-09-22  8:06 Joonas Niilola
2022-09-17  6:50 Joonas Niilola
2022-09-17  6:50 Joonas Niilola
2022-08-29  7:30 Joonas Niilola
2022-08-29  7:30 Joonas Niilola
2022-08-26  6:39 Joonas Niilola
2022-08-26  6:39 Joonas Niilola
2022-08-19  8:15 Joonas Niilola
2022-08-19  8:15 Joonas Niilola
2022-08-16  7:38 Joonas Niilola
2022-07-31  3:54 Sam James
2022-07-29  9:02 Joonas Niilola
2022-07-27  4:16 Sam James
2022-07-01  7:08 Joonas Niilola
2022-07-01  6:41 Arthur Zamarin
2022-06-29 17:59 Arthur Zamarin
2022-06-29 17:59 Arthur Zamarin
2022-06-29 15:15 Joonas Niilola
2022-06-29 15:15 Joonas Niilola
2022-06-29  6:29 Joonas Niilola
2022-06-26 13:14 Joonas Niilola
2022-06-03  7:28 Joonas Niilola
2022-06-03  7:28 Joonas Niilola
2022-05-26  0:58 WANG Xuerui
2022-05-23 13:18 Jakov Smolić
2022-05-23 12:03 Jakov Smolić
2022-05-23  7:37 Joonas Niilola
2022-05-23  7:37 Joonas Niilola
2022-05-23  5:57 Joonas Niilola
2022-05-04 14:33 Sam James
2022-05-04 14:33 Sam James
2022-05-04  2:28 Sam James
2022-05-04  2:28 Sam James
2022-05-03 19:12 Arthur Zamarin
2022-04-26 14:45 Sam James
2022-04-10 16:33 Joonas Niilola
2022-04-08 10:14 Joonas Niilola
2022-04-08 10:14 Joonas Niilola
2022-03-27  7:39 Joonas Niilola
2022-03-22 14:17 Joonas Niilola
2022-03-22 14:17 Joonas Niilola
2022-03-21  8:15 Joonas Niilola
2022-03-09 17:19 Joonas Niilola
2022-03-09 17:19 Joonas Niilola
2022-03-01 13:09 Joonas Niilola
2022-02-10  8:49 Joonas Niilola
2022-02-09 13:35 Joonas Niilola
2022-02-07 13:10 Joonas Niilola
2022-02-07 13:03 Joonas Niilola
2022-01-29 10:23 Joonas Niilola
2022-01-28  7:45 Joonas Niilola
2022-01-28  7:45 Joonas Niilola
2022-01-22  9:00 Joonas Niilola
2022-01-17 16:45 Joonas Niilola
2022-01-02 17:49 David Seifert
2021-12-29 17:27 Matt Turner
2021-12-17 21:56 Georgy Yakovlev
2021-11-14  4:49 Sam James
2021-11-13  2:58 Sam James
2021-11-12 12:26 Jakov Smolić
2021-11-12  9:17 Jakov Smolić
2021-10-23  0:33 Thomas Deutschmann
2021-10-23  0:33 Thomas Deutschmann
2021-10-06  1:26 Thomas Deutschmann
2021-10-02 23:53 Sam James
2021-10-01 23:42 Sam James
2021-09-26  5:01 Sam James
2021-09-25 19:56 Sam James
2021-09-06 16:03 Thomas Deutschmann
2021-09-04  4:33 Sam James
2021-09-04  4:26 Sam James
2021-08-11  1:38 Thomas Deutschmann
2021-08-09  0:35 Sam James
2021-08-06 12:16 Sam James
2021-08-05 14:08 Sam James
2021-07-25  0:36 Sam James
2021-07-12 23:32 Thomas Deutschmann
2021-07-12 23:32 Thomas Deutschmann
2021-07-12 23:32 Thomas Deutschmann
2021-06-20  9:09 Sergei Trofimovich
2021-06-01 19:04 Thomas Deutschmann
2021-06-01  8:13 Thomas Deutschmann
2021-05-26  1:01 Yixun Lan
2021-05-21 16:20 Thomas Deutschmann
2021-05-19 12:36 Guilherme Amadio
2021-05-08 19:21 Thomas Deutschmann
2021-05-07 15:02 Thomas Deutschmann
2021-05-07 15:02 Thomas Deutschmann
2021-04-25 23:30 Thomas Deutschmann
2021-04-25 23:30 Thomas Deutschmann
2021-04-25  9:18 Sergei Trofimovich
2021-04-23 21:47 Thomas Deutschmann
2021-04-22 12:13 Sam James
2021-04-20 22:09 Thomas Deutschmann
2021-04-20 21:42 Thomas Deutschmann
2021-04-20 21:42 Thomas Deutschmann
2021-04-19 21:35 Thomas Deutschmann
2021-04-19  8:32 Thomas Deutschmann
2021-04-04 21:21 Sergei Trofimovich
2021-04-01 22:27 Sam James
2021-03-30 18:16 Sam James
2021-03-30  1:17 Thomas Deutschmann
2021-03-22 20:55 Thomas Deutschmann
2021-03-05 16:34 Sam James
2021-03-01 17:46 Thomas Deutschmann
2021-03-01 17:18 Thomas Deutschmann
2021-02-23 19:55 Thomas Deutschmann
2021-02-19  1:51 Thomas Deutschmann
2021-02-14 14:06 Thomas Deutschmann
2021-02-12  1:10 Thomas Deutschmann
2021-02-11  7:45 Sergei Trofimovich
2021-02-06 12:56 Thomas Deutschmann
2021-02-06 12:56 Thomas Deutschmann
2021-02-05 22:10 Thomas Deutschmann
2021-02-05 20:02 Thomas Deutschmann
2021-01-26  3:04 Thomas Deutschmann
2020-12-23  1:34 Thomas Deutschmann
2020-12-23  0:34 Sam James
2020-12-23  0:33 Sam James
2020-12-22 18:57 Sam James
2020-12-22 16:57 Thomas Deutschmann
2020-12-21 23:50 Thomas Deutschmann
2020-12-21 23:43 Thomas Deutschmann
2020-12-21 16:51 Thomas Deutschmann
2020-12-15 16:57 Thomas Deutschmann
2020-12-15 10:30 Sam James
2020-11-29 17:11 Sergei Trofimovich
2020-11-26 19:48 Sam James
2020-11-26 19:48 Sam James
2020-11-25 10:28 Thomas Deutschmann
2020-11-24 19:33 Thomas Deutschmann
2020-11-17 16:53 Thomas Deutschmann
2020-11-16 15:01 Thomas Deutschmann
2020-11-15 23:50 Thomas Deutschmann
2020-11-09 19:28 Thomas Deutschmann
2020-11-09 19:28 Thomas Deutschmann
2020-11-08 21:09 Thomas Deutschmann
2020-11-08 21:09 Thomas Deutschmann
2020-11-06 20:07 Sam James
2020-11-06 18:47 Thomas Deutschmann
2020-11-06 14:51 Sam James
2020-11-06 10:57 Sam James
2020-11-06 10:35 Sam James
2020-11-06 10:32 Sam James
2020-11-06  6:57 Sam James
2020-11-06  3:41 Thomas Deutschmann
2020-10-20 21:10 Thomas Deutschmann
2020-10-20 14:26 Thomas Deutschmann
2020-10-20 14:26 Thomas Deutschmann
2020-10-14 20:30 Thomas Deutschmann
2020-10-11 13:49 Thomas Deutschmann
2020-10-11 11:53 Sergei Trofimovich
2020-10-10 17:40 Thomas Deutschmann
2020-10-07  1:03 Thomas Deutschmann
2020-10-07  1:03 Thomas Deutschmann
2020-10-07  1:03 Thomas Deutschmann
2020-09-30  1:15 Thomas Deutschmann
2020-09-20 15:28 Thomas Deutschmann
2020-09-20 14:04 Thomas Deutschmann
2020-09-20 14:04 Thomas Deutschmann
2020-09-20 14:04 Thomas Deutschmann
2020-09-20 11:00 Thomas Deutschmann
2020-09-20 10:57 Thomas Deutschmann
2020-09-20  8:34 Sergei Trofimovich
2020-09-18 12:33 Thomas Deutschmann
2020-09-07 21:59 Thomas Deutschmann
2020-09-07 21:59 Thomas Deutschmann
2020-09-07 20:58 Thomas Deutschmann
2020-09-07  8:20 Sergei Trofimovich
2020-08-30 13:51 Thomas Deutschmann
2020-08-25 19:08 Thomas Deutschmann
2020-08-20  7:18 Sam James
2020-08-20  7:17 Sam James
2020-08-19  8:31 Sergei Trofimovich
2020-08-17 13:50 Agostino Sarubbo
2020-08-17 13:50 Agostino Sarubbo
2020-08-17 10:01 Agostino Sarubbo
2020-08-17 10:01 Agostino Sarubbo
2020-08-17  9:57 Agostino Sarubbo
2020-08-17  9:57 Agostino Sarubbo
2020-08-16 15:51 Thomas Deutschmann
2020-07-27 16:37 Thomas Deutschmann
2020-07-02 15:07 Thomas Deutschmann
2020-07-01 19:29 Thomas Deutschmann
2020-07-01 18:13 Thomas Deutschmann
2020-06-04 11:02 Thomas Deutschmann
2020-05-04 16:01 Thomas Deutschmann
2020-04-28 19:23 Mart Raudsepp
2020-04-27 17:08 Sergei Trofimovich
2020-04-23  8:10 Sergei Trofimovich
2020-04-23  6:29 Agostino Sarubbo
2020-04-23  6:26 Agostino Sarubbo
2020-04-23  6:24 Agostino Sarubbo
2020-04-23  6:21 Agostino Sarubbo
2020-04-23  6:20 Agostino Sarubbo
2020-04-10 13:45 Thomas Deutschmann
2020-04-04 10:53 Thomas Deutschmann
2020-04-03 21:06 Thomas Deutschmann
2020-04-03 11:31 Thomas Deutschmann
2020-04-01 15:52 Thomas Deutschmann
2020-04-01 15:52 Thomas Deutschmann
2020-03-31  0:11 Thomas Deutschmann
2020-02-20 16:30 Sergei Trofimovich
2019-08-12 19:35 Jory Pratt
2019-08-12 19:16 Jory Pratt
2019-08-12 17:01 Jory Pratt
2019-08-12 16:42 Jory Pratt
2019-07-28 18:31 Aaron Bauman
2019-07-28 14:04 Mikle Kolyada
2019-07-26 17:06 Matt Turner
2019-07-26  8:47 Agostino Sarubbo
2019-07-25 19:01 Matt Turner
2019-07-01 20:33 Jory Pratt
2019-06-29  7:43 Sergei Trofimovich
2019-06-23 10:29 Sergei Trofimovich
2019-06-21  2:27 Matt Turner
2019-06-21  2:27 Matt Turner
2019-06-08 18:20 Agostino Sarubbo
2019-06-06  6:54 Agostino Sarubbo
2019-06-05  7:12 Agostino Sarubbo
2019-06-05  6:48 Agostino Sarubbo
2019-06-04 20:25 Sergei Trofimovich
2019-06-04 18:51 Agostino Sarubbo
2019-06-04 16:47 Agostino Sarubbo
2019-06-04 14:45 Thomas Deutschmann
2019-05-13  4:47 Aaron Bauman
2019-05-10 17:37 Mikle Kolyada
2019-05-08 19:47 Mikle Kolyada
2019-05-08 19:47 Mikle Kolyada
2019-05-08 19:40 Mikle Kolyada
2019-05-08 19:15 Mikle Kolyada
2019-05-08 14:38 Tobias Klausmann
2019-05-08  6:25 Sergei Trofimovich
2019-05-07 21:52 Matt Turner
2019-05-07 11:28 Pacho Ramos
2019-05-06 15:25 Tobias Klausmann
2019-05-02 19:05 Ian Stakenvicius
2019-04-30 18:44 Jory Pratt
2019-04-26 16:59 Ian Stakenvicius
2019-04-20 19:25 Aaron Bauman
2019-04-20 19:25 Aaron Bauman
2019-04-20 19:09 Aaron Bauman
2019-03-31 18:28 Jory Pratt
2019-03-26  9:47 Lars Wendler
2019-03-26  9:47 Lars Wendler
2019-03-20 19:06 Mikle Kolyada
2019-03-17 22:12 Thomas Deutschmann
2019-03-17 22:12 Thomas Deutschmann
2019-03-12 21:23 Ian Stakenvicius
2019-03-07 19:05 Ian Stakenvicius
2019-03-07 18:05 Ian Stakenvicius
2019-02-17 17:49 Sergei Trofimovich
2019-01-19 12:23 Jeroen Roovers
2019-01-15 10:35 Jeroen Roovers
2019-01-14 23:17 Jeroen Roovers
2019-01-02 12:18 Markus Meier
2018-11-25 10:03 Mikle Kolyada
2018-11-24  9:09 Mikle Kolyada
2018-11-17 16:52 Ian Stakenvicius
2018-11-15 15:48 Thomas Deutschmann
2018-11-15 13:15 Mikle Kolyada
2018-09-30 14:10 Jeroen Roovers
2018-07-25 21:35 Sergei Trofimovich
2018-07-25 17:16 Ian Stakenvicius
2018-07-25 14:21 Ian Stakenvicius
2018-07-23 20:01 Ian Stakenvicius
2018-07-21  8:03 Tobias Klausmann
2018-07-14 20:16 Sergei Trofimovich
2018-07-14 20:10 Sergei Trofimovich
2018-07-07 11:56 Sergei Trofimovich
2018-07-07  9:02 Sergei Trofimovich
2018-07-06 14:22 Ian Stakenvicius
2018-06-09 14:15 Mart Raudsepp
2018-04-18 20:36 Sergei Trofimovich
2018-01-18  2:08 Mikle Kolyada
2018-01-17 18:01 Markus Meier
2018-01-17 18:01 Markus Meier
2018-01-08 23:57 Thomas Deutschmann
2017-10-31 14:54 Ian Stakenvicius
2017-10-31 14:54 Ian Stakenvicius
2017-10-30 12:41 Manuel Rüger
2017-10-30 12:41 Manuel Rüger
2017-10-23 19:51 Thomas Deutschmann
2017-10-23 19:51 Thomas Deutschmann
2017-10-22 21:45 Tobias Klausmann
2017-10-04  8:13 Sergei Trofimovich
2017-10-04  8:13 Sergei Trofimovich
2017-10-03 20:51 Ian Stakenvicius
2017-10-03 18:52 Ian Stakenvicius
2017-10-03 15:25 Sergei Trofimovich
2017-07-07  9:07 Agostino Sarubbo
2017-06-21 12:21 Agostino Sarubbo
2017-06-21  4:41 Markus Meier
2017-06-18 20:34 Sergei Trofimovich
2017-06-17 17:24 Agostino Sarubbo
2017-06-16 14:10 Agostino Sarubbo
2017-02-28 20:42 Ian Stakenvicius
2017-02-28  0:22 Ian Stakenvicius
2016-09-19 13:17 Lars Wendler
2016-09-07 19:53 Patrice Clement
2016-02-23 15:11 Ian Stakenvicius
2016-01-13 20:54 Ian Stakenvicius
2016-01-13 15:57 Mike Frysinger
2016-01-13 15:57 Mike Frysinger
2015-09-22  5:34 Jeroen Roovers

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=1713251834.f097074a001542ce0b10a3edd47d2c0c9e4b37db.juippis@gentoo \
    --to=juippis@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