diff --git a/scripts/appveyor.yml b/scripts/appveyor.yml index fd9ffac73..0f315b0e7 100644 --- a/scripts/appveyor.yml +++ b/scripts/appveyor.yml @@ -21,11 +21,6 @@ install: - appveyor DownloadFile https://mupdf.com/downloads/archive/mupdf-1.14.0-windows.zip - 7z x mupdf-1.14.0-windows.zip - cp mupdf-1.14.0-windows/mutool.exe openlp-branch/mutool.exe - # Download and unpack mediainfo - - appveyor DownloadFile https://mediaarea.net/download/binary/mediainfo/18.08.1/MediaInfo_CLI_18.08.1_Windows_i386.zip - - mkdir MediaInfo - - 7z x -oMediaInfo MediaInfo_CLI_18.08.1_Windows_i386.zip - - cp MediaInfo\\MediaInfo.exe openlp-branch\\MediaInfo.exe build: off diff --git a/scripts/check_dependencies.py b/scripts/check_dependencies.py index 78b9866bc..c8368c752 100755 --- a/scripts/check_dependencies.py +++ b/scripts/check_dependencies.py @@ -40,8 +40,8 @@ IS_MAC = sys.platform.startswith('dar') VERS = { 'Python': '3.6', - 'PyQt5': '5.5', - 'Qt5': '5.5', + 'PyQt5': '5.12', + 'Qt5': '5.9', 'pymediainfo': '2.2', 'sqlalchemy': '0.5', 'enchant': '1.6' @@ -57,6 +57,7 @@ WIN32_MODULES = [ LINUX_MODULES = [ # Optical drive detection. 'dbus', + 'Xlib', ] MACOSX_MODULES = [ @@ -93,6 +94,7 @@ MODULES = [ OPTIONAL_MODULES = [ + ('qdarkstyle', '(dark style support)'), ('mysql.connector', '(MySQL support)'), ('pyodbc', '(ODBC support)'), ('psycopg2', '(PostgreSQL support)'), diff --git a/setup.py b/setup.py index f3045b72a..426c271dc 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,6 @@ ############################################################################### import re -import sys from subprocess import Popen, PIPE from setuptools import setup, find_packages @@ -112,40 +111,6 @@ except Exception: finally: ver_file.close() -requires = [ - 'alembic', - 'appdirs', - 'beautifulsoup4', - 'chardet', - 'lxml', - 'Mako', - 'pymediainfo >= 2.2', - 'PyQt5 >= 5.12', - 'PyQtWebEngine', - 'QtAwesome', - 'requests', - 'SQLAlchemy >= 0.5', - 'waitress', - 'WebOb', - 'websockets' -] -test_requires = [ - 'nose2', - 'pylint', - 'pyodbc', - 'pysword' -] -if sys.platform.startswith('win'): - requires.append('pywin32') -elif sys.platform.startswith('darwin'): - requires.extend([ - 'pyobjc', - 'pyobjc-framework-Cocoa' - ]) -elif sys.platform.startswith('linux'): - requires.append('dbus-python') - test_requires.append('xlib') - setup( name='OpenLP', @@ -200,8 +165,29 @@ using a computer and a data projector.""", include_package_data=True, zip_safe=False, python_requires='>=3.6', - install_requires=requires, + install_requires=[ + 'alembic', + 'appdirs', + 'beautifulsoup4', + 'chardet', + 'dbus-python; platform_system=="Linux"', + 'lxml', + 'Mako', + 'pymediainfo >= 2.2', + 'pyobjc; platform_system=="Darwin"', + 'pyobjc-framework-Cocoa; platform_system=="Darwin"', + 'PyQt5 >= 5.12', + 'PyQtWebEngine', + 'pywin32; platform_system=="Windows"', + 'QtAwesome', + 'requests', + 'SQLAlchemy >= 0.5', + 'waitress', + 'WebOb', + 'websockets' + ], extras_require={ + 'darkstyle': ['QDarkStyle'], 'mysql': ['mysql-connector-python'], 'odbc': ['pyodbc'], 'postgresql': ['psycopg2'], @@ -211,7 +197,13 @@ using a computer and a data projector.""", 'jenkins': ['python-jenkins'], 'launchpad': ['launchpadlib'] }, - tests_require=test_requires, + tests_require=[ + 'nose2', + 'pylint', + 'pyodbc', + 'pysword', + 'python-xlib; platform_system=="Linux"' + ], test_suite='nose2.collector.collector', entry_points={'gui_scripts': ['openlp = run_openlp:start']} )