diff --git a/pkgbuilds/perplexity/PKGBUILD b/pkgbuilds/perplexity/PKGBUILD index e7fe1d19..42a496e6 100644 --- a/pkgbuilds/perplexity/PKGBUILD +++ b/pkgbuilds/perplexity/PKGBUILD @@ -6,7 +6,7 @@ pkgname=perplexity pkgver=26.9.1+build61614 -pkgrel=1 +pkgrel=2 pkgdesc="Official Perplexity desktop app" arch=('x86_64' 'aarch64') url="https://www.perplexity.ai" @@ -56,6 +56,8 @@ depends=( optdepends=( 'apparmor: confine the app with the bundled user-namespace profile' 'libappindicator-gtk3: tray icon support' + 'docker: containerized local GPU runtime for on-device models' + 'nvidia-container-toolkit: containerized local GPU runtime for on-device models' ) makedepends=('libarchive') @@ -91,6 +93,23 @@ package() { bsdtar -xOf "${deb}" data.tar.xz | bsdtar --no-same-owner -xf - -C "${pkgdir}" + # 26.9.1 started shipping a systemd unit under /lib, and owning /lib -- a + # symlink owned by the filesystem package -- makes pacman refuse the whole + # transaction. The unit is also a no-op here: + # its setup script apt-installs Docker and the NVIDIA Container Toolkit and + # exits on any distro but Ubuntu (install those yourself; see optdepends). + # Delete it, but only it: anything else arriving outside the trees this + # PKGBUILD expects stops the build rather than shipping the next conflict. + local unexpected + unexpected=$(cd "${pkgdir}" && find . \( -type f -o -type l \) | grep -vE \ + '^\./(opt|usr)/|^\./lib/systemd/system/perplexity-local-runtime-setup\.service$' || true) + if [[ -n "${unexpected}" ]]; then + echo "Unexpected files outside opt/ and usr/ in the upstream deb:" >&2 + echo "${unexpected}" >&2 + return 1 + fi + rm -rf "${pkgdir}/lib" + # pacman never runs the deb's postinst, so the /usr/bin entry it would have # symlinked is a launcher here instead, and the menu entry goes through it so # the flags file applies there too. The scheme handler stays upstream's.