summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <sudinave@gmail.com>2021-04-25 02:31:30 -0400
committerSam James <sam@gentoo.org>2021-05-09 04:42:11 +0000
commit2383e92ad2432f5f67efd97675c7c34709b71a76 (patch)
treea4cada06cd9e5cb06ee621a50cf1cb47fcef1514 /games-emulation
parentdev-libs/trio: initial import (diff)
downloadgentoo-2383e92ad2432f5f67efd97675c7c34709b71a76.tar.gz
gentoo-2383e92ad2432f5f67efd97675c7c34709b71a76.tar.bz2
gentoo-2383e92ad2432f5f67efd97675c7c34709b71a76.zip
games-emulation/mednafen: add 1.26.1 with reworked ebuild
Notable ebuild changes: - EAPI-7 - libsdl -> libsdl2 - finally use virtual/jack (jack2 tested fine) - use more aggressive sed for configure.ac's CFLAGS given upstream been adding yet more unnecessary compiler options such as attempts to disable spectre mitigation - tentatively removed strip-flags (referenced bug #539992 was only because of lacking -fwrapv, but strip was added with it) - tentatively removed ccache check (no explanation found, seems fine) - use new --with-external-{lzo,mpcdec,tremor,trio} to unbundle - pic/pie warning is now non-fatal but is repeated so much that used the new defines to disable anyway - IUSE changes: > altivec: converted to cpu_flags_ppc_altivec (untested) > sndfile: added for libsndfile to be optional > cjk/debugger: removed (these are enabled by default, have no dependencies, and don't have a big impact on size) - install html docs, the only viable source of usage information (README(s) are just build instructions) Closes: https://bugs.gentoo.org/670672 Closes: https://bugs.gentoo.org/684088 Signed-off-by: Ionen Wolkens <sudinave@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/mednafen/Manifest1
-rw-r--r--games-emulation/mednafen/mednafen-1.26.1.ebuild74
2 files changed, 75 insertions, 0 deletions
diff --git a/games-emulation/mednafen/Manifest b/games-emulation/mednafen/Manifest
index 5f30b0b23392..73bc534957cc 100644
--- a/games-emulation/mednafen/Manifest
+++ b/games-emulation/mednafen/Manifest
@@ -1 +1,2 @@
DIST mednafen-0.9.46.tar.xz 3187988 BLAKE2B c33da02bfb0cce37e9029efc98d11e233686c41c7ecb51110a3fe805b3a13f2fef293dd86b7bc7a3ff172f7f0f507e07804a2927e5b41c1927ca52673f068dfb SHA512 ea624f076922570001393d5d04cc1b20b3d005d31de4095ee5c7a985be2b61e8d3aa5e78c64e751e8233adc89a31be955372caeb2818d0a5cc71ba9380931620
+DIST mednafen-1.26.1.tar.xz 3319756 BLAKE2B d306a0754ed0c64a99cee4eacfa47f5f46ca059026bfc2ef6bfff4be82e914a2882a864538c8cb6bb948cdb9bd53651d931b033446015ad06be309893a2bfef7 SHA512 c91db3967c09a475fcd3410eb6892a99f3cf2ca2c5a78173669aa52c2e588819595d1d140e0c1888f48885327a9381c64cfb8f2074be8067984a4414c6f282bf
diff --git a/games-emulation/mednafen/mednafen-1.26.1.ebuild b/games-emulation/mednafen/mednafen-1.26.1.ebuild
new file mode 100644
index 000000000000..1fb74cdae5ef
--- /dev/null
+++ b/games-emulation/mednafen/mednafen-1.26.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic pax-utils toolchain-funcs
+
+DESCRIPTION="Argument-driven multi-system emulator utilizing OpenGL and SDL"
+HOMEPAGE="https://mednafen.github.io/"
+SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa cpu_flags_ppc_altivec jack +sndfile"
+
+RDEPEND="
+ dev-libs/lzo:2
+ dev-libs/trio
+ media-libs/libsdl2[joystick,opengl,video]
+ media-libs/tremor
+ media-sound/musepack-tools
+ sys-libs/zlib:=[minizip]
+ virtual/libintl
+ alsa? ( media-libs/alsa-lib )
+ jack? ( virtual/jack )
+ sndfile? ( media-libs/libsndfile )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # don't let the build system mess with CFLAGS more than necessary,
+ # most are questionable (see README.PORTING/configure.ac comments)
+ # -fwrapv: kept for bug #539992
+ sed -e '/CC_OPT.*CODEGEN_FLAGS/{/-fwrapv/!d}' \
+ -e '/CC_OPT.*NO_STACK_PROTECTOR_FLAGS/d' \
+ -e '/CC_OPT.*OPTIMIZER_FLAGS/c\:' \
+ -e '/CC_OPT.*-mtune.*SS_EXTRA_FLAGS/d' \
+ -i configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # disable unnecessary warnings not to confuse users (see src/types.h)
+ append-cppflags -DMDFN_DISABLE_{NO_OPT,PICPIE}_ERRWARN
+
+ local myeconfargs=(
+ $(use_enable alsa)
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable jack)
+ $(use_with sndfile libsndfile)
+ --with-external-{lzo,mpcdec,tremor,trio}
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local DOCS=(
+ ChangeLog
+ Documentation/{cheats.txt,fname_format.txt,modules.def,settings.def}
+ )
+ local HTML_DOCS=( Documentation/*.{css,html,png} )
+ default
+ pax-mark m "${ED}"/usr/bin/mednafen
+}