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. #