skykeep
LOW
maintainer Felitendo
0 votes
scanned 2026-11-05 22:10:45.226294
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: Felitendo
2
# This PKGBUILD is updated automatically:
3
# https://github.com/Felitendo/PKGBUILDS
4
5
pkgname=skykeep
6
pkgver=0.1.6
7
pkgrel=1
8
pkgdesc="Native iCloud apps: Notes, Reminders, Calendar, Contacts, Drive and Photos, offline and in sync"
9
arch=('x86_64')
10
url="https://github.com/YashwanthKamireddi/Skykeep"
11
license=('GPL-3.0-only')
12
# What the binary links (readelf -d), plus the GStreamer plugins it loads for
13
# videos: base and good for the elements, libav for H.264 and HEVC.
14
depends=('cairo' 'dbus' 'gdk-pixbuf2' 'glib2' 'glibc' 'gst-libav'
15
'gst-plugins-base' 'gst-plugins-base-libs' 'gst-plugins-good' 'gstreamer'
16
'gtk3' 'hicolor-icon-theme' 'libgcc' 'libheif' 'libsoup3' 'webkit2gtk-4.1')
17
makedepends=('rust' 'nodejs' 'npm' 'pkgconf')
18
# The keyring is spoken to over D-Bus, so it needs a Secret Service, not libsecret.
19
optdepends=('org.freedesktop.secrets: stay signed in'
20
'fuse3: iCloud Drive and Photos as folders in the file manager')
21
# !lto: makepkg's -flto=auto turns the C and assembly in ring and sqlite into
22
# bitcode that links to nothing. !debug: the release profile strips symbols.
23
options=('!lto' '!debug')
24
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
25
sha256sums=('65a63259c007f92d272d42cfcb2b38ff8a6c7c8a8b2d993e74d97f3b3fb46331')
26
27
prepare() {
28
cd "Skykeep-${pkgver}"
29
30
export RUSTUP_TOOLCHAIN=stable
31
cargo fetch --locked --target "$(rustc -vV | sed -n 's/^host: //p')"
32
npm ci --no-audit --no-fund
33
}
34
35
build() {
36
cd "Skykeep-${pkgver}"
37
38
export RUSTUP_TOOLCHAIN=stable
39
export CARGO_TARGET_DIR=target
40
# the web front end first, cargo builds it into the binary
41
npm run build
42
cargo build --release --frozen -p quince-app
43
}
44
45
package() {
46
cd "Skykeep-${pkgver}"
47
local _id=io.github.yashwanthkamireddi.Skykeep size
48
49
# The same files as upstream's packaging/arch/PKGBUILD, with the launcher
50
# named after the app ID.
51
install -Dm755 target/release/quince-app "$pkgdir/usr/bin/skykeep"
52
53
sed -e 's/{{name}}/Skykeep/' \
54
-e 's/{{comment}}/Your iCloud, on this computer/' \
55
-e 's/{{exec}}/skykeep/g' \
56
-e "s/{{icon}}/$_id/" \
57
-e 's/{{categories}}/Office;Calendar;ContactManagement;/' \
58
"packaging/$_id.desktop.in" > "$srcdir/$_id.desktop"
59
install -Dm644 "$srcdir/$_id.desktop" -t "$pkgdir/usr/share/applications"
60
install -Dm644 packaging/apps/*.desktop -t "$pkgdir/usr/share/applications"
61
62
sed "s|>Skykeep.desktop<|>$_id.desktop<|" "packaging/$_id.metainfo.xml" \
63
> "$srcdir/$_id.metainfo.xml"
64
install -Dm644 "$srcdir/$_id.metainfo.xml" -t "$pkgdir/usr/share/metainfo"
65
66
for size in 16x16:16x16 24x24:24x24 32x32:32x32 48x48:48x48 64x64:64x64 \
67
128x128:128x128 256x256:128x128@2x 512x512:icon; do
68
install -Dm644 "src-tauri/icons/${size#*:}.png" \
69
"$pkgdir/usr/share/icons/hicolor/${size%%:*}/apps/$_id.png"
70
done
71
72
# search results in GNOME Shell and KRunner
73
sed "s|^DesktopId=Skykeep.desktop$|DesktopId=$_id.desktop|" \
74
"packaging/$_id.search-provider.ini" > "$srcdir/$_id.search-provider.ini"
75
install -Dm644 "$srcdir/$_id.search-provider.ini" \
76
-t "$pkgdir/usr/share/gnome-shell/search-providers"
77
install -Dm644 "packaging/$_id.SearchProvider.service" \
78
-t "$pkgdir/usr/share/dbus-1/services"
79
install -Dm644 "packaging/$_id.krunner.desktop" \
80
-t "$pkgdir/usr/share/krunner/dbusplugins"
81
}
82
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-05 22:10:45 | Low | 1 |