diff --git a/gui-wm/miracle-wm/Manifest b/gui-wm/miracle-wm/Manifest index 42e1c48ac2..40d87e5aba 100644 --- a/gui-wm/miracle-wm/Manifest +++ b/gui-wm/miracle-wm/Manifest @@ -1,2 +1,3 @@ DIST miracle-wm-0.6.1.tar.gz 1146630 BLAKE2B e5982359e7abbecd97b099c03b80a4374db01528981f4e1ee1fd8ef2112718af8d3c2c9a3f920c48dcb954cd03c93aa68433d3328a2c2ec27f230916fcfb4ade SHA512 823ac88b23b0d9337bf8e28520ca20fc17e0fe52955657c69703e8d37c394f192feb463ba307f7b6bc6c4b136770f3f03551991de649034b5abb1dc53c35c6e8 DIST miracle-wm-0.6.2.tar.gz 1146767 BLAKE2B 1c623224d6d68acb1336f4bc953cd993fa26a3166f3117802c3797b62d6db4bfec543e020cf5777d00f9271c00f800e42504d06b05e61b9dac3ec9fc56194c1c SHA512 d992b0a77ef290174cad2a810ecc0f311a24b08e2feb6384c7a51a5fd47ddac0e931dd634ba969f59b0a9bd116d26a6c7f53ebdb7f7cb8e321017bd18936a04b +DIST miracle-wm-0.7.0.tar.gz 1163831 BLAKE2B 5a289c7083df4fdbeb632b81e5753554caf73b5fce27d8b803ab5fcc13cb89ca8c8b6cc2e9bd784dc6fd483fe49ab015105ed1ffded7c16cf0cb6855f7bdf04d SHA512 c66da8c19f35c4f4d7dbe21c2e87bee033232e6d9b0c271325ee3a81c53efbcfe3dcdeb856d2990a7ca5551fc7e4bcf9cd8497d5b5c1bc71dccc65fa5625d088 diff --git a/gui-wm/miracle-wm/files/miracle-wm-0.7.0-disable-mirtest.patch b/gui-wm/miracle-wm/files/miracle-wm-0.7.0-disable-mirtest.patch new file mode 100644 index 0000000000..6b2f2f934a --- /dev/null +++ b/gui-wm/miracle-wm/files/miracle-wm-0.7.0-disable-mirtest.patch @@ -0,0 +1,15 @@ +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -9,12 +9,10 @@ include_directories( + find_package(PkgConfig) + pkg_check_modules(MIRAL miral REQUIRED) + pkg_check_modules(MIRSERVER mirserver REQUIRED) +-pkg_check_modules(MIRTEST mirtest REQUIRED) + pkg_check_modules(YAML REQUIRED IMPORTED_TARGET yaml-cpp) + find_package(GTest REQUIRED) + find_package(nlohmann_json 3.2.0 REQUIRED) + +-option(END_TO_END_TESTS "Include end-to-end tests?" OFF) + + set(SOURCES + mock_animation.h diff --git a/gui-wm/miracle-wm/files/miracle-wm-0.7.0-no-automagic.patch b/gui-wm/miracle-wm/files/miracle-wm-0.7.0-no-automagic.patch new file mode 100644 index 0000000000..a51f872a2b --- /dev/null +++ b/gui-wm/miracle-wm/files/miracle-wm-0.7.0-no-automagic.patch @@ -0,0 +1,25 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,7 +14,6 @@ if(CMAKE_GENERATOR STREQUAL "") + endif() + + # Enable ccache if available +-find_program(CCACHE_PROGRAM ccache) + if(CCACHE_PROGRAM) + message(STATUS "Using ccache: ${CCACHE_PROGRAM}") + set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM}) +@@ -22,14 +21,12 @@ if(CCACHE_PROGRAM) + endif() + + # Enable mold if available +-find_program(MOLD_LINKER mold) + if(MOLD_LINKER) + message(STATUS "Using mold linker: ${MOLD_LINKER}") + add_link_options(-fuse-ld=mold) + endif() + + # Optional LTO +-option(ENABLE_LTO "Enable link-time optimization (slower builds, faster binaries)" OFF) + if(ENABLE_LTO) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON) + endif() diff --git a/gui-wm/miracle-wm/miracle-wm-0.7.0.ebuild b/gui-wm/miracle-wm/miracle-wm-0.7.0.ebuild new file mode 100644 index 0000000000..e42ab28bc7 --- /dev/null +++ b/gui-wm/miracle-wm/miracle-wm-0.7.0.ebuild @@ -0,0 +1,80 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_13 ) + +inherit cmake python-single-r1 + +DESCRIPTION="Tiling Wayland compositor based on Mir" +HOMEPAGE="https://github.com/miracle-wm-org/miracle-wm" +SRC_URI="https://github.com/miracle-wm-org/miracle-wm/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+ MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="systemd test" +REQUIRED_USE="systemd? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + dev-cpp/yaml-cpp:= + dev-cpp/nlohmann_json + dev-libs/glib:2 + dev-libs/json-c:= + dev-libs/libevdev + dev-libs/libpcre2:= + dev-libs/wayland + >=gui-libs/mir-2.18:= + media-libs/libglvnd + x11-base/xwayland + x11-libs/libxkbcommon +" +RDEPEND=" + ${COMMON_DEPEND} + systemd? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/dbus-next[${PYTHON_USEDEP}] + dev-python/tenacity[${PYTHON_USEDEP}] + ') + ) +" +DEPEND=" + ${COMMON_DEPEND} + media-libs/glm +" +BDEPEND=" + virtual/pkgconfig + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}/${PN}-0.6.1-conditional-tests.patch" + "${FILESDIR}/${P}-disable-mirtest.patch" + "${FILESDIR}/${P}-no-automagic.patch" +) + +pkg_setup() { + use systemd && python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + use test || cmake_comment_add_subdirectory tests/ + use systemd && python_fix_shebang session/usr/bin/libexec/miracle-wm-wait-sni-ready +} + +src_configure() { + local mycmakeargs=( + -DSYSTEMD_INTEGRATION=$(usex systemd) + -DWITH_TESTS=$(usex test) + ) + cmake_src_configure +} + +src_test() { + "${BUILD_DIR}/tests/miracle-wm-tests" || die + "${BUILD_DIR}/miracle-wm-config/test_miracle_wm_config_c_api" || die +}