mirror of https://gitlab.com/openlp/packaging.git
Made the build work and updated copyright year
This commit is contained in:
parent
e2a9d0c814
commit
3a86f56f36
|
@ -344,6 +344,7 @@ class Builder(object):
|
|||
'--noupx',
|
||||
'--additional-hooks-dir', self.hooks_path,
|
||||
'--runtime-hook', os.path.join(self.hooks_path, 'rthook_ssl.py'),
|
||||
'--runtime-hook', os.path.join(self.hooks_path, 'rthook_qtwebengine.py'),
|
||||
# Import to make sqlalchemy work.
|
||||
# Can't be in the custom hook folder because it will conflict with PyInstallers hook
|
||||
'--hidden-import', 'sqlalchemy.ext.baked',
|
||||
|
|
|
@ -26,20 +26,9 @@ Linux Build Script
|
|||
|
||||
This script is used to build the Linux app bundle.
|
||||
|
||||
Python 3.7
|
||||
Look in setup.py in the openlp code repo for dependencies
|
||||
|
||||
PyQt5
|
||||
You should already have this installed, OpenLP doesn't work without it. The
|
||||
version the script expects is the packaged one available from River Bank
|
||||
Computing.
|
||||
|
||||
PyEnchant
|
||||
This script expects the precompiled, installable version of PyEnchant to be
|
||||
installed. You can find this on the PyEnchant site.
|
||||
|
||||
Sphinx
|
||||
This is used to build the documentation. The documentation trunk must be at
|
||||
the same directory level as OpenLP trunk and named "documentation".
|
||||
Other dependencies:
|
||||
|
||||
PyInstaller
|
||||
PyInstaller can be installed with pip
|
||||
|
@ -47,46 +36,11 @@ PyInstaller
|
|||
Git
|
||||
You need the command line "git" client installed.
|
||||
|
||||
OpenLP
|
||||
A checkout of the latest code, in a branch directory, which is in a Bazaar
|
||||
shared repository directory. This means your code should be in a directory
|
||||
structure like this: "openlp\branch-name".
|
||||
|
||||
macosx-builder.py
|
||||
This script, of course. It should be in the "osx-package" directory
|
||||
at the same level as OpenLP trunk.
|
||||
|
||||
Mako
|
||||
Mako Templates for Python. This package is required for building the
|
||||
remote plugin.
|
||||
|
||||
Alembic
|
||||
Required for upgrading the databases used in OpenLP.
|
||||
|
||||
PyMuPDF
|
||||
Required for PDF support in OpenLP. Install using pip.
|
||||
|
||||
MachOLib
|
||||
Python library to analyze and edit Mach-O headers, the executable format
|
||||
used by Mac OS X. Used to relink the mudraw binary from MuPDF to the bundled
|
||||
libraries. Install using macports or pip.
|
||||
|
||||
config.ini.default
|
||||
The configuration file contains settings of the version string to include
|
||||
in the bundle as well as directory and file settings for different
|
||||
purposes (e.g. PyInstaller location or installer background image)
|
||||
|
||||
To install everything you should install latest python 3.7 from python.org. It
|
||||
is recommended to create virtual environment. You can install all dependencies
|
||||
like this:
|
||||
|
||||
$ python -m pip install sqlalchemy alembic appdirs chardet beautifulsoup4 \
|
||||
lxml Mako mysql-connector-python pytest mock psycopg2-binary \
|
||||
websockets asyncio waitress six webob requests QtAwesome PyQt5 \
|
||||
PyQtWebEngine pymediainfo PyMuPDF==1.16.7 QDarkStyle python-vlc \
|
||||
Pyro4 zeroconf flask-cors pytest-qt pyenchant pysword pyobjc-core \
|
||||
pyobjc-framework-Cocoa dmgbuild sphinx PyInstaller
|
||||
|
||||
"""
|
||||
|
||||
import glob
|
||||
|
@ -117,12 +71,27 @@ class LinuxBuilder(Builder):
|
|||
qt_library_path = QCoreApplication.libraryPaths()[0]
|
||||
return os.path.join(os.path.dirname(qt_library_path), 'translations')
|
||||
|
||||
def setup_paths(self):
|
||||
"""
|
||||
Set up a variety of paths that we use throughout the build process.
|
||||
"""
|
||||
super().setup_paths()
|
||||
self.dist_path = os.path.join(self.work_path, 'dist', 'OpenLP')
|
||||
|
||||
def copy_extra_files(self):
|
||||
"""
|
||||
Copy any extra files which are particular to a platform
|
||||
"""
|
||||
self._print('Copying extra files for Linux...')
|
||||
|
||||
self._print_verbose('... LICENSE.txt')
|
||||
copy(self.license_path, os.path.join(self.dist_path, 'LICENSE.txt'))
|
||||
lib_path = '/usr/lib/' # TODO: detect
|
||||
vlc_plugin_path = lib_path + 'vlc'
|
||||
vlc_plugin_dest = os.path.join(self.dist_path, '_internal')
|
||||
if os.path.exists(os.path.join(vlc_plugin_dest, 'vlc')):
|
||||
rmtree(os.path.join(vlc_plugin_dest, 'vlc'))
|
||||
self._print_verbose('... copying VLC plugins')
|
||||
copytree(vlc_plugin_path, os.path.join(vlc_plugin_dest, 'vlc'))
|
||||
|
||||
def build_package(self):
|
||||
"""
|
||||
|
|
|
@ -4,7 +4,7 @@ Upstream-Maintainer: OpenLP Developers <openlp-dev@lists.launchpad.net>
|
|||
Upstream-Source: http://openlp.org/
|
||||
|
||||
Files: *
|
||||
Copyright: (c) 2008-2015 OpenLP Developers
|
||||
Copyright: (c) 2008-2024 OpenLP Developers
|
||||
License: GPL-2
|
||||
X-Comment: On Debian GNU/Linux systems, the complete text of the
|
||||
GPL-2 License can be found in /usr/share/common-licenses/GPL-2
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
[executables]
|
||||
lrelease = /opt/local/libexec/qt5/bin/lrelease
|
||||
lrelease = /usr/bin/lrelease
|
||||
|
||||
[paths]
|
||||
branch = path/to/openlp/trunk
|
||||
documentation = path/to/openlp/documentation
|
||||
icon = %(here)s/OpenLP.icns
|
||||
bundle_info = %(here)s/Info.plist
|
||||
hooks = %(here)s/../pyinstaller-hooks
|
||||
dmg_settings = %(here)s/settings.py
|
||||
license = %(here)s/LICENSE.txt
|
||||
|
||||
[transifex]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
###############################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# --------------------------------------------------------------------------- #
|
||||
# This program is free software; you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the Free #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
@ -31,9 +31,10 @@ elif sys.platform.startswith('darwin'):
|
|||
dll = 'libmediainfo.0.dylib'
|
||||
|
||||
if sys.platform.startswith('linux'):
|
||||
# TODO: verify that this works on non-arch distros
|
||||
dll_path = '/usr/lib/libmediainfo.so'
|
||||
else:
|
||||
dll_path = os.path.join(os.path.dirname(pymediainfo.__file__), dll)
|
||||
|
||||
hiddenimports = ['pymediainfo']
|
||||
hiddenimports = ['pymediainfo', 'uno', 'unohelper']
|
||||
binaries = [(dll_path, '.')]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
|
||||
|
||||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation, either version 3 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, #
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||
# GNU General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>. #
|
||||
##########################################################################
|
||||
import os
|
||||
import sys
|
||||
|
||||
if sys.platform.startswith('linux'):
|
||||
# TODO: check if this is valid on non-arch distros. Maybe search for QtWebEngineProcess ?
|
||||
os.environ['QTWEBENGINEPROCESS_PATH'] = '_internal/PyQt5/Qt5/lib/qt/libexec/QtWebEngineProcess'
|
|
@ -4,7 +4,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
##########################################################################
|
||||
# OpenLP - Open Source Lyrics Projection #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# Copyright (c) 2008-2019 OpenLP Developers #
|
||||
# Copyright (c) 2008-2024 OpenLP Developers #
|
||||
# ---------------------------------------------------------------------- #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
|
Loading…
Reference in New Issue