public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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
 


             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