# SPDX-License-Identifier: MIT # URL templates for standard repos %__cran_project_url_template https://cran.r-project.org/package=NAME %__cran_package_url_template %{__cran_project_url_template}&version=VERSION#/NAME_VERSION.EXT %__bioc_project_url_base https://bioconductor.org/packages/release/SECTION %__bioc_project_url_template %{__bioc_project_url_base}/html/NAME.html %__bioc_package_url_template %{__bioc_project_url_base}/src/contrib/NAME_VERSION.EXT # Default extension %__R_ext tar.gz # RPM 4.16 (EL9) does not provide a built-in %%gsub macro; remove this # workaround once support for this platform is no longer required. # See also: https://github.com/rpm-software-management/mock/pull/1706 %_r_internal_gsub() %{lua: local s = rpm.expand("%{?1:%1}") local p = rpm.expand("%{?2:%2}") local r = rpm.expand("%{?3:%3}") local result = string.gsub(s, p, r) print(result) } %r_gsub() %{?gsub:%gsub %1 %2 %{quote:%3}}%{?!gsub:%_r_internal_gsub %{**}} # %name with "R-" stripped %__R_name %r_gsub %{name} ^R[-] %{quote:} # Try %__R_upstream_version, then %version %__R_version %{?__R_upstream_version}%{!?__R_upstream_version:%version} # Version normalization, defines %__R_upstream_version %R_rpm_version() %{r_gsub %1 - .}%global __R_upstream_version %1 # Macros for expanding URLs and sources %__R_urls() %{lua: local url = rpm.expand("%__" .. rpm.expand("%1") .. "_" .. rpm.expand("%2") .. "_url_template") local section = rpm.expand("%3") url = string.gsub(url, "NAME", rpm.expand("%__R_name")) url = string.gsub(url, "VERSION", rpm.expand("%__R_version")) url = string.gsub(url, "EXT", rpm.expand("%__R_ext")) if section == "%1" then url = string.gsub(url, "SECTION", "bioc") else url = string.gsub(url, "SECTION", section) end print(url) } %cran_url %__R_urls cran project %bioc_url() %__R_urls bioc project %1 %cran_source %__R_urls cran package %bioc_source() %__R_urls bioc package %1