diff --git a/sakia.spec b/sakia.spec index c0abac32e4e82c944d3f75b207323d28ae494b99..5b5a252cbbb37e35b5731f2ae6022f4034a04ecf 100644 --- a/sakia.spec +++ b/sakia.spec @@ -1,6 +1,8 @@ # -*- mode: python -*- from PyInstaller.compat import is_darwin, is_win import ctypes +import subprocess +import os block_cipher = None @@ -21,10 +23,18 @@ a = Analysis(['src/sakia/main.py'], if is_darwin: a.binaries = a.binaries - TOC([ ('/usr/local/lib/libsodium.so', None, None),]) + info = subprocess.check_output(["brew", "info", "libsodium"]) + info = info.decode().splitlines(keepends=False) + if len(info) > 1: + library_path = info[3].split(" ")[0] + libsodium_path = os.path.join(library_path, "lib", + "libsodium.dylib") + a.binaries = a.binaries + TOC([('lib/libsodium.dylib', libsodium_path, 'BINARY')]) if is_win: - a.binaries = a.binaries + TOC([('libsodium.dll', ctypes.util.find_library('libsodium.dll'), 'BINARY')]) - print(a.binaries) + a.binaries = a.binaries + TOC([('libsodium.dll', ctypes.util.find_library('libsodium.dll'), 'BINARY')]) + +print(a.binaries) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) @@ -47,3 +57,10 @@ coll = COLLECT(exe, upx=True, name='sakia') +if is_darwin: + app = BUNDLE(exe, + name='sakia.app', + icon='sakia.ico', + bundle_identifier=None) + +