From 603fb272a673a4d7de8b08dd3e63522f454cdef1 Mon Sep 17 00:00:00 2001 From: Shin'ya Minazuki Date: Wed, 3 Jun 2026 10:33:33 -0300 Subject: [PATCH] games-engines/ioquake3: disable forced LTO, update live ebuild Signed-off-by: Shin'ya Minazuki --- .../patch-20260603-disable-forced-lto.diff | 19 +++++++++++++++++++ .../ioquake3/ioquake3-1.36.9999.ebuild | 13 ++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 games-engines/ioquake3/files/patch-20260603-disable-forced-lto.diff diff --git a/games-engines/ioquake3/files/patch-20260603-disable-forced-lto.diff b/games-engines/ioquake3/files/patch-20260603-disable-forced-lto.diff new file mode 100644 index 0000000..483a65a --- /dev/null +++ b/games-engines/ioquake3/files/patch-20260603-disable-forced-lto.diff @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4f0f8be5..5c7336b3 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -42,14 +42,6 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) + endif() + +-# Try to enable LTO by default +-include(CheckIPOSupported) +-check_ipo_supported(RESULT IPO_SUPPORTED) +-if(IPO_SUPPORTED) +- set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) +- set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_DEBUG FALSE) +-endif() +- + set(CMAKE_C_STANDARD 99) + set(CMAKE_C_STANDARD_REQUIRED ON) + set(CMAKE_SHARED_LIBRARY_PREFIX "") diff --git a/games-engines/ioquake3/ioquake3-1.36.9999.ebuild b/games-engines/ioquake3/ioquake3-1.36.9999.ebuild index 09fae72..e311696 100644 --- a/games-engines/ioquake3/ioquake3-1.36.9999.ebuild +++ b/games-engines/ioquake3/ioquake3-1.36.9999.ebuild @@ -1,7 +1,7 @@ # Copyright 2026 Shin'ya Minazuki EAPI=8 -inherit git-r3 +inherit cmake git-r3 DESCRIPTION="Community effort to maintain and improve the id Tech 3 engine" HOMEPAGE="https://www.ioquake3.org/" @@ -39,8 +39,8 @@ src_configure() { local -a mycmakeargs=( -DBUILD_CLIENT=$(usex client) -DBUILD_SERVER=$(usex server) - -DBUILD_RENDERER_OPENGL1=$(usex renderer_gl1) - -DBUILD_RENDERER_OPENGL2=$(usex renderer_gl2) + -DBUILD_RENDERER_GL1=$(usex renderer_gl1) + -DBUILD_RENDERER_GL2=$(usex renderer_gl2) -DBUILD_GAME_LIBRARIES=ON -DBUILD_GAME_QVMS=ON -DBUILD_STANDALONE=OFF @@ -54,10 +54,17 @@ src_configure() { # Extra compilation time for yet unknown benefit # Disable by default -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF + -DCMAKE_INSTALL_PREFIX=${EPREFIX}/usr/$(get_libdir)/${PN} ) cmake_src_configure } +src_install() { + cmake_src_install + use client && dosym "/usr/$(get_libdir)/${PN}/${PN}" "/usr/bin/${PN}" + use server && dosym "/usr/$(get_libdir)/${PN}/ioq3ded" "/usr/bin/ioq3ded" +} + pkg_postinst() { elog "In order to play Quake III Arena, get the data files first" elog "How to get them will not be covered here, that's on you"