installer: add recipe to build macOS app bundle

Change-Id: Ief4401626db293fecc37f1d1ec72cf295b55fccf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36060
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
This commit is contained in:
Konstantin Kholostov 2025-04-14 17:00:33 +02:00 committed by Markus Zolliker
parent f6a5ef8f4d
commit d2cce8f21c

View File

@ -0,0 +1,53 @@
# -*- mode: python -*-
import sys
from os import path
sys.path.insert(0, path.abspath('.'))
from utils import find_modules, find_uis, rootdir
binscript = path.join(rootdir, 'bin', 'frappy-gui')
a = Analysis(
[binscript],
pathex=[rootdir],
binaries=[],
datas=find_uis() +
[(path.join(rootdir, 'frappy', 'RELEASE-VERSION'), 'frappy')],
hiddenimports=find_modules('frappy', 'gui'),
hookspath=[],
excludes=['matplotlib'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=None
)
pyz = PYZ(
a.pure,
a.zipped_data,
cipher=None
)
exe = EXE(
pyz,
a.scripts,
exclude_binaries=True,
name='frappy-gui',
strip=False,
debug=False,
upx=False,
console=False
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=False,
name='frappy-gui',
)
app = BUNDLE(
coll,
name='frappy-gui.app',
bundle_identifier=None,
)