update appveyor and travis configs
This commit is contained in:
121
pyfa.spec
Normal file
121
pyfa.spec
Normal file
@@ -0,0 +1,121 @@
|
||||
# -*- mode: python -*-
|
||||
|
||||
import os
|
||||
from itertools import chain
|
||||
import subprocess
|
||||
import requests.certs
|
||||
import platform
|
||||
|
||||
os_name = platform.system()
|
||||
block_cipher = None
|
||||
|
||||
added_files = [
|
||||
('imgs/gui/*.png', 'imgs/gui'),
|
||||
('imgs/gui/*.gif', 'imgs/gui'),
|
||||
('imgs/icons/*.png', 'imgs/icons'),
|
||||
('imgs/renders/*.png', 'imgs/renders'),
|
||||
('service/jargon/*.yaml', 'service/jargon'),
|
||||
(requests.certs.where(), '.'), # is this needed anymore?
|
||||
('eve.db', '.'),
|
||||
('README.md', '.'),
|
||||
('LICENSE', '.'),
|
||||
('version.yml', '.'),
|
||||
]
|
||||
|
||||
icon = None
|
||||
pathex = []
|
||||
upx = True
|
||||
debug = False
|
||||
|
||||
if os_name == 'Windows':
|
||||
added_files.extend([
|
||||
('dist_assets/win/pyfa.ico', '.'),
|
||||
('dist_assets/win/pyfa.exe.manifest', '.'),
|
||||
('dist_assets/win/Microsoft.VC90.CRT.manifest', '.')
|
||||
])
|
||||
|
||||
icon = 'dist_assets/win/pyfa.ico'
|
||||
|
||||
pathex.extend([
|
||||
# Need this, see https://github.com/pyinstaller/pyinstaller/issues/1566
|
||||
# To get this, download and install windows 10 SDK
|
||||
# If not building on Windows 10, this might be optional
|
||||
r'C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86'
|
||||
])
|
||||
|
||||
if os_name == 'Darwin':
|
||||
added_files.extend([
|
||||
('dist_assets/win/pyfa.ico', '.'), # osx only
|
||||
])
|
||||
|
||||
icon = 'dist_assets/mac/pyfa.icns'
|
||||
|
||||
import_these = [
|
||||
'numpy.core._dtype_ctypes' # https://github.com/pyinstaller/pyinstaller/issues/3982
|
||||
]
|
||||
|
||||
# Walk directories that do dynamic importing
|
||||
paths = ('eos/effects', 'eos/db/migrations', 'service/conversions')
|
||||
for root, folders, files in chain.from_iterable(os.walk(path) for path in paths):
|
||||
for file_ in files:
|
||||
if file_.endswith(".py") and not file_.startswith("_"):
|
||||
mod_name = "{}.{}".format(
|
||||
root.replace("/", "."),
|
||||
file_.split(".py")[0],
|
||||
)
|
||||
import_these.append(mod_name)
|
||||
|
||||
a = Analysis(['pyfa.py'],
|
||||
pathex= pathex,
|
||||
binaries=[],
|
||||
datas=added_files,
|
||||
hiddenimports=import_these,
|
||||
hookspath=['dist_assets/pyinstaller_hooks'],
|
||||
runtime_hooks=[],
|
||||
excludes=['Tkinter'],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher)
|
||||
|
||||
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
|
||||
|
||||
|
||||
exe = EXE(
|
||||
pyz,
|
||||
a.scripts,
|
||||
exclude_binaries=True,
|
||||
name='pyfa',
|
||||
debug=debug,
|
||||
strip=False,
|
||||
upx=upx,
|
||||
icon= icon,
|
||||
# version='win-version-info.txt',
|
||||
console=False
|
||||
)
|
||||
|
||||
coll = COLLECT(
|
||||
exe,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
strip=False,
|
||||
upx=upx,
|
||||
name='pyfa',
|
||||
)
|
||||
|
||||
if platform.system() == 'Darwin':
|
||||
info_plist = {
|
||||
'NSHighResolutionCapable': 'True',
|
||||
'NSPrincipalClass': 'NSApplication',
|
||||
'CFBundleName': 'pyfa',
|
||||
'CFBundleDisplayName': 'pyfa',
|
||||
'CFBundleIdentifier': 'org.pyfaorg.pyfa',
|
||||
'CFBundleVersion': '1.2.3',
|
||||
'CFBundleShortVersionString': '1.2.3',
|
||||
}
|
||||
app = BUNDLE(exe,
|
||||
name='pyfa.app',
|
||||
icon=icon,
|
||||
bundle_identifier=None,
|
||||
info_plist=info_plist
|
||||
)
|
||||
Reference in New Issue
Block a user