diff --git a/macros.python3 b/macros.python3 index 1952aed..646ae86 100644 --- a/macros.python3 +++ b/macros.python3 @@ -37,3 +37,18 @@ %py3_install_wheel() %{expand:\\\ pip%{python3_version} install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps } + +# This only supports Python 3.5+ and will never work with Python 2. +# Hence, it has no Python version in the name. +%pycached() %{lua: + path = rpm.expand("%{?1}") + if (string.sub(path, "-3") ~= ".py") then + rpm.expand("%{error:%%pycached can only be used with paths explicitly ending with .py}") + else + print(path) + pyminor = path:match("/python3.(%d+)/") or "*" + dirname = path:match("(.*/)") + modulename = path:match(".*/([^/]+).py") + print("\\n" .. dirname .. "__pycache__/" .. modulename .. ".cpython-3" .. pyminor .. "{,.opt-?}.pyc") + end +} diff --git a/python-rpm-macros.spec b/python-rpm-macros.spec index 2059ff0..6134b28 100644 --- a/python-rpm-macros.spec +++ b/python-rpm-macros.spec @@ -75,6 +75,7 @@ install -m 644 %{SOURCE0} %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} \ %changelog * Sat Dec 28 2019 Miro Hrončok - 3-44 - Define %%python, but make it work only if %%__python is redefined +- Add the %%pycached macro * Fri Sep 27 2019 Miro Hrončok - 3-43 - Define %%python2 and %%python3