From 428279a319289839079d459ab220bb9fa502aa0f Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 26 Nov 2024 19:08:16 +0100 Subject: [PATCH] build: add Meson wrap manifests for our dependencies Add Meson wrap manifests for all of our dependencies which can fallback to a subproject. This makes it easier to build wlroots on platforms where system packages are outdated. Users can now opt-in via `meson configure --wrap-mode=default` and Meson will download and build any missing dependency. Don't download by default because this can be quite surprising and undesirable for some users (e.g. if they are just missing some -dev package). --- .gitignore | 1 + meson.build | 1 + subprojects/libdisplay-info.wrap | 3 +++ subprojects/libdrm.wrap | 3 +++ subprojects/libliftoff.wrap | 3 +++ subprojects/libxkbcommon.wrap | 3 +++ subprojects/pixman.wrap | 3 +++ subprojects/seatd.wrap | 3 +++ subprojects/wayland-protocols.wrap | 3 +++ subprojects/wayland.wrap | 3 +++ 10 files changed, 26 insertions(+) create mode 100644 subprojects/libdisplay-info.wrap create mode 100644 subprojects/libdrm.wrap create mode 100644 subprojects/libliftoff.wrap create mode 100644 subprojects/libxkbcommon.wrap create mode 100644 subprojects/pixman.wrap create mode 100644 subprojects/seatd.wrap create mode 100644 subprojects/wayland-protocols.wrap create mode 100644 subprojects/wayland.wrap diff --git a/.gitignore b/.gitignore index d73983bfb..623384e78 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /subprojects/ +!/subprojects/*.wrap diff --git a/meson.build b/meson.build index 690b77b35..606a8d808 100644 --- a/meson.build +++ b/meson.build @@ -8,6 +8,7 @@ project( 'c_std=' + (meson.version().version_compare('>=1.4.0') ? 'c23,c11' : 'c11'), 'warning_level=2', 'werror=true', + 'wrap_mode=nodownload', ], ) diff --git a/subprojects/libdisplay-info.wrap b/subprojects/libdisplay-info.wrap new file mode 100644 index 000000000..f92d3041f --- /dev/null +++ b/subprojects/libdisplay-info.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://gitlab.freedesktop.org/emersion/libdisplay-info.git +revision = HEAD diff --git a/subprojects/libdrm.wrap b/subprojects/libdrm.wrap new file mode 100644 index 000000000..2b5ca29c8 --- /dev/null +++ b/subprojects/libdrm.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://gitlab.freedesktop.org/mesa/drm.git +revision = HEAD diff --git a/subprojects/libliftoff.wrap b/subprojects/libliftoff.wrap new file mode 100644 index 000000000..57e6bb231 --- /dev/null +++ b/subprojects/libliftoff.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://gitlab.freedesktop.org/emersion/libliftoff.git +revision = HEAD diff --git a/subprojects/libxkbcommon.wrap b/subprojects/libxkbcommon.wrap new file mode 100644 index 000000000..102b84496 --- /dev/null +++ b/subprojects/libxkbcommon.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://github.com/xkbcommon/libxkbcommon.git +revision = HEAD diff --git a/subprojects/pixman.wrap b/subprojects/pixman.wrap new file mode 100644 index 000000000..e34794a92 --- /dev/null +++ b/subprojects/pixman.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://gitlab.freedesktop.org/pixman/pixman.git +revision = HEAD diff --git a/subprojects/seatd.wrap b/subprojects/seatd.wrap new file mode 100644 index 000000000..2116366b8 --- /dev/null +++ b/subprojects/seatd.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://git.sr.ht/~kennylevinsen/seatd +revision = HEAD diff --git a/subprojects/wayland-protocols.wrap b/subprojects/wayland-protocols.wrap new file mode 100644 index 000000000..7b093efce --- /dev/null +++ b/subprojects/wayland-protocols.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://gitlab.freedesktop.org/wayland/wayland-protocols.git +revision = HEAD diff --git a/subprojects/wayland.wrap b/subprojects/wayland.wrap new file mode 100644 index 000000000..18d265671 --- /dev/null +++ b/subprojects/wayland.wrap @@ -0,0 +1,3 @@ +[wrap-git] +url = https://gitlab.freedesktop.org/wayland/wayland.git +revision = HEAD