From 2de6636b83ae5648353fbb5fbdc8d1c13a4185d8 Mon Sep 17 00:00:00 2001 From: "Anna (cybertailor) Vyalkova" Date: Thu, 16 Oct 2025 19:42:19 +0500 Subject: [PATCH] crystal-utils.eclass: support setting minimum and maximum version Signed-off-by: Anna (cybertailor) Vyalkova --- eclass/crystal-utils.eclass | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/eclass/crystal-utils.eclass b/eclass/crystal-utils.eclass index fa57f3b801..74a25e4cce 100644 --- a/eclass/crystal-utils.eclass +++ b/eclass/crystal-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: crystal-utils.eclass @@ -26,16 +26,34 @@ _CRYSTAL_UTILS_ECLASS=1 inherit edo flag-o-matic multiprocessing +# @ECLASS_VARIABLE: CRYSTAL_MAX_VER +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# Highest Crystal version supported by the package. If unset, no upper bound +# is assumed. + +# @ECLASS_VARIABLE: CRYSTAL_MIN_VER +# @PRE_INHERIT +# @DESCRIPTION: +# Lowest Crystal version supported by the package. +: "${CRYSTAL_MIN_VER:=1.16.3}" + # @ECLASS_VARIABLE: CRYSTAL_DEPS # @OUTPUT_VARIABLE # @DESCRIPTION: # This is an eclass-generated Crystal dependency string. CRYSTAL_DEPS=" || ( - dev-lang/crystal - dev-lang/crystal-bin + >=dev-lang/crystal-${CRYSTAL_MIN_VER} + >=dev-lang/crystal-bin-${CRYSTAL_MIN_VER} ) -" +${CRYSTAL_MAX_VER:+\ + || ( + <=dev-lang/crystal-${CRYSTAL_MAX_VER} + <=dev-lang/crystal-bin-${CRYSTAL_MAX_VER} + ) +}" # @ECLASS_VARIABLE: SHARDS_DEPS # @OUTPUT_VARIABLE