forked from rpms/python-rpm-macros
4904408b2f
This is to ensure the right linker flags get propagated into binaries accompanying python packages whenever distutils (or similar, env. variables provided build flags aware) module is delegated to build them (e.g. https://bugzilla.redhat.com/show_bug.cgi?id=1541106). Instead of using "%{__global_ldflags}" as the seed for the respective env. variable one-off application, which would be a direct parallel to "%{optflags}" seeding CFLAGS, use rather "${RPM_LD_FLAGS}" and "${RPM_OPT_FLAGS}", as these are not directly bound to macros out of rpm proper (like it would have been, e.g., on redhat-rpm-config package otherwise). Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
82 lines
2.9 KiB
Plaintext
82 lines
2.9 KiB
Plaintext
%py_setup setup.py
|
|
%py_shbang_opts -s
|
|
|
|
# Use the slashes after expand so that the command starts on the same line as
|
|
# the macro
|
|
%py_build() %{expand:\\\
|
|
CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\
|
|
%{__python} %{py_setup} %{?py_setup_args} build --executable="%{__python2} %{py_shbang_opts}" %{?*}
|
|
sleep 1
|
|
}
|
|
|
|
%py_build_egg() %{expand:\\\
|
|
CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\
|
|
%{__python} %{py_setup} %{?py_setup_args} bdist_egg %{?*}
|
|
sleep 1
|
|
}
|
|
|
|
%py_build_wheel() %{expand:\\\
|
|
CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\
|
|
%{__python} %{py_setup} %{?py_setup_args} bdist_wheel %{?*}
|
|
sleep 1
|
|
}
|
|
|
|
%py_install() %{expand:\\\
|
|
CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\
|
|
%{__python} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*}
|
|
}
|
|
|
|
%py_install_egg() %{expand:\\\
|
|
mkdir -p %{buildroot}%{python_sitelib}
|
|
easy_install -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python_version}.egg %{?*}
|
|
}
|
|
|
|
%py_install_wheel() %{expand:\\\
|
|
pip install -I dist/%{1} --root %{buildroot} --strip-file-prefix %{buildroot} --no-deps
|
|
}
|
|
|
|
%python_provide() %{lua:
|
|
function string.starts(String,Start)
|
|
return string.sub(String,1,string.len(Start))==Start
|
|
end
|
|
package = rpm.expand("%{?1}")
|
|
vr = rpm.expand("%{?epoch:%{epoch}:}%{version}-%{release}")
|
|
if (string.starts(package, "python2-")) then
|
|
if (rpm.expand("%{?buildarch}") ~= "noarch") then
|
|
str = "Provides: python-" .. string.sub(package,9,string.len(package)) .. "%{?_isa} = " .. vr
|
|
print(rpm.expand(str))
|
|
end
|
|
print("\\nProvides: python-")
|
|
print(string.sub(package,9,string.len(package)))
|
|
print(" = ")
|
|
print(vr)
|
|
--Obsoleting the previous default python package
|
|
print("\\nObsoletes: python-")
|
|
print(string.sub(package,9,string.len(package)))
|
|
print(" < ")
|
|
print(vr)
|
|
elseif (string.starts(package, "python" .. rpm.expand("%{python3_pkgversion}") .. "-")) then
|
|
--No unversioned provides as python3 is not default
|
|
elseif (rpm.expand("%{?python3_other_pkgversion}") ~= "" and string.starts(package, "python" .. rpm.expand("%{python3_other_pkgversion}") .. "-")) then
|
|
--No unversioned provides as python3_other is not default
|
|
elseif (string.starts(package, "pypy-")) then
|
|
--No unversioned provides as pypy is not default
|
|
elseif (string.starts(package, "pypy3-")) then
|
|
--No unversioned provides as pypy is not default
|
|
elseif (string.starts(package, "python-")) then
|
|
--Providing the current default python
|
|
print("Provides: python2-")
|
|
print(string.sub(package,8,string.len(package)))
|
|
print(" = ")
|
|
print(vr)
|
|
else
|
|
print("%python_provide: ERROR: ")
|
|
print(package)
|
|
print(" not recognized.")
|
|
end
|
|
}
|
|
|
|
%python_enable_dependency_generator() \
|
|
%global __python_requires %{_rpmconfigdir}/pythondistdeps.py --requires \
|
|
%{nil}
|