diff --git a/0001-meson-fix-hyprland.pc-install-location.patch b/0001-meson-fix-hyprland.pc-install-location.patch new file mode 100644 index 0000000..9f4510f --- /dev/null +++ b/0001-meson-fix-hyprland.pc-install-location.patch @@ -0,0 +1,30 @@ +From 0ee610a292b275e66d57c2f857331d1c153904de Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= +Date: Tue, 30 May 2023 11:45:59 +0200 +Subject: [PATCH] meson: fix hyprland.pc install location + +--- + meson.build | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/meson.build b/meson.build +index 6a94dee..4777d2f 100644 +--- a/meson.build ++++ b/meson.build +@@ -88,13 +88,10 @@ subdir('assets') + subdir('example') + subdir('docs') + +-pkg_install_dir = join_paths(get_option('datadir'), 'pkgconfig') +- + import('pkgconfig').generate( + name: 'Hyprland', + filebase: 'hyprland', + url: 'https://github.com/hyprwm/Hyprland', + description: 'Hyprland header files', +- install_dir: pkg_install_dir, + subdirs: ['', 'hyprland/protocols', 'hyprland/wlroots'], + ) +-- +2.40.1 + diff --git a/0002-fix-patched-wlroots-build.patch b/0002-fix-patched-wlroots-build.patch new file mode 100644 index 0000000..a4a852a --- /dev/null +++ b/0002-fix-patched-wlroots-build.patch @@ -0,0 +1,28 @@ +From e829c515d3bc5fa140ceede23ade99b8f76455d3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= +Date: Tue, 30 May 2023 12:14:58 +0200 +Subject: [PATCH 2/2] fix patched wlroots build + +--- + subprojects/packagefiles/wlroots-meson-build.patch | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/subprojects/packagefiles/wlroots-meson-build.patch b/subprojects/packagefiles/wlroots-meson-build.patch +index 5e7565a..ef18541 100644 +--- a/subprojects/packagefiles/wlroots-meson-build.patch ++++ b/subprojects/packagefiles/wlroots-meson-build.patch +@@ -2,9 +2,10 @@ diff --git a/include/meson.build b/include/meson.build + index e669800..687786b 100644 + --- a/include/meson.build + +++ b/include/meson.build +-@@ -1,4 +1,5 @@ ++@@ -1,4 +1,6 @@ + -subdir('wlr') + +run_command('ln', '-s', join_paths(meson.project_source_root(), 'include', 'wlr'), join_paths(meson.project_source_root(), 'include', 'wlroots'), check: true) +++run_command('ln', '-s', join_paths(meson.project_build_root(), 'include', 'wlroots'), join_paths(meson.project_build_root(), 'include', 'wlr'), check: true) + +subdir('wlroots') + + exclude_files = ['meson.build', 'config.h.in', 'version.h.in'] +-- +2.40.1 + diff --git a/hyprland-0.25.0.tar.xz b/hyprland-0.25.0.tar.xz deleted file mode 100644 index f4c9a05..0000000 --- a/hyprland-0.25.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c757de38354638005777e3ee456e513fa1b240b0a6f051c7705db96f6e4caa6 -size 1191188 diff --git a/hyprland-0.26.0.tar.xz b/hyprland-0.26.0.tar.xz new file mode 100644 index 0000000..8d83b06 --- /dev/null +++ b/hyprland-0.26.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d97f1964dfcd7f2abbdff1b230c1058324010ae7943b6eeaa656a79019ad3454 +size 1196768 diff --git a/hyprland.changes b/hyprland.changes index 38bd63a..cb2587e 100644 --- a/hyprland.changes +++ b/hyprland.changes @@ -1,3 +1,94 @@ +------------------------------------------------------------------- +Tue May 30 09:11:41 UTC 2023 - Florian "sp1rit" + +- Added "devel" package required to build Hyprland plugins. + + Added required tests: + * 0001-meson-fix-hyprland.pc-install-location.patch + * 0002-fix-patched-wlroots-build.patch +- Update to version 0.26.0: + + WHY DID MY ENTIRE RELEASE GET WIPED REEEE + Anyways Hyprland update woooo + + New features: + * Add "next on monitor or empty" workspace parameter (#2198) + * Add hyprland to waybar-hyprland path as fallback for hyprctl + * Add split preselection (#2240) + * decos: recalc on add + * groupbars: add text color opt + * groupbars: add title and gradient rendering + * input: add custom accel profiles + * input: only configure newly added touch devices + * lock: add allow_session_lock_restore + * pluginapi: add separate window render events + * renderer,config: add custom DRM modeline support (#2254) + + Fixes: + * 1483: fix crash on last display disconnect (#2344) + * Fix UAF in animation end callback if callback deletes the + animation (#2389) + * Fix broken pipe crash when event listener terminates (#2339) + * Fix not finding function symbols for hooking (#2292) + * Fixed wrong focus changes when moving background workspaces + (#2258) + * bug fix (#2314) + * configmanager: fix substr offset in default ws rule + * examples: fix incorrect link in per-device config comments + (#2353) + * focus: fix #1675 window not scrollable after movefocus (#2390) + * groupbars: fix minor alignment issues + * groupbars: fix reserved area on titles + * hyprctl: fix cut-off json outputs (#2352) + * includes: use libdrm prefix for include + * keybinds: fix tryMoveFocusToMonitor with special + * launchanim: fix #2291 + * layers: fix wonky focus on multimon + * monitors: fix some bugs with re-plug + * render: minor fixes to fullscreen rendering + * touch: fix double offset in local + * workspaces: minor fixes for multi-special + + Other: + * Issue template: request users to ping me for Nix + * animationmgr: allow empty avars + * compositor: disallow sending pinned to special + * compositor: don't focus pointer in focusWindow + * config: clear layer rules on reload + * configmanager: deprecate bindws + * configmanager: remove useless log from handleWorkspaceRule + * configmanager: store workspace rules as a deque + * don't swap workspaces if monitors are the same (#2322) + * examples: update plugin headers + * examples: update plugin makefile + * focus: make cursor follow movewindow (#2374) + * groupbar: make exclusive + * groupbars: conserve VRAM by staticizing textures + * groupbars: make gradients toggleable + * hyprctl: recalc layout on dynamic workspace + * includes: remove redundant from screencopy + * input: check for matrix availability in touch config + * input: don't move monitor focus on wp change (#2320) + * input: don't refocus on closed window + * input: reset cursor hide timer on tablet + * internal: make CAnimatedVariable non-move non-copy + * internal: remove check for negative exact vector args + * internal: use i64 for workspaces in outofbounds + * internal: removed Herobrine + * layershell: don't enter on unmapped ls + * layershell: focus if changed keyboard mode + * layout: don't reset to floating size on drag tiled + * layouts: ignore direction forces on non-map + * master: guard monitor in recalc + * meson & nix: install wlroots headers (#2287) + * monitors: toggle special on changeworkspace with special + * moveActiveToWorkspace: update last window of old ws + * pluginenv: copy built wlr headers + * quote hash for the GIT_COMMIT_HASH macro (#2227) + * readme: update previews + * varlist: allow using s for std::isspace + * vector: restore cmath include after 438d063 (#2394) + * vector: use c++ stdlib math functions instead of cmath + * version: bump to 0.26.0 + * window: reveal current from group on toplevel activate + * wlr_ext_workspaces: honor activate from client + format + * workspacerules: overwrite on existing + ------------------------------------------------------------------- Wed May 3 21:07:55 UTC 2023 - Florian "spirit" diff --git a/hyprland.spec b/hyprland.spec index 188821a..e28a9b2 100644 --- a/hyprland.spec +++ b/hyprland.spec @@ -17,13 +17,17 @@ # +%bcond_without devel + Name: hyprland -Version: 0.25.0 +Version: 0.26.0 Release: 0 Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause URL: https://hyprland.org/ Source0: %{name}-%{version}.tar.xz +Patch1: 0001-meson-fix-hyprland.pc-install-location.patch +Patch2: 0002-fix-patched-wlroots-build.patch BuildRequires: cmake BuildRequires: gcc-c++ >= 11 BuildRequires: git @@ -64,6 +68,9 @@ BuildRequires: Mesa-libGLESv3-devel %if %{with xcb_errors} BuildRequires: pkgconfig(xcb-errors) %endif +%if %{with devel} +Suggests: %{name}-devel +%endif %description Hyprland is a dynamic tiling Wayland compositor based on wlroots @@ -72,8 +79,19 @@ that doesn't sacrifice on its looks. It supports multiple layouts, fancy effects, has a very flexible IPC model allowing for a lot of customization, and more. +%if %{with devel} +%package devel +Summary: Files required to build Hyprland plugins +Requires: %{name} + +%description devel +This package contains the neccessary files that are required to +build plugins for hyprland. +%endif + %prep %autosetup -p1 +patch -p1 -d subprojects/wlroots/ < subprojects/packagefiles/wlroots-meson-build.patch %build %meson \ @@ -81,7 +99,10 @@ model allowing for a lot of customization, and more. %meson_build %install -%meson_install --tags runtime,man +%meson_install --tags runtime,man%{?with_devel:,devel} +%if %{with devel} +rm %{buildroot}/%{_libdir}/libwlroots.a %{buildroot}/%{_libdir}/pkgconfig/wlroots.pc +%endif %files %license LICENSE @@ -94,4 +115,10 @@ model allowing for a lot of customization, and more. %{_mandir}/man1/Hyprland.* %{_mandir}/man1/hyprctl.* +%if %{with devel} +%files devel +%{_includedir}/%{name} +%{_libdir}/pkgconfig/%{name}.pc +%endif + %changelog