mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
76 lines
2.7 KiB
Bash
76 lines
2.7 KiB
Bash
# Maintainer: Nils Pukropp <contact@narl.io>
|
|
#
|
|
# Local-build PKGBUILD. Builds the proton-drive-linux workspace from the
|
|
# 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
|
|
|
|
pkgname=proton-drive-linux
|
|
pkgver=1.9.0
|
|
pkgrel=1
|
|
pkgdesc="Unofficial Proton Drive client for Linux: files-on-demand FUSE mount, CLI, GTK4 app + tray"
|
|
arch=('x86_64')
|
|
url="https://github.com/narrrl/proton-drive-linux"
|
|
license=('MIT')
|
|
depends=('fuse3' 'gtk4' 'libadwaita' 'webkitgtk-6.0')
|
|
makedepends=('cargo' 'git')
|
|
provides=('pdfs')
|
|
# Files-on-demand mount + keyring need these at runtime.
|
|
optdepends=('gnome-keyring: credential storage via Secret Service'
|
|
'xdg-utils: "Open folder" action from the tray')
|
|
options=('!lto' '!debug')
|
|
|
|
# Built in place from the checkout; nothing to fetch or checksum.
|
|
source=()
|
|
sha256sums=()
|
|
|
|
# Absolute path to the workspace root (packaging/ lives directly under it).
|
|
_workspace="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
pkgver() {
|
|
cd "$_workspace"
|
|
local v
|
|
v=$(grep -m1 '^version' Cargo.toml | cut -d'"' -f2)
|
|
printf '%s' "${v:-0.1.0}"
|
|
}
|
|
|
|
build() {
|
|
cd "$_workspace"
|
|
export RUSTUP_TOOLCHAIN=stable
|
|
export CARGO_TARGET_DIR="$_workspace/target"
|
|
# `--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 \
|
|
--bin pdfs-prompt
|
|
}
|
|
|
|
package() {
|
|
cd "$_workspace"
|
|
local rel="target/release"
|
|
|
|
install -Dm755 "$rel/pdfs" "$pkgdir/usr/bin/pdfs"
|
|
install -Dm755 "$rel/pdfs-tray" "$pkgdir/usr/bin/pdfs-tray"
|
|
install -Dm755 "$rel/pdfs-app" "$pkgdir/usr/bin/pdfs-app"
|
|
install -Dm755 "$rel/pdfs-prompt" "$pkgdir/usr/bin/pdfs-prompt"
|
|
|
|
install -Dm644 "packaging/io.narl.proton-drive-linux.desktop" \
|
|
"$pkgdir/usr/share/applications/io.narl.proton-drive-linux.desktop"
|
|
install -Dm644 "packaging/io.narl.proton-drive-linux-tray.desktop" \
|
|
"$pkgdir/etc/xdg/autostart/io.narl.proton-drive-linux-tray.desktop"
|
|
install -Dm644 "packaging/io.narl.proton-drive-linux.svg" \
|
|
"$pkgdir/usr/share/icons/hicolor/scalable/apps/io.narl.proton-drive-linux.svg"
|
|
|
|
# systemd user service that runs the auto-mount daemon. Enabled per-user by
|
|
# the GUI on login (`systemctl --user enable --now proton-drive.service`).
|
|
install -Dm644 "packaging/proton-drive.service" \
|
|
"$pkgdir/usr/lib/systemd/user/proton-drive.service"
|
|
|
|
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
|
}
|