File python-django-waliki.spec of Package python-django-waliki

%if 0%{?fedora} < 28
%global with_python2 1
%endif

%if 0%{?fedora} >= 22
%global with_python3 1
%endif

%define author mgaitan
%define unmangled_name waliki
%define unmangled_version 0.8.1

Summary: An extensible wiki app for Django with a Git backend
Name: python-django-%{unmangled_name}
Version: %{unmangled_version}
Release: 1%{?dist}
Source0: https://github.com/%{author}/%{unmangled_name}/archive/%{version}/%{unmangled_name}-%{version}.tar.gz
Patch0: python-django-waliki-no-rst2html5.patch
Patch1: python-django-waliki-no-context.patch
Patch2: python-django-waliki-django2.patch
Patch3: python-django-waliki-django21-admin-tests.patch
Patch4: python-django-waliki-django21-no-view_page.patch
Patch5: python-django-waliki-django21-compat.patch
Patch6: python-django-waliki-reimplement-autolinks.patch
Patch7: python-django-waliki-use-newer-markups-api.patch
Patch8: python-django-waliki-django30-compat.patch
Patch9: python-django-waliki-markdown-tests.patch
Patch10: python-django-waliki-django32-compat.patch
Patch11: python-django-waliki-python3.10.patch
License: BSD
Group: Development/Libraries
Prefix: %{_prefix}
BuildArch: noarch
Vendor: Martín Gaitán <gaitan@gmail.com>
Url: https://github.com/mgaitan/waliki
%if 0%{?with_python2}
BuildRequires: python2-devel
BuildRequires: python-setuptools
BuildRequires: python-django >= 1.5.1
BuildRequires: python-markups
BuildRequires: python-sh
BuildRequires: python-docutils
BuildRequires: python-genshi
BuildRequires: python-pyquery
BuildRequires: python-django-nose
BuildRequires: python-factory-boy
BuildRequires: python-markdown
BuildRequires: python-django-sendfile
BuildRequires: python-mock
%endif
BuildRequires: hovercraft
%if 0%{?with_python3}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-django >= 1.5.1
BuildRequires: python3-markups
BuildRequires: python3-sh
BuildRequires: python3-docutils
BuildRequires: python3-genshi
BuildRequires: python3-pyquery
BuildRequires: python3-django-nose
BuildRequires: python3-factory-boy
BuildRequires: python3-markdown
BuildRequires: python3-django-sendfile
BuildRequires: python3-mock
%endif
BuildRequires: git-core

%description
Waliki is an extensible wiki app for Django with a Git backend.

At a glance, Waliki has these features:

* File based content storage.
* UI based on Bootstrap and CodeMirror
* Version control and concurrent edition for your content using git
* An extensible architecture through plugins
* reStructuredText or Markdown support, configurable per page
  (and it's easy to add extensions)
* A very simple *per slug* ACL system
* A nice attachments manager (that respects the permissions over the page)
* Realtime collaborative edition via togetherJS
* Wiki content embeddable in any django template (as a "dummy CMS")
* Few helpers to migrate content (particularly from MoinMoin, using moin2git)
* It works with Python 2.7, 3.3, 3.4 or PyPy in Django 1.6 or newer

It's easy to create a site powered by Waliki using the preconfigured project
which is the same code that motorize the demo.

Waliki was inspired in Github's wikis, but it tries to be a bit smarter
than many others git backed wiki engines at handling changes:
instead of a hard "newer wins" or "page blocking" approaches,
Waliki uses git's merge facilities on each save.
So, if there was another change during an edition and git can merge them
automatically, it's done and the user is notified.
If the merge fails, the last edition is still saved but the editor is
reloaded asking the user to fix the conflict.

%if 0%{?with_python2}
%package -n python2-django-%{unmangled_name}
Summary: An extensible wiki app for Django with a Git backend
Group: Development/Libraries
Requires: python-django
Requires: python-markups
Requires: python-sh
Requires: python-docutils
Requires: python-genshi
Requires: python-pyquery
Requires: python-micawber >= 0.3.0
Requires: python-markdown
Requires: python-django-sendfile
Requires: rst2pdf
Requires: hovercraft
Requires: git-core
%{?python_provide:%python_provide python2-django-%{unmangled_name}}

%description -n python2-django-%{unmangled_name}
Waliki is an extensible wiki app for Django with a Git backend.

At a glance, Waliki has these features:

* File based content storage.
* UI based on Bootstrap and CodeMirror
* Version control and concurrent edition for your content using git
* An extensible architecture through plugins
* reStructuredText or Markdown support, configurable per page
  (and it's easy to add extensions)
* A very simple *per slug* ACL system
* A nice attachments manager (that respects the permissions over the page)
* Realtime collaborative edition via togetherJS
* Wiki content embeddable in any django template (as a "dummy CMS")
* Few helpers to migrate content (particularly from MoinMoin, using moin2git)
* It works with Python 2.7, 3.3, 3.4 or PyPy in Django 1.6 or newer

It's easy to create a site powered by Waliki using the preconfigured project
which is the same code that motorize the demo.

Waliki was inspired in Github's wikis, but it tries to be a bit smarter
than many others git backed wiki engines at handling changes:
instead of a hard "newer wins" or "page blocking" approaches,
Waliki uses git's merge facilities on each save.
So, if there was another change during an edition and git can merge them
automatically, it's done and the user is notified.
If the merge fails, the last edition is still saved but the editor is
reloaded asking the user to fix the conflict.

This package contains the python2 version of this module.
%endif

%if 0%{?with_python3}
%package -n python3-django-%{unmangled_name}
Summary: An extensible wiki app for Django with a Git backend
Group: Development/Libraries
Requires: python3-django
Requires: python3-markups
Requires: python3-sh
Requires: python3-docutils
Requires: python3-genshi
Requires: python3-pyquery
Requires: python3-micawber >= 0.3.0
Requires: python3-markdown
Requires: python3-django-sendfile
Requires: rst2pdf
Requires: hovercraft
Requires: git-core
%{?python_provide:%python_provide python3-django-%{unmangled_name}}

%description -n python3-django-%{unmangled_name}
Waliki is an extensible wiki app for Django with a Git backend.

At a glance, Waliki has these features:

* File based content storage.
* UI based on Bootstrap and CodeMirror
* Version control and concurrent edition for your content using git
* An extensible architecture through plugins
* reStructuredText or Markdown support, configurable per page
  (and it's easy to add extensions)
* A very simple *per slug* ACL system
* A nice attachments manager (that respects the permissions over the page)
* Realtime collaborative edition via togetherJS
* Wiki content embeddable in any django template (as a "dummy CMS")
* Few helpers to migrate content (particularly from MoinMoin, using moin2git)
* It works with Python 2.7, 3.3, 3.4 or PyPy in Django 1.6 or newer

It's easy to create a site powered by Waliki using the preconfigured project
which is the same code that motorize the demo.

Waliki was inspired in Github's wikis, but it tries to be a bit smarter
than many others git backed wiki engines at handling changes:
instead of a hard "newer wins" or "page blocking" approaches,
Waliki uses git's merge facilities on each save.
So, if there was another change during an edition and git can merge them
automatically, it's done and the user is notified.
If the merge fails, the last edition is still saved but the editor is
reloaded asking the user to fix the conflict.

This package contains the python3 version of this module.
%endif

%prep
%setup -n %{unmangled_name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1

%build
export LANG=C.UTF-8
%if 0%{?with_python2}
%py2_build
%endif
%if 0%{?with_python3}
%py3_build
%endif

%install
export LANG=C.UTF-8
%if 0%{?with_python3}
%py3_install
%endif
%if 0%{?with_python2}
%py2_install
%endif

%check
%if 0%{?with_python2}
LANG=C.UTF-8 %{__python2} runtests.py
%endif

%if 0%{?with_python3}
LANG=C.UTF-8 %{__python3} runtests.py
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%if 0%{?with_python2}
%files -n python2-django-%{unmangled_name}
%defattr(-,root,root)
%license LICENSE
%doc *.rst
%{python2_sitelib}/%{unmangled_name}
%{python2_sitelib}/%{unmangled_name}-%{version}-py*.*.egg-info
%endif

%if 0%{?with_python3}
%files -n python3-django-%{unmangled_name}
%defattr(-,root,root)
%license LICENSE
%doc *.rst
%{python3_sitelib}/%{unmangled_name}
%{python3_sitelib}/%{unmangled_name}-%{version}-py*.*.egg-info
%endif