summaryrefslogtreecommitdiff
path: root/games-strategy/openra
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-01-29 22:43:19 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-01-29 22:43:19 +0000
commitfa19575643c607e28b1572821c413ad7cb8eea09 (patch)
tree9d9b05acd34c77d7708182eac258ad26975949c7 /games-strategy/openra
parentfc4ad6e568738af8995c2e87896c671c39eb8c72 (diff)
gentoo auto-resync : 29:01:2025 - 22:43:19
Diffstat (limited to 'games-strategy/openra')
-rw-r--r--games-strategy/openra/Manifest2
-rw-r--r--games-strategy/openra/files/openra-20231010-handle-multilib.patch39
-rw-r--r--games-strategy/openra/openra-20231010-r2.ebuild214
3 files changed, 255 insertions, 0 deletions
diff --git a/games-strategy/openra/Manifest b/games-strategy/openra/Manifest
index 8a45a65c309c..0ab9ecd1f378 100644
--- a/games-strategy/openra/Manifest
+++ b/games-strategy/openra/Manifest
@@ -1,4 +1,5 @@
AUX openra-20231010-configure-system-libraries.patch 316 BLAKE2B 4251fdc26ef4e1f7bb3b01af3f8fe62dd1f5c72b1a2520c62cb8ed98af294342d07b4bca1b0ac2245a1483cac4dc3fa12ac66dd29a7271d9bd22e315ce429151 SHA512 218e9adb55247b9dc77eb8163a930560b08e72475b38606a81a49608115f8ea88ffe611359bec7cd745cf5bcb0443942b6f4e548528da52f62449b3f6f1d1d68
+AUX openra-20231010-handle-multilib.patch 1333 BLAKE2B a03b91374644e0bef911d8c2726861969b10701c0bc1daa935169b2c82ee97d76e04c9e14ff4e5aef533259046b3c6d7c7217fc3a604bd91d0ed091f815738b9 SHA512 86f28a0a023a50a7fba4d05b1c02e9db09dd44320ed95be82c39d02fe4017480bf1990f2a65b2a47363ed72fe979bf239f287dd269b4901a89ce25c4846d491a
AUX openra-20231010-makefile.patch 1323 BLAKE2B f444bfae32abd76dc72b05552000498aa7d532acfbce0acfbce7d034b695c937c0577bb1b22a39305ecc1cc66cd4b0232b609e6803cbc78c9929b3c6cd179ff1 SHA512 45edabb76284adaf05fbf2ceb0f0981bc70d3a7d032a53d9b75577a0693ca1278654447961806af72b55ab73f1350f95a6f6c86a6f17bab67577ba05956671c3
AUX openra-20231010-packaging-functions.patch 410 BLAKE2B 7beb9f6a1ad32a927095f72f0870dd1773f3413fb0195592b6d7a672d8ea31397945a5838eda36cf0cc33fe4968003962f42abb1597f1b29f496617dbdae941f SHA512 aff0e872f173ff8a68ab1b0efcc1824c141c5cdcce3507513497e06033c463c41315a54100f5d265f823d99cb3a7dabdf490fb9328212a8f2219c6daf8fd5dc2
AUX openra-system-geoip.patch 1660 BLAKE2B bd81875d781157702f99794fe1e4e9cc904edec18566b2a2c8a90b81fe6d684768bf9ef76a7f7864474b6cbdcd10ec28fbbd053e007f71e6af53de7bc6cab6b9 SHA512 58acbba9996e1176fb21c2c9d3496f07e6cf920985cbfa83dc7bdab1b9698c678fe9ce78d16c1a0bf9982e21a03df48bccf5332ad2114b2c2181146b71c9de30
@@ -125,4 +126,5 @@ DIST system.valuetuple.4.5.0.nupkg 204904 BLAKE2B effebc14eba236b1b5c4dbbab54478
DIST taglibsharp.2.3.0.nupkg 1378355 BLAKE2B 219f809b22bfeab2b2a16759f77c04912e4af8565b6fb0e55024a3d4cc6c80c9f0f3c61d9f0aa9771dbbe0feb17415142243f8564e81b548d067b1be44a15996 SHA512 9be37f6431f6ead36babe78dc6527340d7b4b0fe444736aaeae5aef3651191d4e0421d9d671106aea544888695d7841000fb12f8a44aab1b5fe93fb7c90d983f
EBUILD openra-20190314-r100.ebuild 5057 BLAKE2B 40feb35b396cbf309a36d9cf290a31ec7e3442bebdfc564c1734f9d755bfd981ce0d582d07b19acb91622de5e472e1a0c03c80f2ee056488490d7314ee3ff4ad SHA512 0e81fd0da69a10c4f769acc35d56531184863592a877812666b1428fcffb6bd25f04964c82d26ec3f12fffc7ac83591180a8ce026ccde97760f4ee04be651a5a
EBUILD openra-20231010-r1.ebuild 6343 BLAKE2B b7cb78a603d46e14deaa9fd4c1ae5ab14ce965813e7f32d7da60799c01314e64f6c92a467bed4c9eb48d85696754179c891aac14abd9ab1822e11ac875938d5b SHA512 de75522f163ae894730b833379c10b114e7f9a1f85adc57a7aa8e3ed94ccde394fb3582626dafe9d5fa0b23eaeff30754a7035b4f11b9fff151a28683eea34ec
+EBUILD openra-20231010-r2.ebuild 6395 BLAKE2B 4419b75035a4eef6b1360f86e95b097b6331572bd053a2fc41ec153f90b045f07bcae7aacdaeed6320c0b7772e063cc2ba4ae17d0ea3c035d26b3835ad298ee6 SHA512 8c86162c2c2fc7d686a4a068b9edc8e64b2a4145bf70d8212d39db1ea91d37e1e5bcc3b99a83a0e57ce0be6ea7d9d69baa26d6d08270c237572d64596b3cdceb
MISC metadata.xml 624 BLAKE2B cbd1c42f0f9d04c1c467d55f3a16e476c7071db4458f8b0df557e2d631bcfc958d5ab4c178b2f0571e11ee1ca25b49c94f98623a1773926af06046618952deed SHA512 1ad70b919b74abfb8f03d0c22f3b842d97b37175f02184cc037fb7922fbfb62bccf690adf4e85d852959eaf191cb24e4f98af43850a6b2690cb37b62816c46ac
diff --git a/games-strategy/openra/files/openra-20231010-handle-multilib.patch b/games-strategy/openra/files/openra-20231010-handle-multilib.patch
new file mode 100644
index 000000000000..8faaedde9243
--- /dev/null
+++ b/games-strategy/openra/files/openra-20231010-handle-multilib.patch
@@ -0,0 +1,39 @@
+https://github.com/OpenRA/OpenRA/pull/21382
+https://github.com/OpenRA/OpenRA/issues/21353
+
+From 5ec6e5d5a45855e047d251864292524a9b7a4597 Mon Sep 17 00:00:00 2001
+From: Jakub Vesely <jakub.vesely2@gmail.com>
+Date: Mon, 1 Apr 2024 15:03:00 +0200
+Subject: [PATCH] configure-system-libraries.sh: Skip 32bit libraries during
+ lookup on x64 Linux. #21353
+
+--- a/configure-system-libraries.sh
++++ b/configure-system-libraries.sh
+@@ -5,7 +5,6 @@
+ # This file must stay /bin/sh and POSIX compliant for macOS and BSD portability.
+ # Copy-paste the entire script into http://shellcheck.net to check.
+ ####
+-
+ set -o errexit || exit $?
+
+ patch_config()
+@@ -37,11 +36,18 @@ patch_config()
+ if [ -L "bin/${REPLACE}" ]; then
+ return 0
+ fi
+-
++ KERNEL="$(uname -s)"
++ ARCH="$(arch)"
+ printf "Searching for %s... " "${LABEL}"
+ for DIR in ${SEARCHDIRS} ; do
+ for LIB in ${SEARCH}; do
+ if [ -f "${DIR}/${LIB}" ]; then
++ # x86-64 Linux might have 32-bit libraries present, link against the 64 bit libraries since there is no 32-bit Linux release of dotnet
++ if [ "${KERNEL}" = "Linux" ] && [ "${ARCH}" = "x86_64" ]; then
++ if [ "$(LANG=C file -L -b "${DIR}/${LIB}" | cut -d" " -f2)" != "64-bit" ]; then
++ continue
++ fi
++ fi
+ echo "${LIB}"
+ ln -s "${DIR}/${LIB}" "bin/${REPLACE}"
+ return 0
diff --git a/games-strategy/openra/openra-20231010-r2.ebuild b/games-strategy/openra/openra-20231010-r2.ebuild
new file mode 100644
index 000000000000..77c5f66e3032
--- /dev/null
+++ b/games-strategy/openra/openra-20231010-r2.ebuild
@@ -0,0 +1,214 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 )
+
+DOTNET_PKG_COMPAT=6.0
+NUGETS="
+discordrichpresence@1.1.3.18
+linguini.bundle@0.5.0
+linguini.shared@0.5.0
+linguini.syntax@0.5.0
+microsoft.extensions.dependencymodel@6.0.0
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.platforms@1.1.1
+microsoft.netcore.platforms@5.0.0
+microsoft.netcore.targets@1.1.0
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@5.0.0
+mono.nat@3.0.4
+mp3sharp@1.0.5
+newtonsoft.json@13.0.1
+nuget.commandline@4.4.1
+nvorbis@0.10.5
+openra-eluant@1.0.22
+openra-freetype6@1.0.11
+openra-fuzzylogiclibrary@1.0.1
+openra-openal-cs@1.0.22
+openra-sdl2-cs@1.0.40
+pfim@0.11.2
+rix0rrr.beaconlib@1.0.2
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization.calendars@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.native.system.net.http@4.3.0
+runtime.native.system.security.cryptography.apple@4.3.0
+runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.2
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.net.primitives@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+sharpziplib@1.4.2
+stylecop.analyzers.unstable@1.2.0.435
+stylecop.analyzers@1.2.0-beta.435
+system.buffers@4.3.0
+system.buffers@4.5.1
+system.collections.concurrent@4.3.0
+system.collections@4.3.0
+system.diagnostics.debug@4.3.0
+system.diagnostics.diagnosticsource@4.3.0
+system.diagnostics.tracing@4.3.0
+system.globalization.calendars@4.3.0
+system.globalization.extensions@4.3.0
+system.globalization@4.3.0
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.3.0
+system.io@4.3.0
+system.linq@4.3.0
+system.memory@4.5.3
+system.memory@4.5.4
+system.net.http@4.3.4
+system.net.primitives@4.3.0
+system.private.uri@4.3.0
+system.reflection.primitives@4.3.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.3.0
+system.runtime.compilerservices.unsafe@6.0.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.3.0
+system.runtime.interopservices@4.3.0
+system.runtime.loader@4.3.0
+system.runtime.numerics@4.3.0
+system.runtime@4.3.0
+system.security.accesscontrol@5.0.0
+system.security.cryptography.algorithms@4.3.0
+system.security.cryptography.cng@4.3.0
+system.security.cryptography.csp@4.3.0
+system.security.cryptography.encoding@4.3.0
+system.security.cryptography.openssl@4.3.0
+system.security.cryptography.primitives@4.3.0
+system.security.cryptography.x509certificates@4.3.0
+system.security.principal.windows@5.0.0
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.3.0
+system.text.encodings.web@6.0.0
+system.text.json@6.0.0
+system.threading.channels@6.0.0
+system.threading.tasks@4.3.0
+system.threading@4.3.0
+system.valuetuple@4.5.0
+taglibsharp@2.3.0
+"
+
+inherit check-reqs dotnet-pkg lua-single xdg
+
+DESCRIPTION="A free RTS engine supporting games like Command & Conquer, Red Alert and Dune2k"
+HOMEPAGE="https://www.openra.net/
+ https://github.com/OpenRA/OpenRA/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/OpenRA/OpenRA.git"
+else
+ SRC_URI="https://github.com/OpenRA/OpenRA/archive/release-${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/OpenRA-release-${PV}"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+# Engine is GPL-3, dependent DLLs are mixed.
+LICENSE="GPL-3 Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ ${LUA_DEPS}
+ app-misc/ca-certificates
+ media-libs/freetype:2
+ media-libs/libsdl2[opengl,video]
+ media-libs/openal
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+CHECKREQS_DISK_BUILD="2G"
+PATCHES=(
+ "${FILESDIR}/${PN}-20231010-configure-system-libraries.patch"
+ "${FILESDIR}/${PN}-20231010-makefile.patch"
+ "${FILESDIR}/${PN}-20231010-packaging-functions.patch"
+ "${FILESDIR}/${PN}-20231010-handle-multilib.patch"
+)
+
+DOCS=( AUTHORS CODE_OF_CONDUCT.md CONTRIBUTING.md README.md )
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+ lua-single_pkg_setup
+}
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_compile() {
+ emake VERSION="release-${PV}" version
+ emake RUNTIME=net6
+}
+
+src_install() {
+ local openra_home="/usr/lib/${PN}"
+
+ # We compiled to "bin", not standard "dotnet-pkg" path.
+ mkdir -p "${ED}/usr/share" || die
+ cp -r bin "${ED}/usr/share/${P}" || die
+
+ # This is used by "linux-shortcuts" (see below make-install).
+ dotnet-pkg-base_launcherinto "${openra_home}"
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/OpenRA" OpenRA
+ dotnet-pkg-base_dolauncher "/usr/share/${P}/OpenRA.Server" OpenRA.Server
+
+ emake DESTDIR="${ED}" RUNTIME=net6 prefix=/usr bindir=/usr/bin \
+ install install-linux-shortcuts install-linux-appdata install-man
+
+ local -a assets=(
+ glsl
+ mods
+ AUTHORS
+ COPYING
+ VERSION
+ 'global mix database.dat'
+ )
+ local asset
+ for asset in "${assets[@]}" ; do
+ dosym -r "${openra_home}/${asset}" "/usr/share/${P}/${asset}"
+ done
+
+ einstalldocs
+}