diff options
author | 2024-11-11 07:09:14 +0000 | |
---|---|---|
committer | 2024-11-11 07:13:05 +0000 | |
commit | 95b07202e6b32682e3c38e1839ae5b84275ac556 (patch) | |
tree | 3cf911e7438278968b29dbc314ec2c6744a12046 /games-simulation | |
parent | Rename dev-python/{gmpy → gmpy2} (diff) | |
download | gentoo-95b07202e6b32682e3c38e1839ae5b84275ac556.tar.gz gentoo-95b07202e6b32682e3c38e1839ae5b84275ac556.tar.bz2 gentoo-95b07202e6b32682e3c38e1839ae5b84275ac556.zip |
games-simulation/openttd: add 14.1
Closes: https://bugs.gentoo.org/931582
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-simulation')
-rw-r--r-- | games-simulation/openttd/Manifest | 1 | ||||
-rw-r--r-- | games-simulation/openttd/files/openttd-14.1-icu-76.1.patch | 34 | ||||
-rw-r--r-- | games-simulation/openttd/openttd-14.1.ebuild | 134 |
3 files changed, 169 insertions, 0 deletions
diff --git a/games-simulation/openttd/Manifest b/games-simulation/openttd/Manifest index f79a14b6fda2..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 <fundawang@yeah.net> +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-14.1.ebuild b/games-simulation/openttd/openttd-14.1.ebuild new file mode 100644 index 000000000000..dcc100476de9 --- /dev/null +++ b/games-simulation/openttd/openttd-14.1.ebuild @@ -0,0 +1,134 @@ +# 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 ) )" + +RDEPEND=" + net-misc/curl + dedicated? ( + acct-group/openttd + acct-user/openttd + app-misc/dtach + ) + !dedicated? ( + allegro? ( media-libs/allegro:5 ) + fluidsynth? ( media-sound/fluidsynth ) + icu? ( + >=dev-libs/icu-58.1:= + media-libs/harfbuzz + ) + 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}-14.1-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_Harfbuzz=$(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 +} |