@@ -25,6 +25,7 @@ import Text.RawString.QQ
2525import System.IO (BufferMode (NoBuffering ),
2626 hSetBuffering )
2727import System.IO.Error (IOError , isDoesNotExistError )
28+ import qualified System.Info
2829import System.Environment (getEnv )
2930import System.Posix.Files
3031import Turtle hiding (e , prefix , stdout )
@@ -151,15 +152,21 @@ sign_cmd "$ABS_PATH/Contents/Resources/app/build/usb_bindings.node"
151152sign_cmd "$ABS_PATH/Contents/Resources/app/build/HID.node"
152153sign_cmd "$ABS_PATH/Contents/Resources/app/build/detection.node"
153154sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/keccak/bin/darwin-x64-"*"/keccak.node"
155+ sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/keccak/bin/darwin-arm64-"*"/keccak.node"
154156sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/keccak/build/Release/addon.node"
155157sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/keccak/prebuilds/darwin-x64/node.napi.node"
158+ sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/keccak/prebuilds/darwin-arm64/node.napi.node"
156159sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake-hash/prebuilds/darwin-x64/node.napi.node"
160+ sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake-hash/prebuilds/darwin-arm64/node.napi.node"
157161sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake-hash/bin/darwin-x64-"*"/blake-hash.node"
162+ sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake-hash/bin/darwin-arm64-"*"/blake-hash.node"
158163sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake-hash/build/Release/addon.node"
159164sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake2/build/Release/binding.node"
160165sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake2/bin/darwin-x64-"*"/blake2.node"
166+ sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/blake2/bin/darwin-arm64-"*"/blake2.node"
161167sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/tiny-secp256k1/build/Release/secp256k1.node"
162168sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/tiny-secp256k1/bin/darwin-x64-"*"/tiny-secp256k1.node"
169+ sign_cmd "$ABS_PATH/Contents/Resources/app/node_modules/tiny-secp256k1/bin/darwin-arm64-"*"/tiny-secp256k1.node"
163170
164171# Sign the whole component deeply
165172sign_cmd "$ABS_PATH"
@@ -213,7 +220,10 @@ buildElectronApp darwinConfig@DarwinConfig{dcAppName, dcAppNameApp} installerCon
213220
214221 let
215222 formatter :: Format r (Text -> Text -> r )
216- formatter = " ../release/darwin-x64/" % s % " -darwin-x64/" % s
223+ formatter =
224+ if System.Info. arch == " aarch64"
225+ then " ../release/darwin-arm64/" % s % " -darwin-arm64/" % s
226+ else " ../release/darwin-x64/" % s % " -darwin-x64/" % s
217227 pathtoapp :: Text
218228 pathtoapp = format formatter dcAppName dcAppNameApp
219229 externalYarn :: [FilePath ]
@@ -298,6 +308,8 @@ npmPackage DarwinConfig{dcAppName} = do
298308 procs " yarn" [" install" , " --frozen-lockfile" ] empty
299309 echo " Running electron packager script..."
300310 export " NODE_ENV" " production"
311+ homeDir <- home
312+ export " TMPDIR" . tt $ homeDir </> " electron-rebuild-tmp-dir" -- else, new `electron-rebuild` fails with EACCESS
301313 procs " yarn" [" run" , " package" , " --" , " --name" , dcAppName ] empty
302314 procs " node_modules/.bin/electron-rebuild" [" -w" , " usb-detection" , " --useCache" , " -s" ] empty -- <https://github.com/MadLittleMods/node-usb-detection#install-for-electron>
303315 size <- inproc " du" [" -sh" , " release" ] empty
0 commit comments