Skip to content

Instantly share code, notes, and snippets.

@felixdorn
Created January 30, 2026 12:36
Show Gist options
  • Select an option

  • Save felixdorn/d26469ab9d490c1883f2bcb8c75de059 to your computer and use it in GitHub Desktop.

Select an option

Save felixdorn/d26469ab9d490c1883f2bcb8c75de059 to your computer and use it in GitHub Desktop.
# Maintainer: Diego Dorn <[email protected]>
pkgname=pucoti-git
pkgver=1.2.0.r0.g8fac3f4
pkgrel=1
pkgdesc="Desktop timer for tracking predicted vs actual task durations to overcome the planning fallacy"
arch=('x86_64')
url="https://github.com/ddorn/pucoti-tauri"
license=('MIT')
depends=(
'gtk3'
'webkit2gtk-4.1'
)
makedepends=(
'cargo'
'git'
'npm'
'rust'
)
optdepends=(
'pucoti-gnome-extension: Show timer status in GNOME panel'
'sway: Tiling WM with advanced window positioning support'
'libnotify: Desktop notifications'
)
provides=('pucoti')
conflicts=('pucoti' 'pucoti-bin')
source=("${pkgname}::git+${url}.git")
sha256sums=('SKIP')
pkgver() {
cd "${pkgname}"
git describe --long --tags --abbrev=7 2>/dev/null | sed 's/^pucoti-v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd "${pkgname}"
npm ci
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "${pkgname}"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
npm run tauri build -- --bundles none
}
package() {
cd "${pkgname}"
install -Dm755 "src-tauri/target/release/pucoti" "${pkgdir}/usr/bin/pucoti"
install -Dm644 "src-tauri/icons/128x128.png" "${pkgdir}/usr/share/icons/hicolor/128x128/apps/pucoti.png"
install -Dm644 "src-tauri/icons/32x32.png" "${pkgdir}/usr/share/icons/hicolor/32x32/apps/pucoti.png"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# Install desktop file
cat > "${pkgdir}/usr/share/applications/pucoti.desktop" << EOF
[Desktop Entry]
Name=Pucoti
Comment=Timer for tracking predicted vs actual task durations
Exec=pucoti
Icon=pucoti
Terminal=false
Type=Application
Categories=Utility;Clock;
Keywords=timer;productivity;time;tracking;
EOF
chmod 644 "${pkgdir}/usr/share/applications/pucoti.desktop"
}
# Maintainer: Diego Dorn <[email protected]>
pkgname=pucoti-gnome-extension
pkgver=1
pkgrel=1
pkgdesc="GNOME Shell extension to display Pucoti timer status in the top panel"
arch=('any')
url="https://github.com/ddorn/pucoti-tauri"
license=('MIT')
depends=('gnome-shell')
optdepends=('pucoti: The timer application this extension displays')
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/pucoti-v1.2.0.tar.gz")
sha256sums=('e078b23c4c7002da20775cc9612e6f34a77c2aebe03022c3aa8baa58dd2e1e0c')
package() {
cd "pucoti-tauri-pucoti-v1.2.0"
local _extdir="${pkgdir}/usr/share/gnome-shell/extensions/[email protected]"
install -dm755 "${_extdir}"
install -Dm644 gnome-extension/[email protected]/extension.js "${_extdir}/extension.js"
install -Dm644 gnome-extension/[email protected]/metadata.json "${_extdir}/metadata.json"
install -Dm644 gnome-extension/[email protected]/stylesheet.css "${_extdir}/stylesheet.css"
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
# Maintainer: Diego Dorn <[email protected]>
pkgname=pucoti-bin
pkgver=1.2.0
pkgrel=1
pkgdesc="Desktop timer for tracking predicted vs actual task durations to overcome the planning fallacy"
arch=('x86_64')
url="https://github.com/ddorn/pucoti-tauri"
license=('MIT')
depends=(
'gtk3'
'webkit2gtk-4.1'
)
optdepends=(
'pucoti-gnome-extension: Show timer status in GNOME panel'
'sway: Tiling WM with advanced window positioning support'
'libnotify: Desktop notifications'
)
provides=('pucoti')
conflicts=('pucoti' 'pucoti-git')
install=pucoti.install
source=(
"${pkgname}-${pkgver}.deb::${url}/releases/download/pucoti-v${pkgver}/Pucoti_${pkgver}_amd64.deb"
"LICENSE-${pkgver}::https://raw.githubusercontent.com/ddorn/pucoti-tauri/pucoti-v${pkgver}/LICENSE"
)
sha256sums=('60602c613b1d89bd6dbb230ca295115f5c08c229072183e6da0d43da10a3ec5e'
'c21c840d3c9dd6e5192ac0e4fb41772a6b1590386bc8d64d19184c0c3dae3c69')
package() {
bsdtar -xf data.tar.gz -C "${pkgdir}"
install -Dm644 "LICENSE-${pkgver}" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment