From 6f7269b9b681262677d26b33735b7ee82f0f8b60 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Mon, 13 Jul 2026 02:44:20 +0200 Subject: [PATCH] updated to use github repo for sdk --- Cargo.lock | 2 ++ Cargo.toml | 7 +++++-- packaging/PKGBUILD | 13 ++++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9e7ceab..e454c10 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3161,6 +3161,7 @@ dependencies = [ [[package]] name = "proton-drive-rs" version = "0.1.4" +source = "git+https://github.com/narrrl/proton-sdk-rs?branch=main#2e3c23803eecbdcb9f442c1e49229347f272596b" dependencies = [ "async-trait", "base64", @@ -3184,6 +3185,7 @@ dependencies = [ [[package]] name = "proton-sdk" version = "0.1.4" +source = "git+https://github.com/narrrl/proton-sdk-rs?branch=main#2e3c23803eecbdcb9f442c1e49229347f272596b" dependencies = [ "aes-gcm", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 806ca30..c3c7cbb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,5 +35,8 @@ fuser = "0.17" libc = "0.2" [patch.crates-io] -proton-sdk = { path = "../proton-sdk-rs/crates/proton-sdk" } -proton-drive-rs = { path = "../proton-sdk-rs/crates/proton-drive-rs" } +# Track the SDK's `main` on GitHub rather than a sibling checkout, so a clean +# clone (and CI, and the PKGBUILD) builds without the working tree next door. +# `cargo update -p proton-sdk -p proton-drive-rs` pulls newer pushes. +proton-sdk = { git = "https://github.com/narrrl/proton-sdk-rs", branch = "main" } +proton-drive-rs = { git = "https://github.com/narrrl/proton-sdk-rs", branch = "main" } diff --git a/packaging/PKGBUILD b/packaging/PKGBUILD index 60869c9..12f0165 100644 --- a/packaging/PKGBUILD +++ b/packaging/PKGBUILD @@ -1,9 +1,10 @@ # Maintainer: Nils Pukropp # # Local-build PKGBUILD. Builds the proton-drive-linux workspace from the -# checkout this file lives in. Path deps point at a sibling ../proton-sdk-rs -# checkout (the Proton SDK is unpublished), so this is NOT a source-fetch -# package: it compiles the working tree in place. +# checkout this file lives in: this is NOT a source-fetch package, it compiles +# the working tree in place. The Proton SDK is unpublished and comes from its +# GitHub repo (pinned by Cargo.lock), so the build needs network access — no +# sibling checkout required any more. # # Build + install: cd packaging && makepkg -fi @@ -15,7 +16,7 @@ arch=('x86_64') url="https://github.com/narl/proton-drive-linux" license=('MIT') depends=('fuse3' 'gtk4' 'libadwaita') -makedepends=('cargo') +makedepends=('cargo' 'git') provides=('pdfs') # Files-on-demand mount + keyring need these at runtime. optdepends=('gnome-keyring: credential storage via Secret Service' @@ -40,7 +41,9 @@ build() { cd "$_workspace" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR="$_workspace/target" - cargo build --release --frozen \ + # `--locked` not `--frozen`: the lock is authoritative, but cargo must still be + # allowed to fetch the git-sourced SDK. + cargo build --release --locked \ --bin pdfs \ --bin pdfs-tray \ --bin pdfs-app \