commit:     6052cff30f398cf28089db8988666c6c2a189116
Author:     Stefan Strogin <steils <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 10 22:14:48 2020 +0000
Commit:     Stefan Strogin <steils <AT> gentoo <DOT> org>
CommitDate: Mon Aug 10 22:23:30 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6052cff3

games-roguelike/angband: add patch to fix SDL2 sound

Closes: https://bugs.gentoo.org/728096
Package-Manager: Portage-3.0.2, Repoman-2.3.23
Signed-off-by: Stefan Strogin <steils <AT> gentoo.org>

 games-roguelike/angband/angband-4.2.1-r1.ebuild    | 108 +++++++++++++++++++++
 .../angband/files/angband-4.2.1-sdl2-sound.patch   |  50 ++++++++++
 2 files changed, 158 insertions(+)

diff --git a/games-roguelike/angband/angband-4.2.1-r1.ebuild 
b/games-roguelike/angband/angband-4.2.1-r1.ebuild
new file mode 100644
index 00000000000..5261fcba166
--- /dev/null
+++ b/games-roguelike/angband/angband-4.2.1-r1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools desktop xdg-utils
+
+MAJOR_PV=$(ver_cut 1-2)
+
+DESCRIPTION="A roguelike dungeon exploration game based on the books of J.R.R. 
Tolkien"
+HOMEPAGE="https://rephial.org/";
+SRC_URI="https://rephial.org/downloads/${MAJOR_PV}/${P}.tar.gz
+       https://dev.gentoo.org/~steils/distfiles/${P}-man.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ncurses sdl sound +X"
+
+REQUIRED_USE="sound? ( sdl )
+       || ( X ncurses )"
+
+RDEPEND="X? (
+               media-fonts/font-misc-misc
+               x11-libs/libX11
+       )
+       ncurses? ( sys-libs/ncurses:0=[unicode] )
+       sdl? (
+               media-libs/libsdl2[video,X]
+               media-libs/sdl2-image
+               media-libs/sdl2-ttf
+               sound? (
+                       media-libs/libsdl2[sound]
+                       media-libs/sdl2-mixer[mp3]
+               )
+       )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}/${P}-sdl2-sound.patch" )
+
+src_prepare() {
+       default
+
+       sed -i -e '/libpath/s#datarootdir#datadir#' configure.ac || die
+       sed -i -e "/^.SILENT/d" mk/buildsys.mk.in || die
+
+       if use !sound ; then
+               sed -i -e 's/sounds//' lib/Makefile || die
+       fi
+
+       # Game constant files are now system config files in Angband, but
+       # users will be hidden from applying updates by default
+       {
+               echo "CONFIG_PROTECT_MASK=\"/etc/${PN}/customize/\""
+               echo "CONFIG_PROTECT_MASK=\"/etc/${PN}/gamedata/\""
+       } > "${T}"/99${PN} || die
+
+       eautoreconf
+}
+
+src_configure() {
+       local myconf=(
+               --bindir="${EPREFIX}"/usr/bin
+               --with-private-dirs
+               $(use_enable X x11)
+               $(use_enable ncurses curses)
+       )
+       if use sdl; then
+               myconf+=(
+                       --enable-sdl2
+                       $(use_enable sound sdl2-mixer)
+               )
+       fi
+
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       default
+
+       dodoc changes.txt README.md
+       doman "${WORKDIR}"/${PN}.1
+       doenvd "${T}"/99${PN}
+
+       if use X || use sdl; then
+               use X && make_desktop_entry "angband -mx11" "Angband (X11)" 
"${PN}"
+               use sdl && make_desktop_entry "angband -msdl2" "Angband (SDL2)" 
"${PN}"
+
+               local s
+               for s in 16 32 128 256 512; do
+                       newicon -s ${s} lib/icons/att-${s}.png "${PN}.png"
+               done
+               newicon -s scalable lib/icons/att.svg "${PN}.svg"
+       fi
+}
+
+pkg_postinst() {
+       if use X || use sdl; then
+               xdg_icon_cache_update
+       fi
+}
+
+pkg_postrm() {
+       if use X || use sdl; then
+               xdg_icon_cache_update
+       fi
+}

diff --git a/games-roguelike/angband/files/angband-4.2.1-sdl2-sound.patch 
b/games-roguelike/angband/files/angband-4.2.1-sdl2-sound.patch
new file mode 100644
index 00000000000..accbc835557
--- /dev/null
+++ b/games-roguelike/angband/files/angband-4.2.1-sdl2-sound.patch
@@ -0,0 +1,50 @@
+From bbfe78654e2f67da264d81d25fe1e6332302e51a Mon Sep 17 00:00:00 2001
+From: Eric Branlund <[email protected]>
+Date: Sat, 11 Jul 2020 11:07:24 -0700
+Subject: [PATCH] Adjusted so "./configure --enable-sdl2-mixer" and then
+ compiling generates an executable where "angband --help" lists the SDL sound
+ module as available.
+
+Upstream-Status: Accepted
+[https://github.com/angband/angband/commit/bbfe78654e2f67da264d81d25fe1e6332302e51a]
+Signed-off-by: Stefan Strogin <[email protected]>
+---
+ configure.ac     | 2 +-
+ src/sound-core.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 968aaa914..9d0b1e600 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -337,7 +337,7 @@ if test "$enable_sdl2_mixer" = "yes"; then
+                       SDL2_LIBS=`sdl2-config --libs`
+                       LIBS="${LIBS} ${SDL2_LIBS} -lSDL2_mixer"
+               fi
+-              MAINFILES="${MAINFILES} \$(SNDSDL2FILES)"
++              MAINFILES="${MAINFILES} \$(SNDSDLFILES)"
+       fi
+ fi
+ 
+diff --git a/src/sound-core.c b/src/sound-core.c
+index 261009429..8b8ef7ffd 100644
+--- a/src/sound-core.c
++++ b/src/sound-core.c
+@@ -20,7 +20,7 @@
+ #include "sound.h"
+ #include "main.h"
+ #include "ui-prefs.h"
+-#ifdef SOUND_SDL
++#if defined(SOUND_SDL) || defined(SOUND_SDL2)
+ #include "snd-sdl.h"
+ #endif
+ 
+@@ -55,7 +55,7 @@ static struct msg_snd_data message_sounds[MSG_MAX];
+  */
+ static const struct sound_module sound_modules[] =
+ {
+-#ifdef SOUND_SDL
++#if defined(SOUND_SDL) || defined(SOUND_SDL2)
+       { "sdl", "SDL_mixer sound module", init_sound_sdl },
+ #endif /* SOUND_SDL */
+ #if (!defined(WIN32_CONSOLE_MODE) && defined(WINDOWS) && !defined(USE_SDL) && 
!defined(USE_SDL2)) 

Reply via email to