Skip to content

Commit 8ebebec

Browse files
authored
Merge pull request #4772 from gigamonster256/macos-arm64
Support compiling native MacOS arm64 (Apple Silicon) builds
2 parents 25b49e1 + f0d30db commit 8ebebec

File tree

6 files changed

+45
-2
lines changed

6 files changed

+45
-2
lines changed
Binary file not shown.

bin/build-mac-arm64.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
3+
SRC_DIR=./dist/trilium-mac-arm64-src
4+
5+
if [ "$1" != "DONTCOPY" ]
6+
then
7+
./bin/copy-trilium.sh $SRC_DIR
8+
fi
9+
10+
echo "Copying required mac arm64 binaries"
11+
12+
cp -r bin/better-sqlite3/mac-arm64-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
13+
14+
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
15+
16+
echo "Packaging mac arm64 electron build"
17+
18+
./node_modules/.bin/electron-packager $SRC_DIR --asar --out=dist --executable-name=trilium --platform=darwin --arch=arm64 --overwrite --icon=images/app-icons/mac/icon.icns
19+
20+
BUILD_DIR=./dist/trilium-mac-arm64
21+
rm -rf $BUILD_DIR
22+
23+
# Mac build has by default useless directory level
24+
mv "./dist/Trilium Notes-darwin-arm64" $BUILD_DIR
25+
26+
cp bin/tpl/anonymize-database.sql $BUILD_DIR/
27+
28+
cp -r dump-db $BUILD_DIR/
29+
rm -rf $BUILD_DIR/dump-db/node_modules
30+
31+
echo "Zipping mac arm64 electron distribution..."
32+
33+
VERSION=`jq -r ".version" package.json`
34+
35+
cd dist
36+
37+
rm trilium-mac-arm64-${VERSION}.zip
38+
zip -r9 --symlinks trilium-mac-arm64-${VERSION}.zip trilium-mac-arm64

bin/build-mac-x64.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ then
77
./bin/copy-trilium.sh $SRC_DIR
88
fi
99

10-
echo "Copying required mac binaries"
10+
echo "Copying required mac x64 binaries"
1111

12-
cp -r bin/better-sqlite3/mac-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
12+
cp -r bin/better-sqlite3/mac-x64-better_sqlite3.node $SRC_DIR/node_modules/better-sqlite3/build/Release/better_sqlite3.node
1313

1414
rm -r $SRC_DIR/src/public/app-dist/*.mobile.*
1515

bin/build.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@ cp -r $SRC_DIR ./dist/trilium-linux-x64-src
1313
cp -r $SRC_DIR ./dist/trilium-linux-x64-server
1414
cp -r $SRC_DIR ./dist/trilium-windows-x64-src
1515
cp -r $SRC_DIR ./dist/trilium-mac-x64-src
16+
cp -r $SRC_DIR ./dist/trilium-mac-arm64-src
1617

1718
bin/build-win-x64.sh DONTCOPY
1819

1920
bin/build-mac-x64.sh DONTCOPY
2021

22+
bin/build-mac-arm64.sh DONTCOPY
23+
2124
bin/build-linux-x64.sh DONTCOPY
2225

2326
bin/build-server.sh DONTCOPY

bin/release.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ LINUX_X64_BUILD=trilium-linux-x64-$VERSION.tar.xz
4848
DEBIAN_X64_BUILD=trilium_${VERSION}_amd64.deb
4949
WINDOWS_X64_BUILD=trilium-windows-x64-$VERSION.zip
5050
MAC_X64_BUILD=trilium-mac-x64-$VERSION.zip
51+
MAC_ARM64_BUILD=trilium-mac-arm64-$VERSION.zip
5152
SERVER_BUILD=trilium-linux-x64-server-$VERSION.tar.xz
5253

5354
echo "Creating release in GitHub"
@@ -68,4 +69,5 @@ gh release create "$TAG" \
6869
"dist/$LINUX_X64_BUILD" \
6970
"dist/$WINDOWS_X64_BUILD" \
7071
"dist/$MAC_X64_BUILD" \
72+
"dist/$MAC_ARM64_BUILD" \
7173
"dist/$SERVER_BUILD"

0 commit comments

Comments
 (0)