diff --git a/PKGBUILD b/PKGBUILD index adc0d2b..dd1d37d 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,19 +2,39 @@ pkgname=yt-offline pkgver=0.1.0 pkgrel=1 -pkgdesc="A desktop app for archiving YouTube channels with yt-dlp" +pkgdesc="Self-hosted archive for YouTube, TikTok, Twitch, Vimeo, Bandcamp, SoundCloud, Odysee and more. Desktop GUI + web UI." arch=('x86_64' 'aarch64') url="https://codeberg.org/anassaeneroi/yt-offline" license=('AGPL-3.0-only') -depends=('yt-dlp' 'mpv' 'sqlite' 'libxcb') +depends=( + 'yt-dlp' + 'ffmpeg' + 'mpv' + 'sqlite' + 'libxcb' + 'xdg-utils' +) +optdepends=( + 'libnotify: desktop notifications when downloads finish' +) makedepends=('rust' 'cargo') options=('!lto') # rusqlite bundled sqlite cannot be LTO-linked with rust-lld source=("git+https://codeberg.org/anassaeneroi/yt-offline.git") sha256sums=('SKIP') +pkgver() { + cd "$pkgname" + # 0.1.0.r12.gabcdef0 — last tag, commits since, short hash + git describe --long --tags --always 2>/dev/null \ + | sed 's/^v//; s/\([^-]*-g\)/r\1/; s/-/./g' \ + || printf "0.1.0.r%s.g%s" \ + "$(git rev-list --count HEAD)" \ + "$(git rev-parse --short HEAD)" +} + build() { cd "$pkgname" - cargo build --release --locked + cargo build --release --frozen } package() { @@ -22,11 +42,7 @@ package() { install -Dm755 target/release/yt-offline "$pkgdir/usr/bin/yt-offline" install -Dm644 youtube-backup.desktop "$pkgdir/usr/share/applications/yt-offline.desktop" - - if [ -f "icon.png" ]; then - install -Dm644 icon.png "$pkgdir/usr/share/pixmaps/yt-offline.png" - fi - + install -Dm644 icon.png "$pkgdir/usr/share/pixmaps/yt-offline.png" install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" - install -Dm644 config.toml "$pkgdir/etc/yt-offline/config.toml.example" + install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md" } diff --git a/youtube-backup.desktop b/youtube-backup.desktop index 767b72c..ad89c56 100644 --- a/youtube-backup.desktop +++ b/youtube-backup.desktop @@ -1,9 +1,11 @@ [Desktop Entry] Type=Application -Name=YouTube Offline -Comment=Download and manage YouTube channel backups -Exec=youtube-backup -Icon=youtube-backup -Categories=Utility;Video; +Name=YT Offline +GenericName=Video Archiver +Comment=Self-hosted archive for YouTube, TikTok, Twitch, and more +Exec=yt-offline +Icon=yt-offline +Categories=AudioVideo;Video;Network; +Keywords=youtube;yt-dlp;archive;backup;download; StartupNotify=true Terminal=false