forked from WeblateOrg/weblate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
weblate.spec
148 lines (132 loc) · 4.81 KB
/
weblate.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%define WLDIR %{_datadir}/weblate
%define WLDATADIR %{_localstatedir}/lib/weblate
%define WLETCDIR %{_sysconfdir}/weblate
Name: weblate
%define _name Weblate
Version: 2.19
Release: 0
Summary: Web-based translation tool
License: GPL-3.0+
Group: Productivity/Networking/Web/Frontends
Url: https://weblate.org/
Source0: http://dl.cihar.com/weblate/%{_name}-%{version}.tar.xz
BuildRequires: bitstream-vera
BuildRequires: git
BuildRequires: graphviz
BuildRequires: graphviz-gd
BuildRequires: mercurial
BuildRequires: python-Babel
BuildRequires: python-Django >= 1.11
BuildRequires: python-Pillow
BuildRequires: python-Sphinx
BuildRequires: python-dateutil
BuildRequires: python-defusedxml
BuildRequires: python-django-crispy-forms >= 1.6.1
BuildRequires: python-django_compressor >= 2.1.1
BuildRequires: python-djangorestframework >= 3.3
BuildRequires: python-httpretty
BuildRequires: python-social-auth-app-django >= 1.2.0
BuildRequires: python-social-auth-core >= 1.3.0
BuildRequires: python-selenium
BuildRequires: python-sphinxcontrib-httpdomain
BuildRequires: python-Whoosh >= 2.7.0
BuildRequires: git-review
BuildRequires: git-svn
BuildRequires: python-PyYAML
BuildRequires: translate-toolkit >= 2.0.0
Requires: apache2-mod_wsgi
Requires: cron
Requires: git
Requires: python-Babel
Requires: python-defusedxml
Requires: python-Django >= 1.11
Requires: python-django_compressor >= 2.1.1
Requires: python-djangorestframework >= 3.3
Requires: python-Pillow
Requires: python-dateutil
Requires: python-django-crispy-forms >= 1.6.1
Requires: python-social-auth-app-django >= 1.2.0
Requires: python-social-auth-core >= 1.3.0
Requires: python-Whoosh >= 2.7.0
Requires: translate-toolkit >= 2.0.0
Recommends: git-review
Recommends: git-svn
Recommends: mercurial
Recommends: python-PyYAML
Recommends: python-MySQL-python
Recommends: python-psycopg2
Recommends: python-pyuca
Recommends: python-python-bidi
Recommends: python-python-memcached
Recommends: python-tesserocr
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%py_requires
%description
Weblate is a free web-based translation tool with tight version control
integration. It features simple and clean user interface, propagation of
translations across components, quality checks and automatic linking to source
files.
List of features includes:
* Easy web based translation
* Propagation of translations across components (for different branches)
* Tight git integration - every change is represented by Git commit
* Usage of Django's admin interface
* Upload and automatic merging of po files
* Links to source files for context
* Allows to use machine translation services
* Message quality checks
* Tunable access control
* Wide range of supported translation formats (Getext, Qt, Java, Windows, Symbian and more)
%prep
%setup -q -n %{_name}-%{version}
%build
make %{?_smp_mflags} -C docs html
# Copy example settings
cp weblate/settings_example.py weblate/settings.py
# Set correct directories in settings
sed -i 's@^BASE_DIR = .*@BASE_DIR = "%{WLDIR}"@g' weblate/settings.py
sed -i 's@^DATA_DIR = .*@DATA_DIR = "%{WLDATADIR}"@g' weblate/settings.py
sed -i "s@/usr/share/weblate/data@%{WLDATADIR}@" examples/apache.conf
%install
install -d %{buildroot}/%{WLDIR}
install -d %{buildroot}/%{WLETCDIR}
# Copy all files
cp -a . %{buildroot}/%{WLDIR}
# Remove test data
rm -rf %{buildroot}/%{WLDIR}/data-test
# We ship this separately
rm -rf %{buildroot}/%{WLDIR}/docs
rm -f %{buildroot}/%{WLDIR}/README.rst \
%{buildroot}/%{WLDIR}/ChangeLog \
%{buildroot}/%{WLDIR}/COPYING \
%{buildroot}/%{WLDIR}/INSTALL
# Byte compile python files
%py_compile %{buildroot}/%{WLDIR}
# Move configuration to etc
mv %{buildroot}/%{WLDIR}/weblate/settings.py %{buildroot}/%{WLETCDIR}/
ln -s %{WLETCDIR}/settings.py %{buildroot}/%{WLDIR}/weblate/settings.py
# Apache config
install -d %{buildroot}/%{_sysconfdir}/apache2/vhosts.d/
install -m 644 examples/apache.conf %{buildroot}/%{_sysconfdir}/apache2/vhosts.d/weblate.conf
# Whoosh index dir
install -d %{buildroot}/%{WLDATADIR}
%post
# Static files
su - wwwrun -s /bin/bash -c '%{WLDIR}/manage.py collectstatic --noinput'
%check
export LANG=en_US.UTF-8
# Collect static files for testsuite
./manage.py collectstatic --noinput --settings=weblate.settings_test -v 2
# Run the testsuite
./manage.py test --settings=weblate.settings_test -v 2
%files
%defattr(-,root,root)
%doc docs/_build/html
%doc README.rst
%config(noreplace) %{_sysconfdir}/weblate
%config(noreplace) %{_sysconfdir}/apache2
%{WLDIR}
%attr(0755,wwwrun,www) %{WLDATADIR}
%changelog