summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzamat H. Hackimov <azamat.hackimov@gmail.com>2020-06-08 12:58:02 +0300
committerStefan Strogin <steils@gentoo.org>2020-06-12 06:13:10 +0300
commiteffe2edd232d7f8decce455309dd6ae252316cfe (patch)
tree7e0964376b8f8e9d072dceef9a2b6fa8c6e3a531
parentsys-apps/fd: drop old (diff)
downloadgentoo-effe2edd232d7f8decce455309dd6ae252316cfe.tar.gz
gentoo-effe2edd232d7f8decce455309dd6ae252316cfe.tar.bz2
gentoo-effe2edd232d7f8decce455309dd6ae252316cfe.zip
games-action/heroes: fix compilation; update ebuild
Fix compilation on GCC 10 (#708794, patch taken from Debian https://salsa.debian.org/games-team/heroes/-/blob/master/debian/patches/single-declaration.patch), update to EAPI 7, minor cleanups. Closes: https://bugs.gentoo.org/708794 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Azamat H. Hackimov <azamat.hackimov@gmail.com> Add patch to add a missing header and packed attributes for structures [https://salsa.debian.org/games-team/heroes/-/blob/master/debian/patches/compilation-fixes.patch] Closes: https://github.com/gentoo/gentoo/pull/16116 Signed-off-by: Stefan Strogin <steils@gentoo.org>
-rw-r--r--games-action/heroes/files/heroes-0.21-compilation.patch48
-rw-r--r--games-action/heroes/files/heroes-0.21-cvs-segfault-fix.patch (renamed from games-action/heroes/files/0.21-cvs-segfault-fix.patch)0
-rw-r--r--games-action/heroes/files/heroes-0.21-gcc10.patch16
-rw-r--r--games-action/heroes/heroes-0.21-r2.ebuild42
4 files changed, 89 insertions, 17 deletions
diff --git a/games-action/heroes/files/heroes-0.21-compilation.patch b/games-action/heroes/files/heroes-0.21-compilation.patch
new file mode 100644
index 000000000000..e972953093c3
--- /dev/null
+++ b/games-action/heroes/files/heroes-0.21-compilation.patch
@@ -0,0 +1,48 @@
+Description: GCC 6 compilation fixes
+Author: Stephen Kitt <skitt@debian.org>
+
+Add a missing header.
+Propagate packed attributes as necessary.
+
+--- a/lib/xstrduplwr.c
++++ b/lib/xstrduplwr.c
+@@ -25,6 +25,7 @@
+
+ #include <sys/types.h>
+ #include <ctype.h>
++#include <string.h>
+
+ #include "xalloc.h"
+ #include "xstrduplwr.h"
+--- a/src/pcx.h
++++ b/src/pcx.h
+@@ -23,7 +23,7 @@
+
+ #include "video.h"
+
+-typedef struct pcx_header_type
++typedef struct ATTRIBUTE_PACKED pcx_header_type
+ {
+ a_u8 signature;
+ a_u8 version;
+@@ -39,9 +39,9 @@
+ a_u16 palette_kind;
+ a_u8 rien[58];
+ }
+-a_pcx_header ATTRIBUTE_PACKED;
++a_pcx_header;
+
+-typedef struct
++typedef struct ATTRIBUTE_PACKED
+ {
+ a_u8 r, g, b;
+ }
+@@ -54,7 +54,7 @@
+ }
+ a_palette;
+
+-typedef struct img_type
++typedef struct ATTRIBUTE_PACKED img_type
+ {
+ a_pcx_header header;
+ a_palette palette;
diff --git a/games-action/heroes/files/0.21-cvs-segfault-fix.patch b/games-action/heroes/files/heroes-0.21-cvs-segfault-fix.patch
index 689fdeea8a6c..689fdeea8a6c 100644
--- a/games-action/heroes/files/0.21-cvs-segfault-fix.patch
+++ b/games-action/heroes/files/heroes-0.21-cvs-segfault-fix.patch
diff --git a/games-action/heroes/files/heroes-0.21-gcc10.patch b/games-action/heroes/files/heroes-0.21-gcc10.patch
new file mode 100644
index 000000000000..b806e3e88784
--- /dev/null
+++ b/games-action/heroes/files/heroes-0.21-gcc10.patch
@@ -0,0 +1,16 @@
+Descriptions: Ensure variables are only declared once
+Author: Stephen Kitt <skitt@debian.org>
+
+--- a/src/persona.h
++++ b/src/persona.h
+@@ -28,8 +28,8 @@
+ * difference only if the program has a sgid or suid bit.
+ */
+
+-bool keep_sgid; /* Whether we should keep the */
+-bool keep_suid; /* SGID or SUID priviledge. */
++extern bool keep_sgid; /* Whether we should keep the */
++extern bool keep_suid; /* SGID or SUID priviledge. */
+
+ /* Get information about the current persona,
+ and switch to the user persona. */
diff --git a/games-action/heroes/heroes-0.21-r2.ebuild b/games-action/heroes/heroes-0.21-r2.ebuild
index 5ab9018ee3d1..9e7f8d9fcc0d 100644
--- a/games-action/heroes/heroes-0.21-r2.ebuild
+++ b/games-action/heroes/heroes-0.21-r2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit eutils autotools
+EAPI=7
+
+inherit autotools
data_ver=1.5
snd_trk_ver=1.0
@@ -21,11 +22,17 @@ KEYWORDS="~amd64 ~x86"
IUSE="ggi nls sdl"
RESTRICT="test"
-RDEPEND="
- ggi? ( media-libs/libggi media-libs/libgii media-libs/libmikmod )
+REQUIRED_USE="^^ ( ggi sdl )"
+RDEPEND="ggi? (
+ media-libs/libggi
+ media-libs/libgii
+ media-libs/libmikmod
+ )
nls? ( virtual/libintl )
- sdl? ( media-libs/libsdl media-libs/sdl-mixer )
- !sdl? ( !ggi? ( media-libs/libsdl media-libs/sdl-mixer ) )"
+ sdl? (
+ media-libs/libsdl
+ media-libs/sdl-mixer
+ )"
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
@@ -34,7 +41,9 @@ PATCHES=(
"${FILESDIR}/${P}"-automake-1.12.patch
"${FILESDIR}/${P}"-gcc4.patch
"${FILESDIR}/${P}"-underlink.patch
- "${FILESDIR}/${PV}"-cvs-segfault-fix.patch
+ "${FILESDIR}/${P}"-cvs-segfault-fix.patch
+ "${FILESDIR}/${P}"-compilation.patch
+ "${FILESDIR}/${P}"-gcc10.patch
)
src_prepare() {
@@ -45,13 +54,13 @@ src_prepare() {
}
src_configure() {
- local myconf
-
- if use sdl || ! use ggi ; then
- myconf="${myconf} --with-sdl --with-sdl-mixer"
- else
- myconf="${myconf} --with-ggi --with-mikmod"
- fi
+ local myconf=(
+ $(use_with sdl)
+ $(use_with sdl sdl-mixer)
+ $(use_with ggi)
+ $(use_with ggi mikmod)
+ $(use_enable nls)
+ )
local pkg
for pkg in ${A//.tar.bz2} ; do
@@ -59,8 +68,7 @@ src_configure() {
econf \
--disable-heroes-debug \
--disable-optimizations \
- $(use_enable nls) \
- ${myconf}
+ "${myconf[@]}"
done
}