commit:     796077588ad7a4ed73760806bbaacca9c4f96381
Author:     Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 12 05:45:31 2026 +0000
Commit:     Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Thu Mar 12 05:46:20 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79607758

games-engines/solarus: drop editor USE

The editor depends on the package at build-time - since it's already packaged
separately we'll just use that with the same source tarball.

Bug: https://bugs.gentoo.org/953383
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>

 .../files/solarus-2.0.3-system-qlementine.patch    | 105 ---------------------
 games-engines/solarus/metadata.xml                 |   1 -
 ...olarus-2.0.3.ebuild => solarus-2.0.3-r1.ebuild} |  21 ++---
 games-engines/solarus/solarus-9999.ebuild          |  17 ++--
 profiles/arch/x86/package.use.mask                 |   4 -
 5 files changed, 12 insertions(+), 136 deletions(-)

diff --git a/games-engines/solarus/files/solarus-2.0.3-system-qlementine.patch 
b/games-engines/solarus/files/solarus-2.0.3-system-qlementine.patch
deleted file mode 100644
index b3a769bfbc64..000000000000
--- a/games-engines/solarus/files/solarus-2.0.3-system-qlementine.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-https://gitlab.com/solarus-games/solarus/-/merge_requests/1679
-From: Matt Jolly <[email protected]>
-Date: Wed, 27 Aug 2025 15:44:38 +1000
-Subject: [PATCH] editor: build: use system qlementine; missing svg dep
-
-This commit enables finding and using a system copy of `Qlementine`.
-Distributions that wish to package the software often frown upon
-vendored software and build in sandboxed environments, particularly
-restricting build-time network access.
-
-This enables downstreams to choose how they want to use Qlementine,
-while still providing build-time control over how Qlementine is found.
-
-Qlementine will be found as follows:
-
-1. If SOLARUS_USE_LOCAL_QLEMENTINE is set use the provided path via
-   existing logic
-2. If SOLARUS_USE_SYSTEM_QLEMENTINE is set (now default), attempt to use
-   pkgconfig then CMake to find the system package
-3. Fetch from Git via FetchContent.
-
-We also add a missing dependency on Ot6Svg as a result of linking issues
-encountered when running the editor against a system copy of Qlementine.
-
-Signed-off-by: Matt Jolly <[email protected]>
---- a/editor/cmake/AddDependencies.cmake
-+++ b/editor/cmake/AddDependencies.cmake
-@@ -8,6 +8,7 @@ find_package(Qt6Core "6.8" REQUIRED)
- find_package(Qt6Widgets REQUIRED)
- find_package(Qt6OpenGL REQUIRED)
- find_package(Qt6OpenGLWidgets REQUIRED)
-+find_package(Qt6Svg REQUIRED)
- 
- # Find Qt6LinguistTools within the host path when set.
- # This is required for cross compilation with Qt6 as the module is
-@@ -44,29 +45,46 @@ if("${DL_LIBRARY}" MATCHES DL_LIBRARY-NOTFOUND)
-   set(DL_LIBRARY "")
- endif()
- 
--# Control whether to use a local Qlementine build.
-+# Control Qlementine acquisition method.
- include(FetchContent)
--option(SOLARUS_USE_LOCAL_QLEMENTINE "Use a local build of Qlementine instead 
of FetchContent download" OFF)
-+option(SOLARUS_USE_LOCAL_QLEMENTINE "Use a local build of Qlementine (highest 
priority)" OFF)
-+option(SOLARUS_USE_SYSTEM_QLEMENTINE "Use system-installed Qlementine via 
pkgconfig" ON)
-+
-+set(qlementine_FOUND FALSE)
-+
-+# Priority 1: Local Qlementine build
- if(SOLARUS_USE_LOCAL_QLEMENTINE)
-   set(SOLARUS_QLEMENTINE_LOCAL_PATH "" CACHE PATH "Path to the local 
Qlementine source directory")
-   # Check if the provided path is valid.
-   if(NOT IS_DIRECTORY "${SOLARUS_QLEMENTINE_LOCAL_PATH}")
--    message(FATAL_ERROR "SOLARUS_QLEMENTINE_LOCAL_PATH is set to 
'${SOLARUS_QLEMENTINE_LOCAL_PATH}' but it's not a valid directory. Please 
provide the correct path to your local qlementine clone.")
-+    message(FATAL_ERROR "SOLARUS_QLEMENTINE_LOCAL_PATH is set to 
'${SOLARUS_QLEMENTINE_LOCAL_PATH}' but it's not a valid directory. Please 
provide the correct path to your local Qlementine clone.")
-   else()
--    set(Qlementine_SOURCE_DIR ${QSOLARUS_LEMENTINE_LOCAL_PATH})
-+    set(Qlementine_SOURCE_DIR ${SOLARUS_QLEMENTINE_LOCAL_PATH})
-     message(STATUS "Using local Qlementine source from: 
${SOLARUS_QLEMENTINE_LOCAL_PATH}")
-+    FetchContent_Declare(
-+      qlementine
-+      SOURCE_DIR "${SOLARUS_QLEMENTINE_LOCAL_PATH}"
-+      EXCLUDE_FROM_ALL
-+    )
-+    FetchContent_MakeAvailable(qlementine)
-+    set(qlementine_FOUND TRUE)
-   endif()
--  FetchContent_Declare(
--    qlementine
--    SOURCE_DIR "${SOLARUS_QLEMENTINE_LOCAL_PATH}"
--    EXCLUDE_FROM_ALL
--  )
--else()
-+endif()
-+
-+# Priority 2: System-installed Qlementine
-+if(NOT qlementine_FOUND AND SOLARUS_USE_SYSTEM_QLEMENTINE)
-+  find_package(qlementine REQUIRED)
-+endif()
-+
-+# Priority 3: Fetch from Git (fallback)
-+if(NOT qlementine_FOUND)
-+  message(STATUS "Using Qlementine from Git repository (FetchContent)")
-   FetchContent_Declare(
-     qlementine
-     GIT_REPOSITORY https://github.com/oclero/qlementine.git
-     GIT_TAG        v1.4.0
-     EXCLUDE_FROM_ALL
-   )
-+  FetchContent_MakeAvailable(qlementine)
-+  set(qlementine_FOUND TRUE)
- endif()
--FetchContent_MakeAvailable(qlementine)
---- a/editor/cmake/AddEditorExecutable.cmake
-+++ b/editor/cmake/AddEditorExecutable.cmake
-@@ -10,6 +10,7 @@ target_link_libraries(solarus-editor
-   Qt6::Widgets
-   Qt6::OpenGL
-   Qt6::OpenGLWidgets
-+  Qt6::Svg
-   "${SOLARUS_LIBRARIES}"
-   "${SDL2_LIBRARY}"
-   "${SDL2_IMAGE_LIBRARY}"
--- 
-2.52.0

diff --git a/games-engines/solarus/metadata.xml 
b/games-engines/solarus/metadata.xml
index 7aea88fc492f..16d609b36b2d 100644
--- a/games-engines/solarus/metadata.xml
+++ b/games-engines/solarus/metadata.xml
@@ -7,7 +7,6 @@
        </maintainer>
        <use>
                <flag name="doc">Install doxygen developer documentation.</flag>
-               <flag name="editor">Install the Solarus Quest Editor.</flag>
        </use>
        <upstream>
                <remote-id type="gitlab">solarus-games/solarus</remote-id>

diff --git a/games-engines/solarus/solarus-2.0.3.ebuild 
b/games-engines/solarus/solarus-2.0.3-r1.ebuild
similarity index 79%
rename from games-engines/solarus/solarus-2.0.3.ebuild
rename to games-engines/solarus/solarus-2.0.3-r1.ebuild
index 1b6674465526..4fa05e474c41 100644
--- a/games-engines/solarus/solarus-2.0.3.ebuild
+++ b/games-engines/solarus/solarus-2.0.3-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 LUA_COMPAT=( lua5-1 luajit )
 
-inherit cmake lua-single virtualx
+inherit cmake lua-single optfeature virtualx
 
 DESCRIPTION="An open-source Zelda-like 2D game engine"
 HOMEPAGE="https://www.solarus-games.org/";
@@ -21,7 +21,7 @@ fi
 
 LICENSE="GPL-3+"
 SLOT="0"
-IUSE="doc +editor"
+IUSE="doc"
 
 REQUIRED_USE="${LUA_REQUIRED_USE}"
 
@@ -35,7 +35,6 @@ RDEPEND="
        media-libs/openal
        media-libs/sdl2-image[png]
        >=media-libs/sdl2-ttf-2.0.12
-       editor? ( >=dev-qt/qlementine-1.4.0 )
 "
 
 DEPEND="
@@ -50,10 +49,6 @@ if ! [[ ${PV} == 9999 ]]; then
        S="${WORKDIR}/solarus-v${PV}"
 fi
 
-PATCHES=(
-       "${FILESDIR}/solarus-2.0.3-system-qlementine.patch"
-)
-
 src_configure() {
        local mycmakeargs=( -DSOLARUS_USE_LUAJIT="$(usex 
lua_single_target_luajit)" )
        cmake_src_configure
@@ -64,13 +59,6 @@ src_compile() {
        if use doc ; then
                cd doc && doxygen || die
        fi
-       if use editor ; then
-               mycmakeargs+=(
-                       -DSOLARUS_USE_SYSTEM_QLEMENTINE=ON
-                       -DSOLARUS_USE_LOCAL_QLEMENTINE=OFF
-               )
-               cd editor && cmake_src_compile
-       fi
 }
 
 src_test() {
@@ -82,5 +70,8 @@ src_test() {
 src_install() {
        cmake_src_install
        use doc && dodoc -r doc/${PV%.*}/html/*
-       use editor && cmake_src_install
+}
+
+pkg_postinst() {
+        optfeature "the Solarus Quest Editor" games-misc/solarus-quest-editor
 }

diff --git a/games-engines/solarus/solarus-9999.ebuild 
b/games-engines/solarus/solarus-9999.ebuild
index 2257cbd5ce09..4fa05e474c41 100644
--- a/games-engines/solarus/solarus-9999.ebuild
+++ b/games-engines/solarus/solarus-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 LUA_COMPAT=( lua5-1 luajit )
 
-inherit cmake lua-single virtualx
+inherit cmake lua-single optfeature virtualx
 
 DESCRIPTION="An open-source Zelda-like 2D game engine"
 HOMEPAGE="https://www.solarus-games.org/";
@@ -21,7 +21,7 @@ fi
 
 LICENSE="GPL-3+"
 SLOT="0"
-IUSE="doc +editor"
+IUSE="doc"
 
 REQUIRED_USE="${LUA_REQUIRED_USE}"
 
@@ -35,7 +35,6 @@ RDEPEND="
        media-libs/openal
        media-libs/sdl2-image[png]
        >=media-libs/sdl2-ttf-2.0.12
-       editor? ( >=dev-qt/qlementine-1.4.0 )
 "
 
 DEPEND="
@@ -60,13 +59,6 @@ src_compile() {
        if use doc ; then
                cd doc && doxygen || die
        fi
-       if use editor ; then
-               mycmakeargs+=(
-                       -DSOLARUS_USE_SYSTEM_QLEMENTINE=ON
-                       -DSOLARUS_USE_LOCAL_QLEMENTINE=OFF
-               )
-               cd editor && cmake_src_compile
-       fi
 }
 
 src_test() {
@@ -78,5 +70,8 @@ src_test() {
 src_install() {
        cmake_src_install
        use doc && dodoc -r doc/${PV%.*}/html/*
-       use editor && cmake_src_install
+}
+
+pkg_postinst() {
+        optfeature "the Solarus Quest Editor" games-misc/solarus-quest-editor
 }

diff --git a/profiles/arch/x86/package.use.mask 
b/profiles/arch/x86/package.use.mask
index 7cb701386fcd..4e0ca50ea8c2 100644
--- a/profiles/arch/x86/package.use.mask
+++ b/profiles/arch/x86/package.use.mask
@@ -1,10 +1,6 @@
 # Copyright 1999-2026 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# Matt Jolly <[email protected]> (2026-03-12)
-# Dependency is not keyworded for x86
-games-engines/solarus editor
-
 # Mike Gilbert <[email protected]> (2025-12-15)
 # arch-specific platform values
 sys-boot/grub -grub_platforms_pc

Reply via email to