summaryrefslogtreecommitdiff
path: root/games-strategy/openra
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-05-18 00:10:51 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-05-18 00:10:51 +0100
commiteccb70a7f91b2d22582587f26d1a28bb31408b45 (patch)
tree3223e1fd54201bcf4ebecac6fbe87361cbe643e2 /games-strategy/openra
parenta2810985afabcc31d3eace5e61d8ea25b852ba17 (diff)
gentoo resync : 18.05.2019
Diffstat (limited to 'games-strategy/openra')
-rw-r--r--games-strategy/openra/Manifest19
-rw-r--r--games-strategy/openra/files/README.gentoo111
-rw-r--r--games-strategy/openra/files/openra-system-geoip.patch38
-rw-r--r--games-strategy/openra/metadata.xml2
-rw-r--r--games-strategy/openra/openra-20141029-r2.ebuild95
-rw-r--r--games-strategy/openra/openra-20190314.ebuild164
6 files changed, 218 insertions, 211 deletions
diff --git a/games-strategy/openra/Manifest b/games-strategy/openra/Manifest
index 7634c50e0840..643f0bc4282e 100644
--- a/games-strategy/openra/Manifest
+++ b/games-strategy/openra/Manifest
@@ -1,4 +1,15 @@
-AUX README.gentoo 4754 BLAKE2B 08fc1df7aa3f14a44c2642b606a351be4b117d2a133f04c680159b17998ccb056fb285910804c321a212fcab162e739a0c914e41203dc37b1682386754ec016f SHA512 423c2682c3a9e69ccb078399ffec2ed2cb4bf1445c86db730756457e65f90d6f56c80e09b4f5e0b0eb0501a2a692d7d2add3847f77794aaf7555574a76c75392
-DIST openra-20141029.tar.gz 15340674 BLAKE2B bcb18118b1c04da6d2c7c9db2fc10e69a35623994c0c2915ce1c3b410889b72a8761ab6235a876c774470dc8ca03c823f09a6d195416dacd7f55ea6ea5353f06 SHA512 44594ec3c3a590ae29b0291fdf2292c72ba920dff7892cc269e729a161505c4bc0c5c682bf3c6d3cabb0cdebfa3cac5975eeeeec3f5a673e948ed28132c4a313
-EBUILD openra-20141029-r2.ebuild 2001 BLAKE2B dcf47ec78d0898fd0e7e69b63dcfa4aec12cc16b67e7c460c08e248726ba9c8013868d6a895b6c7bfc04650daa8016ebd71289cbe94bc496feb30f5d3c320874 SHA512 01a42450a6edb1b6a7b74264a0bbdf23d98af852697fb99a74af81e89598ed2705ceb1408108400a4a925b113f717a3d6eed781a8a680d6ecf1b084db27c7570
-MISC metadata.xml 508 BLAKE2B b34a0d75f760668ced55f5268e2f75e7980dcccac6bbe26a6822f4434327888c8e242a1ea2f5bd3c70493a9b1a4e5b5905a36ceb615bf99544ac9c27c12457a7 SHA512 a001c0493ffb22d88e5c6769afcbd6f21193ec3f200d92181baaa280ce56ce5e9062c1685497549a7682b5c423525a65117af298df3d2218c80fcc3d7c34bf4a
+AUX openra-system-geoip.patch 1660 BLAKE2B bd81875d781157702f99794fe1e4e9cc904edec18566b2a2c8a90b81fe6d684768bf9ef76a7f7864474b6cbdcd10ec28fbbd053e007f71e6af53de7bc6cab6b9 SHA512 58acbba9996e1176fb21c2c9d3496f07e6cf920985cbfa83dc7bdab1b9698c678fe9ce78d16c1a0bf9982e21a03df48bccf5332ad2114b2c2181146b71c9de30
+DIST Eluant-20160124.dll 71168 BLAKE2B b5bf63e634979732a9c524fa61a2876b9257ad2ce54c64faeba991d82e0da63d66fa7532f6f4baf1c55a2f50e3c41d9eb46e085381889e9582a47365f095e320 SHA512 2d2df1c9033aa7ac4a9314663c75424d40f7914fb046d3122eef993d0bbe55386c65167952acf8df4fae224a721318a378e3e97fc5ea654fc8781e196814060f
+DIST FuzzyLogicLibrary-1.2.0.zip 80141 BLAKE2B 568582c21b39462f4a3bf5610e2343d5f8ef7791dc66532109bc5c16f79494575790fb30b03fe014514b5681c78db3b441f65a199c4f6f4423e7b7a82a142d73 SHA512 9091649b362bc39d24ab7565f073d5658af58ba24639807b3f541f92296b8f858f4a7a22c88bd643304a0554dfbb095488c3948a6c63e0305b8798b8f1db6bdd
+DIST MaxMind.Db-2.0.0.zip 28890 BLAKE2B bd5e2d5027d6ca32b0fe52c14e56674004e48687d0328fd0afc8005f4928187c77bc83461bfa22a888cd8d6348ae50e244a326aedf8b72a6c867f1d74d889ecc SHA512 3f238d7829351a24cde22f6632e562e5eaf997d26f12ff01df512c72bb9274f5bd260afce3979e264a1de9e2130550156e330c4ff316a00d8936a7a009ebeb8e
+DIST Open.Nat-2.1.0.zip 347767 BLAKE2B 62940d0095aadd7696fe0df05944f0703cb3f5d563e0dd2f6de8afb0a1fe4c986c6c7dbc09a09d3ec9e7fbab064d703c1069ee49e7fc5cde16e1b3e862dc0756 SHA512 53e1e0d1fc8fd0ad22b064e89eac28140f7a718e4cff5b8524a58bd298da1a1d28100bf57b0b732c27d0c26417f39f024d516c3a90e009e79b9e14bbf118aaea
+DIST OpenAL-CS-20151227.dll 18944 BLAKE2B 981996b82dcda9a510cc4044f967c0450c41cbe0cb7df24009e6e78208eed92fcd3a82d427b30b8359d165f6d3da220f0a19d2c0957a85357bf9a2749eea8050 SHA512 6e1548bafb833e3e1a2d1a5f48c19a30bc80297afce0b909316a8d328392f3be86034fd11f66e9ac1172f66c7e2ebd5566ccf7a27c64af109748eb8b4134b8e4
+DIST OpenAL-CS-20151227.dll.config 301 BLAKE2B 8a39f572b5704a0e16b6771395f74f3ec76b528a79a999f44197c318f42960b61a1ab56c1c3ef862a3bae8aa777b6de5a56d5e8b037de2d78cf5f6f4e3276449 SHA512 7db75200798b5080f7d0a495f20e44354af0057b9cfb210a03a3dfe8d63990eb05ed3d1591c9f819900523560e1c3b9c977952f1adbfabf9a7d0fb7aed14b606
+DIST SDL2-CS-20161223.dll 80896 BLAKE2B 774ca64f7847d3cc02773788a6d5074e7d29d8c27b96489ba608ac4ea2376cde88494487b4d488583a1be9059a8fbafade67c70a3214e7c81443506e1142f3fa SHA512 06c5be637897f3a45c861450c26f45cbf9010a89aa0aa485dfaad0b8eabd440069e1ba8ff73dbbc375dca196bda3fa9928612a5d6da807de375fdae0aabeff98
+DIST SDL2-CS-20161223.dll.config 194 BLAKE2B 0b3743e0b41303191fcc7b233777e733529ae2eea9188923f28d8549dcf6d1594a5189ccbfd7ab97253a18d2b0a84f1a810a1f9891c27f6b833e2134d262c41f SHA512 0cf2c44c208cc1db7c6a44dab1882195b69ad65bbe39669f165a1f5caf431aa445a383c12aac9911f3f9ac7480ac1fdb5aae237b03b68cb198a74b107bfb6069
+DIST SharpFont-4.0.1.zip 151532 BLAKE2B 3745959e449b0745b5cd1c20a9653595ce2166f441356127bdb5a5bb99b3442db541f0709c006f90e95050477c6d29a9a895c94951a7299304f8c3196301682d SHA512 3f756d5c882d15bd64408c205cf955eb01e1984c727ff820b9be5c9604832ed83ebd905abd467cca3a3e893bdb86df3e05503f8d05ddccd773a2023742a2160c
+DIST SharpZipLib-0.86.0.zip 463599 BLAKE2B 5d6374c5daef33afc1faf814992df1ef7001b593594a022657406ac8ce67ac5e00f71cfe9365c4acab2925ef458f9add83ec62dd22e4db74e17efdd1e1091542 SHA512 70ac4a39b599a37ff45733477ba1afb4caee177262b72037998b7eb08a737177f8689bb690759b8090d25b9d408ba8c84e56bec3509997adde62724fcfcdc2b5
+DIST openra-20190314.tar.gz 24551126 BLAKE2B ed6289bbfab9f55aa88ac834dab3a2bab4cea3cb5a3b6934e24feb78bea1df71d839d4434242df666cda6180027a8e6d5b7766b6155ab2e85a4ee639a7950e12 SHA512 a16884cf626a31b3cf21662c307aef505bfcf6d34330f09b10510aa6c88d9d1026f17f2037565827fc95148776b0651fe0559c65db493295957df428793b2d71
+DIST rix0rrr.BeaconLib-1.0.1.zip 17989 BLAKE2B 2a65c9276b725ac6c433eb2cf6e4a13d6e5c07446dbff1e096b100a20eebb2a432c81cfbc13c11fdf672fbd37eb5985497b3fa425a317afe39049a6a967e3a7e SHA512 4fe4c6dfd7ad0f7eb5549c66fe53cd38f74026a8202d3553481bdfdab8ce0788f8b31f05092d93f9751a687badf75a1ec22da201235f2e505893192bb371367f
+EBUILD openra-20190314.ebuild 4887 BLAKE2B a8550963a01d7d4b3855137a59d68488bb05cbc9236f9e8a9b0a80d6bb5fe7dbdadecc1d89049c653f1002b3f15446135ab89300181d45fae8580accfc64ab63 SHA512 c01a9fc83fe1b343ce440bfacfbb822ef7db297706e39c65e04b75422238a7b1cc58dfeac621e0fadc62d89fbcc01db2031d9d0c9e18f6fa14475ed7de237ae9
+MISC metadata.xml 507 BLAKE2B 41509ed4d51adffd4aaf548f986ff19ccdf2b382e6265eeca268ccf693fcbf47468fad4ba1fcafb73f2a7fd5893942944f4118ca3b388a2b9299fd9130621d5e SHA512 ffeb53c6a7368c79336656bee82ea41fcdec13ef68f22e70a2ef70b5ba644ae1ad3832406cf54c7afd888ebe3357d2530528f39b07d515b813cf090248fa5186
diff --git a/games-strategy/openra/files/README.gentoo b/games-strategy/openra/files/README.gentoo
deleted file mode 100644
index 33502af0f9d2..000000000000
--- a/games-strategy/openra/files/README.gentoo
+++ /dev/null
@@ -1,111 +0,0 @@
-OpenRA is a Libre/Free Real Time Strategy game engine supporting early
-Westwood games like Command & Conquer and Command & Conquer: Red Alert.
-
-Distributed mods include a reimagining and updating of both the Red
-Alert and Command & Conquer multiplayer games.
-
-You may run the game from desktop games menu or just manually
-run the game with `mono OpenRA.Game.exe Game.Mods=ra` for Red Alert
-or `mono OpenRA.Game.exe Game.Mods=cnc` for Command & Conquer.
-
-If you have problems starting the game consider switching to
-alternative Cg Renderer. You may run the game with alternative
-Cg Graphics Renderer from desktop games menu or by adding
-`Graphics.Renderer=Cg` parameter explicitly to above console commands
- (convenient for some integrated graphics cards).
-To run explicitly with a default one use `Graphics.Renderer=Gl`
-parameter. The default Graphics Renderer is a better one, so
-don't forget to upgrade your graphics hardware drivers to the
-latest version. For Cg renderer also try to upgrade nvidia-cg-toolkit
-too.
-
-The RA packages will need to be extracted to ~/.openra/Content/ra/
-before the RA mod will actually work. The C&C packages will need
-to be extracted to ~/.openra/Contet/cnc/ for C&C mod. You may
-execute OpenRA and it will suggest to download content from original
-CD or a minimal one from OpenRA site automatically. You may also try
-to download minimal content pack from OpenRA site manually by using
-OpenRA Utility:
-
-cd /usr/share/games/openra
-mono OpenRA.Utility.exe --download-url=http://open-ra.org/get-dependency.php?file=ra-packages,/tmp/ra-packages.zip
-mono OpenRA.Utility.exe --extract-zip=/tmp/ra-packages.zip,~/.openra/Content/ra/
-
-The same commands for C&C mod:
-mono OpenRA.Utility.exe --download-url=http://open-ra.org/get-dependency.php?file=cnc-packages,/tmp/cnc-packages.zip
-mono OpenRA.Utility.exe --extract-zip=/tmp/cnc-packages.zip,~/.openra/Content/cnc/
-
-But the better choice is to download a full pack from original game CD
-(or iso). However, full CD pack usage result in slower game start from
-OpenRA Lobby. It happens due to a lot of unnecessary things like video
-clips were pre-packaged in it. If you want optimal game start and all
-music themes (made by Frank Klepacki) from classic CD you should
-download them from OpenRA Forum:
-http://www.sleipnirstuff.com/forum/viewtopic.php?f=83&t=15063
-
-The minimal required files for the Red Alert mod are:
-EITHER:
- * conquer.mix
- * temperat.mix
- * interior.mix
- * snow.mix
- * sounds.mix
- * allies.mix
- * russian.mix
-OR: (Usually pretty long game start)
- * main.mix
-AND:
- * redalert.mix
-
-The minimal required files for the Command and Conquer mod are:
- * cclocal.mix
- * speech.mix
- * conquer.mix
- * sounds.mix
- * tempicnh.mix
- * temperat.mix
- * winter.mix
- * desert.mix
-
-If you have a case-sensitive filesystem you must change the filenames to
-lower case.
-
-Red Alert and C&C have been released by EA Games as freeware. They could be
-downloaded from http://www.commandandconquer.com/classic
-Unfortunately the installer is 16-bit and so won’t run on 64-bit operating
-systems. This can be worked around by using the Red Alert Setup Manager
- (http://ra.afraid.org/html/downloads/utilities-3.html).
-Make sure you apply the no-CD protection fix so all the files needed
-are installed to the hard drive.
-
-If your notebook doesn't show long battery life under OpenRA load you can
-do several things:
-1. Turn off "Show Shellmap" item under General tab of Settings menu.
-2. Edit ~/.openra/settings.yaml in the "Graphics:" section to add
-framelimiter. Add "CapFramerate: True" string there to enable framelimiter.
-The default setting is 60 frames per second. You can change it's value by
-adding "MaxFramerate: 70", for example, string in that section. Be careful
-with special tab symbols at the beginning of the strings. Don't forget to
-backup your settings file.
-
-Please note: OpenRA has 2 types of released versions:
-1. Release Versions or just Versions.
-2. Unstable Playtests Versions or just Playtests.
-Release Versions are considered as more stable ones. Playtests are also
-pretty stable in most cases but they have usually more features wich are
-needed to be tested before inclusion into release. So, if you have any
-problems, please report them to the IRC channel #openra on irc.freenode.net
-(Use http://webchat.freenode.net/ if you don't have IRC client)
-or to the bug-tracker (http://bugs.open-ra.org).
-
-You may also see servers list with
-http://master.open-ra.org/list.php
-or by using orabot on IRC channel:
-]games (or !games)
-to see the games wich are waiting to start or
-]games --all
-to see all games.
-
-Please read HACKING for an overview of the engine and read OpenRA Wiki
-page for more info about the game and it's development:
-https://github.com/OpenRA/OpenRA/wiki
diff --git a/games-strategy/openra/files/openra-system-geoip.patch b/games-strategy/openra/files/openra-system-geoip.patch
new file mode 100644
index 000000000000..7a32ed47df3a
--- /dev/null
+++ b/games-strategy/openra/files/openra-system-geoip.patch
@@ -0,0 +1,38 @@
+Use a system-wide (uncompressed) GeoIP database instead of trying to
+download one at build time.
+
+diff -Naur a/Makefile b/Makefile
+--- a/Makefile 2019-03-14 19:32:26.000000000 +0000
++++ b/Makefile 2019-05-11 23:41:19.520479107 +0100
+@@ -300,7 +300,7 @@
+ @ $(CP_R) thirdparty/download/*.dll .
+ @ $(CP_R) thirdparty/download/*.dll.config .
+
+-linux-dependencies: cli-dependencies geoip-dependencies linux-native-dependencies
++linux-dependencies: cli-dependencies linux-native-dependencies
+
+ linux-native-dependencies:
+ @./thirdparty/configure-native-deps.sh
+@@ -341,7 +341,6 @@
+ @$(INSTALL_DIR) "$(DATA_INSTALL_DIR)"
+ @$(INSTALL_PROGRAM) $(foreach prog,$(CORE),$($(prog)_TARGET)) "$(DATA_INSTALL_DIR)"
+
+- @$(INSTALL_DATA) "GeoLite2-Country.mmdb.gz" "$(DATA_INSTALL_DIR)/GeoLite2-Country.mmdb.gz"
+ @$(INSTALL_DATA) VERSION "$(DATA_INSTALL_DIR)/VERSION"
+ @$(INSTALL_DATA) AUTHORS "$(DATA_INSTALL_DIR)/AUTHORS"
+ @$(INSTALL_DATA) COPYING "$(DATA_INSTALL_DIR)/COPYING"
+diff -Naur a/OpenRA.Game/Network/GeoIP.cs b/OpenRA.Game/Network/GeoIP.cs
+--- a/OpenRA.Game/Network/GeoIP.cs 2019-03-14 19:32:26.000000000 +0000
++++ b/OpenRA.Game/Network/GeoIP.cs 2019-05-11 23:40:33.919599297 +0100
+@@ -55,9 +55,8 @@
+ {
+ try
+ {
+- using (var fileStream = new FileStream("GeoLite2-Country.mmdb.gz", FileMode.Open, FileAccess.Read))
+- using (var gzipStream = new GZipInputStream(fileStream))
+- database = new Reader(gzipStream);
++ using (var fileStream = new FileStream(Path.Combine(Platform.GameDir, "..", "GeoIP", "GeoLite2-Country.mmdb"), FileMode.Open, FileAccess.Read))
++ database = new Reader(fileStream);
+ }
+ catch (Exception e)
+ {
diff --git a/games-strategy/openra/metadata.xml b/games-strategy/openra/metadata.xml
index a4988625f33d..b6617220811c 100644
--- a/games-strategy/openra/metadata.xml
+++ b/games-strategy/openra/metadata.xml
@@ -6,7 +6,7 @@
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
- <changelog>http://openra.res0l.net/news/</changelog>
+ <changelog>https://www.openra.net/news/</changelog>
<doc lang="en">https://github.com/OpenRA/OpenRA/wiki</doc>
<bugs-to>https://github.com/OpenRA/OpenRA/issues</bugs-to>
<remote-id type="github">OpenRA/OpenRA</remote-id>
diff --git a/games-strategy/openra/openra-20141029-r2.ebuild b/games-strategy/openra/openra-20141029-r2.ebuild
deleted file mode 100644
index 9c2afbc5770c..000000000000
--- a/games-strategy/openra/openra-20141029-r2.ebuild
+++ /dev/null
@@ -1,95 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils mono-env gnome2-utils vcs-snapshot games
-
-DESCRIPTION="A free RTS engine supporting games like Command & Conquer and Red Alert"
-HOMEPAGE="http://open-ra.org/"
-SRC_URI="https://github.com/OpenRA/OpenRA/tarball/release-${PV} -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-QA_PREBUILT="$(games_get_libdir)/openra/liblua*"
-
-DEPEND="dev-dotnet/libgdiplus
- dev-lang/mono
- media-libs/freetype:2[X]
- media-libs/libsdl2[X,opengl,video]
- media-libs/openal
- virtual/jpeg:0
- virtual/opengl"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- mono-env_pkg_setup
- games_pkg_setup
-}
-
-src_unpack() {
- vcs-snapshot_src_unpack
-}
-
-src_configure() { :; }
-
-src_prepare() {
- # register game-version
- sed \
- -e "/Version/s/{DEV_VERSION}/release-${PV}/" \
- -i mods/{ra,cnc,d2k}/mod.yaml || die
-}
-
-src_compile() {
- emake all
- emake native-dependencies
- emake docs
-}
-
-src_install() {
- emake \
- datadir="/usr/share" \
- bindir="${GAMES_BINDIR}" \
- libdir="$(games_get_libdir)" \
- DESTDIR="${D}" \
- install-all install-linux-scripts
-
- exeinto "$(games_get_libdir)/openra"
- doexe Eluant.dll.config liblua$(usex amd64 "64" "32")*
-
- # icons
- insinto /usr/share/icons/
- doins -r packaging/linux/hicolor
-
- # desktop entries
- make_desktop_entry "${PN} Game.Mods=cnc" "OpenRA CNC" ${PN}
- make_desktop_entry "${PN} Game.Mods=ra" "OpenRA RA" ${PN}
- make_desktop_entry "${PN} Game.Mods=d2k" "OpenRA Dune2k" ${PN}
- make_desktop_entry "${PN}-editor" "OpenRA Map Editor" ${PN}
-
- dodoc "${FILESDIR}"/README.gentoo README.md CONTRIBUTING.md AUTHORS \
- DOCUMENTATION.md Lua-API.md
-
- # file permissions
- prepgamesdirs
-}
-
-pkg_preinst() {
- games_pkg_preinst
- gnome2_icon_savelist
-}
-
-pkg_postinst() {
- games_pkg_postinst
- gnome2_icon_cache_update
-
- elog "optional dependencies:"
- elog " media-gfx/nvidia-cg-toolkit (fallback renderer if OpenGL fails)"
-}
-
-pkg_postrm() {
- gnome2_icon_cache_update
-}
diff --git a/games-strategy/openra/openra-20190314.ebuild b/games-strategy/openra/openra-20190314.ebuild
new file mode 100644
index 000000000000..4926ae8f13bd
--- /dev/null
+++ b/games-strategy/openra/openra-20190314.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit mono-env xdg-utils
+
+MY_PV=release-${PV}
+#MY_PV=playtest-${PV}
+
+DESCRIPTION="A free RTS engine supporting games like Command & Conquer, Red Alert and Dune2k"
+HOMEPAGE="https://www.openra.net/"
+
+# This sed one-liner was used to generate the SRC_URI list
+# below. Ideally we would package these DLLs separately instead but
+# Gentoo Dotnet doesn't seem to be in great shape right now.
+#
+# sed -n -r -e 's@.*curl.*(https:[^ ]+/([^/]+)/([^.]+)([^ ]+)).*@\1 -> \3-\2\4@p' \
+# -e 's@.*noget\.sh ([^ ]+) ([^ ]+).*@https://www.nuget.org/api/v2/package/\1/\2 -> \1-\2.zip@p' \
+# "${S}"/thirdparty/fetch-thirdparty-deps.sh | grep -v 'NUnit\|StyleCop' | sort
+
+SRC_URI="https://github.com/OpenRA/OpenRA/archive/${MY_PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/OpenRA/Eluant/releases/download/20160124/Eluant.dll -> Eluant-20160124.dll
+ https://github.com/OpenRA/OpenAL-CS/releases/download/20151227/OpenAL-CS.dll.config -> OpenAL-CS-20151227.dll.config
+ https://github.com/OpenRA/OpenAL-CS/releases/download/20151227/OpenAL-CS.dll -> OpenAL-CS-20151227.dll
+ https://github.com/OpenRA/SDL2-CS/releases/download/20161223/SDL2-CS.dll.config -> SDL2-CS-20161223.dll.config
+ https://github.com/OpenRA/SDL2-CS/releases/download/20161223/SDL2-CS.dll -> SDL2-CS-20161223.dll
+ https://www.nuget.org/api/v2/package/FuzzyLogicLibrary/1.2.0 -> FuzzyLogicLibrary-1.2.0.zip
+ https://www.nuget.org/api/v2/package/MaxMind.Db/2.0.0 -> MaxMind.Db-2.0.0.zip
+ https://www.nuget.org/api/v2/package/Open.Nat/2.1.0 -> Open.Nat-2.1.0.zip
+ https://www.nuget.org/api/v2/package/rix0rrr.BeaconLib/1.0.1 -> rix0rrr.BeaconLib-1.0.1.zip
+ https://www.nuget.org/api/v2/package/SharpFont/4.0.1 -> SharpFont-4.0.1.zip
+ https://www.nuget.org/api/v2/package/SharpZipLib/0.86.0 -> SharpZipLib-0.86.0.zip"
+
+# Engine is GPL-3, dependent DLLs are mixed.
+LICENSE="GPL-3 Apache-2.0 BSD GPL-2 MIT"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+debug geoip"
+RESTRICT="mirror"
+
+BDEPEND=">=dev-lang/mono-4.2"
+
+DEPEND="${BDEPEND}
+ dev-dotnet/libgdiplus"
+
+RDEPEND="${DEPEND}
+ app-misc/ca-certificates
+ =dev-lang/lua-5.1*:0
+ media-libs/freetype:2
+ media-libs/libsdl2[opengl,video]
+ media-libs/openal
+ geoip? ( net-misc/geoipupdate )"
+
+S="${WORKDIR}/OpenRA-${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-system-geoip.patch
+)
+
+DOCS=(
+ AUTHORS
+ CODE_OF_CONDUCT.md
+ CONTRIBUTING.md
+ README.md
+)
+
+src_unpack() {
+ local DOWNLOADS="${S}"/thirdparty/download
+ mkdir -p "${DOWNLOADS}" || die
+
+ # Stub out unnecessary development dependencies.
+ touch "${DOWNLOADS}"/{{nunit.framework,StyleCop{,Plus}}.dll,nunit3-console.exe} || die
+
+ for a in ${A}; do
+ case ${a} in
+ # Unpack engine sources.
+ ${P}.tar.gz) unpack ${a} ;;
+
+ # Symlink other downloads, Makefile will extract and copy.
+ *) ln -snf "${DISTDIR}/${a}" "${DOWNLOADS}/${a%-[0-9]*}${a##*[0-9]}" || die ;;
+ esac
+ done
+}
+
+src_prepare() {
+ # Stub out attempts to download anything.
+ sed -i -r 's/^\s*(curl|wget)\b/: #\1/' thirdparty/{fetch-thirdparty-deps,noget}.sh || die
+
+ # Extract what is needed from the downloads.
+ emake cli-dependencies
+
+ default
+}
+
+src_compile() {
+ emake $(usex debug "" DEBUG=false)
+ emake VERSION=${MY_PV} version man-page
+}
+
+src_install() {
+ emake $(usex debug "" DEBUG=false) \
+ prefix="${EPREFIX}"/usr \
+ gameinstalldir='$(prefix)'/share/${PN} \
+ DESTDIR="${D}" \
+ VERSION=${MY_PV} \
+ install \
+ install-linux-mime \
+ install-linux-shortcuts \
+ install-man-page
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+
+ if [[ ! -s ${EROOT}/usr/share/GeoIP/GeoLite2-Country.mmdb ]]; then
+ echo
+ ewarn "Multiplayer server locations will show as unknown until you install"
+
+ if use geoip; then
+ ewarn "a GeoIP database. Run emerge --config ${CATEGORY}/${PN}"
+ ewarn "occasionally to fetch one and keep it current."
+ else
+ ewarn "a GeoIP database. Start by enabling the geoip USE flag."
+ fi
+ fi
+
+ if [[ ! -d ${EROOT}/usr/share/.mono/certs ]]; then
+ echo
+ ewarn "The multiplayer server listing will not work at all until you install"
+ ewarn "CA certificates using Mono's cert-sync. Run emerge --config"
+ ewarn "${CATEGORY}/${PN} occasionally to set them up and keep them"
+ ewarn "current."
+ fi
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_config() {
+ if use geoip; then
+ ebegin "Updating GeoIP database"
+ geoipupdate -d "${EROOT}"/usr/share/GeoIP
+ eend $?
+ fi
+
+ ebegin "Updating Mono CA certificates"
+ cert-sync --quiet "${EROOT}"/etc/ssl/certs/ca-certificates.crt
+ eend $?
+
+ if [[ -n ${ROOT%/} ]]; then
+ echo
+ ewarn "Mono's cert-sync cannot write to your ROOT system so you must manually"
+ ewarn "copy the certificates from ${BROOT}/usr/share/.mono to ${EROOT}/usr/share/.mono."
+ fi
+}