-# TODO
-# - check py3 tests, are they ran?
#
# Conditional build:
-%bcond_without tests # do not perform "make test"
-%bcond_without python3 # do not build python3 package
+%bcond_with doc # documentation
+%bcond_without tests # unit tests
+%bcond_without python2 # python2 package
+%bcond_without python3 # python3 package
%define module markdown
Summary: Markdown implementation in Python 2
Summary(pl.UTF-8): Implementacja formatu Markdown w Pythonie 2
Name: python-%{module}
-Version: 2.6.7
+Version: 3.1.1
Release: 1
License: BSD
Group: Development/Languages/Python
-#Source0Download: https://pypi.python.org/simple/markdown/
+#Source0Download: https://pypi.org/simple/markdown/
Source0: https://files.pythonhosted.org/packages/source/M/Markdown/Markdown-%{version}.tar.gz
-# Source0-md5: a06f1c5d462b32e0e8da014e9eebb0d9
-URL: https://pythonhosted.org/Markdown/
-BuildRequires: python-devel
+# Source0-md5: d84732ecc65b3a1bff693d9d4c24277f
+URL: https://pypi.org/project/markdown/
+%if %{with python2}
+BuildRequires: python-devel >= 1:2.7
BuildRequires: python-elementtree
+BuildRequires: python-setuptools >= 36
%if %{with tests}
BuildRequires: python-PyYAML
-BuildRequires: python-nose
%endif
-BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.714
-BuildRequires: sed >= 4.0
+%endif
%if %{with python3}
-BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-devel >= 1:3.5
+BuildRequires: python3-setuptools >= 36
%if %{with tests}
BuildRequires: python3-PyYAML
-BuildRequires: python3-nose
%endif
%endif
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.714
Requires: python-elementtree
Provides: python-Markdown = %{version}-%{release}
-Obsoletes: python-Markdown = 2.2.1
+Obsoletes: python-Markdown < 2.3
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
choć jest kilka znanych problemów.
%prep
-# install does not support --build-base. so create two different trees
-%setup -qc
-%{__mv} Markdown-%{version} py2
-cd py2
-
-# remove shebangs
-find markdown -type f -name '*.py' -exec sed -i -e '/^#!/{1D}' {} ';'
-
-# fix line-ending
-%undos docs/release-2.2.0.txt
-
-cd ..
-cp -a py2 py3
+%setup -q -n Markdown-%{version}
%build
-cd py2
+%if %{with python2}
%py_build
+%if %{with tests}
+%{__python} -m unittest discover tests
+%endif
+%endif
+
%if %{with python3}
-cd ../py3
%py3_build
-%endif
%if %{with tests}
-cd ../py2
-%{__python} ./run-tests.py
-
-%if %{with python3}
-cd ../py3
-%{__python3} ./run-tests.py
+%{__python3} -m unittest discover tests
+%endif
%endif
+
+%if %{with doc}
+mkdocs
+mkdocs_nature
%endif
%install
rm -rf $RPM_BUILD_ROOT
-# somewhy --build-base not supported in install
-cd py2
+
+%if %{with python2}
%py_install
%py_postclean
-
# rename binary
%{__mv} $RPM_BUILD_ROOT%{_bindir}/markdown_py{,-%{py_ver}}
+%endif
%if %{with python3}
-cd ../py3
%py3_install
-
# rename binary
%{__mv} $RPM_BUILD_ROOT%{_bindir}/markdown_py{,-%{py3_ver}}
+# default binary
+ln -s markdown_py-%{py3_ver} $RPM_BUILD_ROOT%{_bindir}/markdown_py
%endif
-# 2.X binary is called by default for now
-ln -s markdown_py-%{py_ver} $RPM_BUILD_ROOT%{_bindir}/markdown_py
-
%clean
rm -rf $RPM_BUILD_ROOT
+%if %{with python2}
%files
%defattr(644,root,root,755)
-%doc py2/{LICENSE.md,README.md} py2/docs/*
-%attr(755,root,root) %{_bindir}/markdown_py
+%doc LICENSE.md README.md docs/{change_log,extensions,authors.md,cli.md,favicon.ico,index.md,py.png,reference.md}
%attr(755,root,root) %{_bindir}/markdown_py-%{py_ver}
%{py_sitescriptdir}/markdown
%{py_sitescriptdir}/Markdown-%{version}-py*.egg-info
+%endif
%if %{with python3}
%files -n python3-markdown
%defattr(644,root,root,755)
-%doc py3/{LICENSE.md,README.md} py3/docs/*
+%doc LICENSE.md README.md docs/{change_log,extensions,authors.md,cli.md,favicon.ico,index.md,py.png,reference.md}
+%attr(755,root,root) %{_bindir}/markdown_py
%attr(755,root,root) %{_bindir}/markdown_py-%{py3_ver}
%{py3_sitescriptdir}/markdown
%{py3_sitescriptdir}/Markdown-%{version}-py*.egg-info