summaryrefslogtreecommitdiff
path: root/games-arcade/commandergenius
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-04-28 09:54:45 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-04-28 09:54:45 +0100
commitb7ebc951da8800f711142f69d9d958bde67a112d (patch)
treee318514216845acb8f2e49fff7a5cba4027e9d91 /games-arcade/commandergenius
parentdc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff)
gentoo resync : 28.04.2019
Diffstat (limited to 'games-arcade/commandergenius')
-rw-r--r--games-arcade/commandergenius/Manifest11
-rw-r--r--games-arcade/commandergenius/commandergenius-1.8.3.ebuild80
-rw-r--r--games-arcade/commandergenius/commandergenius-2.3.3.ebuild91
-rw-r--r--games-arcade/commandergenius/files/commandergenius-2.3.1-build.patch12
-rw-r--r--games-arcade/commandergenius/files/commandergenius-2.3.1-desktop.patch52
-rw-r--r--games-arcade/commandergenius/files/commandergenius-2.3.1-minizip.patch93
-rw-r--r--games-arcade/commandergenius/files/commandergenius-2.3.1-paths.patch11
-rw-r--r--games-arcade/commandergenius/files/commandergenius-wrapper18
-rw-r--r--games-arcade/commandergenius/metadata.xml7
9 files changed, 268 insertions, 107 deletions
diff --git a/games-arcade/commandergenius/Manifest b/games-arcade/commandergenius/Manifest
index 81acbd597a87..da2ad02e4ef6 100644
--- a/games-arcade/commandergenius/Manifest
+++ b/games-arcade/commandergenius/Manifest
@@ -1,4 +1,7 @@
-AUX commandergenius-wrapper 450 BLAKE2B 6baf65533f64f398628bdd33f3e9a5f36225b0817a8a9fee61719fb63fcb7f9d2445a7187def831c68422626eac78899721dbf9c93da0d76971ffa3622f66cf6 SHA512 7c3eb80389dfcae1345cbf7dae614c392dfa4ad3c6cbe02b850055df6d43f4e5531bc8fab8703804ce78ae882ed6322c9e4adf0c0f516235e1af17a8c29d7f1f
-DIST commandergenius-1.8.3.tar.gz 71446309 BLAKE2B 01f54e3deb4189e103d9ae23efadfe82363893b48e31d4b5b505f961191b5afe36440b67f0da55d59b6fceeadb15659503d3326975cb131f131b9a630ac35ae8 SHA512 821a356751629b7f3b122f52a31588f2174580fa6450699f8a03bcd78e305c649c7b36bb21dd2d222411c648b78c3bb02c11e9691e8cb2459380e6a70c2dbe2a
-EBUILD commandergenius-1.8.3.ebuild 2157 BLAKE2B 113e8381fd4d1099ee692a888bc1fd1027cdff5fe812d3bd23a56e431069e069f25727b63aeaf80ce447851aa428086eddd611860ec7711d1491af972d82e07f SHA512 7171cd0d82c83ad3d9409d89482aa5416f2d2034bd378f7e38537ce390999ec899457f312c9d2b0d013811c3573526001079173c78d3666615bc6a9c3cd9bef2
-MISC metadata.xml 547 BLAKE2B f23ffc9a4f2fad2c93dd1009c01cf85b458137a847e8e80b61b7831fd35d27f5edb4d4f69663ac6123ea7303dd675fd08910c85f4acf3f6b648a219d67198c1b SHA512 cd0eba4defa145cacddef5596483c9665a5f1c7dd940dc98ad7b7dec578d6b149f53d6540a0c7610b1976bee91cd2f33eb03b12a466cec15aef8d092f9eb82ba
+AUX commandergenius-2.3.1-build.patch 451 BLAKE2B 5c82e9919262fd55ec89069c55de2ba0f18eea2af4587776c353345aef7fb1657763abfcf0956856dae3707a65f0e33210dc521f95d3a0c863461bdb851667d6 SHA512 7b567072137af294b876da4d3701deddc5bf80c52c7a9bf7f0e266885f2a5cc61b7f495725e9d3fdaf3527cf92da0437c8ed1b90f34f9925579c2fe5da8484fb
+AUX commandergenius-2.3.1-desktop.patch 1614 BLAKE2B f2b4a66d98af114a98a83a0ee7ff8ad8dd08d5c0ddba82859b2887adaa8f7893fa6b0cedce5327c7be8f2c0ac8085981b893126e1a39ac4c1effa8212e91b890 SHA512 b03232cda867870b9d8f787463cd423cf805c0bb911c3d371fbb7664ec27e0a0f47706b86889025eb5158e99cc24ac04dbf785d2ff8ed5a292beaeb995e0d75e
+AUX commandergenius-2.3.1-minizip.patch 2277 BLAKE2B d41e86021769db7189620b3ac6941d2a0c1d60efb97ddee30b449045a7d561011638cb56cfab4285b0c7a35a385a6c66d7159f4b01b42fae0c6f363d7d2d6054 SHA512 ff8a1a8fd6c1c87b52b05fcd248b3ba92e2b9559b8b68522ef83a49878d7ccd3d4c8d9ac2eebb8211e4213b4106f563eb59819117b962a28ecdfd9c60d29621d
+AUX commandergenius-2.3.1-paths.patch 528 BLAKE2B 0d3362d1f5099206a352c47c8625fc8bf7c5bcc371576340209eb4ef978c9cd7dfe0d13206fa2fe3f25dac094fd93e33a957d942a432080c77d50bab21b0a42e SHA512 f447166227566fe914c3d50f6f8c7b1dab6161b9ff633824c8feea0cc441872cd6245572e8cb2929a9f8345c0b8592cd3b3a7d77224ed9f5bc0076d82415f66a
+DIST Commander-Genius-v2.3.3.tar.bz2 63885924 BLAKE2B a072f922bac6f76e615bbb602c1b5ac4fca634a90bdead461d666da0d70ad5ddd6865504c84a09905bb313728b840df973ae006d120ae01d8c8f8a7bd4a10abe SHA512 f64f24b01cd0921570f633913c8a3b1b50537596b2c46377862a913e36c74934521c1c55fca676b78674c669d475d9c2c2c09ac4a22ebdad1826508e6b9598b6
+EBUILD commandergenius-2.3.3.ebuild 2247 BLAKE2B bbbbebf093e3e234eea3bbbeb68f9e0007c81a40916f85a1c09a2d2ade5fff1a5897114c408883f65c6e976197dd764a63f9a062dc968b2585b760e2eaab9062 SHA512 f77084dd71d57720a664971a772916d6efbc2b427ad96689823ec844de39a4f18273652a7095866fa15b9e77bc1e62372ac478f0216345886d26b64948521dcf
+MISC metadata.xml 506 BLAKE2B 2e4a746b047d9e50d4403cdd52984cc2f0e8ba58e81ac73b6d3e3363f60c8370221713248fcf56505ad5768f7f66dd30778d025b8342088fa9c329deb7afac20 SHA512 f7e6dd9ad5ba4e57218226ec1693e482228133d3e19332a9aa7995bf60e184a77520a59d7d2b3195429c3b56ecb857da675d467b05b1b9aeb52826500db2061a
diff --git a/games-arcade/commandergenius/commandergenius-1.8.3.ebuild b/games-arcade/commandergenius/commandergenius-1.8.3.ebuild
deleted file mode 100644
index 435c937ccf64..000000000000
--- a/games-arcade/commandergenius/commandergenius-1.8.3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CMAKE_IN_SOURCE_BUILD=1
-inherit cmake-utils eutils games
-
-MY_P=CGenius-${PV}-Release-Source
-DESCRIPTION="Open Source Commander Keen clone (needs original game files)"
-HOMEPAGE="http://clonekeenplus.sourceforge.net"
-SRC_URI="https://github.com/gerstrong/Commander-Genius/archive/v${PV//./}release.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="opengl tremor"
-RESTRICT="mirror" # contains keen files, but we do not install them
-
-RDEPEND="media-libs/libsdl2[X,opengl?,sound,video]
- media-libs/sdl2-image
- opengl? ( virtual/opengl )
- tremor? ( media-libs/tremor )
- !tremor? ( media-libs/libvorbis )"
-DEPEND="${RDEPEND}
- dev-libs/boost
- virtual/pkgconfig"
-
-S=${WORKDIR}/Commander-Genius-${PV//./}release
-
-src_prepare() {
- cmake-utils_src_prepare
-
- rm -rf vfsroot || die
- sed -i -e '/INCLUDE(package.cmake)/d' CMakeLists.txt || die
- cp version.h src/ || die # Workaround buggy neard package - bug #558160
-}
-
-src_configure() {
- local mycmakeargs=(
- -DAPPDIR="${GAMES_BINDIR}"
- -DSHAREDIR="/usr/share"
- -DGAMES_SHAREDIR="${GAMES_DATADIR}"
- -DDOCDIR="/usr/share/doc/${PF}"
- -DBUILD_TARGET="LINUX"
- $(cmake-utils_use opengl OPENGL)
- $(cmake-utils_use tremor TREMOR)
- $(cmake-utils_use !tremor OGG)
- -DUSE_SDL2=1
- )
-
- cmake-utils_src_configure
-}
-
-src_compile() {
- cmake-utils_src_compile
-}
-
-src_install() {
- cmake-utils_src_install
- newicon src/CGLogo.png ${PN}.png
- newgamesbin "${FILESDIR}"/commandergenius-wrapper commandergenius
- if [[ -e "${ED}${GAMES_BINDIR}"/CGeniusExe ]] ; then
- mv "${ED}${GAMES_BINDIR}"/CGeniusExe \
- "${ED}${GAMES_BINDIR}"/CommanderGenius || die
- fi
-
- make_desktop_entry commandergenius
- prepgamesdirs
-}
-
-pkg_postinst() {
- games_pkg_postinst
- elog "Check your settings in ~/.CommanderGenius/cgenius.cfg"
- elog "after you have started the game for the first time."
- use opengl && elog "You may also want to set \"OpenGL = true\""
- elog
- elog "Run the game via:"
- elog " 'commandergenius [path-to-keen-data]'"
- elog "or add your keen data dir to the search paths in cgenius.cfg"
-}
diff --git a/games-arcade/commandergenius/commandergenius-2.3.3.ebuild b/games-arcade/commandergenius/commandergenius-2.3.3.ebuild
new file mode 100644
index 000000000000..4c3fc02b5724
--- /dev/null
+++ b/games-arcade/commandergenius/commandergenius-2.3.3.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+
+inherit cmake-utils desktop python-single-r1 xdg-utils
+
+MY_PN="Commander-Genius"
+MY_P="${MY_PN}-v${PV}"
+DESCRIPTION="Open Source Commander Keen clone (needs original game files)"
+HOMEPAGE="http://clonekeenplus.sourceforge.net"
+SRC_URI="https://gitlab.com/Dringgstein/${MY_PN}/-/archive/v${PV}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+downloader opengl +python"
+RESTRICT="mirror" # contains keen files, but we do not install them
+
+RDEPEND="media-libs/libsdl2[opengl?,video]
+ media-libs/sdl2-image
+ media-libs/sdl2-mixer[vorbis]
+ sys-libs/zlib[minizip]
+ downloader? ( net-misc/curl )
+ opengl? ( virtual/opengl )
+ python? ( ${PYTHON_DEPS} )"
+
+DEPEND="${RDEPEND}
+ dev-libs/boost"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.1-minizip.patch
+ "${FILESDIR}"/${PN}-2.3.1-desktop.patch
+ "${FILESDIR}"/${PN}-2.3.1-build.patch
+ "${FILESDIR}"/${PN}-2.3.1-paths.patch
+)
+
+S="${WORKDIR}/${MY_P}"
+
+SHAREDIR="/usr/share"
+GAMESDIR="${SHAREDIR}/${PN}/games"
+DOCS=()
+
+src_configure() {
+ local mycmakeargs=(
+ -DAPPDIR="${EPREFIX}/usr/bin"
+ -DGAMES_SHAREDIR="${EPREFIX}${SHAREDIR}"
+ -DDOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+ -DDOWNLOADER=$(usex downloader)
+ -DOPENGL=$(usex opengl)
+ -DUSE_PYTHON3=$(usex python)
+ -DUSE_SDL2=ON
+ -DBUILD_SHARED_LIBS=OFF
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ # The normal executable name is weird.
+ dosym CGeniusExe /usr/bin/${PN}
+
+ # Game data can be manually installed here.
+ keepdir "${GAMESDIR}"
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+
+ elog "Run ${PN} to start the game. It will search for game data"
+ elog "in ~/.CommanderGenius/games and ${EPREFIX}${GAMESDIR}."
+ elog "You can also specify paths in cgenius.cfg or pass paths as an"
+ elog "argument."
+ elog
+ use downloader && elog "Data for some games can be downloaded from the menu."
+ elog
+ elog "Check your settings in ~/.CommanderGenius/cgenius.cfg after you have"
+ elog "started the game for the first time."
+ elog
+ use opengl && elog "You may also want to set \"OpenGL = true\"."
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/games-arcade/commandergenius/files/commandergenius-2.3.1-build.patch b/games-arcade/commandergenius/files/commandergenius-2.3.1-build.patch
new file mode 100644
index 000000000000..b5a9e1288a60
--- /dev/null
+++ b/games-arcade/commandergenius/files/commandergenius-2.3.1-build.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9733f6d78..b515ee7a1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -78,7 +78,6 @@ add_subdirectory("src")
+
+ MESSAGE( STATUS "CG_VERSION = ${CG_VERSION}" )
+
+-INCLUDE(package.cmake)
+
+ MESSAGE( STATUS "Build system is prepared. To Build the project just type \"make\"" )
+ MESSAGE( STATUS "If you want to create the installation package just type \"make package\" after you build the project" )
diff --git a/games-arcade/commandergenius/files/commandergenius-2.3.1-desktop.patch b/games-arcade/commandergenius/files/commandergenius-2.3.1-desktop.patch
new file mode 100644
index 000000000000..4d2c246e5b76
--- /dev/null
+++ b/games-arcade/commandergenius/files/commandergenius-2.3.1-desktop.patch
@@ -0,0 +1,52 @@
+From 84243052d0b9409b4d5b28e751e598287b00bab9 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 24 Feb 2019 21:26:38 +0000
+Subject: [PATCH 1/2] Remove deprecated "Application" entry from desktop
+ categories
+
+The desktop-file-validate tool says it is deprecated.
+---
+ share/cgenius.desktop | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/share/cgenius.desktop b/share/cgenius.desktop
+index 8d0771522..b7b39ffef 100644
+--- a/share/cgenius.desktop
++++ b/share/cgenius.desktop
+@@ -6,4 +6,4 @@ Icon=/usr/share/icons/hicolor/512x512/apps/CGLogo.png
+ Terminal=false
+ Type=Application
+ StartupNotify=true
+-Categories=Application;Game;ArcadeGame;
++Categories=Game;ArcadeGame;
+--
+2.20.1
+
+From e9d6157210015b4aa5efcb9ba0c57842ae4ef266 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 24 Feb 2019 21:31:28 +0000
+Subject: [PATCH 2/2] Remove unnecessary absolute icon path from desktop entry
+
+We should not assume that the game has been installed to /usr and
+there is no need to specify an absolute path for the icon anyway as
+the standard says that bare icon names should be looked up.
+---
+ share/cgenius.desktop | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/share/cgenius.desktop b/share/cgenius.desktop
+index b7b39ffef..9b09ec9fc 100644
+--- a/share/cgenius.desktop
++++ b/share/cgenius.desktop
+@@ -2,7 +2,7 @@
+ Name=Commander Genius
+ Comment=Play natively Commander Keen Games
+ Exec=CGeniusExe
+-Icon=/usr/share/icons/hicolor/512x512/apps/CGLogo.png
++Icon=CGLogo
+ Terminal=false
+ Type=Application
+ StartupNotify=true
+--
+2.20.1
+
diff --git a/games-arcade/commandergenius/files/commandergenius-2.3.1-minizip.patch b/games-arcade/commandergenius/files/commandergenius-2.3.1-minizip.patch
new file mode 100644
index 000000000000..ca2553b5f7d3
--- /dev/null
+++ b/games-arcade/commandergenius/files/commandergenius-2.3.1-minizip.patch
@@ -0,0 +1,93 @@
+From 04f776e73248d19d9beaf4ea8d407b7c85ecc9c9 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sun, 24 Feb 2019 20:25:34 +0000
+Subject: [PATCH] Allow use of external minizip library instead of linking just
+ zlib
+
+Some distributions package the minizip part of zlib, as well as zlib
+itself, so allow that to be used with help from pkg-config.
+---
+ src/engine/unzip/CMakeLists.txt | 42 +++++++++++++++++++++------------
+ src/engine/unzip/miniunz.c | 4 ++--
+ 2 files changed, 29 insertions(+), 17 deletions(-)
+
+diff --git a/src/engine/unzip/CMakeLists.txt b/src/engine/unzip/CMakeLists.txt
+index 5f2b8a959..24833abb7 100644
+--- a/src/engine/unzip/CMakeLists.txt
++++ b/src/engine/unzip/CMakeLists.txt
+@@ -1,23 +1,35 @@
+-find_package( ZLIB REQUIRED )
+-if ( ZLIB_FOUND )
+- include_directories( ${ZLIB_INCLUDE_DIRS} )
+-else ( ZLIB_FOUND )
+- Message(FATAL_ERROR "Zlib development packages not found!")
+-endif( ZLIB_FOUND )
++find_package(PkgConfig)
+
++if ( PKGCONFIG_FOUND )
++ pkg_check_modules(ZLIB minizip)
++else ( PKGCONFIG_FOUND )
++ unset(ZLIB_FOUND)
++endif ( PKGCONFIG_FOUND )
+
++if ( ZLIB_FOUND )
++ set(CXXSRC miniunz.c)
++ unset(HSRC)
++else ( ZLIB_FOUND )
++ find_package(ZLIB REQUIRED)
++ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
+
++ set(CXXSRC
++ miniunz.c
++ ioapi.c
++ iowin32.c
++ unzip.c)
+
+-set(CXXSRC
+- miniunz.c
+- ioapi.c
+- iowin32.c
+- unzip.c)
++ set(HSRC
++ ioapi.h
++ iowin32.h
++ unzip.h)
++endif ( ZLIB_FOUND )
+
+-set(HSRC
+- ioapi.h
+- iowin32.h
+- unzip.h)
++if ( ZLIB_FOUND )
++ include_directories( ${ZLIB_INCLUDE_DIRS} )
++else ( ZLIB_FOUND )
++ Message(FATAL_ERROR "Zlib development packages not found!")
++endif( ZLIB_FOUND )
+
+ add_library(unzip ${CXXSRC} ${HSRC})
+
+diff --git a/src/engine/unzip/miniunz.c b/src/engine/unzip/miniunz.c
+index 694aa8e60..0f289c96c 100644
+--- a/src/engine/unzip/miniunz.c
++++ b/src/engine/unzip/miniunz.c
+@@ -56,7 +56,7 @@
+ #endif
+
+
+-#include "unzip.h"
++#include <unzip.h>
+
+ #define CASESENSITIVITY (0)
+ #define WRITEBUFFERSIZE (8192)
+@@ -64,7 +64,7 @@
+
+ #ifdef _WIN32
+ #define USEWIN32IOAPI
+-#include "iowin32.h"
++#include <iowin32.h>
+ #endif
+ /*
+ mini unzip, demo of unzip package
+--
+2.20.1
+
diff --git a/games-arcade/commandergenius/files/commandergenius-2.3.1-paths.patch b/games-arcade/commandergenius/files/commandergenius-2.3.1-paths.patch
new file mode 100644
index 000000000000..50fb90b95022
--- /dev/null
+++ b/games-arcade/commandergenius/files/commandergenius-2.3.1-paths.patch
@@ -0,0 +1,11 @@
+diff -Naur a/GsKit/base/utils/FindFile.cpp b/GsKit/base/utils/FindFile.cpp
+--- a/GsKit/base/utils/FindFile.cpp 2019-02-08 15:17:29.000000000 +0000
++++ b/GsKit/base/utils/FindFile.cpp 2019-02-19 23:14:32.299939859 +0000
+@@ -493,7 +493,6 @@
+ #else
+ AddToFileList(&basesearchpaths, "${HOME}/.CommanderGenius");
+ #endif
+- AddToFileList(&basesearchpaths, ".");
+ AddToFileList(&basesearchpaths, SYSTEM_DATA_DIR"/commandergenius"); // no use of ${SYSTEM_DATA}, because it is uncommon and could cause confusion to the user
+ #endif
+ }
diff --git a/games-arcade/commandergenius/files/commandergenius-wrapper b/games-arcade/commandergenius/files/commandergenius-wrapper
deleted file mode 100644
index 0fa5243a5df0..000000000000
--- a/games-arcade/commandergenius/files/commandergenius-wrapper
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-# CommanderGenius by default searches pwd for keen data which can cause
-# massive load/lag depending on which dir you are currently in.
-# This wrapper cd's into ~/.CommanderGenius unless you pass a directory
-# on the command line which is used as additional search path then.
-#
-# use: commandergenius [path-to-keen-dir]
-
-if [ -z $1 ] ; then
- SEARCHDIR=~/.CommanderGenius
-else
- SEARCHDIR="$1"
-fi
-
-cd ${SEARCHDIR}
-
-exec CommanderGenius "$@"
diff --git a/games-arcade/commandergenius/metadata.xml b/games-arcade/commandergenius/metadata.xml
index 1f862355f14e..8de6e6384295 100644
--- a/games-arcade/commandergenius/metadata.xml
+++ b/games-arcade/commandergenius/metadata.xml
@@ -6,13 +6,10 @@
<name>Gentoo Games Project</name>
</maintainer>
<use>
- <flag name="tremor">
- Use <pkg>media-libs/tremor</pkg> as ogg decoder
- instead of <pkg>media-libs/libvorbis</pkg>
- </flag>
+ <flag name="downloader">Allows some Keen games to be downloaded from the menu</flag>
</use>
<upstream>
<remote-id type="sourceforge">clonekeenplus</remote-id>
- <remote-id type="github">gerstrong/Commander-Genius</remote-id>
+ <remote-id type="gitlab">Dringgstein/Commander-Genius</remote-id>
</upstream>
</pkgmetadata>