diff options
Diffstat (limited to 'dwl-patches/patches/meson/meson.patch')
-rw-r--r-- | dwl-patches/patches/meson/meson.patch | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/dwl-patches/patches/meson/meson.patch b/dwl-patches/patches/meson/meson.patch new file mode 100644 index 0000000..6d78036 --- /dev/null +++ b/dwl-patches/patches/meson/meson.patch @@ -0,0 +1,135 @@ +From 136cdeb302fdfe28e5cd5c6a1693b05c3d1bfb58 Mon Sep 17 00:00:00 2001 +From: sewn <sewn@disroot.org> +Date: Sat, 7 Dec 2024 09:59:01 +0300 +Subject: [PATCH] add meson + +--- + .gitignore | 1 + + meson.build | 93 ++++++++++++++++++++++++++++++++++++++++ + subprojects/wlroots.wrap | 5 +++ + 3 files changed, 99 insertions(+) + create mode 100644 meson.build + create mode 100644 subprojects/wlroots.wrap + +diff --git a/.gitignore b/.gitignore +index 0dde90e..9246a31 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -4,3 +4,4 @@ dwl + *-protocol.h + .ccls-cache + config.h ++subprojects/wlroots +diff --git a/meson.build b/meson.build +new file mode 100644 +index 0000000..e2219ec +--- /dev/null ++++ b/meson.build +@@ -0,0 +1,93 @@ ++project( ++ 'dwl', ++ 'c', ++ version: run_command('git', 'describe', '--tags', '--dirty', check: false).stdout().strip(), ++ license: [ 'GPL-3.0-only', 'CC0-1.0', 'MIT' ], ++ meson_version: '>=1.3', ++ default_options: [ ++ 'c_std=c99', ++ 'warning_level=2', ++ ], ++) ++ ++configure_file( ++ input: 'config.def.h', ++ output: 'config.h', ++ copy: true, ++ install_dir: '.', ++) ++ ++cc = meson.get_compiler('c') ++ ++add_project_arguments([ ++ '-DWLR_USE_UNSTABLE', ++ '-D_POSIX_C_SOURCE=200809L', ++ '-DVERSION="@0@"'.format(meson.project_version()), ++ ++ '-Wno-unused-parameter', ++], language: 'c') ++ ++wlroots = subproject('wlroots', ++ default_options: [ ++ 'backends=drm,libinput,auto', ++ 'default_library=static', ++ 'examples=false', ++ 'session=enabled', ++ ], ++) ++wlroots_has_xwlr = wlroots.get_variable('features').get('xwayland') ++ ++libinput = dependency('libinput') ++math = cc.find_library('m') ++wayland_server = dependency('wayland-server') ++xcb = dependency('xcb', required: wlroots_has_xwlr) ++xcb_icccm = dependency('xcb-icccm', required: wlroots_has_xwlr) ++xkbcommon = dependency('xkbcommon') ++ ++dwl_deps = [ ++ libinput, ++ math, ++ wayland_server, ++ wlroots.get_variable('wlroots'), ++ xkbcommon, ++] ++ ++if wlroots_has_xwlr ++ add_project_arguments('-DXWAYLAND', language: 'c') ++ dwl_deps += [ xcb, xcb_icccm ] ++endif ++ ++wayland_protos = dependency('wayland-protocols') ++wayland_scanner = dependency('wayland-scanner') ++wayland_protocol_dir = wayland_protos.get_variable('pkgdatadir') ++wayland_scanner_prog = find_program( ++ wayland_scanner.get_variable('wayland_scanner'), ++ native: true, ++) ++ ++protocols = [ ++ wayland_protocol_dir / 'staging/cursor-shape/cursor-shape-v1.xml', ++ wayland_protocol_dir / 'unstable/pointer-constraints/pointer-constraints-unstable-v1.xml', ++ 'protocols/wlr-layer-shell-unstable-v1.xml', ++ 'protocols/wlr-output-power-management-unstable-v1.xml', ++ wayland_protocol_dir / 'stable/xdg-shell/xdg-shell.xml', ++] ++protocols_src = [] ++ ++wayland_scanner_server = generator( ++ wayland_scanner_prog, ++ output: '@BASENAME@-protocol.h', ++ arguments: ['server-header', '@INPUT@', '@OUTPUT@'], ++) ++ ++foreach xml : protocols ++ protocols_src += wayland_scanner_server.process(xml) ++endforeach ++ ++executable( ++ 'dwl', ++ [ 'dwl.c', 'util.c', protocols_src ], ++ include_directories: [include_directories('.')], ++ dependencies: dwl_deps, ++ install: true, ++) +diff --git a/subprojects/wlroots.wrap b/subprojects/wlroots.wrap +new file mode 100644 +index 0000000..3d9cbfa +--- /dev/null ++++ b/subprojects/wlroots.wrap +@@ -0,0 +1,5 @@ ++[wrap-git] ++url = https://gitlab.freedesktop.org/wlroots/wlroots.git ++revision = master ++depth = 1 ++clone-recursive = true +-- +2.47.1 + |