Skip to content

Instantly share code, notes, and snippets.

@Skerse

Skerse/PKGBUILD Secret

Last active May 7, 2024 17:48
Show Gist options
  • Save Skerse/0780196bda625b41df9ca292c360f47a to your computer and use it in GitHub Desktop.
Save Skerse/0780196bda625b41df9ca292c360f47a to your computer and use it in GitHub Desktop.
Official Hyprland MAKEPKG, modified for legacyrenderer build
pkgname=hyprland-legacyrenderer
pkgver=0.39.1
pkgrel=1
pkgdesc='a highly customizable dynamic tiling Wayland compositor (using the legacyrenderer build option)'
arch=(x86_64 aarch64)
url="https://github.com/hyprwm/hyprland"
license=(BSD-3-Clause)
depends=(cairo # libcairo.so
gcc-libs # libgcc_s.so libstdc++.so
glibc # libc.so libm.so
glib2 libgobject-2.0.so
glslang
hyprcursor libhyprcursor.so
hyprlang libhyprlang.so
libdisplay-info libdisplay-info.so
libdrm # libdrm.so
libglvnd libEGL.so libGLESv2.so libOpenGL.so
libinput # libinput.so
libliftoff libliftoff.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
libxfixes
libxkbcommon libxkbcommon.so
libxrender
mesa # libgbm.so
opengl-driver
pango libpango-1.0.so libpangocairo-1.0.so
pixman libpixman-1.so
seatd libseat.so
systemd-libs libsystemd.so
tomlplusplus libtomlplusplus.so libudev.so
vulkan-icd-loader
vulkan-validation-layers
wayland libwayland-client.so 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-xinput
xorg-xwayland)
makedepends=(cmake
gdb
meson
ninja
vulkan-headers
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')
_archive="${pkgname^}-$pkgver"
source=("$_archive.tar.gz::$url/releases/download/v$pkgver/source-v$pkgver.tar.gz")
sha256sums=('48d1c58fd8db365635a56d76e05e6ea2d99fa20c020a061ee88a20407cfde787')
prepare() {
ln -sf hyprland-source "$_archive"
cd "$_archive"
sed -i -e '/^release:/{n;s/-D/-DCMAKE_SKIP_RPATH=ON -D/}' Makefile
}
build() {
cd "$_archive"
make legacyrenderer
}
package() {
cd "$_archive"
find src \( -name '*.h' -o -name '*.hpp' \) -exec install -Dm0644 {} "$pkgdir/usr/include/hyprland/{}" \;
pushd subprojects/wlroots-hyprland/include
find . -name '*.h' -exec install -Dm0644 {} "$pkgdir/usr/include/hyprland/wlroots-hyprland/{}" \;
popd
pushd subprojects/wlroots-hyprland/build/include
find . -name '*.h' -exec install -Dm0644 {} "$pkgdir/usr/include/hyprland/wlroots-hyprland/{}" \;
popd
mkdir -p "$pkgdir/usr/include/hyprland/protocols"
cp protocols/*-protocol.h "$pkgdir/usr/include/hyprland/protocols"
pushd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
popd
install -Dm0644 -t "$pkgdir/usr/share/pkgconfig" build/hyprland.pc
install -Dm0644 -t "$pkgdir/usr/share/man/man1" docs/{Hyprland,hyprctl}.1
for cmd in hyprctl hyprpm; do
install -Dm0644 "$cmd/$cmd.bash" "$pkgdir/usr/share/bash-completion/completions/$cmd"
install -Dm0644 "$cmd/$cmd.zsh" "$pkgdir/usr/share/zsh/site-functions/_$cmd"
install -Dm0644 -t "$pkgdir/usr/share/fish/vendor_completions.d/" "$cmd/$cmd.fish"
done
install -Dm0755 -t "$pkgdir/usr/bin/" build/Hyprland build/hyprctl/hyprctl build/hyprpm/hyprpm
install -Dm0644 -t "$pkgdir/usr/share/$pkgname/" assets/*.png
install -Dm0644 -t "$pkgdir/usr/share/wayland-sessions/" "example/$pkgname.desktop"
install -Dm0644 -t "$pkgdir/usr/share/$pkgname/" "example/$pkgname.conf"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
find subprojects/wlroots-hyprland/build -name 'libwlroots.so.*' -type f -execdir \
install -Dm0755 -t "$pkgdir/usr/lib/" {} \;
}
@kRHYME7
Copy link

kRHYME7 commented May 1, 2024

I will also try to maintain the upstream git. Please DM me your username in case you're done making an account.

I hope can run Hypland-legacyrenderer on a VM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment