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)
+
+