Improve dependency handling including PEP508 Environment Markers and using the library provided by pymediainfo for Windows tests

bzr-revno: 2856
This commit is contained in:
Bastian Germann 2019-04-11 21:48:24 +01:00 committed by Tim Bentley
commit 288e77e155
3 changed files with 33 additions and 44 deletions

View File

@ -21,11 +21,6 @@ install:
- appveyor DownloadFile https://mupdf.com/downloads/archive/mupdf-1.14.0-windows.zip - appveyor DownloadFile https://mupdf.com/downloads/archive/mupdf-1.14.0-windows.zip
- 7z x 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 - 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 build: off

View File

@ -40,8 +40,8 @@ IS_MAC = sys.platform.startswith('dar')
VERS = { VERS = {
'Python': '3.6', 'Python': '3.6',
'PyQt5': '5.5', 'PyQt5': '5.12',
'Qt5': '5.5', 'Qt5': '5.9',
'pymediainfo': '2.2', 'pymediainfo': '2.2',
'sqlalchemy': '0.5', 'sqlalchemy': '0.5',
'enchant': '1.6' 'enchant': '1.6'
@ -57,6 +57,7 @@ WIN32_MODULES = [
LINUX_MODULES = [ LINUX_MODULES = [
# Optical drive detection. # Optical drive detection.
'dbus', 'dbus',
'Xlib',
] ]
MACOSX_MODULES = [ MACOSX_MODULES = [
@ -93,6 +94,7 @@ MODULES = [
OPTIONAL_MODULES = [ OPTIONAL_MODULES = [
('qdarkstyle', '(dark style support)'),
('mysql.connector', '(MySQL support)'), ('mysql.connector', '(MySQL support)'),
('pyodbc', '(ODBC support)'), ('pyodbc', '(ODBC support)'),
('psycopg2', '(PostgreSQL support)'), ('psycopg2', '(PostgreSQL support)'),

View File

@ -22,7 +22,6 @@
############################################################################### ###############################################################################
import re import re
import sys
from subprocess import Popen, PIPE from subprocess import Popen, PIPE
from setuptools import setup, find_packages from setuptools import setup, find_packages
@ -112,40 +111,6 @@ except Exception:
finally: finally:
ver_file.close() 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( setup(
name='OpenLP', name='OpenLP',
@ -200,8 +165,29 @@ using a computer and a data projector.""",
include_package_data=True, include_package_data=True,
zip_safe=False, zip_safe=False,
python_requires='>=3.6', 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={ extras_require={
'darkstyle': ['QDarkStyle'],
'mysql': ['mysql-connector-python'], 'mysql': ['mysql-connector-python'],
'odbc': ['pyodbc'], 'odbc': ['pyodbc'],
'postgresql': ['psycopg2'], 'postgresql': ['psycopg2'],
@ -211,7 +197,13 @@ using a computer and a data projector.""",
'jenkins': ['python-jenkins'], 'jenkins': ['python-jenkins'],
'launchpad': ['launchpadlib'] 'launchpad': ['launchpadlib']
}, },
tests_require=test_requires, tests_require=[
'nose2',
'pylint',
'pyodbc',
'pysword',
'python-xlib; platform_system=="Linux"'
],
test_suite='nose2.collector.collector', test_suite='nose2.collector.collector',
entry_points={'gui_scripts': ['openlp = run_openlp:start']} entry_points={'gui_scripts': ['openlp = run_openlp:start']}
) )