summaryrefslogtreecommitdiff
path: root/pkgbuilds
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-09-12 19:34:31 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-09-12 19:34:31 +0800
commit5c3bbdf29e46a90783eecfaa76ddb6cfd519768b (patch)
tree17b7ca3dba5327fa76c1b3e5ba8dc5c2a4458df2 /pkgbuilds
parentfb1d067b486d5cce72b7d96b030e9f7af006cc3b (diff)
new: hyprland input capture
Diffstat (limited to 'pkgbuilds')
-rw-r--r--pkgbuilds/hyprland-git/PKGBUILD132
-rw-r--r--pkgbuilds/hyprland-protocols-git/PKGBUILD52
-rw-r--r--pkgbuilds/xdg-desktop-portal-hyprland-git/PKGBUILD76
3 files changed, 260 insertions, 0 deletions
diff --git a/pkgbuilds/hyprland-git/PKGBUILD b/pkgbuilds/hyprland-git/PKGBUILD
new file mode 100644
index 00000000..d805413f
--- /dev/null
+++ b/pkgbuilds/hyprland-git/PKGBUILD
@@ -0,0 +1,132 @@
+# Maintainer: FabioLolix
+# Maintainer: éclairevoyant
+# Maintainer: alba4k <blaskoazzolaaaron@gmail.com>
+# Contributor: ThatOneCalculator <kainoa at t1c dot dev>
+
+_pkgname="hyprland"
+pkgname="$_pkgname-git"
+pkgver=0.51.0.r28.g1754afb
+pkgrel=1
+pkgdesc="Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
+arch=('x86_64' 'aarch64')
+url="https://github.com/hyprwm/Hyprland"
+license=('BSD-3-Clause')
+
+depends=(
+ aquamarine-git
+ cairo
+ gcc-libs
+ glib2
+ glibc
+ glslang
+ hyprcursor-git
+ hyprgraphics-git
+ hyprland-qtutils-git
+ hyprlang-git
+ hyprutils-git
+ libdisplay-info
+ libdrm
+ libglvnd
+ libinput
+ libliftoff
+ libx11
+ libxcb
+ libxcomposite
+ libxcursor
+ libxfixes
+ libxkbcommon
+ libxrender
+ mesa
+ opengl-driver
+ pango
+ pixman
+ polkit
+ re2
+ seatd
+ systemd-libs
+ tomlplusplus
+ util-linux-libs
+ wayland
+ wayland-protocols
+ xcb-proto
+ xcb-util
+ xcb-util-errors
+ xcb-util-image
+ xcb-util-keysyms
+ xcb-util-renderutil
+ xcb-util-wm
+ xorg-xwayland
+)
+makedepends=(
+ cmake
+ git
+ glaze
+ hyprland-protocols-git
+ hyprwayland-scanner-git
+ ninja
+ #patch
+ #pkgconf
+ python # required by udis86
+ xorgproto
+)
+optdepends=(
+ 'cmake: to build and install plugins using hyprpm'
+ 'cpio: to build and install plugins using hyprpm'
+ 'meson: to build and install plugins using hyprpm'
+ 'glaze: to build and install plugins using hyprpm'
+ 'uwsm: the recommended way to start Hyprland'
+)
+
+conflicts=("$_pkgname")
+provides=("$_pkgname=${pkgver%%.r*}" "wayland-compositor")
+
+_pkgsrc=$_pkgname
+source=(
+ "$_pkgsrc::git+$url.git"
+ "udis86::git+https://github.com/canihavesomecoffee/udis86.git"
+)
+sha256sums=(
+ 'SKIP'
+ 'SKIP'
+)
+
+backup=("usr/share/xdg-desktop-portal/hyprland-portals.conf")
+
+prepare() {
+ cd "$_pkgsrc"
+ git remote add fork https://github.com/3l0w/Hyprland.git
+ git pull fork feat/input-capture-impl
+ git submodule init
+ echo anb
+ git config submodule.subprojects/udis86.url "${srcdir}/udis86"
+ git config submodule.subprojects/tracy.update none
+ git -c protocol.file.allow=always submodule update
+
+ if [[ -z "$(git config --get user.name)" ]]; then
+ git config user.name local && git config user.email '<>' && git config commit.gpgsign false
+ fi
+}
+
+pkgver() {
+ cd "$_pkgsrc"
+ git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+build() {
+ local cmake_options=(
+ -B build
+ -S "$_pkgsrc"
+ -G Ninja
+ -W no-dev
+ -D CMAKE_BUILD_TYPE=None
+ -D CMAKE_INSTALL_PREFIX=/usr
+ )
+ cmake "${cmake_options[@]}"
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm0644 "$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/${pkgname}/"
+ install -Dm0644 "$_pkgsrc/subprojects/udis86/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE-udis86"
+}
diff --git a/pkgbuilds/hyprland-protocols-git/PKGBUILD b/pkgbuilds/hyprland-protocols-git/PKGBUILD
new file mode 100644
index 00000000..1a9bc4c3
--- /dev/null
+++ b/pkgbuilds/hyprland-protocols-git/PKGBUILD
@@ -0,0 +1,52 @@
+# Maintainer: TheK0tYaRa
+# Maintainer: alba4k <blaskoazzolaaaron@gmail.com>
+# Inspired by: FabioLolix, éclairevoyant, ThatOneCalculator <kainoa at t1c dot dev>
+
+_pkgname="hyprland-protocols"
+pkgname="$_pkgname-git"
+pkgver=0.6.4.r7.gd6bfa25
+pkgrel=1
+pkgdesc="Wayland protocol extensions for Hyprland"
+arch=('x86_64' 'aarch64')
+url="https://github.com/hyprwm/hyprland-protocols"
+license=('BSD-3-Clause')
+
+makedepends=(
+ meson
+ git
+ ninja
+)
+
+provides=("$_pkgname=${pkgver%%.r*}")
+conflicts=("$_pkgname")
+
+_pkgsrc=$_pkgname
+source=("$_pkgsrc::git+$url.git")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "$_pkgsrc"
+ git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "$_pkgsrc"
+ git remote add fork https://github.com/3l0w/hyprland-protocols
+ git pull fork feat/input-capture-impl
+}
+
+build() {
+ cd $_pkgsrc
+
+ meson setup build \
+ --prefix=/usr \
+ --libexecdir=lib \
+ --buildtype=plain
+
+ meson compile -C build
+}
+
+package() {
+ meson install -C "$_pkgsrc/build" --destdir "$pkgdir"
+ install -Dm644 "$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
+}
diff --git a/pkgbuilds/xdg-desktop-portal-hyprland-git/PKGBUILD b/pkgbuilds/xdg-desktop-portal-hyprland-git/PKGBUILD
new file mode 100644
index 00000000..85141753
--- /dev/null
+++ b/pkgbuilds/xdg-desktop-portal-hyprland-git/PKGBUILD
@@ -0,0 +1,76 @@
+# Maintainer: alba4k <blaskoazzolaaaron@gmail.com>
+# Contributor: ThatOneCalculator <kainoa at t1c dot dev>
+
+_pkgname="xdg-desktop-portal-hyprland"
+pkgname="$_pkgname-git"
+pkgver=1.3.10.r27.g436619a
+pkgrel=1
+pkgdesc="xdg-desktop-portal backend for Hyprland"
+arch=('x86_64' 'aarch64')
+url="https://github.com/hyprwm/xdg-desktop-portal-hyprland"
+license=('BSD-3-Clause')
+
+depends=(
+ hyprlang-git
+ hyprutils-git
+ libdrm
+ libinih
+ libpipewire
+ mesa
+ qt6-base
+ qt6-wayland
+ sdbus-cpp
+ wayland
+ xdg-desktop-portal
+)
+makedepends=(
+ cmake
+ git
+ hyprland-protocols-git
+ hyprwayland-scanner-git
+ ninja
+ scdoc
+ wayland-protocols
+)
+optdepends=(
+ 'grim: required for the screenshot portal to function'
+ 'slurp: support for interactive mode for the screenshot portal; one of the built-in chooser options for the screencast portal'
+ 'hyprland: the Hyprland compositor'
+)
+
+provides=("$_pkgname=${pkgver%%.r*}" "xdg-desktop-portal-impl")
+conflicts=("$_pkgname")
+
+_pkgsrc=$_pkgname
+source=("$_pkgsrc::git+$url.git")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "$_pkgsrc"
+ git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "$_pkgsrc"
+ git remote add fork https://github.com/3l0w/xdg-desktop-portal-hyprland.git
+ git pull fork feat/input-capture-impl
+}
+
+build() {
+ local cmake_options=(
+ -B build
+ -S "$_pkgsrc"
+ -G Ninja
+ -W no-dev
+ -D CMAKE_BUILD_TYPE=None
+ -D CMAKE_INSTALL_PREFIX=/usr
+ -D CMAKE_INSTALL_LIBEXECDIR=lib
+ )
+ cmake "${cmake_options[@]}"
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm644 "$_pkgsrc/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname/"
+}