diff options
| -rw-r--r-- | .forgejo/workflows/build-hyprland.yml | 156 | ||||
| -rw-r--r-- | .forgejo/workflows/hyprland-update-check.yml | 129 | ||||
| -rw-r--r-- | hyprland-raveos/aquamarine/PKGBUILD | 45 | ||||
| -rw-r--r-- | hyprland-raveos/dms-shell/PKGBUILD | 90 | ||||
| -rw-r--r-- | hyprland-raveos/hyprcursor/PKGBUILD | 36 | ||||
| -rw-r--r-- | hyprland-raveos/hyprgraphics/PKGBUILD | 42 | ||||
| -rw-r--r-- | hyprland-raveos/hyprland-guiutils/PKGBUILD | 40 | ||||
| -rw-r--r-- | hyprland-raveos/hyprland-qt-support/PKGBUILD | 41 | ||||
| -rw-r--r-- | hyprland-raveos/hyprland/PKGBUILD | 105 | ||||
| -rw-r--r-- | hyprland-raveos/hyprlang/PKGBUILD | 32 | ||||
| -rw-r--r-- | hyprland-raveos/hyprpolkitagent/PKGBUILD | 39 | ||||
| -rw-r--r-- | hyprland-raveos/hyprutils/PKGBUILD | 35 | ||||
| -rw-r--r-- | hyprland-raveos/hyprwayland-scanner/PKGBUILD | 29 | ||||
| -rw-r--r-- | hyprland-raveos/hyprwire/PKGBUILD | 38 | ||||
| -rw-r--r-- | hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD | 58 |
15 files changed, 915 insertions, 0 deletions
diff --git a/.forgejo/workflows/build-hyprland.yml b/.forgejo/workflows/build-hyprland.yml new file mode 100644 index 0000000..f60c8ba --- /dev/null +++ b/.forgejo/workflows/build-hyprland.yml @@ -0,0 +1,156 @@ +name: Build hyprland-raveos stack + +on: + push: + branches: + - main + paths: + - 'hyprland-raveos/**' + workflow_dispatch: + +concurrency: + group: raveos-hyprland-build + cancel-in-progress: true + +jobs: + build: + runs-on: iso-builder + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install build dependencies + run: | + set -euo pipefail + sudo pacman -S --needed --noconfirm \ + base-devel cmake meson ninja clang llvm lld rust go git \ + wayland wayland-protocols cairo pango libxkbcommon libinput \ + libdrm mesa libglvnd pixman xorg-xwayland rsync + + - name: Fetch core repo via rsync + run: | + set -euo pipefail + RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no" + rm -rf /tmp/raveos-core-repo + mkdir -p /tmp/raveos-core-repo/x86_64 + rsync -az -e "$RSYNC_SSH" \ + root@10.66.66.1:/root/docker/repo/repo/x86_64/ /tmp/raveos-core-repo/x86_64/ || true + mkdir -p /tmp/builtpkgs + + - name: Import GPG signing key + run: | + set -euo pipefail + export GNUPGHOME=/tmp/raveos-gnupg + rm -rf "$GNUPGHOME" + mkdir -m 700 "$GNUPGHOME" + echo "${{ secrets.GPG_PRIVATE_KEY }}" | base64 -d | gpg --batch --import + + - name: Build hyprland-raveos stack + run: | + set -euo pipefail + ORDER=( + hyprutils + hyprlang + hyprwayland-scanner + aquamarine + hyprcursor + hyprgraphics + hyprwire + hyprland-guiutils + hyprland + xdg-desktop-portal-hyprland + hyprpolkitagent + hyprland-qt-support + dms-shell + ) + + mkdir -p /tmp/builtpkgs + CORE="/tmp/raveos-core-repo/x86_64" + + for pkg in "${ORDER[@]}"; do + dir="hyprland-raveos/$pkg" + [ -d "$dir" ] || continue + + PKGVER=$(grep '^pkgver=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"") + PKGREL=$(grep '^pkgrel=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"") + + echo "=== Checking $pkg (${PKGVER}-${PKGREL}) ===" + if ls "$CORE"/${pkg}-${PKGVER}-${PKGREL}-*.pkg.tar.zst 2>/dev/null | grep -q .; then + echo "$pkg already built -> skipping" + continue + fi + + echo "=== Building $pkg ===" + cd "$dir" + chmod -R 777 . + sudo -u builder makepkg -s --noconfirm --needed + + for built in *.pkg.tar.zst; do + [ -f "$built" ] || continue + cp -v "$built" /tmp/builtpkgs/ + sudo pacman -U --noconfirm "$built" || true + done + cd - >/dev/null + done + + - name: Sign built packages + run: | + set -euo pipefail + export GNUPGHOME=/tmp/raveos-gnupg + for pkg in /tmp/builtpkgs/*.pkg.tar.zst; do + [ -f "$pkg" ] || continue + gpg --batch --yes --pinentry-mode loopback \ + --passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \ + --local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \ + --detach-sign --no-armor "$pkg" + done + + - name: Update repo database and sync to VPS + run: | + set -euo pipefail + BUILT=$(ls /tmp/builtpkgs/*.pkg.tar.zst 2>/dev/null || true) + if [ -z "$BUILT" ]; then + echo "Nincs új csomag -> kihagyva" + exit 0 + fi + + CORE="/tmp/raveos-core-repo/x86_64" + for pkg in $BUILT; do + PKGFILE=$(basename "$pkg") + PKGNAME=$(echo "$PKGFILE" | sed 's/-[0-9][^-]*-[^-]*-[^-]*\.pkg\.tar\.zst$//') + rm -f "$CORE/${PKGNAME}-"*.pkg.tar.zst* 2>/dev/null || true + cp -v "$pkg" "$CORE/" + [ -f "$pkg.sig" ] && cp -v "$pkg.sig" "$CORE/" + done + + export GNUPGHOME=/tmp/raveos-gnupg + cd "$CORE" + ALLPKGS=$(ls *.pkg.tar.zst) + repo-add raveos-core-repo.db.tar.xz $ALLPKGS + + for f in raveos-core-repo.db.tar.xz raveos-core-repo.files.tar.xz; do + gpg --batch --yes --pinentry-mode loopback \ + --passphrase "${{ secrets.GPG_PRIVATE_KEY_PASSPHRASE }}" \ + --local-user 25C7668F1235F5664F037671BDB2A9CE6EBFF113 \ + --detach-sign --no-armor -o "$f.sig" "$f" + done + ln -sf raveos-core-repo.db.tar.xz.sig raveos-core-repo.db.sig + ln -sf raveos-core-repo.files.tar.xz.sig raveos-core-repo.files.sig + + RSYNC_SSH="ssh -p 2222 -i $HOME/.ssh/vps_backup_key -o StrictHostKeyChecking=no" + rsync -az --delete -e "$RSYNC_SSH" \ + "$CORE/" root@10.66.66.1:/root/docker/repo/repo/x86_64/ + + echo "::notice title=Hyprland stack published::All packages updated in repo" + + - name: Cleanup + if: always() + run: | + gpgconf --homedir /tmp/raveos-gnupg --kill gpg-agent || true + sudo rm -rf /tmp/raveos-gnupg || true + sudo rm -rf /tmp/builtpkgs || true + sudo rm -rf /tmp/raveos-core-repo || true + df -h diff --git a/.forgejo/workflows/hyprland-update-check.yml b/.forgejo/workflows/hyprland-update-check.yml new file mode 100644 index 0000000..f6afab7 --- /dev/null +++ b/.forgejo/workflows/hyprland-update-check.yml @@ -0,0 +1,129 @@ +name: Hyprland Stack Update Check + +on: + schedule: + - cron: '0 6 * * 1,4' + workflow_dispatch: + +jobs: + check-update: + runs-on: iso-builder + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.FORGEJO_TOKEN }} + + - name: Check for existing open PR + id: prcheck + run: | + set -euo pipefail + OPEN_PRS=$(curl -fsSL \ + -H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \ + "https://git.rp1.hu/api/v1/repos/${{ github.repository }}/pulls?state=open&limit=50") + EXISTS=$(echo "$OPEN_PRS" | python3 -c " + import sys, json + pulls = json.load(sys.stdin) + found = any(p.get('head', {}).get('ref', '').startswith('update/hyprland-stack') for p in pulls) + print('yes' if found else 'no') + ") + echo "EXISTS=$EXISTS" >> $GITHUB_OUTPUT + echo "Open PR exists: $EXISTS" + + - name: Check upstream versions + id: check + if: steps.prcheck.outputs.EXISTS == 'no' + run: | + set -euo pipefail + sudo pacman -S --needed --noconfirm pacman-contrib curl jq + + UPDATED_PKGS=() + SUMMARY="" + + PKGS=( + hyprutils + hyprlang + hyprwayland-scanner + aquamarine + hyprcursor + hyprgraphics + hyprwire + hyprland-guiutils + hyprland + xdg-desktop-portal-hyprland + hyprpolkitagent + hyprland-qt-support + dms-shell + ) + + for pkg in "${PKGS[@]}"; do + dir="hyprland-raveos/$pkg" + [ -d "$dir" ] || continue + + LOCAL_VER=$(grep '^pkgver=' "$dir/PKGBUILD" | head -1 | cut -d= -f2 | tr -d "'\"") + + UPSTREAM_PKGBUILD=$(curl -fsSL --retry 3 "https://gitlab.archlinux.org/archlinux/packaging/packages/${pkg}/-/raw/main/PKGBUILD" 2>/dev/null || true) + [ -n "$UPSTREAM_PKGBUILD" ] || continue + + UPSTREAM_VER=$(echo "$UPSTREAM_PKGBUILD" | grep '^pkgver=' | head -1 | cut -d= -f2 | tr -d "'\"") + [ -n "$UPSTREAM_VER" ] || continue + + if [ "$LOCAL_VER" != "$UPSTREAM_VER" ]; then + echo "Update available for $pkg: $LOCAL_VER -> $UPSTREAM_VER" + + # Frissites letoltese es pkgrel beallitasa + echo "$UPSTREAM_PKGBUILD" > "$dir/PKGBUILD" + sed -i 's/^pkgrel=[0-9]*/pkgrel=10/' "$dir/PKGBUILD" + if [ "$pkg" = "hyprpolkitagent" ] || [ "$pkg" = "hyprland-qt-support" ]; then + sed -i 's/^pkgrel=10/pkgrel=20/' "$dir/PKGBUILD" + fi + + UPDATED_PKGS+=("$pkg") + SUMMARY="${SUMMARY}\n- **${pkg}**: \`${LOCAL_VER}\` -> \`${UPSTREAM_VER}-10\`" + else + echo "$pkg is up-to-date ($LOCAL_VER)" + fi + done + + if [ ${#UPDATED_PKGS[@]} -gt 0 ]; then + echo "HAS_UPDATES=yes" >> $GITHUB_OUTPUT + echo "COUNT=${#UPDATED_PKGS[@]}" >> $GITHUB_OUTPUT + echo -e "SUMMARY<<EOF\n${SUMMARY}\nEOF" >> $GITHUB_OUTPUT + else + echo "HAS_UPDATES=no" >> $GITHUB_OUTPUT + echo "No updates found for hyprland stack." + fi + + - name: Create branch and open single Pull Request + if: steps.prcheck.outputs.EXISTS == 'no' && steps.check.outputs.HAS_UPDATES == 'yes' + run: | + set -euo pipefail + DATE=$(date +%Y%m%d-%H%M) + BRANCH="update/hyprland-stack-${DATE}" + + git config user.name "RaveOS Bot" + git config user.email "bot@raveos.hu" + git checkout -b "$BRANCH" + + git add hyprland-raveos/ + git commit -m "update: hyprland stack (${{ steps.check.outputs.COUNT }} packages)" + + git remote set-url origin "https://bot:${{ secrets.FORGEJO_TOKEN }}@git.rp1.hu/RaveOS/RaveOS-PKGBUILD.git" + git push origin "$BRANCH" + + PR_BODY="Automata Hyprland stack frissítés (${{ steps.check.outputs.COUNT }} csomag):\n${{ steps.check.outputs.SUMMARY }}\n\nA csomagok a merge után az \`iso-builder\` runneren sorrendben fordulnak le, GPG aláírással kerülnek a RaveOS repóba." + + curl -fsSL -X POST \ + -H "Authorization: token ${{ secrets.FORGEJO_TOKEN }}" \ + -H "Content-Type: application/json" \ + "https://git.rp1.hu/api/v1/repos/${{ github.repository }}/pulls" \ + -d "$(jq -n \ + --arg title "Hyprland stack frissítés (${{ steps.check.outputs.COUNT }} csomag)" \ + --arg head "$BRANCH" \ + --arg base "main" \ + --arg body "$PR_BODY" \ + '{title: $title, head: $head, base: $base, body: $body}')" + + echo "Single PR successfully opened for hyprland stack update." diff --git a/hyprland-raveos/aquamarine/PKGBUILD b/hyprland-raveos/aquamarine/PKGBUILD new file mode 100644 index 0000000..4a513b7 --- /dev/null +++ b/hyprland-raveos/aquamarine/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Contributor: Aaron Blasko <blaskoazzolaaaron [at] gmail.com> + +pkgname=aquamarine +pkgver=0.15.0 +pkgrel=10 +pkgdesc='a very light linux rendering backend library' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(libgcc + libstdc++ + glibc # libc.so libm.so + hyprutils libhyprutils.so + libdisplay-info libdisplay-info.so + libdrm # libdrm.so + libglvnd libEGL.so + libinput # libinput.so + mesa # libgbm.so + opengl-driver + pixman + seatd libseat.so + systemd-libs libudev.so + wayland libwayland-client.so + wayland-protocols) +makedepends=(cmake + hyprwayland-scanner) +provides=("lib$pkgname.so") +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('bb5323f58cd2f379cb11c39893336e49980fe2e9fb101745addd87cebde3d13d') + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/hyprland-raveos/dms-shell/PKGBUILD b/hyprland-raveos/dms-shell/PKGBUILD new file mode 100644 index 0000000..89cc547 --- /dev/null +++ b/hyprland-raveos/dms-shell/PKGBUILD @@ -0,0 +1,90 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> + +pkgbase=dms-shell +_pkg1=DankMaterialShell +_pkg2=dank-qml-common +pkgname=($pkgbase $pkgbase-hyprland $pkgbase-niri) +pkgver=1.6.0 +pkgrel=10 +pkgdesc='A Quickshell-based desktop shell with Material 3 design principles' +arch=(x86_64 aarch64) +url="https://github.com/AvengeMedia/$_pkg1" +license=(MIT) +depends=(accountsservice + quickshell) +optdepends=('cava: Audio visualizer' + 'cups-pk-helper: Printer Management' + 'i2c-tools: External monitor brightness control' + 'iwd: Required for network managementa via iwd' + 'matugen: Dynamic wallpaper-based theming' + 'networkmanager: Required for network managementa via networkmanager' + 'power-profiles-daemon: Set power profile' + 'qt6-multimedia: Sound effect support' + 'qt6ct: Qt6 application theming' + 'systemd: Required for network managementa via systemd-networkd' + 'wtype: Paste from clipboard history and plugins') +makedepends=(git + go) +replaces=($pkgname-bin) +source=("git+$url.git#tag=v$pkgver" + "git+${url/$_pkg1/$_pkg2}") +sha256sums=('51186d2a9af990b4640c6b0d9298ba54a1fe16becd14c527243980438eae844a' + 'SKIP') + +prepare() { + cd "$_pkg1" + git submodule init + git config submodule.$_pkg2.url ../$_pkg2 + git -c protocol.file.allow=always submodule update + sed -i \ + -e '/@update-desktop-database/d' \ + -e '/@gtk-update-icon-cache/d' \ + -e '/^install:/s/install-shell //' \ + Makefile + pushd core + make sync-shell + +} + +build() { + cd "$_pkg1/core" + export CGO_CPPFLAGS="$CPPFLAGS" + export CGO_CFLAGS="$CFLAGS" + export CGO_CXXFLAGS="$CXXFLAGS" + go build -v \ + -tags distro_binary \ + -tags withshell \ + -trimpath \ + -buildmode=pie \ + -mod=readonly \ + -modcacherw \ + -ldflags="-s -w -linkmode=external -extldflags \"${LDFLAGS}\" -X main.Version=v$pkgver" \ + -o bin/dms ./cmd/dms +} + +package_dms-shell() { + cd "$_pkg1" + depends+=(dms-shell-compositor) + optdepneds+=('dms-shell-hyprland: Hyprland specific dependencies') + optdepneds+=('dms-shell-niri: Niri specific dependencies') + make DESTDIR="$pkgdir" PREFIX="/usr" SYSTEMD_USER_DIR="$pkgdir/usr/lib/systemd/user" install + install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname/" README.md + cp -r "docs/"* "$pkgdir/usr/share/doc/$pkgname/" +} + +package_dms-shell-hyprland() { + pkgdesc+=' (for Hyprland)' + provides=(dms-shell-compositor) + depends=(dms-shell + hyprland) + optdepends=() +} + +package_dms-shell-niri() { + pkgdesc+=' (for Niri)' + provides=(dms-shell-compositor) + depends=(niri) + depends=(dms-shell + niri) + optdepends=() +} diff --git a/hyprland-raveos/hyprcursor/PKGBUILD b/hyprland-raveos/hyprcursor/PKGBUILD new file mode 100644 index 0000000..713e91b --- /dev/null +++ b/hyprland-raveos/hyprcursor/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> + +pkgname=hyprcursor +pkgver=0.1.13 +pkgrel=10 +pkgdesc='The hyprland cursor format, library and utilities' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(cairo # libcairo.so + libgcc # libgcc_s.so + 'libstdc++' # libstdc++.so + glibc # libc.so libm.so + hyprlang libhyprlang.so + librsvg librsvg-2.so + libzip libzip.so + tomlplusplus libtomlplusplus.so) +makedepends=(cmake) +provides=("lib$pkgname.so") +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('82af8b2ce27242ffdd6baebaa71b3f6c8665dc25c52bfcfccc16912622896af8') + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/hyprland-raveos/hyprgraphics/PKGBUILD b/hyprland-raveos/hyprgraphics/PKGBUILD new file mode 100644 index 0000000..6e32497 --- /dev/null +++ b/hyprland-raveos/hyprgraphics/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> + +pkgname=hyprgraphics +pkgver=0.5.1 +pkgrel=10 +pkgdesc='hyprland graphics resources and utilities' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(cairo # libcairo.so + file libmagic.so + libgcc # libgcc_s.so + 'libstdc++' # libstdc++.so + glibc # libc.so libm.so + hyprutils libhyprutils.so + libjpeg-turbo libjpeg.so + libjxl libjxl.so libjxl_threads.so + libpng # libpng.so + librsvg + libwebp libwebp.so + libglvnd + pango libpangocairo-1.0.so + pixman) +makedepends=(cmake) +provides=("lib$pkgname.so") +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('861ecaad872835922dd5745a612d7a4cc7bfc4babb1d06bc92bc63c2ac013b74') + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/hyprland-raveos/hyprland-guiutils/PKGBUILD b/hyprland-raveos/hyprland-guiutils/PKGBUILD new file mode 100644 index 0000000..8b7bb09 --- /dev/null +++ b/hyprland-raveos/hyprland-guiutils/PKGBUILD @@ -0,0 +1,40 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> + +pkgname=hyprland-guiutils +pkgver=0.2.2 +pkgrel=10 +pkgdesc='Hyprland GUI utilities' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=( + libgcc + libstdc++ + glibc # libc.so libm.so + hyprlang + hyprtoolkit libhyprtoolkit.so + hyprutils libhyprutils.so + libdrm + pixman +) +makedepends=(cmake) +replaces=(hyprland-qtutils) +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('16f92a6c5a22ac58e1fc313f6b202c188da45e804e1f21ff57dfd0da5c1a01b7') + +build() { + cd "$_archive" + local cmake_flags=( + -D CMAKE_BUILD_TYPE=Release + -D CMAKE_INSTALL_PREFIX=/usr + ) + cmake -B build ${cmake_flags[@]} + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/hyprland-raveos/hyprland-qt-support/PKGBUILD b/hyprland-raveos/hyprland-qt-support/PKGBUILD new file mode 100644 index 0000000..f25a94a --- /dev/null +++ b/hyprland-raveos/hyprland-qt-support/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Contributor: Charles Dong <chardon_cs@proton.me> + +pkgname=hyprland-qt-support +pkgver=0.1.0 +pkgrel=20 +pkgdesc='QML style provider for Hypr* QT apps' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=( + libgcc + libstdc++ + glibc # libc.so libm.so + hyprlang libhyprlang.so + qt6-base # libQt6Core.so libQt6Gui.so libQt6Widgets.so + qt6-declarative # libQt6Qml.so libQt6QuickControls2.so +) +makedepends=(cmake) +provides=(libhyprland-quick-style-impl.so + libhyprland-quick-style.so + libhyprland-quick-style-implplugin.so + libhyprland-quick-styleplugin.so) +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('cac1f980bd088b890097f3f999cfdf03e73ee94c53f3c92d0b3bc23baa9e7b2c') + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D INSTALL_QML_PREFIX=/lib/qt6/qml \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/hyprland-raveos/hyprland/PKGBUILD b/hyprland-raveos/hyprland/PKGBUILD new file mode 100644 index 0000000..04736e5 --- /dev/null +++ b/hyprland-raveos/hyprland/PKGBUILD @@ -0,0 +1,105 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Contributor: ThatOneCalculator <kainoa@t1c.dev> +# Contributor: Brenno Lemos <brenno@syndel.is> +# Contributor: Gabriel Fox <inbox@gabrielfox.dev> + +pkgname=(hyprland hyprpm) +pkgver=0.56.2 +pkgrel=10 +pkgdesc='a highly customizable dynamic tiling Wayland compositor' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/${pkgname^}" +license=(BSD-3-Clause) +depends=(cairo # libcairo.so + aquamarine libaquamarine.so + libgcc # libgcc_s.so + 'libstdc++' # libstdc++.so + glibc # libc.so libm.so + glib2 libgio-2.0.so libgobject-2.0.so + glslang # libglslang-default-resource-limits.so libglslang.so + hyprcursor libhyprcursor.so + hyprgraphics libhyprgraphics.so + hyprland-guiutils + hyprlang libhyprlang.so + hyprutils libhyprutils.so + hyprwire libhyprwire.so + lcms2 liblcms2.so + libdrm # libdrm.so + libglvnd libEGL.so libGLESv2.so + libinput # libinput.so + libx11 + libxcb # libxcb-dri3.so libxcb-present.so libxcb-render.so libxcb-res.so libxcb-shm.so libxcb.so libxcb-xfixes.so libxcb-xinput.so + libxcomposite # libxcb-composite.so + libxcursor # libXcursor.so + libxfixes + libxkbcommon libxkbcommon.so + libxrender + lua # liblua.so + mesa # libgbm.so + muparser # libmuparser.so + opengl-driver + pango libpango-1.0.so libpangocairo-1.0.so + pixman libpixman-1.so + re2 libre2.so + tomlplusplus libtomlplusplus.so + util-linux-libs libuuid.so + wayland libwayland-server.so + wayland-protocols + xcb-proto + xcb-util + xcb-util-errors # libxcb-errors.so + xcb-util-image + xcb-util-keysyms + xcb-util-renderutil # libxcb-render-util.so + xcb-util-wm # libxcb-ewmh.so libxcb-icccm.so + xorg-xwayland) +makedepends=(cmake + glaze + hyprland-protocols + hyprwayland-scanner + meson + ninja + xorgproto) +optdepends=('hyprpm: build and install plugins' + 'hyprshutdown: clean logout and shutdown helper' + 'xdg-desktop-portal-hyprland: xdg-desktop-portal backend for hyprland') +provides=(wayland-compositor) +_archive="${pkgname^}-$pkgver" +source=("$_archive.tar.gz::$url/releases/download/v$pkgver/source-v$pkgver.tar.gz") +sha256sums=('03ad3f5ef152ff44116ffd56fcf808486211ecabf4f0ba567108ee746ba5cd2e') + +prepare() { + ln -sf hyprland-source "$_archive" + cd "$_archive" + sed -i -e '/^release:/{n;s/-D/-DCMAKE_SKIP_RPATH=ON -D/}' Makefile + sed -i -e '/find_package.glaze/s/7...<8 //' {.,hyprpm,start}/CMakeLists.txt +} + +build() { + cd "$_archive" + make release PREFIX=/usr +} + +package_hyprland() { + cd "$_archive" + make DESTDIR="$pkgdir" install + rm -fv "$pkgdir/usr/include/hyprland/src/version.h.in" + find $pkgdir -name '*hyprpm*' -delete + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} + +package_hyprpm() { + pkgdesc='Plugin manager for Hyprland' + depends=(cmake + cpio + glaze + hyprland + hyprland-protocols + hyprwayland-scanner + meson) + cd "$_archive" + make DESTDIR="$pkgdir" install + find $pkgdir -type f,l -not -name '*hyprpm*' -delete + find $pkgdir -type d -empty -delete + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} diff --git a/hyprland-raveos/hyprlang/PKGBUILD b/hyprland-raveos/hyprlang/PKGBUILD new file mode 100644 index 0000000..2d5e25f --- /dev/null +++ b/hyprland-raveos/hyprlang/PKGBUILD @@ -0,0 +1,32 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> + +pkgname=hyprlang +pkgver=0.6.8 +pkgrel=10 +pkgdesc='implementation library for the hypr config language' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(libgcc + 'libstdc++' + glibc + hyprutils libhyprutils.so) +makedepends=(cmake) +provides=("lib$pkgname.so") +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('d10a0778b646e04d83e8b90cc0f764fb96958c01a15c3c0678d95a40fc647ed5') + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} diff --git a/hyprland-raveos/hyprpolkitagent/PKGBUILD b/hyprland-raveos/hyprpolkitagent/PKGBUILD new file mode 100644 index 0000000..fd592a6 --- /dev/null +++ b/hyprland-raveos/hyprpolkitagent/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Contributor: Adam Perkowski <adas1per@protonmail.com> + +pkgname=hyprpolkitagent +pkgver=0.1.3 +pkgrel=20 +pkgdesc='Simple polkit authentication agent for Hyprland, written in QT/QML' +arch=(x86_64 aarch64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(libgcc # libgcc_s.so + 'libstdc++' # libstdc++.so + glibc # libc.so libm.so + hyprland-qt-support + hyprutils + polkit-qt6 # libpolkit-qt6-core-1.so libpolkit-qt6-agent-1.so + qt6-base # libQt6Widgets.so libQt6Gui.so libQt6Qml.so libQt6Core.so + qt6-declarative) # libQt6QuickControls2.so +makedepends=(cmake) +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('a8fa714b92d47331f056b608cb731dd1f5cc3845a9109cb22c6e6eb55b4eac84') + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_INSTALL_LIBEXECDIR=lib/$pkgname \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} + + diff --git a/hyprland-raveos/hyprutils/PKGBUILD b/hyprland-raveos/hyprutils/PKGBUILD new file mode 100644 index 0000000..adb0efb --- /dev/null +++ b/hyprland-raveos/hyprutils/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Maintainer: Lukas Fleischer <lfleischer@archlinux.org> +# Contributor: alba4k <blaskoazzolaaaron@gmail.com> + +pkgname=hyprutils +pkgver=0.14.2 +pkgrel=10 +pkgdesc='Hyprland utilities library used across the ecosystem' +arch=(x86_64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=(pixman libpixman-1.so) +makedepends=(cmake) +# checkdepends=(gtest) +provides=(libhyprutils.so) +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('2061b7b08c8104fb02a609553b28f6c8580e5ec38633015845f1c4553980175b') + +build() { + cd "$_archive" + local cmake_options=( + -D CMAKE_BUILD_TYPE=Release + -D CMAKE_INSTALL_PREFIX=/usr + -D BUILD_TESTING=False + ) + cmake -W no-dev ${cmake_options[@]} -S . -B ./build + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} diff --git a/hyprland-raveos/hyprwayland-scanner/PKGBUILD b/hyprland-raveos/hyprwayland-scanner/PKGBUILD new file mode 100644 index 0000000..be7894b --- /dev/null +++ b/hyprland-raveos/hyprwayland-scanner/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Lukas Fleischer <lfleischer@archlinux.org> +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Contributor: alba4k <blaskoazzolaaaron@gmail.com> + +pkgname="hyprwayland-scanner" +pkgver=0.4.6 +pkgrel=10 +pkgdesc="A Hyprland implementation of wayland-scanner, in and for C++" +arch=(x86_64) +url="https://github.com/hyprwm/hyprwayland-scanner" +license=('BSD-3-Clause') +depends=('pugixml') +makedepends=('git' 'cmake' 'gcc') +_archive="${pkgname}-$pkgver" +source=("$_archive.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz") +provides=(hyprwayland-scaner) +sha256sums=('05f55fd1a20d8ca81b5030980fdb7c87147749230145bdb3745af2741d617f5c') + +build() { + cd "$_archive" + cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX=/usr -B build + cmake --build build --config Release +} + +package() { + cd "$_archive" + DESTDIR="${pkgdir}" cmake --install build + install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/hyprland-raveos/hyprwire/PKGBUILD b/hyprland-raveos/hyprwire/PKGBUILD new file mode 100644 index 0000000..985006f --- /dev/null +++ b/hyprland-raveos/hyprwire/PKGBUILD @@ -0,0 +1,38 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> + +pkgname=hyprwire +pkgver=0.3.1 +pkgrel=10 +pkgdesc='A fast and consistent wire protocol for IPC' +arch=(x86_64) +url="https://github.com/hyprwm/$pkgname" +license=(BSD-3-Clause) +depends=( + libgcc + libstdc++ + glibc # libc.so libm.so + hyprutils libhyprutils.so + libffi libffi.so + pugixml # libpugixml.so +) +makedepends=(cmake) +provides=(libhyprwire.so) +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz") +sha256sums=('92a673d40ae6a7d66fbcd0a34ec071e026e17eaeeb0040c3375e4b2a80dba737') + +build() { + cd "$_archive" + local cmake_options=( + -D CMAKE_BUILD_TYPE=None + -D CMAKE_INSTALL_PREFIX=/usr + ) + cmake -B build -W no-dev ${cmake_options[@]} + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} diff --git a/hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD b/hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD new file mode 100644 index 0000000..5990440 --- /dev/null +++ b/hyprland-raveos/xdg-desktop-portal-hyprland/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Caleb Maclennan <caleb@alerque.com> +# Contributor: Aaron Blasko <blaskoazzolaaaron [at] gmail.com> + +pkgname=xdg-desktop-portal-hyprland +pkgver=1.4.1 +_protocolver=4d29e48433270a2af06b8bc711ca1fe5109746cd +pkgrel=10 +pkgdesc='xdg-desktop-portal backend for hyprland' +url="https://github.com/hyprwm/$pkgname" +arch=(x86_64) +license=(MIT) +provides=(xdg-desktop-portal-impl) +depends=( + libgcc + libstdc++ + glibc + hyprlang libhyprlang.so + hyprutils libhyprutils.so + libinih + pipewire + qt6-base + sdbus-cpp libsdbus-c++.so + util-linux-libs libuuid.so + xdg-desktop-portal +) +makedepends=(cmake + hyprland-protocols + hyprwayland-scanner + wayland + wayland-protocols) +optdepends=('grim: required for the screenshot portal to function' + 'slurp: support for interactive mode for the screenshot portal') +_archive="$pkgname-$pkgver" +source=("$url/archive/v$pkgver/$_archive.tar.gz" + "https://github.com/hyprwm/hyprland-protocols/archive/$_protocolver.tar.gz") +sha256sums=('3652c14f63a9666acea2c841e196782dbc0f74ea5b4783622dd04a32f08b709f' + '5f6be4d870e94314f05ec7ff9c9c1f028748230ff80a7f89aeaf66c08e5c70e0') + +prepare() { + cd "$_archive/subprojects" + rm -rf hyprland-protocols sdbus-cpp + ln -sfT "$srcdir/hyprland-protocols-$_protocolver" hyprland-protocols +} + +build() { + cd "$_archive" + cmake -B build \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_INSTALL_LIBEXECDIR=/usr/lib \ + -D CMAKE_BUILD_TYPE=Release + cmake --build build +} + +package() { + cd "$_archive" + DESTDIR="$pkgdir" cmake --install build + install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE +} |