# python3_pkgversion specifies the version of Python 3 in the distro. It can be # a specific version (e.g. 34 in Fedora EPEL7) %python3_pkgversion 3 # Set to /bin/true to avoid %ifdefs and %{? in specfiles %__python3_other /bin/true %py3_other_build /bin/true %py3_other_install /bin/true # === Macros for Build/Requires tags using Python dist tags === # - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages # - These macros need to be in macros.python-srpm, because BuildRequires tags # get rendered as runtime requires into the metadata of SRPMs. # Converts Python dist name to a canonical format %py_dist_name() %{lua:\ name = rpm.expand("%{?1:%{1}}");\ canonical = string.gsub(string.lower(name), "[^%w%.]+", "-");\ print(canonical);\ } # Creates Python 2 dist tag(s) after converting names to canonical format # Needs to first put all arguments into a list, because invoking a different # macro (%py_dist_name) overwrites them %py2_dist() %{lua:\ args = {}\ arg = 1\ while (true) do\ name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}");\ if (name == nil or name == '') then\ break\ end\ args[arg] = name\ arg = arg + 1\ end\ for arg, name in ipairs(args) do\ canonical = rpm.expand("%py_dist_name " .. name);\ print("python2dist(" .. canonical .. ") ");\ end\ } # Creates Python 3 dist tag(s) after converting names to canonical format # Needs to first put all arguments into a list, because invoking a different # macro (%py_dist_name) overwrites them %py3_dist() %{lua:\ args = {}\ arg = 1\ while (true) do\ name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}");\ if (name == nil or name == '') then\ break\ end\ args[arg] = name\ arg = arg + 1\ end\ for arg, name in ipairs(args) do\ canonical = rpm.expand("%py_dist_name " .. name);\ python3_version = rpm.expand("%python3_version");\ print("python" .. python3_version .. "dist(" .. canonical .. ") ");\ end\ } # Macro to replace overly complicated references to PyPI source files. # Expands to the pythonhosted URL for a package # Accepts zero to three arguments: # 1: The PyPI project name, defaulting to %srcname if it is defined, then # %pypi_name if it is defined, then just %name. # 2: The PYPI version, defaulting to %version. # 3: The file extension, defaulting to "tar.gz". (A period will be added # automatically.) # Requires %__pypi_url and %__pypi_default_extension to be defined. %__pypi_url https://files.pythonhosted.org/packages/source/ %__pypi_default_extension tar.gz %pypi_source() %{lua: local src = rpm.expand('%1') local ver = rpm.expand('%2') local ext = rpm.expand('%3') local url = rpm.expand('%__pypi_url') \ -- If no first argument, try %srcname, then %pypi_name, then %name -- Note that rpm leaves macros unchanged if they are not defined. if src == '%1' then src = rpm.expand('%srcname') end if src == '%srcname' then src = rpm.expand('%pypi_name') end if src == '%pypi_name' then src = rpm.expand('%name') end \ -- If no second argument, use %version if ver == '%2' then ver = rpm.expand('%version') end \ -- If no third argument, use the preset default extension if ext == '%3' then ext = rpm.expand('%__pypi_default_extension') end \ local first = string.sub(src, 1, 1) \ print(url .. first .. '/' .. src .. '/' .. src .. '-' .. ver .. '.' .. ext) }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
macros.dist | File | 66 B | 0644 |
|
macros.dwz | File | 1.76 KB | 0644 |
|
macros.ea-php56-config | File | 714 B | 0644 |
|
macros.ea-php56-php | File | 436 B | 0644 |
|
macros.ea-php70-config | File | 714 B | 0644 |
|
macros.ea-php70-php | File | 436 B | 0644 |
|
macros.ea-php73-config | File | 714 B | 0644 |
|
macros.ea-php73-php | File | 436 B | 0644 |
|
macros.ea-php74-config | File | 714 B | 0644 |
|
macros.ea-php74-php | File | 436 B | 0644 |
|
macros.ea-php80-config | File | 714 B | 0644 |
|
macros.ea-php80-php | File | 436 B | 0644 |
|
macros.ea-php81-config | File | 714 B | 0644 |
|
macros.ea-php81-php | File | 436 B | 0644 |
|
macros.ghc-srpm | File | 215 B | 0644 |
|
macros.gnat-srpm | File | 227 B | 0644 |
|
macros.mono-srpm | File | 121 B | 0644 |
|
macros.nodejs-srpm | File | 228 B | 0644 |
|
macros.ocaml-srpm | File | 115 B | 0644 |
|
macros.perl | File | 5.01 KB | 0644 |
|
macros.perl-srpm | File | 794 B | 0644 |
|
macros.pybytecompile | File | 886 B | 0644 |
|
macros.python | File | 3.27 KB | 0644 |
|
macros.python-srpm | File | 3.75 KB | 0644 |
|
macros.python2 | File | 1.46 KB | 0644 |
|
macros.scl | File | 12.74 KB | 0644 |
|