diff options
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/package.json | 4 | ||||
| -rwxr-xr-x | gui/scripts/build-proto.sh | 36 |
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 |
