aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Settgast <csett86@web.de>2021-03-13 21:37:45 +0100
committerSaúl Ibarra Corretgé <s@saghul.net>2021-03-15 00:13:00 +0100
commit9b09a4bfa9d875cd45fd81879a3c1895fd372502 (patch)
tree6772883544c4225ab42a0ebac7a0b3ed2ab03084
parentb41de51ed25375acb526690c716ffbe7b41ec7d7 (diff)
Switch mac build to universal build
Apple's documentation suggests that apps should be shipped as universal binaries to simplify the process for the users. See eg. https://developer.apple.com/documentation/apple-silicon/porting-your-macos-apps-to-apple-silicon Also update electron-updater to latest version (matching electron-builder version) as part of this. Signed-off-by: Christoph Settgast <csett86@web.de>
-rw-r--r--README.md6
-rw-r--r--main.js14
-rw-r--r--package-lock.json117
-rw-r--r--package.json9
4 files changed, 109 insertions, 37 deletions
diff --git a/README.md b/README.md
index 232d4a1..a428798 100644
--- a/README.md
+++ b/README.md
@@ -17,9 +17,9 @@ Desktop application for [Jitsi Meet] built with [Electron].
Download our latest release and you're off to the races!
-| Windows | macOS | macOS (Apple Silicon)| GNU/Linux (64-bit only) |
-| -- | -- | -- | -- |
-| [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe) | [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg) | [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet-arm64.dmg) | [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet-x86_64.AppImage) |
+| Windows | macOS | GNU/Linux (64-bit only) |
+| -- | -- | -- |
+| [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe) | [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg) | [Download](https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet-x86_64.AppImage) |
### Third-Party builds
diff --git a/main.js b/main.js
index eee7d0e..9487327 100644
--- a/main.js
+++ b/main.js
@@ -23,6 +23,7 @@ const URL = require('url');
const config = require('./app/features/config');
const { openExternalLink } = require('./app/features/utils/openExternalLink');
const pkgJson = require('./package.json');
+const { existsSync } = require('fs');
const showDevTools = Boolean(process.env.SHOW_DEV_TOOLS) || (process.argv.indexOf('--show-dev-tools') > -1);
@@ -170,7 +171,18 @@ function createJitsiMeetWindow() {
});
// Path to root directory.
- const basePath = isDev ? __dirname : app.getAppPath();
+ let basePath = isDev ? __dirname : app.getAppPath();
+
+ // runtime detection on mac if this is a universal build with app-arm64.asar'
+ // as prepared in https://github.com/electron/universal/blob/master/src/index.ts
+ // if universal build, load the arch-specific real asar as the app does not load otherwise
+ if (process.platform === 'darwin' && existsSync(path.join(app.getAppPath(), '..', 'app-arm64.asar'))) {
+ if (process.arch === 'arm64') {
+ basePath = app.getAppPath().replace('app.asar', 'app-arm64.asar');
+ } else if (process.arch === 'x64') {
+ basePath = app.getAppPath().replace('app.asar', 'app-x64.asar');
+ }
+ }
// URL for index.html which will be our entry point.
const indexURL = URL.format({
diff --git a/package-lock.json b/package-lock.json
index 86d849a..d8cbbac 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4922,7 +4922,8 @@
"@types/node": {
"version": "12.12.24",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.24.tgz",
- "integrity": "sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug=="
+ "integrity": "sha512-1Ciqv9pqwVtW6FsIUKSZNB82E5Cu1I2bBTj1xuIHXLe/1zYLl3956Nbhg2MzSYHVfl9/rmanjbQIb7LibfCnug==",
+ "dev": true
},
"@types/parse-json": {
"version": "4.0.0",
@@ -4962,12 +4963,9 @@
}
},
"@types/semver": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.1.0.tgz",
- "integrity": "sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA==",
- "requires": {
- "@types/node": "*"
- }
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ=="
},
"@types/source-list-map": {
"version": "0.1.2",
@@ -5712,8 +5710,7 @@
"at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
},
"atob": {
"version": "2.1.2",
@@ -6454,12 +6451,22 @@
}
},
"builder-util-runtime": {
- "version": "8.6.2",
- "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.6.2.tgz",
- "integrity": "sha512-9QnIBISfhgQ2BxtRLidVqf/v5HD73vSKZDllpUmGd2L6VORGQk7cZAPmPtw4HQM3gPBelyVJ5yIjMNZ8xjmd1A==",
+ "version": "8.7.3",
+ "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz",
+ "integrity": "sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ==",
"requires": {
- "debug": "^4.1.1",
+ "debug": "^4.3.2",
"sax": "^1.2.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ }
}
},
"builtin-status-codes": {
@@ -8351,24 +8358,77 @@
"dev": true
},
"electron-updater": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.2.5.tgz",
- "integrity": "sha512-ir8SI3capF5pN4LTQY79bP7oqiBKjgtdDW378xVId5VcGUZ+Toei2j+fgx1mq3y4Qg19z4HqLxEZ9FqMD0T0RA==",
+ "version": "4.3.8",
+ "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.3.8.tgz",
+ "integrity": "sha512-/tB82Ogb2LqaXrUzAD8waJC+TZV52Pr0Znfj7w+i4D+jA2GgrKFI3Pxjp+36y9FcBMQz7kYsMHcB6c5zBJao+A==",
"requires": {
- "@types/semver": "^7.1.0",
- "builder-util-runtime": "8.6.2",
- "fs-extra": "^8.1.0",
- "js-yaml": "^3.13.1",
+ "@types/semver": "^7.3.4",
+ "builder-util-runtime": "8.7.3",
+ "fs-extra": "^9.1.0",
+ "js-yaml": "^4.0.0",
"lazy-val": "^1.0.4",
"lodash.isequal": "^4.5.0",
- "pako": "^1.0.11",
- "semver": "^7.1.3"
+ "semver": "^7.3.4"
},
"dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "js-yaml": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz",
+ "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==",
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
"semver": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.2.1.tgz",
- "integrity": "sha512-aHhm1pD02jXXkyIpq25qBZjr3CQgg8KST8uX0OWXch3xE6jw+1bfbWnCjzMwojsTquroUmKFHNzU6x26mEiRxw=="
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
},
@@ -9544,6 +9604,7 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
@@ -12005,7 +12066,8 @@
"pako": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
},
"parallel-transform": {
"version": "1.2.0",
@@ -14539,7 +14601,8 @@
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
},
"unquote": {
"version": "1.1.1",
diff --git a/package.json b/package.json
index b7a308a..c56f92e 100644
--- a/package.json
+++ b/package.json
@@ -27,13 +27,10 @@
"!main.js"
],
"mac": {
- "artifactName": "jitsi-meet-${arch}.${ext}",
+ "artifactName": "jitsi-meet.${ext}",
"target": [
{
- "arch": [
- "arm64",
- "x64"
- ],
+ "arch": "universal",
"target": "dmg"
}
],
@@ -121,7 +118,7 @@
"electron-log": "4.1.1",
"electron-reload": "1.5.0",
"electron-store": "5.1.1",
- "electron-updater": "4.2.5",
+ "electron-updater": "4.3.8",
"electron-window-state": "5.0.3",
"history": "4.10.1",
"i18next": "19.4.5",