commit:     34f929fa2a9bba8d1029c1b407a2ee65660abfdd
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 14 13:24:03 2019 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Apr 14 13:26:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34f929fa

games-arcade/commandergenius: Version bump to 2.3.3

The path handling still seems a bit buggy but it more or less works
with the included patch.

Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 games-arcade/commandergenius/Manifest              |  1 +
 .../commandergenius/commandergenius-2.3.3.ebuild   | 91 +++++++++++++++++++++
 .../files/commandergenius-2.3.1-build.patch        | 12 +++
 .../files/commandergenius-2.3.1-desktop.patch      | 52 ++++++++++++
 .../files/commandergenius-2.3.1-minizip.patch      | 93 ++++++++++++++++++++++
 .../files/commandergenius-2.3.1-paths.patch        | 11 +++
 games-arcade/commandergenius/metadata.xml          |  3 +-
 7 files changed, 262 insertions(+), 1 deletion(-)

diff --git a/games-arcade/commandergenius/Manifest 
b/games-arcade/commandergenius/Manifest
index 77859bf4c17..dcd67035647 100644
--- a/games-arcade/commandergenius/Manifest
+++ b/games-arcade/commandergenius/Manifest
@@ -1 +1,2 @@
+DIST Commander-Genius-v2.3.3.tar.bz2 63885924 BLAKE2B 
a072f922bac6f76e615bbb602c1b5ac4fca634a90bdead461d666da0d70ad5ddd6865504c84a09905bb313728b840df973ae006d120ae01d8c8f8a7bd4a10abe
 SHA512 
f64f24b01cd0921570f633913c8a3b1b50537596b2c46377862a913e36c74934521c1c55fca676b78674c669d475d9c2c2c09ac4a22ebdad1826508e6b9598b6
 DIST commandergenius-1.8.3.tar.gz 71446309 BLAKE2B 
01f54e3deb4189e103d9ae23efadfe82363893b48e31d4b5b505f961191b5afe36440b67f0da55d59b6fceeadb15659503d3326975cb131f131b9a630ac35ae8
 SHA512 
821a356751629b7f3b122f52a31588f2174580fa6450699f8a03bcd78e305c649c7b36bb21dd2d222411c648b78c3bb02c11e9691e8cb2459380e6a70c2dbe2a

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 00000000000..4c3fc02b572
--- /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 00000000000..b5a9e1288a6
--- /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 00000000000..4d2c246e5b7
--- /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 <[email protected]>
+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 <[email protected]>
+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 00000000000..ca2553b5f7d
--- /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 <[email protected]>
+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 00000000000..50fb90b9502
--- /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/metadata.xml 
b/games-arcade/commandergenius/metadata.xml
index 1f862355f14..86222e373a5 100644
--- a/games-arcade/commandergenius/metadata.xml
+++ b/games-arcade/commandergenius/metadata.xml
@@ -10,9 +10,10 @@
                        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>

Reply via email to