# -*- mode: python -*- import os import inspect import platform p = platform.system() # Get the version root = os.path.dirname( os.path.dirname( os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) ) ) with open(os.path.join(root, "share", "version.txt")) as f: version = f.read().strip() print("Dangerzone version: {}".format(version)) if p == "Darwin": datas = [("../../share", "share"), ("../macos/document.icns", ".")] else: datas = [("../../share", "share")] if p == "Windows": icon = os.path.join(root, "share", "dangerzone.ico") else: icon = None a = Analysis( ["dangerzone"], pathex=["."], binaries=None, datas=datas, hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], 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="dangerzone", debug=False, strip=False, upx=True, console=False, icon=icon, ) coll = COLLECT( exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name="dangerzone" ) # The macOS app bundle if p == "Darwin": app = BUNDLE( coll, name="Dangerzone.app", icon="../macos/dangerzone.icns", bundle_identifier="press.freedom.dangerzone", info_plist={ "NSHighResolutionCapable": True, "CFBundleShortVersionString": version, "CFBundleDocumentTypes": [ { "CFBundleTypeExtensions": ["pdf"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["application/pdf"], "CFBundleTypeName": "PDF Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["docx", "doc", "docm"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/msword", "application/vnd.ms-word.document.macroEnabled.12", ], "CFBundleTypeName": "Microsoft Word Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["xlsx", "xls"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-excel", ], "CFBundleTypeName": "Microsoft Excel Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["pptx", "ppt"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.openxmlformats-officedocument.presentationml.presentation", "application/vnd.ms-powerpoint", ], "CFBundleTypeName": "Microsoft PowerPoint Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["odt"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.oasis.opendocument.text" ], "CFBundleTypeName": "ODF Text Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["ods"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.oasis.opendocument.spreadsheet" ], "CFBundleTypeName": "ODF Spreadsheet Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["odp"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.oasis.opendocument.presentation" ], "CFBundleTypeName": "ODF Presentation Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["odg"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ "application/vnd.oasis.opendocument.graphics" ], "CFBundleTypeName": "ODF Graphics Document", "CFBundleTypeRole": "Viewer", }, # Commented MIMEs are not used in `file` and don't conform to the rules. # Left them for just in case { "CFBundleTypeExtensions": ["hwp", "hwpx"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": [ #"application/vnd.hancom.hwp", #"application/haansofthwp", "application/x-hwp", #"application/vnd.hancom.hwpx", #"application/haansofthwpx", "application/hwp+zip", "application/x-hwp+zip", ], "CFBundleTypeName": "Hancom Office Document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["epub"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["application/epub+zip"], "CFBundleTypeName": "EPUB document", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["svg"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/svg+xml"], "CFBundleTypeName": "SVG Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["bmp"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/bmp"], "CFBundleTypeName": "BMP Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["pbm"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/x-portable-bitmap"], "CFBundleTypeName": "PBM Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["ppm"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/x-portable-pixmap"], "CFBundleTypeName": "PPM Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["pnm"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/x-portable-anymap"], "CFBundleTypeName": "PNM Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["jpg", "jpeg"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/jpeg"], "CFBundleTypeName": "JPEG Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["gif"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/gif"], "CFBundleTypeName": "GIF Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["png"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/png"], "CFBundleTypeName": "PNG Image", "CFBundleTypeRole": "Viewer", }, { "CFBundleTypeExtensions": ["tif", "tiff"], "CFBundleTypeIconFile": "../macos/document.icns", "CFBundleTypeMIMETypes": ["image/tiff", "image/x-tiff"], "CFBundleTypeName": "TIFF Image", "CFBundleTypeRole": "Viewer", }, ], }, )