Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Conner Clere (72c1d6058885e6ad3a5c82ca0d6f2b6470905072)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Conner Clere <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Conner Clere (72c1d6058885e6ad3a5c82ca0d6f2b6470905072)
  • Date: Tue, 31 Jan 2023 20:57:26 +0000

GIT changes to master grimoire by Conner Clere <xenanthropy AT sourcemage.org>:

ChangeLog | 3
windowmanagers/hyprland/CONFIGURE | 1
windowmanagers/hyprland/DEPENDS | 49 ++++++++
windowmanagers/hyprland/DETAILS | 19 +++
windowmanagers/hyprland/HISTORY | 3
windowmanagers/hyprland/PRE_BUILD | 11 +
windowmanagers/hyprland/patches/hyprland-system-wlroots.patch | 58
++++++++++
7 files changed, 144 insertions(+)

New commits:
commit 72c1d6058885e6ad3a5c82ca0d6f2b6470905072
Author: Conner Clere <xenanthropy AT sourcemage.org>
Commit: Conner Clere <xenanthropy AT sourcemage.org>

windowmanagers/hyprland: new spell, a dynamic tiling wayland compositor

diff --git a/ChangeLog b/ChangeLog
index 16b493a..b84fa59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2023-01-31 Conner Clere <xenanthropy AT sourcemage.org>
+ * windowmanagers/hyprland: new spell, a dynamic tiling wayland
compositor
+
2023-01-30 Pavel Vinogradov <public AT sourcemage.org>
* editors/helix: new spell, a post-modern modal text editor

diff --git a/windowmanagers/hyprland/CONFIGURE
b/windowmanagers/hyprland/CONFIGURE
new file mode 100755
index 0000000..9f48d22
--- /dev/null
+++ b/windowmanagers/hyprland/CONFIGURE
@@ -0,0 +1 @@
+. "${GRIMOIRE}/MESON_CONFIGURE"
diff --git a/windowmanagers/hyprland/DEPENDS b/windowmanagers/hyprland/DEPENDS
new file mode 100755
index 0000000..adcffa9
--- /dev/null
+++ b/windowmanagers/hyprland/DEPENDS
@@ -0,0 +1,49 @@
+. "${GRIMOIRE}/MESON_DEPENDS" &&
+depends PKG-CONFIG &&
+depends jq &&
+depends git &&
+depends wayland &&
+depends wayland-protocols &&
+depends wlroots &&
+depends libglvnd &&
+depends libxkbcommon &&
+depends libinput &&
+depends cairo &&
+depends pixman &&
+depends OPENGL &&
+depends seatd &&
+
+# Needs -sub SCM
+optional_depends wlroots \
+ 'use_system_wlroots=enabled' \
+ 'use_system_wlroots=disabled' \
+ 'Use system wlroots? (Recommended)' &&
+
+# If no system wlroots, we need to depend on wlroots' deps
+# so wlroots subproject will build
+if !(is_depends_enabled $SPELL wlroots); then
+ depends python3 &&
+ depends DEVICE-MANAGER &&
+ depends xcb-util-errors &&
+ depends libdrm &&
+ depends hwdata &&
+ optional_depends vulkan-headers '' '' 'Build Vulkan renderer?' &&
+ if is_depends_enabled $SPELL vulkan-headers; then
+ depends vulkan-loader &&
+ depends glslang
+ fi
+fi &&
+
+optional_depends xwayland \
+ 'xwayland=enabled' \
+ 'xwayland=disabled' \
+ 'Enable x11 application support?' &&
+
+if is_depends_enabled $SPELL xwayland; then
+ depends libxcb
+fi &&
+
+optional_depends systemd \
+ 'systemd=enabled' \
+ 'systemd=disabled' \
+ 'Enable systemd support?'
\ No newline at end of file
diff --git a/windowmanagers/hyprland/DETAILS b/windowmanagers/hyprland/DETAILS
new file mode 100755
index 0000000..5d3baf9
--- /dev/null
+++ b/windowmanagers/hyprland/DETAILS
@@ -0,0 +1,19 @@
+. "$GRIMOIRE/MESON_FUNCTIONS"
+ SPELL=hyprland
+ VERSION=0.21.0
+ SOURCE=Hyprland-${VERSION}beta.tar.gz
+
SOURCE_URL[0]=https://github.com/hyprwm/${SPELL}/archive/v${VERSION}beta.tar.gz
+
SOURCE_HASH=sha256:7fb3ba09011c991fcdfbba825cc69af1c9eb0568bc422f95be5cce860baaea1b
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/Hyprland-${VERSION}beta"
+ WEB_SITE=http://www.hyprland.org/
+ ENTERED=20230123
+ LICENSE[0]=BSD
+ KEYWORDS="windowmanagers wayland wlroots"
+ SHORT="dynamic tiling Wayland compositor"
+cat << EOF
+Hyprland is a dynamic tiling Wayland compositor based on wlroots
+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.
+EOF
diff --git a/windowmanagers/hyprland/HISTORY b/windowmanagers/hyprland/HISTORY
new file mode 100644
index 0000000..6512e93
--- /dev/null
+++ b/windowmanagers/hyprland/HISTORY
@@ -0,0 +1,3 @@
+2023-01-31 Conner Clere <xenanthropy AT sourcemage.org>
+ * CONFIGURE, DEPENDS, PRE_BUILD, DETAILS: version 0.21.0, new spell
+ * patches/hyprland-system-wlroots.patch: add support for system
wlroots
diff --git a/windowmanagers/hyprland/PRE_BUILD
b/windowmanagers/hyprland/PRE_BUILD
new file mode 100755
index 0000000..5e751ba
--- /dev/null
+++ b/windowmanagers/hyprland/PRE_BUILD
@@ -0,0 +1,11 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+apply_patch_dir patches &&
+
+cd "${SOURCE_DIRECTORY}/subprojects" &&
+git clone https://github.com/hyprwm/hyprland-protocols.git
./hyprland-protocols &&
+
+# Clones wlroots repo if you aren't using system wlroots
+if !(is_depends_enabled $SPELL wlroots); then
+ git clone https://gitlab.freedesktop.org/wlroots/wlroots.git ./wlroots
+fi
diff --git a/windowmanagers/hyprland/patches/hyprland-system-wlroots.patch
b/windowmanagers/hyprland/patches/hyprland-system-wlroots.patch
new file mode 100644
index 0000000..63bfbd1
--- /dev/null
+++ b/windowmanagers/hyprland/patches/hyprland-system-wlroots.patch
@@ -0,0 +1,58 @@
+diff --git a/meson.build b/meson.build
+index 9435333..21afe36 100644
+--- a/meson.build
++++ b/meson.build
+@@ -37,17 +37,28 @@ add_project_arguments(
+ ],
+ language: 'cpp')
+
+-wlroots = subproject('wlroots', default_options: ['examples=false'])
+-have_xwlr = wlroots.get_variable('features').get('xwayland')
++wlroots = dependency('wlroots', required: get_option('use_system_wlroots'))
++use_system_wlroots = not get_option('use_system_wlroots').disabled() and
wlroots.found()
++if not use_system_wlroots
++ wlroots = subproject('wlroots', default_options :
['examples=false']).get_variable('wlroots')
++endif
++
++have_xwlr = false
++if use_system_wlroots
++ have_xwlr = cpp_compiler.get_define('WLR_HAS_XWAYLAND', prefix:
'#include <wlr/config.h>', dependencies: wlroots) == '1'
++else
++ have_xwlr =
subproject('wlroots').get_variable('features').get('xwayland')
++endif
++
+ xcb_dep = dependency('xcb', required: get_option('xwayland'))
+
+ if get_option('xwayland').enabled() and not have_xwlr
+ error('Cannot enable Xwayland in Hyprland: wlroots has been built
without Xwayland support')
+ endif
+ have_xwayland = xcb_dep.found() and have_xwlr
+
+ if not have_xwayland
+-add_project_arguments('-DNO_XWAYLAND', language: 'cpp')
++ add_project_arguments('-DNO_XWAYLAND', language: 'cpp')
+ endif
+
+ if get_option('buildtype') == 'debug'
+diff --git a/meson_options.txt b/meson_options.txt
+index d34c617..adf708f 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1 +1,2 @@
++option('use_system_wlroots', type: 'feature', value: 'auto', description:
'Use the system-wide installation of wlroots')
+ option('xwayland', type: 'feature', value: 'auto', description: 'Enable
support for X11 applications')
+diff --git a/src/meson.build b/src/meson.build
+index 5d64188..1d8f7b2 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -5,9 +5,9 @@ executable('Hyprland', src,
+ cpp_args: ['-DWLR_USE_UNSTABLE'],
+ dependencies: [
+ server_protos,
++ wlroots,
+ dependency('wayland-server'),
+ dependency('wayland-client'),
+- wlroots.get_variable('wlroots'),
+ dependency('cairo'),
+ dependency('pango'),
+ dependency('pangocairo'),



  • [SM-Commit] GIT changes to master grimoire by Conner Clere (72c1d6058885e6ad3a5c82ca0d6f2b6470905072), Conner Clere, 01/31/2023

Archive powered by MHonArc 2.6.24.

Top of Page