commit:     3b7b55da73282254e79fc8b1ed5abf0c2fc0cb2e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 28 12:19:57 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 28 12:19:57 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b7b55da

Revert "games-simulation/openttd: drop 13.4"

This reverts commit 9d9f71948416dbea2609bae81dc65ad26ddcc9b8.

Closes: https://bugs.gentoo.org/948949
Signed-off-by: Sam James <sam <AT> gentoo.org>

 games-simulation/openttd/Manifest                  |   1 +
 .../openttd/files/openttd-14.1-icu-76.1.patch      |  34 ++++++
 games-simulation/openttd/openttd-13.4.ebuild       | 136 +++++++++++++++++++++
 3 files changed, 171 insertions(+)

diff --git a/games-simulation/openttd/Manifest 
b/games-simulation/openttd/Manifest
index 3b6af68589db..b9563af6363a 100644
--- a/games-simulation/openttd/Manifest
+++ b/games-simulation/openttd/Manifest
@@ -1 +1,2 @@
+DIST openttd-13.4-source.tar.xz 7428012 BLAKE2B 
0ef635e40fe47185168bd13e4b8ce24a8ff9c4afe3eced6197298986127ee196a6dcb379643bbb1de9bb552e71cda5df5b5b35006ed2b43d6e33e8513b1cd550
 SHA512 
84f57a39c0dade44f0e6153dff7a40eec0da8e2f892ce870d5f9e037f80daa5c7c46ff786fa51c3671366dd5056504cd7ccbc1c4e5bce8b2c5575533b454c001
 DIST openttd-14.1-source.tar.xz 8015032 BLAKE2B 
d107cd41a04f1a0bcfd41730e57628787443e8fe6d90dd59b0211b115b462a8e57e68a30e4b1c72d5f9db2121650f1c4035303e64f7e2e71fdedb23665f445da
 SHA512 
194135cc01457d9ed069c09d8961ad3de681bc9936533ca81ff23099f394bb9a83ef84a0852e85525e258f6149e14fd41cfc5f8e683c0643515005c42fb77e3b

diff --git a/games-simulation/openttd/files/openttd-14.1-icu-76.1.patch 
b/games-simulation/openttd/files/openttd-14.1-icu-76.1.patch
new file mode 100644
index 000000000000..3508e8dc9908
--- /dev/null
+++ b/games-simulation/openttd/files/openttd-14.1-icu-76.1.patch
@@ -0,0 +1,34 @@
+https://github.com/OpenTTD/OpenTTD/commit/14fac2ad37bfb9cec56b4f9169d864f6f1c7b96e
+
+From 14fac2ad37bfb9cec56b4f9169d864f6f1c7b96e Mon Sep 17 00:00:00 2001
+From: fundawang <[email protected]>
+Date: Tue, 5 Nov 2024 19:12:34 +0800
+Subject: [PATCH] Fix: build with icu >= 76 where icu-i18n and icu-uc become
+ separated (#13048)
+
+---
+ CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 137eb7d0f8ce9..2f0248047506a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -152,7 +152,7 @@ if(NOT OPTION_DEDICATED)
+                 find_package(Fontconfig)
+             endif()
+             find_package(Harfbuzz)
+-            find_package(ICU OPTIONAL_COMPONENTS i18n)
++            find_package(ICU OPTIONAL_COMPONENTS i18n uc)
+         endif()
+     endif()
+ endif()
+@@ -331,6 +331,7 @@ if(NOT OPTION_DEDICATED)
+     link_package(Fontconfig TARGET Fontconfig::Fontconfig)
+     link_package(Harfbuzz TARGET harfbuzz::harfbuzz)
+     link_package(ICU_i18n)
++    link_package(ICU_uc)
+ 
+     if(SDL2_FOUND AND OPENGL_FOUND AND UNIX)
+         # SDL2 dynamically loads OpenGL if needed, so do not link to OpenGL 
when
+

diff --git a/games-simulation/openttd/openttd-13.4.ebuild 
b/games-simulation/openttd/openttd-13.4.ebuild
new file mode 100644
index 000000000000..c647f80d4818
--- /dev/null
+++ b/games-simulation/openttd/openttd-13.4.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg
+
+DESCRIPTION="A clone of Transport Tycoon Deluxe"
+HOMEPAGE="https://www.openttd.org/";
+SRC_URI="https://cdn.openttd.org/openttd-releases/${PV}/${P}-source.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="allegro cpu_flags_x86_sse debug dedicated +fluidsynth icu +lzma lzo 
+openmedia +png +sdl timidity +truetype +zlib"
+REQUIRED_USE="!dedicated? ( || ( allegro sdl ) )"
+
+# TODO: On master (after 13.x):
+# - icu-layoutex is gone 
(https://github.com/OpenTTD/OpenTTD/commit/81d4fa69990abbc18bd83d60658b0eedd66b7447)
+# - icu-le-hb looks like it might be too 
(https://github.com/OpenTTD/OpenTTD/issues/6922)
+RDEPEND="
+       dedicated? (
+               acct-group/openttd
+               acct-user/openttd
+               app-misc/dtach
+       )
+       !dedicated? (
+               allegro? ( media-libs/allegro:5 )
+               fluidsynth? ( media-sound/fluidsynth )
+               icu? (
+                       dev-libs/icu-layoutex:=
+                       dev-libs/icu-le-hb
+                       >=dev-libs/icu-58.1:=
+               )
+               sdl? ( media-libs/libsdl2[sound,video] )
+               truetype? (
+                       media-libs/fontconfig
+                       media-libs/freetype:2
+                       sys-libs/zlib:=
+               )
+       )
+       lzma? ( app-arch/xz-utils )
+       lzo? ( dev-libs/lzo:2 )
+       png? ( media-libs/libpng:= )
+       zlib? ( sys-libs/zlib:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       >=games-util/grfcodec-6.0.6_p20210310
+       virtual/pkgconfig
+"
+PDEPEND="
+       !dedicated? (
+               openmedia? (
+                       >=games-misc/openmsx-0.4.0
+                       >=games-misc/opensfx-1.0.1
+               )
+       )
+       openmedia? ( >=games-misc/opengfx-0.6.1 )
+       timidity? ( media-sound/timidity++ )
+"
+
+DOCS=( docs/directory_structure.md )
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.11.2_dont_compress_man.patch"
+       "${FILESDIR}/${PN}-13.4-gcc15.patch"
+       "${FILESDIR}/${PN}-13.4-icu-76.1.patch"
+)
+
+src_prepare() {
+       # Drop automagic LTO usage
+       sed -i -e '/check_ipo_supported(RESULT IPO_FOUND)/d' CMakeLists.txt || 
die
+
+       # Don't force _FORTIFY_SOURCE via CMake
+       # (we already set it in the toolchain by default with a minimum level
+       # of _FORTIFY_SOURCE=2)
+       sed -i -e '/-D_FORTIFY_SOURCE/d' cmake/CompileFlags.cmake || die
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_BINDIR=bin
+               -DCMAKE_INSTALL_DATADIR=share
+               -DOPTION_DEDICATED=$(usex dedicated)
+               -DOPTION_USE_ASSERTS=$(usex debug)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Allegro=$(usex !allegro)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Freetype=$(usex !truetype)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Fontconfig=$(usex !truetype)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Fluidsynth=$(usex !fluidsynth)
+               -DCMAKE_DISABLE_FIND_PACKAGE_ICU=$(usex !icu)
+               -DCMAKE_DISABLE_FIND_PACKAGE_LibLZMA=$(usex !lzma)
+               -DCMAKE_DISABLE_FIND_PACKAGE_LZO=$(usex !lzo)
+               -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png)
+               # N.B. regarding #807364 and #828984: 
CMAKE_DISABLE_FIND_PACKAGE_SDL is used only
+               # with USE="allegro -sdl" combination flags. There no other way 
to
+               # completely disable SDL1 support.
+               -DCMAKE_DISABLE_FIND_PACKAGE_SDL=ON
+               -DCMAKE_DISABLE_FIND_PACKAGE_SDL2=$(usex !sdl)
+               -DCMAKE_DISABLE_FIND_PACKAGE_SSE=$(usex !cpu_flags_x86_sse)
+               -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=$(usex !zlib)
+       )
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+
+       if use dedicated ; then
+               newconfd "${FILESDIR}"/openttd.confd-r1 openttd
+               newinitd "${FILESDIR}"/openttd.initd-r3 openttd
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ! use openmedia ; then
+               elog
+               elog "OpenTTD was compiled without the 'openmedia' USE flag."
+               elog
+               elog "In order to play, you must at least install"
+               elog "games-misc/opengfx, and games-misc/opensfx, or copy the "
+               elog "following 6 files from a version of Transport Tycoon 
Deluxe"
+               elog "(Windows or DOS) to shared or personal location."
+               elog "See ${EROOT}/usr/share/doc/${PF}/directory_structure.md 
for more info."
+               elog
+               elog "From the Windows version you need: "
+               elog "sample.cat trg1r.grf trgcr.grf trghr.grf trgir.grf 
trgtr.grf"
+               elog "OR from the DOS version you need: "
+               elog "SAMPLE.CAT TRG1.GRF TRGC.GRF TRGH.GRF TRGI.GRF TRGT.GRF"
+       fi
+}

Reply via email to