From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: gui-wm/wayfire/, gui-wm/wayfire/files/
Date: Tue, 19 Mar 2024 10:06:52 +0000 (UTC) [thread overview]
Message-ID: <1710842738.313a17318ddeb6039fd081da6793f64afad942d2.sam@gentoo> (raw)
commit: 313a17318ddeb6039fd081da6793f64afad942d2
Author: Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Tue Mar 19 09:36:33 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar 19 10:05:38 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=313a1731
gui-wm/wayfire: add patch to not use system installed configuration
* Otherwise you would get hard to parse errors when different parts of
build are built with different configurations.
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
...wayfire-0.8.0-dont-use-installed-config-h.patch | 65 ++++++++++++++++++
...ayfire-0.8.1.ebuild => wayfire-0.8.0-r2.ebuild} | 77 ++++++++++++++++++----
...ayfire-0.8.1.ebuild => wayfire-0.8.1-r1.ebuild} | 4 ++
3 files changed, 134 insertions(+), 12 deletions(-)
diff --git a/gui-wm/wayfire/files/wayfire-0.8.0-dont-use-installed-config-h.patch b/gui-wm/wayfire/files/wayfire-0.8.0-dont-use-installed-config-h.patch
new file mode 100644
index 000000000000..3938cd955ce2
--- /dev/null
+++ b/gui-wm/wayfire/files/wayfire-0.8.0-dont-use-installed-config-h.patch
@@ -0,0 +1,65 @@
+https://github.com/WayfireWM/wayfire/pull/2225
+
+From f7bcad19598cbff1324f7737022ffee8848b3555 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Mon, 18 Mar 2024 16:32:06 +0200
+Subject: [PATCH] Copy config.h approach from wlroots-full.hpp to other public
+ api headers (#2225)
+
+* Otherwise wayfire could use the config.h of an already installed
+ wayfire installation and lead to confusing linking issues if the
+ options differed (like installed wayfire has xwayland disabled and the
+ new build has it enabled).
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/src/api/wayfire/debug.hpp
++++ b/src/api/wayfire/debug.hpp
+@@ -1,8 +1,12 @@
+ #ifndef DEBUG_HPP
+ #define DEBUG_HPP
+
+-#ifndef WAYFIRE_PLUGIN
+- #include "config.h"
++// WF_USE_CONFIG_H is set only when building Wayfire itself, external plugins
++// need to use <wayfire/config.h>
++#ifdef WF_USE_CONFIG_H
++ #include <config.h>
++#else
++ #include <wayfire/config.h>
+ #endif
+
+ #define nonull(x) ((x) ? (x) : ("nil"))
+--- a/src/api/wayfire/unstable/wlr-view-events.hpp
++++ b/src/api/wayfire/unstable/wlr-view-events.hpp
+@@ -1,9 +1,11 @@
+ #pragma once
+
+-#if __has_include(<wayfire/config.h>)
+- #include <wayfire/config.h>
++// WF_USE_CONFIG_H is set only when building Wayfire itself, external plugins
++// need to use <wayfire/config.h>
++#ifdef WF_USE_CONFIG_H
++ #include <config.h>
+ #else
+- #include "config.h"
++ #include <wayfire/config.h>
+ #endif
+
+ #include <wayfire/nonstd/wlroots-full.hpp>
+--- a/src/api/wayfire/unstable/xwl-toplevel-base.hpp
++++ b/src/api/wayfire/unstable/xwl-toplevel-base.hpp
+@@ -1,9 +1,11 @@
+ #pragma once
+
+-#if __has_include(<wayfire/config.h>)
+- #include <wayfire/config.h>
++// WF_USE_CONFIG_H is set only when building Wayfire itself, external plugins
++// need to use <wayfire/config.h>
++#ifdef WF_USE_CONFIG_H
++ #include <config.h>
+ #else
+- #include "config.h"
++ #include <wayfire/config.h>
+ #endif
+
+ #include <wayfire/nonstd/wlroots-full.hpp>
diff --git a/gui-wm/wayfire/wayfire-0.8.1.ebuild b/gui-wm/wayfire/wayfire-0.8.0-r2.ebuild
similarity index 55%
copy from gui-wm/wayfire/wayfire-0.8.1.ebuild
copy to gui-wm/wayfire/wayfire-0.8.0-r2.ebuild
index a5e655f6d398..c6ed5fedef88 100644
--- a/gui-wm/wayfire/wayfire-0.8.1.ebuild
+++ b/gui-wm/wayfire/wayfire-0.8.0-r2.ebuild
@@ -11,55 +11,99 @@ HOMEPAGE="https://github.com/WayfireWM/wayfire"
if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/WayfireWM/${PN}.git"
- SLOT="0/0.8"
+ SLOT="0/9999"
else
SRC_URI="https://github.com/WayfireWM/${PN}/releases/download/v${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~riscv"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
SLOT="0/$(ver_cut 1-2)"
fi
LICENSE="MIT"
-IUSE="+gles test X"
+IUSE="+gles +system-wfconfig +system-wlroots test X"
RESTRICT="!test? ( test )"
# bundled wlroots has the following dependency string according to included headers.
# wlroots[drm,gles2-renderer,libinput,x11-backend?,X?]
# enable x11-backend with X and vice versa
+WLROOTS_CDEPEND="
+ >=dev-libs/libinput-1.14.0:=
+ >=dev-libs/wayland-1.21
+ media-libs/libglvnd
+ media-libs/mesa[egl(+),gles2]
+ sys-apps/hwdata:=
+ sys-auth/seatd:=
+ >=x11-libs/libdrm-2.4.114:=
+ x11-libs/libxkbcommon
+ >=x11-libs/pixman-0.42.0
+ virtual/libudev
+ X? (
+ x11-base/xwayland
+ x11-libs/libxcb:0=
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ )
+"
+WLROOTS_DEPEND="
+ >=dev-libs/wayland-protocols-1.28
+"
+WLROOTS_BDEPEND="
+ dev-util/glslang
+ dev-util/wayland-scanner
+"
+
CDEPEND="
dev-cpp/nlohmann_json
- dev-libs/glib:2
dev-libs/libevdev
- >=dev-libs/libinput-1.7.0:=
+ >=dev-libs/libinput-1.7.0
dev-libs/wayland
>=dev-libs/wayland-protocols-1.12
- gui-libs/wf-config:${SLOT}
- gui-libs/wlroots:0/17[drm(+),libinput(+),x11-backend,X?]
media-libs/glm
media-libs/libglvnd
media-libs/libjpeg-turbo:=
media-libs/libpng:=
x11-libs/cairo
+ x11-libs/libdrm:=
x11-libs/libxkbcommon
x11-libs/pango
x11-libs/pixman
- X? (
- x11-libs/libxcb:=
- )
+ system-wfconfig? ( gui-libs/wf-config:${SLOT} )
+ !system-wfconfig? ( dev-libs/libxml2 )
+ !system-wlroots? ( ${WLROOTS_CDEPEND} )
"
+if [[ ${PV} == 9999 ]] ; then
+ CDEPEND+="
+ system-wlroots? ( gui-libs/wlroots:0/9999[drm(+),libinput(+),x11-backend,X?] )
+ "
+else
+ CDEPEND+="
+ system-wlroots? ( gui-libs/wlroots:0/16[drm(+),libinput(+),x11-backend,X?] )
+ "
+fi
+
RDEPEND="
${CDEPEND}
x11-misc/xkeyboard-config
+ !system-wfconfig? ( !gui-libs/wf-config )
+ !system-wlroots? ( !gui-libs/wlroots )
"
DEPEND="
${CDEPEND}
+ !system-wlroots? ( ${WLROOTS_DEPEND} )
test? ( dev-cpp/doctest )
"
BDEPEND="
dev-util/wayland-scanner
virtual/pkgconfig
+ !system-wlroots? ( ${WLROOTS_BDEPEND} )
"
+PATCHES=(
+ "${FILESDIR}/wayfire-0.8.0-fix-duplicate-manpage.patch"
+ "${FILESDIR}/wayfire-0.8.0-dont-use-installed-config-h.patch"
+)
+
src_prepare() {
default
@@ -67,15 +111,24 @@ src_prepare() {
"${FILESDIR}"/wayfire-session > "${T}"/wayfire-session || die
sed -e "s:@EPREFIX@:${EPREFIX}:" \
"${FILESDIR}"/wayfire-session.desktop > "${T}"/wayfire-session.desktop || die
+
+ if [[ "${PV}" != 9999 ]]; then
+ # Don't run git if git is installed and its not a git dir
+ sed -i \
+ -e "/git = find_program/ifs = import\('fs'\)" \
+ -e "s/if git.found()/if git.found() and fs.is_dir('.git')/" \
+ meson.build || die
+ fi
+
}
src_configure() {
local emesonargs=(
+ $(meson_feature system-wfconfig use_system_wfconfig)
+ $(meson_feature system-wlroots use_system_wlroots)
$(meson_feature test tests)
$(meson_feature X xwayland)
$(meson_use gles enable_gles32)
- -Duse_system_wfconfig=enabled
- -Duse_system_wlroots=enabled
)
meson_src_configure
diff --git a/gui-wm/wayfire/wayfire-0.8.1.ebuild b/gui-wm/wayfire/wayfire-0.8.1-r1.ebuild
similarity index 96%
rename from gui-wm/wayfire/wayfire-0.8.1.ebuild
rename to gui-wm/wayfire/wayfire-0.8.1-r1.ebuild
index a5e655f6d398..094395b5b72e 100644
--- a/gui-wm/wayfire/wayfire-0.8.1.ebuild
+++ b/gui-wm/wayfire/wayfire-0.8.1-r1.ebuild
@@ -60,6 +60,10 @@ BDEPEND="
virtual/pkgconfig
"
+PATCHES=(
+ "${FILESDIR}/wayfire-0.8.0-dont-use-installed-config-h.patch"
+)
+
src_prepare() {
default
next reply other threads:[~2024-03-19 10:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-19 10:06 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-08-23 12:54 [gentoo-commits] repo/gentoo:master commit in: gui-wm/wayfire/, gui-wm/wayfire/files/ Viorel Munteanu
2024-03-16 19:24 Arthur Zamarin
2024-01-30 11:33 Sam James
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1710842738.313a17318ddeb6039fd081da6793f64afad942d2.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox