librepods-bin: add package (1.0.0rc1-1)

This commit is contained in:
Felitendo committed 2026-07-24 09:13:19 +02:00
1 parent 41c6862577
commit 827762a6d4
3 files changed
+88

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
# librepods-bin - prebuilt package of https://github.com/librepods-org/librepods
# (AirPods integration for Linux, Qt6/C++ client in the linux/ subdirectory).
#
# Upstream releases carry only Android APKs, so build_artifact() builds the
# Linux client from the release tarball. Upstream tags look like v1.0.0-rc1;
# pkgver strips the hyphen (1.0.0rc1, sorts before 1.0.0 in vercmp) and
# build_artifact re-inserts it for the tag URL.
UPSTREAM_REPO="librepods-org/librepods"
# Installed in CI (pacman) before build_artifact runs.
BUILD_DEPS=(cmake qt6-base qt6-connectivity qt6-declarative qt6-tools
libpulse openssl)
latest_version() {
gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//; s/-//g'
}
# build_artifact <version> <output-file>
build_artifact() {
local ver="$1" outfile="$2"
local upver workdir destdir srctree
upver="$(sed -E 's/([a-z])/-\1/' <<< "$ver")"
workdir="$(mktemp -d)"
destdir="$(mktemp -d)"
curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$upver.tar.gz" | tar -xz -C "$workdir"
srctree="$workdir/librepods-$upver"
cmake -B "$workdir/build" -S "$srctree/linux" -Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_SKIP_RPATH=TRUE
cmake --build "$workdir/build" -j"$(nproc)"
DESTDIR="$destdir" cmake --install "$workdir/build"
# These caches are generated by pacman hooks; shipping them would cause
# file conflicts on install.
rm -f "$destdir/usr/share/applications/mimeinfo.cache" \
"$destdir/usr/share/icons/hicolor/icon-theme.cache"
tar --zstd --sort=name --owner=0 --group=0 --numeric-owner --mtime='@0' \
-cf "$outfile" -C "$destdir" usr
rm -rf "$workdir" "$destdir"
}