{{ data.credit_line }}
{% from 'macros.spec' import dependencies, for_python_versions, underscored_or_pypi -%}
-%global pypi_name {{ data.name }}
{%- for pv in data.python_versions %}
-%global with_python{{ pv }} 1
+%define with_python{{ pv }} 1
{%- endfor %}
-%define version {{ data.version }}
-
-Name: {{ data.pkg_name|name_for_python_version(data.base_python_version) }}
-Version: %{version}
-Release: %mkrel 1
-Group: Development/Python
-Summary: {{ data.summary }}
-
-License: {{ data.license }}
-URL: {{ data.release_url|replace(data.version, '%{version}') }}
-Source0: {{ data.url|replace(data.version, '%{version}') }}
-
-{%- if not data.has_extension %}
-BuildArch: noarch
-{%- endif %}
+%define pypi_name {{ data.name }}
+Summary: {{ data.summary }}
+Name: {{ data.pkg_name|macroed_pkg_name|name_for_python_version(data.base_python_version) }}
+Version: {{ data.version }}
+Release: 0.1
+License: {{ data.license }}
+Group: Libraries/Python
+Source0: {{ data.url|replace(data.version, '%{version}') }}
+# Source0-md5: -
+URL: {{ data.release_url|replace(data.version, '%{version}') }}
{{ dependencies(data.build_deps, False, data.base_python_version, data.base_python_version) }}
{%- for pv in data.python_versions %}
{{ dependencies(data.build_deps, False, pv, data.base_python_version) }}
{%- endfor %}
{{ dependencies(data.runtime_deps, True, data.base_python_version, data.base_python_version) }}
+{%- if not data.has_extension %}
+BuildArch: noarch
+{%- endif %}
%description
{{ data.description|truncate(400)|wordwrap }}
{% call(pv) for_python_versions(data.python_versions) -%}
-%package -n {{ data.name|macroed_pkg_name|name_for_python_version(pv) }}
-Summary: {{ data.summary }}
+%package -n {{ data.name|macroed_pkg_name|name_for_python_version(pv) }}
+Summary: {{ data.summary }}
{{ dependencies(data.runtime_deps, True, pv, pv) }}
%description -n {{ data.name|macroed_pkg_name|name_for_python_version(pv) }}
%setup -q -n %{pypi_name}-%{version}
{%- if data.has_bundled_egg_info %}
# Remove bundled egg-info
-rm -rf %{pypi_name}.egg-info
+%{__rm} -r %{pypi_name}.egg-info
{%- endif %}
{% call(pv) for_python_versions([data.base_python_version] + data.python_versions, data.base_python_version) -%}
{%- if pv != data.base_python_version -%}
# generate html docs {# TODO: generate properly for other versions (pushd/popd into their dirs...) #}
{% if pv != data.base_python_version %}python{{ pv }}-{% endif %}sphinx-build {{ data.sphinx_dir }} html
# remove the sphinx-build leftovers
-rm -rf html/.{doctrees,buildinfo}
+%{__rm} -r html/.{doctrees,buildinfo}
{%- endif %}
{% endcall %}
%build
{%- call(pv) for_python_versions([data.base_python_version] + data.python_versions, data.base_python_version) -%}
{%- if pv != data.base_python_version -%}
-pushd %{py{{ pv }}dir}
+cd %{py{{ pv }}dir}
{%- endif %}
-{% if data.has_extension %}CFLAGS="$RPM_OPT_FLAGS" {% endif %}{{ '%{__python}'|python_bin_for_python_version(pv) }} setup.py build
+{% if data.has_extension %}
+CC="%{__cc}" \
+CFLAGS="%{rpmcflags}" \
+{% endif %}{{ '%{__python}'|python_bin_for_python_version(pv) }} setup.py build
{% if pv != data.base_python_version -%}
-popd
+cd -
{%- endif %}
{%- endcall %}
{%- endif -%}
{%- call(pv) for_python_versions(data.python_versions + [data.base_python_version], data.base_python_version) -%}
{%- if pv != data.base_python_version -%}
-pushd %{py{{ pv }}dir}
+cd %{py{{ pv }}dir}
{%- endif %}
-{{ '%{__python}'|python_bin_for_python_version(pv) }} setup.py install --skip-build --root %{buildroot}
+{{ '%{__python}'|python_bin_for_python_version(pv) }} setup.py install \
+ --skip-build \
+ --optimize=2 \
+ --root=$RPM_BUILD_ROOT
{%- if pv != data.base_python_version %}
{%- if data.scripts %}
{%- for script in data.scripts %}
-mv %{buildroot}%{_bindir}/{{ script }} %{buildroot}/%{_bindir}/{{ script|script_name_for_python_version(pv) }}
+mv $RPM_BUILD_ROOT%{_bindir}/{{ script }} $RPM_BUILD_ROOT%{_bindir}/{{ script|script_name_for_python_version(pv) }}
{%- endfor %}
{%- endif %}
-popd
+cd -
{%- endif %}
{%- endcall %}
+%clean
+rm -rf $RPM_BUILD_ROOT
{% call(pv) for_python_versions([data.base_python_version] + data.python_versions, data.base_python_version) -%}
%files{% if pv != data.base_python_version %} -n {{ data.pkg_name|macroed_pkg_name|name_for_python_version(pv) }}{% endif %}
+%defattr(644,root,root,755)
%doc {% if data.sphinx_dir %}html {% endif %}{{ data.doc_files|join(' ') }}
{%- if data.scripts %}
{%- for script in data.scripts %}
-%{_bindir}/{{ script|script_name_for_python_version(pv) }}
+%attr(755,root,root) %{_bindir}/{{ script|script_name_for_python_version(pv) }}
{%- endfor %}
{%- endif %}
{%- if data.has_packages %}
{%- if pv == '3' -%}
{{ '%{python_sitelib}'|sitedir_for_python_version(pv) }}/__pycache__/*
{% endif -%}
-{{ '%{python_sitelib}'|sitedir_for_python_version(pv) }}/{% if data.name == module %}%{pypi_name}{% else %}{{ module }}{% endif %}.py{% if pv != '3'%}*{% endif %}
+{{ '%{python_sitelib}'|sitedir_for_python_version(pv) }}/{% if data.name == module %}%{pypi_name}{% else %}{{ module }}{% endif %}.py{% if pv != '3'%}[co]{% endif %}
{%- endfor %}
{%- endif %}
-{{ '%{python_sitelib}'|sitedir_for_python_version(pv) }}/{{ underscored_or_pypi(data.name, data.underscored_name) }}-%{version}-py?.?.egg-info
+{{ '%{python_sitelib}'|sitedir_for_python_version(pv) }}/{{ underscored_or_pypi(data.name, data.underscored_name) }}-%{version}-py*.egg-info
{%- if data.has_extension %}
{{ '%{python_sitearch}'|sitedir_for_python_version(pv) }}/{{ underscored_or_pypi(data.name, data.underscored_name) }}
{%- endif %}
# git checkout v1.0.1 && tar czf pyp2rpm-1.0.1-tests.tgz tests/
Source1: %{name}-%{version}-tests.tgz
# Source1-md5: d6ffe3cd0acb10af01c99a77e6bd51f3
+Source2: pld.spec.tmpl
Patch0: default-savepath.patch
Patch1: no-rpmdev-packager.patch
URL: https://pypi.python.org/pypi/pyp2rpm
# Remove bundled egg-info
rm -r %{name}.egg-info
+cp -p %{SOURCE2} pyp2rpm/templates/pld.spec
+
%build
%{__python} setup.py build
%defattr(644,root,root,755)
%doc README.rst LICENSE
%attr(755,root,root) %{_bindir}/pyp2rpm
-%{py_sitescriptdir}/%{name}
+%dir %{py_sitescriptdir}/%{name}
+%{py_sitescriptdir}/%{name}/*.py[co]
+%dir %{py_sitescriptdir}/%{name}/templates
+%{py_sitescriptdir}/%{name}/templates/macros.spec
+%{py_sitescriptdir}/%{name}/templates/fedora.spec
+%{py_sitescriptdir}/%{name}/templates/mageia.spec
+%{py_sitescriptdir}/%{name}/templates/pld.spec
%{py_sitescriptdir}/%{name}-%{version}-py*.egg-info
+