From a11120f144c24f77d1759ef96f0bfeb1c6a5d2eb Mon Sep 17 00:00:00 2001 From: Caleb Norton Date: Tue, 11 Mar 2025 17:00:34 -0500 Subject: [PATCH] trilium-next-desktop: add arm64 distributions --- .../tr/trilium-next-desktop/package.nix | 49 +++++++++++++------ .../by-name/tr/trilium-next-desktop/update.sh | 8 ++- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/tr/trilium-next-desktop/package.nix b/pkgs/by-name/tr/trilium-next-desktop/package.nix index 754d16bdf9c4..ee0355aece23 100644 --- a/pkgs/by-name/tr/trilium-next-desktop/package.nix +++ b/pkgs/by-name/tr/trilium-next-desktop/package.nix @@ -3,7 +3,6 @@ lib, unzip, fetchurl, - fetchzip, makeBinaryWrapper, # use specific electron since it has to load a compiled module electron_34, @@ -18,11 +17,28 @@ let pname = "trilium-next-desktop"; version = "0.91.6"; - linuxSource.url = "https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-linux-x64.zip"; - linuxSource.sha256 = "13r9akfakmrpvnyab182irhraf9hpqb24205r8rxjfgj8dpmfa4p"; + triliumSource = os: arch: sha256: { + url = "https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-${os}-${arch}.zip"; + inherit sha256; + }; - darwinSource.url = "https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-macos-x64.zip"; - darwinSource.sha256 = "0iaz4wim11x110phg4xgzdw3sjcbmxwbksk5gpygjbhlzhjprnnp"; + linuxSource = triliumSource "linux"; + darwinSource = triliumSource "macos"; + + # exposed like this for update.sh + x86_64-linux.sha256 = "13r9akfakmrpvnyab182irhraf9hpqb24205r8rxjfgj8dpmfa4p"; + aarch64-linux.sha256 = "07bh5fcdcw3al5w8nqx5kxzqa5vgni27gb6591y6j6jynz6cmyqp"; + x86_64-darwin.sha256 = "0iaz4wim11x110phg4xgzdw3sjcbmxwbksk5gpygjbhlzhjprnnp"; + aarch64-darwin.sha256 = "1x2s8sdz89sy69lvdg552qmr3chj20d32sskks1r8g5rs16fwqd1"; + + sources = { + x86_64-linux = linuxSource "x64" x86_64-linux.sha256; + aarch64-linux = linuxSource "arm64" aarch64-linux.sha256; + x86_64-darwin = darwinSource "x64" x86_64-darwin.sha256; + aarch64-darwin = darwinSource "arm64" aarch64-darwin.sha256; + }; + + src = fetchurl sources.${stdenv.hostPlatform.system}; meta = { description = "Hierarchical note taking application with focus on building large personal knowledge bases"; @@ -34,16 +50,16 @@ let fliegendewurst ]; mainProgram = "trilium"; - platforms = [ - "x86_64-linux" - "x86_64-darwin" - ]; + platforms = lib.attrNames sources; }; linux = stdenv.mkDerivation rec { - inherit pname version meta; - - src = fetchurl linuxSource; + inherit + pname + version + meta + src + ; # Remove trilium-portable.sh, so trilium knows it is packaged making it stop auto generating a desktop item on launch postPatch = '' @@ -113,9 +129,12 @@ let }; darwin = stdenv.mkDerivation { - inherit pname version meta; - - src = fetchurl darwinSource; + inherit + pname + version + meta + src + ; nativeBuildInputs = [ unzip diff --git a/pkgs/by-name/tr/trilium-next-desktop/update.sh b/pkgs/by-name/tr/trilium-next-desktop/update.sh index 2aa423d37f9f..eb021588e27c 100755 --- a/pkgs/by-name/tr/trilium-next-desktop/update.sh +++ b/pkgs/by-name/tr/trilium-next-desktop/update.sh @@ -13,9 +13,13 @@ setKV ./package.nix version $version # Update desktop application sha256_linux64=$(nix-prefetch-url --quiet https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-linux-x64.zip) +sha256_linux64_arm=$(nix-prefetch-url --quiet https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-linux-arm64.zip) sha256_darwin64=$(nix-prefetch-url --quiet https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-macos-x64.zip) -setKV ./package.nix linuxSource.sha256 $sha256_linux64 -setKV ./package.nix darwinSource.sha256 $sha256_darwin64 +sha256_darwin64_arm=$(nix-prefetch-url --quiet https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-v${version}-macos-arm64.zip) +setKV ./package.nix x86_64-linux.sha256 $sha256_linux64 +setKV ./package.nix aarch64-linux.sha256 $sha256_linux64_arm +setKV ./package.nix x86_64-darwin.sha256 $sha256_darwin64 +setKV ./package.nix aarch64-darwin.sha256 $sha256_darwin64_arm # Update server sha256_linux64_server=$(nix-prefetch-url --quiet https://github.com/TriliumNext/Notes/releases/download/v${version}/TriliumNextNotes-linux-x64-v${version}.tar.xz)