This implements the ver_replacing command, as proposed for EAPI 9:
| Takes an operator and a version string as arguments, which follow the
| same specification as in ver_test. Iterates over the elements of
| REPLACING_VERSIONS, using ver_test to compare each element with the
| version string. Returns shell true (0) if the specified relation is
| fulfilled for any element. Note that if REPLACING_VERSIONS is empty,
| shell false (1) is returned.
|
| The command is only meaningful in phases where \t{REPLACING_VERSIONS}
| is defined.
Bug:
https://bugs.gentoo.org/947530
Signed-off-by: Ulrich Müller <
ulm@gentoo.org>
---
eclass/eapi9-ver.eclass | 50 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 eclass/eapi9-ver.eclass
diff --git a/eclass/eapi9-ver.eclass b/eclass/eapi9-ver.eclass
new file mode 100644
index 000000000000..9908fec37de8
--- /dev/null
+++ b/eclass/eapi9-ver.eclass
@@ -0,0 +1,50 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: eapi9-ver.eclass
+# @MAINTAINER:
+# Ulrich Müller <
ulm@gentoo.org>
+# @AUTHOR:
+# Ulrich Müller <
ulm@gentoo.org>
+# @SUPPORTED_EAPIS: 7 8
+# @BLURB: Testing implementation of EAPI 9 ver_replacing
+# @DESCRIPTION:
+# A stand-alone implementation of the ver_replacing function aimed
+# for EAPI 9. Intended to be used for wider testing of the proposed
+# function and to allow ebuilds to switch to the new model early, with
+# minimal change needed for the actual EAPI 9.
+#
+# @CODE
+# if ver_replacing -lt 1.2; then
+# elog "The frobnicate