Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 121 additions & 0 deletions PKGBUILD_AUR
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# -----------------------------------------------------------------------------
# Author: damachine (christkue79@gmail.com)
# Maintainer: damachine <christkue79@gmail.com>
# Website: https://github.com/damachine
# Copyright: (c) 2025 damachine
# License: MIT
# Version: 1.0
# This software is provided "as is", without warranty of any kind, express or implied.
# I do not guarantee that it will work as intended on your system.
#
# Info:
# CoolerDash 'PKGBUILD' - For Arch/AUR building!
# This 'PKGBUILD' is hosted on AUR and is intended for automatic updates via AUR.
# This 'PKGBUILD' is designed for Arch Linux and derivatives.
# Build system for CoolerDash (C99 compliant).
# Project coding standards and packaging notes (see README for details)
#
# Details:
# This PKGBUILD handles build, install, dependencies, and packaging for Arch/AUR.
# Edit dependencies, paths, and user as needed for your system.
# Do not run as root. Use dedicated user for security.
# Ensure all required dependencies are installed.
# It uses color output and Unicode icons for better readability. All paths and dependencies are configurable.
# See 'README.md' for further details.
#
# Build:
# 'makepkg -si'
#
# Dependency:
# 'cairo' 'coolercontrol' 'jansson' 'libcurl-gnutls' 'libinih' are required for core functionality.
# 'ttf-roboto' is required for proper font rendering on the LCD.
# All dependencies are documented in 'README.md'.
# -----------------------------------------------------------------------------
pkgname=coolerdash-git
pkgver=1.60.r0.g8b31607
pkgrel=1
provides=('coolerdash')
replaces=('coolerdash')
conflicts=('coolerdash')
pkgdesc="Extends CoolerControl with a polished LCD dashboard"
arch=('x86_64')
url="https://github.com/damachine/coolerdash"
license=('MIT')
depends=('cairo' 'coolercontrol' 'jansson' 'libcurl-gnutls' 'libinih' 'ttf-roboto')
makedepends=('gcc' 'make' 'pkg-config' 'git')
backup=('etc/coolerdash/config.ini')
install=coolerdash.install
_commit=8b316075907c2fab32db6a3f4f12b1e6c18c8901
source=("git+https://github.com/damachine/coolerdash.git#commit=$_commit")
sha256sums=('SKIP')

# https://wiki.archlinux.org/title/Arch_package_guidelines#Package_sources
pkgver() {
cd "$srcdir/coolerdash"
git describe --tags --long --match "v*" | sed -E 's/^v//; s/-([0-9]+)-g/\.r\1.g/; s/-/./g'
}

build() {
# Build inside the checked-out repository
cd "$srcdir/coolerdash" || return 1

# Remove all previous tarball builds
rm -rf coolerdash-*.pkg.* || true
rm -rf build bin || true
mkdir -p build bin || true

# Clean any previous builds if a Makefile exists
if [[ -f Makefile || -f GNUmakefile ]]; then
make clean || true
fi

# Build
make || return 1

# Copy binary to $srcdir/bin for packaging
mkdir -p "$srcdir/bin"
cp -a bin/coolerdash "$srcdir/bin/coolerdash"

# Copy all required files for packaging to $srcdir
cp -a README.md "$srcdir/README.md"
cp -a CHANGELOG.md "$srcdir/CHANGELOG.md"
cp -a VERSION "$srcdir/VERSION"
cp -a LICENSE "$srcdir/LICENSE"
cp -a etc/coolerdash/config.ini "$srcdir/config.ini"
mkdir -p "$srcdir/images"
cp -a images/shutdown.png "$srcdir/images/shutdown.png"
mkdir -p "$srcdir/systemd"
cp -a etc/systemd/coolerdash.service "$srcdir/systemd/coolerdash.service"
mkdir -p "$srcdir/man"
cp -a man/coolerdash.1 "$srcdir/man/coolerdash.1"
}

check() {
# Check in the checked-out repository
cd "$srcdir/coolerdash" || return 1

if [[ -f bin/coolerdash ]]; then
echo "Build successful - binary created"
else
echo "ERROR: Binary not found"
return 1
fi
}

package() {
# Create necessary directories and install files
install -dm755 "$pkgdir/opt/coolerdash"
install -Dm644 "$srcdir/README.md" "$pkgdir/opt/coolerdash/README.md"
install -Dm644 "$srcdir/VERSION" "$pkgdir/opt/coolerdash/VERSION"
install -Dm644 "$srcdir/LICENSE" "$pkgdir/opt/coolerdash/LICENSE"
install -Dm644 "$srcdir/CHANGELOG.md" "$pkgdir/opt/coolerdash/CHANGELOG.md"
install -Dm644 "$srcdir/config.ini" "$pkgdir/etc/coolerdash/config.ini"
install -dm755 "$pkgdir/opt/coolerdash/bin"
install -Dm755 "$srcdir/bin/coolerdash" "$pkgdir/opt/coolerdash/bin/coolerdash"
install -dm755 "$pkgdir/opt/coolerdash/images"
install -Dm644 "$srcdir/images/shutdown.png" "$pkgdir/opt/coolerdash/images/shutdown.png"
install -dm755 "$pkgdir/usr/bin"
ln -sf /opt/coolerdash/bin/coolerdash "$pkgdir/usr/bin/coolerdash"
install -Dm644 "$srcdir/systemd/coolerdash.service" "$pkgdir/etc/systemd/system/coolerdash.service"
install -Dm644 "$srcdir/man/coolerdash.1" "$pkgdir/usr/share/man/man1/coolerdash.1"
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ journalctl -u coolerdash.service
**ℹ️ NOTE:**
- When CoolerDash stops (for example during system shutdown or reboot), it automatically displays the `shutdown.png` image from the install path. This happens because sensor data is no longer available at that point.
- You can customize this and much more as you wish, by editing the `/etc/coolerdash/config.ini` file.
- **📖 For detailed configuration options and examples, see: [Configuration Guide](docs/config.md)**

---

Expand Down
Loading