From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1537668-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id BE85015800A
	for <garchives@archives.gentoo.org>; Sat, 15 Jul 2023 10:23:06 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id F104CE038D;
	Sat, 15 Jul 2023 10:23:05 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id D2587E038D
	for <gentoo-commits@lists.gentoo.org>; Sat, 15 Jul 2023 10:23:05 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id DF2EF3409EC
	for <gentoo-commits@lists.gentoo.org>; Sat, 15 Jul 2023 10:23:04 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 333CAA36
	for <gentoo-commits@lists.gentoo.org>; Sat, 15 Jul 2023 10:23:03 +0000 (UTC)
From: "Cédric Krier" <cedk@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Cédric Krier" <cedk@gentoo.org>
Message-ID: <1689416554.513916cb8f9a595c79c71203744274caed8c2142.cedk@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/mercurial/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-vcs/mercurial/Manifest dev-vcs/mercurial/mercurial-6.5.ebuild dev-vcs/mercurial/mercurial-9999.ebuild
X-VCS-Directories: dev-vcs/mercurial/
X-VCS-Committer: cedk
X-VCS-Committer-Name: Cédric Krier
X-VCS-Revision: 513916cb8f9a595c79c71203744274caed8c2142
X-VCS-Branch: master
Date: Sat, 15 Jul 2023 10:23:03 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: e388e63a-2587-4e04-ac1c-14fca75df9d8
X-Archives-Hash: d4eb14b762c37ce3765ad61016c668c3

commit:     513916cb8f9a595c79c71203744274caed8c2142
Author:     Cédric Krier <cedk <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 10:20:30 2023 +0000
Commit:     Cédric Krier <cedk <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 10:22:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=513916cb

dev-vcs/mercurial: add 6.5

Use PEP517 and build rhg with rust use.

Closes: https://bugs.gentoo.org/909983
Signed-off-by: Cédric Krier <cedk <AT> gentoo.org>

 dev-vcs/mercurial/Manifest                         |   4 +
 ...{mercurial-9999.ebuild => mercurial-6.5.ebuild} | 188 +++++++++++++++++++--
 dev-vcs/mercurial/mercurial-9999.ebuild            |  14 +-
 3 files changed, 188 insertions(+), 18 deletions(-)

diff --git a/dev-vcs/mercurial/Manifest b/dev-vcs/mercurial/Manifest
index 5b048549ed26..b613d3f96961 100644
--- a/dev-vcs/mercurial/Manifest
+++ b/dev-vcs/mercurial/Manifest
@@ -123,6 +123,7 @@ DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db
 DIST mercurial-6.2.3.tar.gz 8058864 BLAKE2B 72d710985298f17b2940b0a5cda896e8cadb881db0c9293c2c32ff3c2100dc2291fa314157b433eb05a5a25a442c0e0ae021a5abf7c477885a1e39201f5b0b0a SHA512 0d82582e6d40ceabcc32419bf0423dd9f49b72b72c91a0f575181f92b355699a88f0426a192c46ca47f3105e47cb45dc3ac1a6499f4c83e01fa31e31c1ffdfbb
 DIST mercurial-6.3.2.tar.gz 8092710 BLAKE2B c64759736719af4a675abddd0f4d3578c815fc11a1644c52d7aaddfafb547faf018253d9a47e6ac869e7c1de91ca518b0106e77104e998deed9cbeadd6d3cee2 SHA512 5ca7e448bf336c2a2d4db174c4f486f66f41eef33db14f152abb09b8d82416124d251784cb5898499580083ca104113d0763e27baa9b77feb90ba2fd96d40be5
 DIST mercurial-6.4.4.tar.gz 8182450 BLAKE2B 620d20c64830b6eebe153b786e4e656140760e05f369931173f88702651073bd285144dccfcc2455e1169278c8eb7c673a9051a128a8698f18f7eb2982fd36e5 SHA512 6b97eaa10d2367dc583160170e74535e2c863ccc02e3d5527467769ce0b2db78a5496a48bad0f812a1bff5a9afec7751eea88edcefb06d052b9632a16da08c0f
+DIST mercurial-6.5.tar.gz 8231320 BLAKE2B e1f59f944964869d511d74eb4d1d918a97c30a69424e6c4bb593df68f763cf1aff29fea7bb3a888bb98f07fc3b79a2d32901e4d633e381927f46949c2e57f5a1 SHA512 34f61b3f6a7d488afeffbaed7a35ab2da682f18171b07f78e405e89b7871dd7e7cbc1e92ef30b3bf82e35e2185d44c7e5379fecba4fafbe9ae8de194e92c12f3
 DIST micro-timer-0.4.0.crate 3513 BLAKE2B cc189b0db3d6fff554dec8548243894f70ea0445e095179bbe5b0d06dae4de6c09bcded31f00507d2f238523a3ef300e25054102d37cc4768aeef569ee7fc6a0 SHA512 33f1b5c65d9fb293fd86d52509687b7f9adb7af6bdcb3904f24740a9ad58ba9b30987d2a63fc19afcd6a55467f294ab098401f53bafafbd15c48b30d87232585
 DIST micro-timer-macros-0.4.0.crate 2929 BLAKE2B df30df7ca02b79c13d375b71efdedfe33feb836f52b7889ea842e6d98441434022554986a4cc69e995203ca5906ccc9676653015ac7e1015d55cfa62b7bba908 SHA512 e1f141a0d331078be270cb9ad623348c39e18d355b32822f5285f29e325f1cc5d07d8833c130f03a43783590ccc4076d950d96b10468999f4285bcb521e194d0
 DIST miniz_oxide-0.4.3.crate 50058 BLAKE2B bc7a152a984de061803c11255459ce3d8fa64dd5b38de9f2ed29213abc1922d68746ff523de3b99e0e95a8933ea75448a9fa1e14cbbe248549074cd5ce7b3c1d SHA512 8c0e2b3a585a0986a61977d4459adb1a7c396ab53f4f688dcbeb2a09c60878b0423f54fd1879c190f5c64690a2473ed2a07d4162a650f6c39f402f6b27e863b7
@@ -186,6 +187,7 @@ DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb5
 DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
 DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
 DIST scratch-1.0.2.crate 8152 BLAKE2B d38df70a8067ab6a411798b64e4e9679b554aa66886c824e410d50ed805555716e96c54872186617f2963526119ba81c20ce237d4a0b1ce754d7d28696c9b742 SHA512 c3863dff0c67184605b356d6cc57db2bdf26cad9e0357ce6cbf7d3f23d913fa8917966a8c93b3084a3c9c900e357c6ca4bc2bc5ae5db3bb6feb5ee1ea5c61521
+DIST self_cell-1.0.0.crate 14958 BLAKE2B bf6c7b0113356545b324276159e21f13a1c1dfd3f9b24fc06f410bd487673d788eab422c6825ab74aa0c8d7c75617a7029132e2e2da6bf0ecdc743049c4ec5c7 SHA512 3294b23920dbf28fde07d7e568c39a0f68939e94bdb0d534c3992f359e1b216b67c9d0a59822ddd8d3b2a7bcbab5359cd93ddd6364d8ae88bd60fec5f2db68ce
 DIST semver-1.0.14.crate 29813 BLAKE2B a080f0a65127142a90bf033452241ffebfc7098b56a6a6b8bd818528df3b88fb48b3982125b405c1601e1bd55f3a0fdb4ffd9653e398295d8156651a04b2e903 SHA512 04db4c0a30141c2767d24d6d715b66ecd6355c1c88e572d4c473e0fa8c1fdd7197092b8286c973f25d201c5fcdc9105ba3e28c11ba1546a666167afc1fdf6728
 DIST semver-1.0.6.crate 29941 BLAKE2B 1aad12eb93534a0a72fa1645a71fe4cc03121a2215520030d697e863427fa06edd9f63d05c522f696c5b9c1c45556803ae381cb4c77a2d4a7fc30f7363e3ecea SHA512 0470b9a3a6d398233d19a8240de3b0d18c4cd8f8fc6887658baac4053c88463d5de9b7145a564abd43f813e03b75a26050eedc1689450895953bc7f96b64859f
 DIST sha-1-0.10.0.crate 12239 BLAKE2B ddb515d3ec52871a22fcb1ac76f5b16dd8d785194131e57a26ec24f94a8b7fb84478ad3ce45f5f2e5496d674c08ad91324d14eabb17ee047d9167ff13137d76c SHA512 5f202e74a5323ccd12bb2fa57f6357eb8d12d5702fe9fda745aaed70725a5c9c78dd6f8aa734b350948fe8155cb36d8bbfe16615f0335f0502827ad26ea387ac
@@ -228,8 +230,10 @@ DIST wasm-bindgen-backend-0.2.83.crate 25620 BLAKE2B 3cbba20a2f5344c0ed2791de7b0
 DIST wasm-bindgen-macro-0.2.83.crate 12075 BLAKE2B 3b358ba7c2a3563840f54f11170cde78044a8f087659daa7c784fa252f5dd4b7f6200eba425d95b568e50fd43c04c32a509994ddaf5248120feaa67586402150 SHA512 eb83e06f998e858cf25494c1d171984269e72db798147d4d1d8aeeb25ea7a35c5986b882011e131968621742ceecff976430856b4e8b7d7fd7f1237767cf01b4
 DIST wasm-bindgen-macro-support-0.2.83.crate 18530 BLAKE2B f305c9fc1f7bba5bee65a1c76fc2216c98aa306a072286e1ced048ab191f49e7e4436bf2f67d4c1fff558f59b2cef5e9b40e9e940268128ab1ebeb3c64696107 SHA512 804014c75ae5f8c1c7f0fad3f3209887fa346d74029e5f6e1830e44f7318719e65c4a643c71d87cf388f131fd370af40d536bbc15fc11c25b91cb785f56a908b
 DIST wasm-bindgen-shared-0.2.83.crate 7194 BLAKE2B 4dd1cffea1edc98dcd4993bf6fdde8100fe00d1e97322ce8bc0bdefd0c659047c8c726e5da27b59fd7a6621c1e5385c18204e834c6c6fd1fb9de52f95b40e40d SHA512 2bfc1a068fa41a9ecacce7bda494fc0485c57ccb102c1d76c87a42e00ad30b944b0cb788642e8339d050a0e831ce8306844a77292ab9f79ed765b65cdb4765e7
+DIST web-sys-0.3.60.crate 700485 BLAKE2B 13942a583dd8462b0591a19759a41f41fb17d2356b3bcd78402e420fdf5726782e5b4ed211c3716a81c1cdf64ce9b8adecaa3fa22756a3ec84eb7c3e12e3018c SHA512 d883363f99300e2d50bc5bf198f0fb8d6c53e5a778217e340573560ac07db26a71c98419fa2ced32820472126d6f97ad5773ad082521be0a1c9a374af9d61df9
 DIST which-4.2.5.crate 9326 BLAKE2B 8aea79157007f2326d21083e1eba387611233a19f39368904cf2b0e9b6f09b4fdf6dc469cff83373912bec6e2aeec191d217b0b1e720ee0db1848b6f64d37054 SHA512 2b2b44773b568946799035e5b90c1f0c304b399f4d330c1e063323f631f56ddc6c5d8a9d026d987cb39c801ccbfb614450064030fc19e1de34ab6a495f053395
 DIST which-4.3.0.crate 9635 BLAKE2B 36556a9eca6d8702c0e3634abc458f7ff831aec28a7117f21f812c6f46cccd8db0e6ce7cc76f8033ba89d51858411251e5fecb0883542669269cade9c1a5aadb SHA512 cad05bd43dfcf9e50fd6e3b9dcd5d9a987175a0f44adbf204079117b70d0b42e6483e635287924698c51d0452f168e48e041453f18ff5720c0e2ec4c734d2578
+DIST whoami-1.4.0.crate 15581 BLAKE2B 86bd50054dc6b37f185092596f317c5af91c70cea4be62f4b483930a506af6f618b56fe1ddee4e1b22ae7e33e83918822c9282c091738669cb655d14381b299e SHA512 85a236cd5da6308bbf990428c4c29de25e16d7d3628ba304d7d28aaf8b28acd0740bdb0da62d4648c917299edf48d148c7da8900b1503146b65c5fcbf4cf67ec
 DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
 DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
 DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd

diff --git a/dev-vcs/mercurial/mercurial-9999.ebuild b/dev-vcs/mercurial/mercurial-6.5.ebuild
similarity index 51%
copy from dev-vcs/mercurial/mercurial-9999.ebuild
copy to dev-vcs/mercurial/mercurial-6.5.ebuild
index 2fb319d58180..b2484b4b0aa3 100644
--- a/dev-vcs/mercurial/mercurial-9999.ebuild
+++ b/dev-vcs/mercurial/mercurial-6.5.ebuild
@@ -3,26 +3,178 @@
 
 EAPI=8
 
+CARGO_OPTIONAL=1
+DISTUTILS_USE_PEP517="setuptools"
+DISTUTILS_EXT=1
 PYTHON_COMPAT=( python3_{9..12} )
 PYTHON_REQ_USE="threads(+)"
-DISTUTILS_USE_SETUPTOOLS=no
-CARGO_OPTIONAL=1
 
-inherit bash-completion-r1 cargo elisp-common distutils-r1 mercurial flag-o-matic multiprocessing
+CRATES="
+	adler-1.0.2
+	ahash-0.8.2
+	aho-corasick-0.7.19
+	android_system_properties-0.1.5
+	atty-0.2.14
+	autocfg-1.1.0
+	bitflags-1.3.2
+	bitmaps-2.1.0
+	block-buffer-0.9.0
+	block-buffer-0.10.3
+	bumpalo-3.11.1
+	byteorder-1.4.3
+	bytes-cast-0.3.0
+	bytes-cast-derive-0.2.0
+	cc-1.0.76
+	cfg-if-1.0.0
+	chrono-0.4.23
+	clap-4.0.24
+	clap_derive-4.0.21
+	clap_lex-0.3.0
+	codespan-reporting-0.11.1
+	convert_case-0.4.0
+	core-foundation-sys-0.8.3
+	cpufeatures-0.2.5
+	cpython-0.7.1
+	crc32fast-1.3.2
+	crossbeam-channel-0.5.6
+	crossbeam-deque-0.8.2
+	crossbeam-epoch-0.9.11
+	crossbeam-utils-0.8.12
+	crypto-common-0.1.6
+	ctor-0.1.26
+	cxx-1.0.81
+	cxx-build-1.0.81
+	cxxbridge-flags-1.0.81
+	cxxbridge-macro-1.0.81
+	derive_more-0.99.17
+	diff-0.1.13
+	digest-0.9.0
+	digest-0.10.5
+	either-1.8.0
+	env_logger-0.9.3
+	fastrand-1.8.0
+	flate2-1.0.24
+	format-bytes-0.3.0
+	format-bytes-macros-0.4.0
+	generic-array-0.14.6
+	getrandom-0.1.16
+	getrandom-0.2.8
+	hashbrown-0.13.1
+	heck-0.4.0
+	hermit-abi-0.1.19
+	hex-0.4.3
+	home-0.5.4
+	humantime-2.1.0
+	iana-time-zone-0.1.53
+	iana-time-zone-haiku-0.1.1
+	im-rc-15.1.0
+	instant-0.1.12
+	itertools-0.10.5
+	jobserver-0.1.25
+	js-sys-0.3.60
+	lazy_static-1.4.0
+	libc-0.2.137
+	libm-0.2.6
+	libz-sys-1.1.8
+	link-cplusplus-1.0.7
+	log-0.4.17
+	logging_timer-1.1.0
+	logging_timer_proc_macros-1.1.0
+	memchr-2.5.0
+	memmap2-0.5.8
+	memoffset-0.6.5
+	miniz_oxide-0.5.4
+	num-integer-0.1.45
+	num-traits-0.2.15
+	num_cpus-1.14.0
+	once_cell-1.16.0
+	opaque-debug-0.3.0
+	os_str_bytes-6.4.0
+	output_vt100-0.1.3
+	paste-1.0.9
+	pkg-config-0.3.26
+	ppv-lite86-0.2.17
+	pretty_assertions-1.3.0
+	proc-macro-error-1.0.4
+	proc-macro-error-attr-1.0.4
+	proc-macro2-1.0.47
+	python3-sys-0.7.1
+	quote-1.0.21
+	rand-0.7.3
+	rand-0.8.5
+	rand_chacha-0.2.2
+	rand_chacha-0.3.1
+	rand_core-0.5.1
+	rand_core-0.6.4
+	rand_distr-0.4.3
+	rand_hc-0.2.0
+	rand_pcg-0.3.1
+	rand_xoshiro-0.6.0
+	rayon-1.7.0
+	rayon-core-1.11.0
+	redox_syscall-0.2.16
+	regex-1.7.0
+	regex-syntax-0.6.28
+	remove_dir_all-0.5.3
+	rustc_version-0.4.0
+	same-file-1.0.6
+	scopeguard-1.1.0
+	scratch-1.0.2
+	self_cell-1.0.0
+	semver-1.0.14
+	sha-1-0.9.8
+	sha-1-0.10.0
+	sized-chunks-0.6.5
+	stable_deref_trait-1.2.0
+	static_assertions-1.1.0
+	strsim-0.10.0
+	syn-1.0.103
+	tempfile-3.3.0
+	termcolor-1.1.3
+	thread_local-1.1.4
+	time-0.1.44
+	twox-hash-1.6.3
+	typenum-1.15.0
+	unicode-ident-1.0.5
+	unicode-width-0.1.10
+	vcpkg-0.2.15
+	vcsgraph-0.2.0
+	version_check-0.9.4
+	wasi-0.9.0+wasi-snapshot-preview1
+	wasi-0.10.0+wasi-snapshot-preview1
+	wasi-0.11.0+wasi-snapshot-preview1
+	wasm-bindgen-0.2.83
+	wasm-bindgen-backend-0.2.83
+	wasm-bindgen-macro-0.2.83
+	wasm-bindgen-macro-support-0.2.83
+	wasm-bindgen-shared-0.2.83
+	web-sys-0.3.60
+	which-4.3.0
+	whoami-1.4.0
+	winapi-0.3.9
+	winapi-i686-pc-windows-gnu-0.4.0
+	winapi-util-0.1.5
+	winapi-x86_64-pc-windows-gnu-0.4.0
+	yansi-0.5.1
+	zstd-0.12.3+zstd.1.5.2
+	zstd-safe-6.0.4+zstd.1.5.4
+	zstd-sys-2.0.7+zstd.1.5.4
+"
+
+inherit bash-completion-r1 cargo elisp-common distutils-r1 flag-o-matic multiprocessing
 
 DESCRIPTION="Scalable distributed SCM"
 HOMEPAGE="https://www.mercurial-scm.org/"
-EHG_REPO_URI="https://www.mercurial-scm.org/repo/hg"
+SRC_URI="https://www.mercurial-scm.org/release/${P}.tar.gz
+	rust? ( $(cargo_crate_uris ${CRATES}) )"
 
-LICENSE="GPL-2+"
+LICENSE="GPL-2+
+	rust? ( 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )"
 SLOT="0"
-KEYWORDS=""
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
 IUSE="+chg emacs gpg test tk rust"
 
-BDEPEND="
-	dev-python/docutils[${PYTHON_USEDEP}]
-	rust? ( ${RUST_DEPEND} )"
-
+BDEPEND="rust? ( ${RUST_DEPEND} )"
 RDEPEND="
 	app-misc/ca-certificates
 	gpg? ( app-crypt/gnupg )
@@ -32,17 +184,17 @@ DEPEND="emacs? ( >=app-editors/emacs-23.1:* )
 	test? (
 		app-arch/unzip
 		dev-python/pygments[${PYTHON_USEDEP}]
-		)"
+	)"
 
 SITEFILE="70${PN}-gentoo.el"
 
 RESTRICT="!test? ( test )"
 
 src_unpack() {
-	mercurial_src_unpack
+	default_src_unpack
 	if use rust; then
 		local S="${S}/rust/hg-cpython"
-		cargo_live_src_unpack
+		cargo_src_unpack
 	fi
 }
 
@@ -74,10 +226,14 @@ python_compile() {
 
 python_compile_all() {
 	rm -r contrib/win32 || die
-	emake doc
 	if use chg; then
 		emake -C contrib/chg
 	fi
+	if use rust; then
+		pushd rust/rhg || die
+		cargo_src_compile --no-default-features --jobs $(makeopts_jobs)
+		popd || die
+	fi
 	if use emacs; then
 		cd contrib || die
 		elisp-compile mercurial.el || die "elisp-compile failed!"
@@ -122,6 +278,9 @@ python_install_all() {
 		doman contrib/chg/chg.1
 		RM_CONTRIB+=( chg )
 	fi
+	if use rust; then
+		dobin rust/target/release/rhg
+	fi
 
 	for f in ${RM_CONTRIB[@]}; do
 		rm -rf contrib/${f} || die
@@ -168,7 +327,6 @@ python_test() {
 		einfo "Skipping tests for unsupported Python 3.10"
 		return
 	fi
-	distutils_install_for_testing
 	cd tests || die
 	PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \
 		--jobs $(makeopts_jobs) \

diff --git a/dev-vcs/mercurial/mercurial-9999.ebuild b/dev-vcs/mercurial/mercurial-9999.ebuild
index 2fb319d58180..08e01f60fd0b 100644
--- a/dev-vcs/mercurial/mercurial-9999.ebuild
+++ b/dev-vcs/mercurial/mercurial-9999.ebuild
@@ -3,10 +3,11 @@
 
 EAPI=8
 
+CARGO_OPTIONAL=1
+DISTUTILS_USE_PEP517="setuptools"
+DISTUTILS_EXT=1
 PYTHON_COMPAT=( python3_{9..12} )
 PYTHON_REQ_USE="threads(+)"
-DISTUTILS_USE_SETUPTOOLS=no
-CARGO_OPTIONAL=1
 
 inherit bash-completion-r1 cargo elisp-common distutils-r1 mercurial flag-o-matic multiprocessing
 
@@ -78,6 +79,11 @@ python_compile_all() {
 	if use chg; then
 		emake -C contrib/chg
 	fi
+	if use rust; then
+		pushd rust/rhg || die
+		cargo_src_compile --no-default-features --jobs $(makeopts_jobs)
+		popd || die
+	fi
 	if use emacs; then
 		cd contrib || die
 		elisp-compile mercurial.el || die "elisp-compile failed!"
@@ -122,6 +128,9 @@ python_install_all() {
 		doman contrib/chg/chg.1
 		RM_CONTRIB+=( chg )
 	fi
+	if use rust; then
+		dobin rust/target/release/rhg
+	fi
 
 	for f in ${RM_CONTRIB[@]}; do
 		rm -rf contrib/${f} || die
@@ -168,7 +177,6 @@ python_test() {
 		einfo "Skipping tests for unsupported Python 3.10"
 		return
 	fi
-	distutils_install_for_testing
 	cd tests || die
 	PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \
 		--jobs $(makeopts_jobs) \