summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-strategy/dunelegacy/Manifest1
-rw-r--r--games-strategy/dunelegacy/dunelegacy-0.97.02.ebuild49
-rw-r--r--games-strategy/dunelegacy/files/dunelegacy-0.97.02-flickering.patch15
-rw-r--r--games-strategy/dunelegacy/files/dunelegacy-0.97.02-text-manager.patch15
4 files changed, 80 insertions, 0 deletions
diff --git a/games-strategy/dunelegacy/Manifest b/games-strategy/dunelegacy/Manifest
index 226e2902561d..74a92e7a4ca8 100644
--- a/games-strategy/dunelegacy/Manifest
+++ b/games-strategy/dunelegacy/Manifest
@@ -1 +1,2 @@
DIST dunelegacy-0.96.4-src.tar.bz2 2513167 BLAKE2B 119ccabc319a54fbc85906a215ccb44079dabf82568dbd446447bbc6fade873c4760da83a50351acf63aec49bf8364c50386eef2b0681bc7a895db870673340f SHA512 d6e152da4bc526ed05ac89fafc2e3467b1a95b3670987eeca262b7207e7dbe67dd228483cb5a432fe08232e34a52d4cb500b42cd186adb4bcde5da17419f7db0
+DIST dunelegacy-0.97.02.zip 3241175 BLAKE2B bd99c0d186e3ea2ee94fa77aa9587990ffae51fad30178669a4686c1bf0793c5949c5f13c360359ba44fb6989c00a2a509d746e071b9dc578d966d346b932a74 SHA512 07dd04b3348ed9dc729eabfb7d1646d4ac30351911ca3024991fad58d6ee48f478068fbab25855d637890d5e549ae687af57231c8bf0af1ef8e815fedfbdfd54
diff --git a/games-strategy/dunelegacy/dunelegacy-0.97.02.ebuild b/games-strategy/dunelegacy/dunelegacy-0.97.02.ebuild
new file mode 100644
index 000000000000..991bbd0f0738
--- /dev/null
+++ b/games-strategy/dunelegacy/dunelegacy-0.97.02.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop xdg
+
+DESCRIPTION="Updated clone of Westood Studios' Dune II"
+HOMEPAGE="https://dunelegacy.sourceforge.net"
+
+COMMIT="6ea9ac96854daa8c75ba429e78dc6716b147e106"
+SRC_URI="https://sourceforge.net/code-snapshots/git/d/du/${PN}/code.git/${PN}-code-${COMMIT}.zip -> ${P}.zip"
+S="${WORKDIR}/${PN}-code-${COMMIT}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+
+RDEPEND="
+ media-libs/libsdl2[sound,threads(+),video]
+ media-libs/sdl2-mixer[midi]
+ media-libs/sdl2-ttf
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flickering.patch
+ "${FILESDIR}"/${P}-text-manager.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ sed -i s/0.96.4/0.97.02/ configure.ac || die
+}
+
+src_install() {
+ default
+
+ doicon -s scalable ${PN}.svg
+ doicon -s 48 ${PN}.png
+ newicon -s 128 ${PN}-128x128.png ${PN}.png
+ make_desktop_entry ${PN} "Dune Legacy"
+}
diff --git a/games-strategy/dunelegacy/files/dunelegacy-0.97.02-flickering.patch b/games-strategy/dunelegacy/files/dunelegacy-0.97.02-flickering.patch
new file mode 100644
index 000000000000..19a125f8c797
--- /dev/null
+++ b/games-strategy/dunelegacy/files/dunelegacy-0.97.02-flickering.patch
@@ -0,0 +1,15 @@
+# https://sourceforge.net/p/dunelegacy/bugs/75/#12bf
+
+ Fix flickering in the game
+
+--- a/src/Game.cpp
++++ b/src/Game.cpp
+@@ -1094,8 +1094,6 @@ void Game::runMainLoop() {
+
+ drawScreen();
+
+- SDL_RenderPresent(renderer);
+-
+ SDL_SetRenderTarget(renderer, nullptr);
+ SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
+ SDL_RenderClear(renderer);
diff --git a/games-strategy/dunelegacy/files/dunelegacy-0.97.02-text-manager.patch b/games-strategy/dunelegacy/files/dunelegacy-0.97.02-text-manager.patch
new file mode 100644
index 000000000000..25c339198ab7
--- /dev/null
+++ b/games-strategy/dunelegacy/files/dunelegacy-0.97.02-text-manager.patch
@@ -0,0 +1,15 @@
+# https://aur.archlinux.org/packages/dunelegacy
+# https://aur.archlinux.org/cgit/aur.git/tree/text_manager.patch?h=dunelegacy
+
+ Fix missing <array> inclusion
+
+--- a/include/FileClasses/TextManager.h
++++ b/include/FileClasses/TextManager.h
+@@ -21,6 +21,7 @@
+ #include "IndexedTextFile.h"
+ #include "MentatTextFile.h"
+
++#include <array>
+ #include <string>
+ #include <vector>
+ #include <map>