Merge lp:~johnmfl/openlp/developer_readme into lp:openlp
- developer_readme
- Merge into trunk
Proposed by
Johnthan
Status: | Work in progress |
---|---|
Proposed branch: | lp:~johnmfl/openlp/developer_readme |
Merge into: | lp:openlp |
Diff against target: |
313 lines (+289/-15) 2 files modified
README.rst (+289/-0) README.txt (+0/-15) |
To merge this branch: | bzr merge lp:~johnmfl/openlp/developer_readme |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenLP Core | Pending | ||
Review via email: mp+371011@code.launchpad.net |
Commit message
Description of the change
Updated the ReadMe.txt to ReadMe.rst and included Development Environment info.
To post a comment you must log in.
Revision history for this message
Phill (phill-ridout) wrote : | # |
I'm not sure about this. This is the page that will show up on GitLab? Has it been discussed in IRC? There seems to be some duplication with the wiki. Will this be removed from the wiki?
Revision history for this message
Johnthan (johnmfl) wrote : | # |
This should be put on Hold until superfly can be involved.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'README.rst' |
2 | --- README.rst 1970-01-01 00:00:00 +0000 |
3 | +++ README.rst 2019-08-06 17:50:50 +0000 |
4 | @@ -0,0 +1,289 @@ |
5 | +OpenLP |
6 | +====== |
7 | + |
8 | +You're probably reading this because you've just downloaded the source code for |
9 | +OpenLP. If you are looking for the installer file, please go to the download |
10 | +page on the web site:: |
11 | + |
12 | + http://openlp.org/download |
13 | + |
14 | +If you're looking for how to contribute to OpenLP, then please look at the |
15 | +OpenLP wiki:: |
16 | + |
17 | + http://wiki.openlp.org/ |
18 | + |
19 | +Thanks for downloading OpenLP! |
20 | + |
21 | + |
22 | +OpenLP Development |
23 | +================== |
24 | + |
25 | +This repository holds the OpenLP development code and tests among other items. |
26 | + |
27 | +Getting Started |
28 | +--------------- |
29 | +To get up and running with the development and testing, you'll need to install |
30 | +the Python programing language and serveral other packages. Python version 3.6 |
31 | +or above is required, currently version 3.7 is recommended. |
32 | + |
33 | +Linux |
34 | +~~~~~ |
35 | +If you're using Linux, you'll want to check your package manager for those |
36 | +packages. Below are commands to install OpenLP's dependecies on some common Linux |
37 | +distributions. |
38 | + |
39 | +Ubuntu/Debian:: |
40 | + |
41 | + $ sudo apt update |
42 | + |
43 | + $ sudo apt install python3 qttools5-dev-tools pyqt5-dev-tools python3-pyqt5 python3-pyqt5.qtmultimedia \ |
44 | + python3-pyqt5.qtsvg python3-pyqt5.qtopengl python3-pyqt5.qtwebchannel python3-pyqt5.qtwebkit \ |
45 | + python3-pyqt5.qtwebengine python3-sqlalchemy python3-chardet python3-lxml \ |
46 | + python3-enchant python3-bs4 python3-mako python3-uno python3-nose2 python3-nose2-cov \ |
47 | + python3-pip python3-alembic python3-xdg python3-dbus.mainloop.pyqt5 python3-pep8 \ |
48 | + python3-websockets python3-waitress python3-webob python3-requests bzr mediainfo \ |
49 | + pylint3 python3-qtawesome python3-opengl python3-appdirs python3-mysql-connector-python \ |
50 | + python3-pyodbc python3-psycopg2 python3-asyncio python3-six python3-pyobjc-core \ |
51 | + python3-pysword python3-python-vlc python3-pymupdf python3-qdarkstyle python3-pyro4 \ |
52 | + libreoffice-pyuno python3-pytest python3-zeroconfig |
53 | + |
54 | +Fedora:: |
55 | + |
56 | + $ sudo dnf install python3-PyQt5 python3-qt5-webengine python3-sqlalchemy python3-alembic |
57 | + python3-beautifulsoup4 python3-chardet python3-enchant python3-lxml python3-xdg python3-pytest |
58 | + python3-websockets python3-appdirs python3-webob python3-QtAwesome python3-waitress |
59 | + python3-pymediainfo python3-pyopengl python3-pysword python3-Mako python3-mysql-connector-python |
60 | + python3-pyodbc python3-psycopg2 python3-asyncio python3-six python3-requests python3-pyobjc-core |
61 | + python3-python-vlc python3-pymupdf python3-pylint python3-qdarkstyle python3-pyro4 python3-zeroconfig |
62 | + |
63 | + $ sudo dnf install libreoffice-pyuno |
64 | + |
65 | +macOS |
66 | +~~~~~ |
67 | +On macOS you can install the dependencies via MacPorts or Homebrew. Below are commands |
68 | +to install OpenLP's dependencies. |
69 | + |
70 | +It is recommended that you install and use the virtual environment for Python. |
71 | +Take a look at 'How I Setup VirtualEnv and VirtualEnvWrapper on My Mac <http://mkelsey.com/2013/04/30/how-i-setup-virtualenv-and-virtualenvwrapper-on-my-mac/>' |
72 | +if you decide to install the virtual environment. |
73 | + |
74 | + |
75 | +MacPorts with a virtual environment:: |
76 | + |
77 | + $ sudo port selfupdate |
78 | + |
79 | + $ sudo port install python37 py37-pip |
80 | + |
81 | + $ sudo port select --set python3 python37 |
82 | + |
83 | + |
84 | +Install and use the virtual environment before continuing:: |
85 | + |
86 | + $ pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml |
87 | + Mako mysql-connector-python pytest pyobjc pyodbc psycopg2 websockets |
88 | + asyncio waitress six webob requests pyopengl qtAwesome PyQt5 pymediainfo |
89 | + pysword PyQtWebEngine python-vlc pymupdf pyenchant pylint pytest |
90 | + python-jenkins launchpadlib qdarkstyle pyro4 zeroconfig |
91 | + |
92 | + $ pip install hunspell-dict-af_ZA hunspell-dict-ca_ES |
93 | + hunspell-dict-cs_CZ hunspell-dict-cy_GB hunspell-dict-de_DE |
94 | + hunspell-dict-el_GR hunspell-dict-en_CA hunspell-dict-en_GB |
95 | + hunspell-dict-en_NZ hunspell-dict-en_US hunspell-dict-en_ZA |
96 | + hunspell-dict-eo_EO hunspell-dict-es_ES hunspell-dict-es_MX |
97 | + hunspell-dict-fo_FO hunspell-dict-fy_NL hunspell-dict-ga_IE |
98 | + hunspell-dict-gd_GB hunspell-dict-gsc_FR hunspell-dict-gu_IN |
99 | + hunspell-dict-he_IL hunspell-dict-hi_IN hunspell-dict-hr_HR |
100 | + hunspell-dict-id_ID hunspell-dict-ku_TR hunspell-dict-lt_LT |
101 | + hunspell-dict-mg_MG hunspell-dict-mk_MK hunspell-dict-ms_MY |
102 | + hunspell-dict-nb_NO hunspell-dict-nl_NL hunspell-dict-nn_NO |
103 | + hunspell-dict-nr_ZA hunspell-dict-ns_ZA hunspell-dict-ny_MW |
104 | + hunspell-dict-oc_FR hunspell-dict-rw_RW hunspell-dict-sl_SI |
105 | + hunspell-dict-ss_ZA hunspell-dict-st_ZA hunspell-dict-sw_KE |
106 | + hunspell-dict-tet_ID hunspell-dict-th_TH hunspell-dict-tl_PH |
107 | + hunspell-dict-tn_ZA hunspell-dict-ts_ZA hunspell-dict-uk_UA |
108 | + hunspell-dict-ve_ZA hunspell-dict-xh_ZA hunspell-dict-zu_ZA |
109 | + |
110 | +MacPorts without a virtual environment:: |
111 | + |
112 | + $ sudo port selfupdate |
113 | + |
114 | + $ sudo port install bzr git mupdf python37 |
115 | + |
116 | + $ sudo port select --set python3 python37 |
117 | + |
118 | + $ sudo port -N install py37-pyqt5 +webengine +webkit |
119 | + |
120 | + $ sudo port install py37-pip py37-lxml py37-sqlalchemy py37-mako py37-pytest |
121 | + py37-beautifulsoup4 py37-psycopg2 py37-sphinx py37-sphinx_rtd_theme |
122 | + py37-alembic py37-chardet py37-enchant py37-pyobjc-cocoa |
123 | + py37-webob py37-waitress py37-websockets py37-qtawesome |
124 | + py37-requests mediainfo hunspell-dict-af_ZA hunspell-dict-ca_ES |
125 | + hunspell-dict-cs_CZ hunspell-dict-cy_GB hunspell-dict-de_DE |
126 | + hunspell-dict-el_GR hunspell-dict-en_CA hunspell-dict-en_GB |
127 | + hunspell-dict-en_NZ hunspell-dict-en_US hunspell-dict-en_ZA |
128 | + hunspell-dict-eo_EO hunspell-dict-es_ES hunspell-dict-es_MX |
129 | + hunspell-dict-fo_FO hunspell-dict-fy_NL hunspell-dict-ga_IE |
130 | + hunspell-dict-gd_GB hunspell-dict-gsc_FR hunspell-dict-gu_IN |
131 | + hunspell-dict-he_IL hunspell-dict-hi_IN hunspell-dict-hr_HR |
132 | + hunspell-dict-id_ID hunspell-dict-ku_TR hunspell-dict-lt_LT |
133 | + hunspell-dict-mg_MG hunspell-dict-mk_MK hunspell-dict-ms_MY |
134 | + hunspell-dict-nb_NO hunspell-dict-nl_NL hunspell-dict-nn_NO |
135 | + hunspell-dict-nr_ZA hunspell-dict-ns_ZA hunspell-dict-ny_MW |
136 | + hunspell-dict-oc_FR hunspell-dict-rw_RW hunspell-dict-sl_SI |
137 | + hunspell-dict-ss_ZA hunspell-dict-st_ZA hunspell-dict-sw_KE |
138 | + hunspell-dict-tet_ID hunspell-dict-th_TH hunspell-dict-tl_PH |
139 | + hunspell-dict-tn_ZA hunspell-dict-ts_ZA hunspell-dict-uk_UA |
140 | + hunspell-dict-ve_ZA hunspell-dict-xh_ZA hunspell-dict-zu_ZA |
141 | + |
142 | + $ sudo port install py37-appdirs py37-mysql-connector-python py37-pyodbc py37-asyncio |
143 | + py37-six py37-pyopengl py37-pysword py37-python py37-pylint |
144 | + py37-qdarkstyle py37-pyro4 py37-zeroconfig |
145 | + |
146 | +Homebrew:: |
147 | + |
148 | + $ sudo brew update |
149 | + |
150 | + $ sudo brew install bzr git wget vim htop-osx |
151 | + |
152 | + $ sudo brew install qt --with-qtwebkit |
153 | + |
154 | + $ sudo brew install postgresql python3 enchant |
155 | + |
156 | + $ sudo pip3 install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako |
157 | + mysql-connector-python pyodbc psycopg2 websockets asyncio |
158 | + waitress six webob requests QtAwesome PyQt5 PyQtWebEngine |
159 | + pymediainfo pyobjc-core pysword PyOpenGL python-vlc pymupdf |
160 | + pyenchant pylint python-jenkins launchpadlib qdarkstyle pyro4 |
161 | + pytest zeroconfig |
162 | + |
163 | +Manual: |
164 | + |
165 | +Install python by downloading the current version from the 'Python Download Website <https://www.python.org/downloads/mac-osx/>' |
166 | +then install the packages using python and pip:: |
167 | + |
168 | + $ pyhon3 -m pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml Mako |
169 | + mysql-connector-python nose mock pyodbc psycopg2 websockets asyncio |
170 | + waitress six webob requests QtAwesome PyQt5 PyQtWebEngine |
171 | + pymediainfo pyobjc-core pysword PyOpenGL python-vlc pymupdf |
172 | + pyenchant pylint python-jenkins launchpadlib qdarkstyle pyro4 pytest zeroconfig |
173 | + |
174 | +Windows |
175 | +~~~~~~~ |
176 | +On Windows you'll need to download and install the Python Windows |
177 | +Installer from the 'Python download page <http://python.org/download>' |
178 | + |
179 | +Download and Install VLC for Windows from the 'VLC download page <https://www.videolan.org/vlc/download-windows.html>' |
180 | +You must install the correct version of VLC to match the version of |
181 | +Python you installed. If you installed the 32 bit version of Python |
182 | +then install the 32 bit version of VLC. If you installed the 64 bit |
183 | +version of Python, then you must install the 64 bit version of VLC. |
184 | + |
185 | +It is recommended that you install and use the virtual environment |
186 | +for Python. Take a look at the 'Python Vertual Environment <http://timmyreilly.azurewebsites.net/python-pip-virtualenv-installation-on-windows/>' |
187 | +to help decide if you will install the virtual environment. |
188 | + |
189 | +Use ``pip`` to install the addin packages that are needed for OpenLP:: |
190 | + |
191 | + pip install sqlalchemy alembic appdirs chardet beautifulsoup4 lxml |
192 | + Mako mysql-connector-python pytest pyodbc psycopg2 pypiwin32 websockets |
193 | + asyncio waitress six webob requests pyopengl qtAwesome PyQt5 pymediainfo |
194 | + pywin32 pysword PyQtWebEngine python-vlc pymupdf pyenchant pylint |
195 | + python-jenkins launchpadlib qdarkstyle pyro4 zeroconfig |
196 | + |
197 | + |
198 | +Verify Installation |
199 | +------------------- |
200 | + |
201 | +Once you have completed the steps above, check the install is successful by |
202 | +launching python script in a command prompt: |
203 | + |
204 | +Linux |
205 | +~~~~~ |
206 | + |
207 | +Open a terminal, enter your Virtual Environment if you installed one, then navigate |
208 | +to the openlp directory. The openlp directory should have a scripts |
209 | +directory. Once you are there, type in the following line and press enter. |
210 | + |
211 | + ``python3 scripts/check_dependencies.py`` |
212 | + |
213 | +Windows |
214 | +~~~~~~~ |
215 | + |
216 | +Open a command prompt, enter your Virtual Environment if you created one and |
217 | +navigate to the openlp directory. The openlp directory should have a scripts |
218 | +directory. Once you are there, type in the following line and press enter. |
219 | + |
220 | + ``python scripts\check_dependencies.py`` |
221 | + |
222 | +MacOSx |
223 | +~~~~~~ |
224 | + |
225 | +Open a terminal, enter your Virtual Environment if you installed one, then navigate |
226 | +to the openlp directory. The openlp directory should have a scripts |
227 | +directory. Once you are there, type in the following line and press enter. |
228 | + |
229 | + ``python3 scripts/check_dependencies.py`` |
230 | + |
231 | +.. warning: |
232 | + Only from the top to the Optional packages are manditory as some |
233 | + packages do not run on all platforms...see ``uno`` below as an example. |
234 | + |
235 | +The output should look similar to this:: |
236 | + |
237 | + Checking Python version... |
238 | + Python >= 3.6 ... 3.7.3.final.0 |
239 | + Checking for modules... |
240 | + PyQt5 ... OK |
241 | + PyQt5.QtCore ... OK |
242 | + PyQt5.QtGui ... OK |
243 | + PyQt5.QtWidgets ... OK |
244 | + PyQt5.QtNetwork ... OK |
245 | + PyQt5.QtOpenGL ... OK |
246 | + PyQt5.QtSvg ... OK |
247 | + PyQt5.QtTest ... OK |
248 | + PyQt5.QtWebEngineWidgets ... OK |
249 | + PyQt5.QtMultimedia ... OK |
250 | + appdirs ... OK |
251 | + sqlalchemy ... OK |
252 | + alembic ... OK |
253 | + lxml ... OK |
254 | + chardet ... OK |
255 | + bs4 ... OK |
256 | + mako ... OK |
257 | + websockets ... OK |
258 | + waitress ... OK |
259 | + webob ... OK |
260 | + requests ... OK |
261 | + qtawesome ... OK |
262 | + pymediainfo ... OK |
263 | + vlc ... OK |
264 | + zeroconf ... OK |
265 | + Checking for optional modules... |
266 | + qdarkstyle (dark style support)... OK |
267 | + mysql.connector (MySQL support)... OK |
268 | + pyodbc (ODBC support)... OK |
269 | + psycopg2 (PostgreSQL support)... OK |
270 | + enchant (spell checker)... OK |
271 | + fitz (executable-independent PDF support)... OK |
272 | + pysword (import SWORD bibles)... OK |
273 | + uno (LibreOffice/OpenOffice support)... FAIL |
274 | + jenkins (access jenkins api)... OK |
275 | + launchpadlib (launchpad script support)... OK |
276 | + pytest (testing framework)... OK |
277 | + pylint (linter)... OK |
278 | + Checking for Windows specific modules... |
279 | + win32com ... OK |
280 | + win32ui ... OK |
281 | + pywintypes ... OK |
282 | + Verifying version of modules... |
283 | + PyQt5 >= 5.12 ... 5.12.2 |
284 | + Qt5 >= 5.9 ... 5.12.3 |
285 | + sqlalchemy >= 0.5 ... 1.3.5 |
286 | + enchant >= 1.6 ... 2.0.0 |
287 | + Qt5 image formats... |
288 | + read: bmp, cur, gif, icns, ico, jpeg, jpg, pbm, pgm, png, ppm, svg, svgz, tga, tif, tiff, wbmp, webp, xbm, xpm |
289 | + write: bmp, cur, icns, ico, jpeg, jpg, pbm, pgm, png, ppm, tif, tiff, wbmp, webp, xbm, xpm |
290 | + Enchant (spell checker)... |
291 | + available backends: ispell, myspell |
292 | + available languages: de_DE, en_AU, en_GB, en_US, fr_FR |
293 | + |
294 | |
295 | === removed file 'README.txt' |
296 | --- README.txt 2014-05-03 15:28:31 +0000 |
297 | +++ README.txt 1970-01-01 00:00:00 +0000 |
298 | @@ -1,15 +0,0 @@ |
299 | -OpenLP |
300 | -====== |
301 | - |
302 | -You're probably reading this because you've just downloaded the source code for |
303 | -OpenLP. If you are looking for the installer file, please go to the download |
304 | -page on the web site:: |
305 | - |
306 | - http://openlp.org/download |
307 | - |
308 | -If you're looking for how to contribute to OpenLP, then please look at the |
309 | -OpenLP wiki:: |
310 | - |
311 | - http://wiki.openlp.org/ |
312 | - |
313 | -Thanks for downloading OpenLP! |
Linux tests passed!