diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 03b5c270dbb440..4ab73287e60ad4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,15 +1,17 @@ -name: Check build +name: Check build anywhere on: pull_request: paths: - 'srcpkgs/**' push: - branches: - - 'ci-**' + # branches: + # - 'ci-**' paths: - 'srcpkgs/**' + workflow_dispatch: + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true diff --git a/.github/workflows/container.yaml b/.github/workflows/container.yaml index 957b6e849d5918..0721129f1c0ddf 100644 --- a/.github/workflows/container.yaml +++ b/.github/workflows/container.yaml @@ -1,5 +1,5 @@ --- -name: 'Build buildroot containers' +name: 'Build buildroot containers anywhere' on: workflow_dispatch: @@ -9,8 +9,8 @@ on: paths: - common/container/** push: - branches: - - master + # branches: + # - master paths: - common/container/** diff --git a/common/shlibs b/common/shlibs index fc5fb6e1b0b344..6ef7850e1adb22 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4494,6 +4494,10 @@ libunicode_loader.so.0.4 libunicode-0.4.0_1 force-stage.so.0.1 void-force-stage-0.1_1 libliftoff.so.0 libliftoff-0.4.1_1 libscfg.so libscfg-0.1.1_1 +libsdbus-c++.so.1 sdbus-cpp-1.5.0_1 +libhyprlang.so.2 hyprlang-0.5.0_1 +libhyprcursor.so.0 hyprcursor-0.1.4_1 +libtomlplusplus.so.3 tomlplusplus-3.4.0_1 libmsgraph-0.so.1 msgraph-0.2.1_1 libgtk-session-lock.so.0 gtk-session-lock-0.2.0_1 libcamera.so.0.2 libcamera-0.2.0_1 diff --git a/srcpkgs/hyprcursor/template b/srcpkgs/hyprcursor/template new file mode 100644 index 00000000000000..da7ff50fdd387a --- /dev/null +++ b/srcpkgs/hyprcursor/template @@ -0,0 +1,19 @@ +# Template file for 'hyprcursor' +pkgname=hyprcursor +version=0.1.4 +revision=1 +build_style=cmake +hostmakedepends="pkg-config cairo-devel" +makedepends="hyprlang librsvg-devel libzip-devel" +short_desc="Hyprland cursor format, library and utilities" +maintainer="zenobit " +license="BSD-3-Clause" +homepage="https://github.com/hyprwm/hyprcursor" +# Temporary use main branch until new release (instead of patch) +# distfiles="https://github.com/hyprwm/hyprcursor/archive/refs/tags/v${version}.tar.gz" +distfiles="https://github.com/hyprwm/hyprcursor/archive/refs/heads/main.zip" +checksum=fcc199fa728df104c5633171598b94e44663214c00f46c2a616f75bd09d26ef2 + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/hypridle/template b/srcpkgs/hypridle/template new file mode 100644 index 00000000000000..8ff1fa083f6dd8 --- /dev/null +++ b/srcpkgs/hypridle/template @@ -0,0 +1,18 @@ +# Template file for 'hypridle' +pkgname=hypridle +version=0.1.1 +revision=1 +build_style=cmake +hostmakedepends="cmake pkg-config" +makedepends="hyprlang sdbus-cpp wayland-devel wayland-protocols" +short_desc="Hyprland's idle daemon" +maintainer="Makrennel " +license="BSD-3-Clause" +homepage="https://github.com/hyprwm/hypridle" +#changelog="https://github.com/hyprwm/hyptidle/releases" +distfiles="https://github.com/hyprwm/hypridle/archive/refs/tags/v${version}.tar.gz" +checksum=55dffb5b4cd25f034c6fdd98a9fa1d6763ff6e07b1d51b9e0b4cdd4fe65bc798 + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/hyprland-devel b/srcpkgs/hyprland-devel new file mode 120000 index 00000000000000..a3e8067e4e81f6 --- /dev/null +++ b/srcpkgs/hyprland-devel @@ -0,0 +1 @@ +hyprland \ No newline at end of file diff --git a/srcpkgs/hyprland-protocols/template b/srcpkgs/hyprland-protocols/template new file mode 100644 index 00000000000000..b1ed9fcaf5fee4 --- /dev/null +++ b/srcpkgs/hyprland-protocols/template @@ -0,0 +1,17 @@ +# Template file for 'hyprland-protocols' +pkgname=hyprland-protocols +version=0.2 +revision=1 +build_style=meson +hostmakedepends="wayland-devel" +makedepends="wayland-devel" +short_desc="Wayland protocol extensions for Hyprland" +maintainer="Makrennel " +license="BSD-3-Clause" +homepage="https://github.com/hyprwm/hyprland-protocols" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=106cb189d0fbe4ec0ee11a12a17238172f4c4cd1b2b26db904df144e5c7a05f0 + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/hyprland/template b/srcpkgs/hyprland/template new file mode 100644 index 00000000000000..16b559031c3064 --- /dev/null +++ b/srcpkgs/hyprland/template @@ -0,0 +1,124 @@ +# Template file for 'hyprland' +pkgname=hyprland +version=0.37.1 +revision=1 +hostmakedepends=" + cmake + cpio + glslang + hwids + jq + meson + ninja + pkg-config + wayland-devel +" +makedepends=" + cairo-devel + hyprcursor + hyprlang + libdisplay-info-devel + libdrm-devel + libgbm-devel + libglvnd-devel + libinput-devel + libliftoff-devel + libseat-devel + libxcb-devel + libxkbcommon-devel + pango-devel + tomlplusplus + wayland-devel + wayland-protocols + xcb-util-errors-devel + xcb-util-renderutil-devel + xcb-util-wm-devel + xorg-server-xwayland +" +short_desc="Dynamic tiling Wayland compositor that doesn't sacrifice on its looks" +maintainer="Makrennel " +license="BSD-3-Clause" +homepage="https://hyprland.org/" +changelog="https://github.com/hyprwm/Hyprland/releases" +distfiles="https://github.com/hyprwm/Hyprland/releases/download/v${version}/source-v${version}.tar.gz" +checksum=bf3c33f7643218af3c44411c28e9a20fcd02225e56d732a8a4a446d9a298f862 + +if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + makedepends+=" libexecinfo-devel" + depends+=" libexecinfo" +fi + +do_build() { + # build hyprland + if [ "$XBPS_TARGET_LIBC" = "musl" ]; then + cmake --no-warn-unused-cli \ + -DCMAKE_CXX_FLAGS="-lexecinfo" \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DNO_SYSTEMD:STRING=true \ + -S . -B ./build -G Ninja + else + cmake --no-warn-unused-cli \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DNO_SYSTEMD:STRING=true \ + -S . -B ./build -G Ninja + fi + + cmake --build ./build --config Release --target all -j${XBPS_MAKEJOBS} + chmod -R 777 ./build +} + +do_install() { + # license + vlicense LICENSE + + # binaries + vbin build/Hyprland + vbin build/hyprctl/hyprctl + vbin build/hyprpm/hyprpm + + # assets + vmkdir usr/share/wayland-sessions + vmkdir usr/share/hyprland + vmkdir usr/share/xdg-desktop-portal + + install -Dm0644 assets/*.png ${DESTDIR}/usr/share/hyprland + vinstall assets/header.svg 644 usr/share/hyprland + vinstall assets/hyprland-portals.conf 644 usr/share/xdg-desktop-portal + vinstall example/hyprland.desktop 644 usr/share/wayland-sessions + vinstall example/hyprland.conf 644 usr/share/hyprland + + vman docs/Hyprland.1 + vman docs/hyprctl.1 + + # wlroots + vinstall subprojects/wlroots/build/libwlroots.so.13032 644 usr/lib + + # headers + vmkdir usr/include/hyprland + vmkdir usr/include/hyprland/protocols + vmkdir usr/include/hyprland/wlroots + vmkdir usr/share/pkgconfig + + find src -name '*.h*' -print0 | cpio --quiet -0dump ${DESTDIR}/usr/include/hyprland + + pushd subprojects/wlroots/include + find . -name '*.h*' -print0 | cpio --quiet -0dump ${DESTDIR}/usr/include/hyprland/wlroots + popd + + pushd subprojects/wlroots/build/include + find . -name '*.h*' -print0 | cpio --quiet -0dump ${DESTDIR}/usr/include/hyprland/wlroots + popd + + vinstall build/hyprland.pc 644 usr/share/pkgconfig + install -Dm0644 protocols/*-protocol.h ${DESTDIR}/usr/include/hyprland/protocols + +} + +hyprland-devel_package() { + depends="${sourcepkg}>=${version}_${revision} ${hostmakedepends} ${makedepends}" + short_desc="Dynamic tiling Wayland compositor - development files" + pkg_install() { + vmove usr/include + vmove usr/share/pkgconfig + } +} diff --git a/srcpkgs/hyprlang/template b/srcpkgs/hyprlang/template new file mode 100644 index 00000000000000..2c8486df435f98 --- /dev/null +++ b/srcpkgs/hyprlang/template @@ -0,0 +1,13 @@ +# Template file for 'hyprlang' +pkgname=hyprlang +version=0.5.0 +revision=1 +build_style=cmake +hostmakedepends="cmake pkg-config" +short_desc="Official implementation library for the hypr config language" +maintainer="Makrennel " +license="LGPL-3.0-only" +homepage="https://hyprland.org/hyprlang/index.html" +changelog="https://github.com/hyprwm/hyprlang/releases" +distfiles="https://github.com/hyprwm/hyprlang/archive/refs/tags/v${version}.tar.gz" +checksum=c59e705f2c2ff9ea4e2b183fdf0bc20a62b7162604a657d6352716a1fd5061b2 diff --git a/srcpkgs/hyprlock/template b/srcpkgs/hyprlock/template new file mode 100644 index 00000000000000..cb787e500549f5 --- /dev/null +++ b/srcpkgs/hyprlock/template @@ -0,0 +1,18 @@ +# Template file for 'hyprlock' +pkgname=hyprlock +version=0.2.0 +revision=1 +build_style=cmake +hostmakedepends="cmake pkg-config" +makedepends="cairo-devel hyprlang libdrm-devel libxkbcommon-devel MesaLib-devel pango-devel pam-devel wayland-devel wayland-protocols" +short_desc="Hyprland's GPU-accelerated screen locking utility" +maintainer="Makrennel " +license="BSD-3-Clause" +homepage="https://github.com/hyprwm/hyprlock" +changelog="https://github.com/hyprwm/${pkgname}/releases" +distfiles="https://github.com/hyprwm/${pkgname}/archive/refs/tags/v${version}.tar.gz" +checksum=3d56220ac03016163e196bc2c08e5b16e83583fa9446ad52e32ddbb56c293994 + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/hyprpaper/template b/srcpkgs/hyprpaper/template new file mode 100644 index 00000000000000..912e40858e3502 --- /dev/null +++ b/srcpkgs/hyprpaper/template @@ -0,0 +1,39 @@ +# Template file for 'hyprpaper' +pkgname=hyprpaper +version=0.6.0 +revision=1 +hostmakedepends="pkg-config cmake wayland-devel" +makedepends=" + pango-devel + cairo-devel + libjpeg-turbo-devel + wayland-devel + wayland-protocols + wlroots-devel + hyprland-protocols + hyprlang + libwebp-devel + file-devel +" +short_desc="Fast wallpaper utility for wlroots compositors with IPC controls" +maintainer="Makrennel " +license="BSD-3-Clause" +homepage="https://github.com/hyprwm/hyprpaper" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=71d8294ffbcbaae628c4eabdcb3b7fb1974d6bed7794b787bb77934d0a3f4538 + +do_build() { + cmake \ + --no-warn-unused-cli \ + -G "Unix Makefiles" \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -B build + make protocols + make -C build all +} + +do_install() { + vbin build/hyprpaper + vlicense LICENSE +} diff --git a/srcpkgs/sdbus-cpp/template b/srcpkgs/sdbus-cpp/template new file mode 100644 index 00000000000000..b6b8cbf23469d4 --- /dev/null +++ b/srcpkgs/sdbus-cpp/template @@ -0,0 +1,15 @@ +# Template file for 'sdbus-cpp' +pkgname=sdbus-cpp +version=1.5.0 +revision=1 +build_style=cmake +hostmakedepends="cmake meson ninja pkg-config git m4 rsync gperf" +makedepends="libmount-devel libcap-devel libelogind elogind-devel elogind" +depends="libmount libcap libelogind elogind-devel elogind" +short_desc="High-level C++ D-Bus library to provide API in modern C++" +maintainer="Makrennel " +license="LGPL-2.1-only" +homepage="https://github.com/Kistler-Group/sdbus-cpp" +changelog="https://github.com/Kistler-Group/${pkgname}/releases" +distfiles="https://github.com/Kistler-Group/${pkgname}/archive/refs/tags/v${version}.tar.gz" +checksum=577986929f911320fb9ef6a3e2badd464dc38411ebc25d2966f5cb85c39f0897 diff --git a/srcpkgs/tomlplusplus/template b/srcpkgs/tomlplusplus/template new file mode 100644 index 00000000000000..796a2339582f9a --- /dev/null +++ b/srcpkgs/tomlplusplus/template @@ -0,0 +1,16 @@ +# Template file for 'tomlplusplus' +pkgname=tomlplusplus +version=3.4.0 +revision=1 +build_style="meson" +hostmakedepends="pkg-config cmake" +short_desc="Header-only TOML config file parser and serializer for C++17" +maintainer="Makrennel " +license="MIT" +homepage="https://marzer.github.io/tomlplusplus/" +distfiles="https://github.com/marzer/${pkgname}/archive/refs/tags/v${version}.tar.gz" +checksum=8517f65938a4faae9ccf8ebb36631a38c1cadfb5efa85d9a72e15b9e97d25155 + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/xdg-desktop-portal-hyprland/template b/srcpkgs/xdg-desktop-portal-hyprland/template new file mode 100644 index 00000000000000..706b030393b0d7 --- /dev/null +++ b/srcpkgs/xdg-desktop-portal-hyprland/template @@ -0,0 +1,42 @@ +# Template file for 'xdg-desktop-portal-hyprland' +pkgname=xdg-desktop-portal-hyprland +version=1.3.1 +revision=1 +build_style=cmake +hostmakedepends=" + pkg-config + wayland-devel + scdoc + cmake + git +" +makedepends=" + wayland-devel + wayland-protocols + hyprland-protocols + pipewire-devel + libgbm-devel + libdrm-devel + elogind-devel + qt6-base-devel + hyprlang + sdbus-cpp +" +depends=" + xdg-desktop-portal + pipewire + qt6-base + qt6-wayland + hyprlang + sdbus-cpp +" +short_desc="Backend of xdg-desktop-portal for Hyprland" +maintainer="Makrennel " +license="MIT" +homepage="https://github.com/hyprwm/xdg-desktop-portal-hyprland" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum="60b390f326b84cc52657b735e3d7ba8f03aa3363672100dba47580984491611f" + +post_install() { + vlicense LICENSE +}