From 037b0a34f2aa97439327cbb75356d8526a6f6db0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 30 Oct 2024 19:08:34 +0100 Subject: [PATCH] Extract `%gem_version` and `%gem_prerelease` for independent use These macros are useful independently and makes the `%gem_name_version` macro more comprehensive. --- macros.rubygems | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/macros.rubygems b/macros.rubygems index f6e830f..7146c77 100644 --- a/macros.rubygems +++ b/macros.rubygems @@ -2,17 +2,41 @@ %gem_dir %{_datadir}/gems %gem_archdir %{_libdir}/gems +# %gem_prerelease - Provides prerelease string if available. +# +# Usage: %gem_prerelease [custom_gem_name] +# +# If avilable, prints prerelease string, which is a %prerelease macro by +# default. When [custom_gem_name] is provided, the custom_gem_name is used to +# derive %custom_gem_name_prerelease macro, which can be predefined. +# +# Please note that for the prerelease macros are the dashes in +# [custom_gem_name] replaced by underscores. +# +%gem_prerelease() %{?1:%{expand:%%{?%{gsub %{1} - _}_prerelease}}}%{!?1:%{?prerelease}} + +# %gem_version - Provides version string (including prerelease if available). +# +# Usage: %gem_version [custom_gem_name] +# +# Prints version (including prerelease string), that is %version macro by +# default. When [custom_gem_name] is provided, the custom_gem_name is used to +# derive %custom_gem_name_version macro which needs to be predefined. +# +# Please note that for the version macros are the dashes in [custom_gem_name] +# replaced by underscores. +# +%gem_version() %{?1:%{expand:%{%{gsub %{1} - _}_version}}}%{!?1:%{version}}%{gem_prerelease %{?1}} + # %gem_name_version - Provides gem_name-version string. # # Usage: %gem_name_version [custom_gem_name] # # Prints gem_name-version string, by default joining %gem_name, %version and # %prerelease macros. When [custom_gem_name] is provided, the -# custom_gem_name is joined with %custom_gem_name_version macro which needs -# to be predefined. Please note that for the version macros are the dashes -# replaced by underscores. +# custom_gem_name is joined with version as provided by %gem_version macro. # -%gem_name_version() %{?1}%{!?1:%{gem_name}}-%{?1:%{expand:%{%{gsub %{1} - _}_version}}}%{!?1:%{version}}%{?prerelease} +%gem_name_version() %{?1}%{!?1:%{gem_name}}-%{gem_version %{?1}} # Common gem locations and files. #