From ca968f0e26d7226d33a207b5456d2bd7ef77f250 Mon Sep 17 00:00:00 2001 From: Felitendo <95575686+Felitendo@users.noreply.github.com> Date: Fri, 24 Jul 2026 09:13:19 +0200 Subject: [PATCH] planify-bin: add package (4.19.5-1) --- planify-bin/.SRCINFO | 29 ++++++++++++++++++++++ planify-bin/PKGBUILD | 22 +++++++++++++++++ planify-bin/pkg.sh | 57 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 planify-bin/.SRCINFO create mode 100644 planify-bin/PKGBUILD create mode 100644 planify-bin/pkg.sh diff --git a/planify-bin/.SRCINFO b/planify-bin/.SRCINFO new file mode 100644 index 0000000..08b6b05 --- /dev/null +++ b/planify-bin/.SRCINFO @@ -0,0 +1,29 @@ +pkgbase = planify-bin + pkgdesc = Task manager with Todoist and Nextcloud support (prebuilt, bundles gxml) + pkgver = 4.19.5 + pkgrel = 1 + url = https://useplanify.com + arch = x86_64 + license = GPL-3.0-or-later + depends = evolution-data-server + depends = gtk4 + depends = gtksourceview5 + depends = icu + depends = json-glib + depends = libadwaita + depends = libgee + depends = libical + depends = libportal + depends = libportal-gtk4 + depends = libsecret + depends = libsoup3 + depends = libspelling + depends = sqlite + depends = hicolor-icon-theme + provides = planify + conflicts = planify + conflicts = elementary-planner + source = https://github.com/Felitendo/PKGBUILDS/releases/download/planify-bin-4.19.5/planify-bin-4.19.5.tar.zst + sha256sums = 563a80c7660b207f6c139e0f78bcb49631e8369be29369a7a984b022816b8c0f + +pkgname = planify-bin diff --git a/planify-bin/PKGBUILD b/planify-bin/PKGBUILD new file mode 100644 index 0000000..289f045 --- /dev/null +++ b/planify-bin/PKGBUILD @@ -0,0 +1,22 @@ +# Maintainer: Felitendo +# This PKGBUILD is updated automatically: +# https://github.com/Felitendo/PKGBUILDS + +pkgname=planify-bin +pkgver=4.19.5 +pkgrel=1 +pkgdesc="Task manager with Todoist and Nextcloud support (prebuilt, bundles gxml)" +arch=('x86_64') +url="https://useplanify.com" +license=('GPL-3.0-or-later') +depends=('evolution-data-server' 'gtk4' 'gtksourceview5' 'icu' 'json-glib' + 'libadwaita' 'libgee' 'libical' 'libportal' 'libportal-gtk4' + 'libsecret' 'libsoup3' 'libspelling' 'sqlite' 'hicolor-icon-theme') +provides=('planify') +conflicts=('planify' 'elementary-planner') +source=("https://github.com/Felitendo/PKGBUILDS/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.zst") +sha256sums=('563a80c7660b207f6c139e0f78bcb49631e8369be29369a7a984b022816b8c0f') + +package() { + cp -a "$srcdir/usr" "$pkgdir/" +} diff --git a/planify-bin/pkg.sh b/planify-bin/pkg.sh new file mode 100644 index 0000000..f9f43a2 --- /dev/null +++ b/planify-bin/pkg.sh @@ -0,0 +1,57 @@ +# planify-bin - prebuilt package of https://github.com/alainm23/planify +# (task manager with Todoist/Nextcloud support, Vala/GTK4 + LibAdwaita). +# +# Upstream publishes no binary assets, so build_artifact() builds from the +# release tarball. The chrono and gxml dependencies are resolved through the +# meson wrap subprojects upstream ships (gxml is not packaged in the official +# Arch repos, so the library ends up bundled inside this package). + +UPSTREAM_REPO="alainm23/planify" + +# Installed in CI (pacman) before build_artifact runs. gxml is deliberately +# absent: meson then falls back to the bundled gxml-0.20.wrap subproject. +BUILD_DEPS=(meson ninja vala git gobject-introspection gettext glib2-devel + gtk4 libadwaita libgee gtksourceview5 json-glib libical libportal + libportal-gtk4 libsecret libsoup3 libspelling sqlite + evolution-data-server icu) + +latest_version() { + gh api "repos/$UPSTREAM_REPO/releases/latest" --jq '.tag_name' | sed 's/^v//' +} + +# build_artifact +build_artifact() { + local ver="$1" outfile="$2" + local workdir destdir srctree + workdir="$(mktemp -d)" + destdir="$(mktemp -d)" + + curl -sfL "https://github.com/$UPSTREAM_REPO/archive/refs/tags/v$ver.tar.gz" | tar -xz -C "$workdir" + srctree="$workdir/planify-$ver" + + # The preferences dialog suggests a flatpak-only quick-add command; point it + # at the plain binary instead (same fix as the AUR source package). + grep -q 'flatpak run --command=io.github.alainm23.planify.quick-add' \ + "$srctree/src/Dialogs/Preferences/Pages/QuickAdd.vala" \ + && sed -i 's|flatpak run --command=io.github.alainm23.planify.quick-add|io.github.alainm23.planify.quick-add|' \ + "$srctree/src/Dialogs/Preferences/Pages/QuickAdd.vala" \ + || echo "WARNING: quick-add flatpak command not found, sed skipped" >&2 + + meson setup "$workdir/build" "$srctree" --prefix=/usr --buildtype=release + meson install -C "$workdir/build" --destdir "$destdir" + + # convenience names, as in the AUR source package + ln -s io.github.alainm23.planify "$destdir/usr/bin/planify" + ln -s io.github.alainm23.planify.quick-add "$destdir/usr/bin/planify.quick-add" + + # These caches are generated by pacman hooks; shipping them would cause + # file conflicts on install. + rm -f "$destdir/usr/share/glib-2.0/schemas/gschemas.compiled" \ + "$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" +}