summaryrefslogtreecommitdiffhomepage
path: root/gui
diff options
context:
space:
mode:
Diffstat (limited to 'gui')
-rw-r--r--gui/package.json4
-rwxr-xr-xgui/scripts/build-proto.sh36
2 files changed, 27 insertions, 13 deletions
diff --git a/gui/package.json b/gui/package.json
index 026ca36e28..da507c4fd9 100644
--- a/gui/package.json
+++ b/gui/package.json
@@ -32,6 +32,7 @@
"uuid": "^3.0.1"
},
"optionalDependencies": {
+ "grpc-tools": "^1.10.0",
"nseventmonitor": "^1.0.0"
},
"devDependencies": {
@@ -67,7 +68,7 @@
"chai-spies": "^1.0.0",
"cross-env": "^5.1.3",
"electron": "^11.2.3",
- "electron-builder": "^22.8.0",
+ "electron-builder": "^22.10.4",
"electron-devtools-installer": "^3.1.1",
"electron-mocha": "^9.3.3",
"electron-notarize": "^0.1.1",
@@ -76,7 +77,6 @@
"eslint-plugin-react": "^7.18.3",
"gettext-extractor": "^3.5.2",
"grpc_tools_node_protoc_ts": "^5.1.1",
- "grpc-tools": "^1.10.0",
"gulp": "^4.0.2",
"gulp-inject-string": "^1.1.2",
"gulp-sourcemaps": "^3.0.0",
diff --git a/gui/scripts/build-proto.sh b/gui/scripts/build-proto.sh
index a6cf6a5d94..29e5f2793c 100755
--- a/gui/scripts/build-proto.sh
+++ b/gui/scripts/build-proto.sh
@@ -5,6 +5,8 @@ set -eu
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR"
+PLATFORM="$(uname -s)-$(uname -m)"
+MANAGEMENT_INTERFACE_PROTO_BUILD_DIR=${MANAGEMENT_INTERFACE_PROTO_BUILD_DIR:-}
NODE_MODULES_DIR="$(cd ../node_modules/.bin && pwd)"
PROTO_DIR="../../mullvad-management-interface/proto"
PROTO_FILENAME="management_interface.proto"
@@ -19,15 +21,27 @@ fi
mkdir -p $DESTINATION_DIR
mkdir -p $TYPES_DESTINATION_DIR
-"$NODE_MODULES_DIR/grpc_tools_node_protoc" \
- --js_out=import_style=commonjs,binary:$DESTINATION_DIR \
- --grpc_out=generate_package_definition:$DESTINATION_DIR \
- --proto_path=$PROTO_DIR \
- $PROTO_DIR/$PROTO_FILENAME
-
-"$NODE_MODULES_DIR/grpc_tools_node_protoc" \
- --plugin=protoc-gen-ts=$TS_PROTOC_PLUGIN \
- --ts_out=generate_package_definition:$TYPES_DESTINATION_DIR \
- --proto_path=$PROTO_DIR \
- $PROTO_DIR/$PROTO_FILENAME
+if [[ "${PLATFORM}" == "Darwin-arm64" ]]; then
+ if [[ -n "${MANAGEMENT_INTERFACE_PROTO_BUILD_DIR}" ]]; then
+ cp $MANAGEMENT_INTERFACE_PROTO_BUILD_DIR/*.js $DESTINATION_DIR
+ cp $MANAGEMENT_INTERFACE_PROTO_BUILD_DIR/*.ts $TYPES_DESTINATION_DIR
+ else
+ >&2 echo "Building management interface proto files on Apple Silicon is not supported"
+ >&2 echo "(see https://github.com/grpc/grpc-node/issues/1497)."
+ >&2 echo "Please build the proto files on another platform using build_mi_proto.sh script,"
+ >&2 echo "and set MANAGEMENT_INTERFACE_PROTO_BUILD_DIR environment variable to the directory of the build."
+ exit 1
+ fi
+else
+ "$NODE_MODULES_DIR/grpc_tools_node_protoc" \
+ --js_out=import_style=commonjs,binary:$DESTINATION_DIR \
+ --grpc_out=generate_package_definition:$DESTINATION_DIR \
+ --proto_path=$PROTO_DIR \
+ $PROTO_DIR/$PROTO_FILENAME
+ "$NODE_MODULES_DIR/grpc_tools_node_protoc" \
+ --plugin=protoc-gen-ts=$TS_PROTOC_PLUGIN \
+ --ts_out=generate_package_definition:$TYPES_DESTINATION_DIR \
+ --proto_path=$PROTO_DIR \
+ $PROTO_DIR/$PROTO_FILENAME
+fi