diff options
Diffstat (limited to 'games-emulation')
-rw-r--r-- | games-emulation/mupen64plus-core/files/mupen64plus-core-2.5.9-pitch.patch | 29 | ||||
-rw-r--r-- | games-emulation/mupen64plus-core/mupen64plus-core-2.5.9-r3.ebuild (renamed from games-emulation/mupen64plus-core/mupen64plus-core-2.5.9-r2.ebuild) | 47 |
2 files changed, 57 insertions, 19 deletions
diff --git a/games-emulation/mupen64plus-core/files/mupen64plus-core-2.5.9-pitch.patch b/games-emulation/mupen64plus-core/files/mupen64plus-core-2.5.9-pitch.patch new file mode 100644 index 000000000000..449e4252dae2 --- /dev/null +++ b/games-emulation/mupen64plus-core/files/mupen64plus-core-2.5.9-pitch.patch @@ -0,0 +1,29 @@ +From 8fac78d8cb54da960ca85a49547dcc4fb952457d Mon Sep 17 00:00:00 2001 +From: VarNepvius <14352929+VarNepvius@users.noreply.github.com> +Date: Tue, 6 Sep 2022 20:31:03 +0200 +Subject: [PATCH] Fix wrong pitch argument in call to SDL_CreateRGBSurfaceFrom. + +--- + src/api/vidext_sdl2_compat.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/api/vidext_sdl2_compat.h b/src/api/vidext_sdl2_compat.h +index 06d778dd9..071a64402 100644 +--- a/src/api/vidext_sdl2_compat.h ++++ b/src/api/vidext_sdl2_compat.h +@@ -474,8 +474,14 @@ SDL_SetVideoMode(int width, int height, int bpp, Uint32 flags) + if (SDL_GL_MakeCurrent(SDL_VideoWindow, SDL_VideoContext) < 0) { + return NULL; + } ++ ++ /* Pitch: size of of line in bytes */ ++ /* Add 7 to bpp before division, to ensure correct rounding towards infinity ++ * in cases where bits per pixel do not cleanly divide by 8 (such as 15) ++ */ ++ int pitch = (bpp + 7) / 8 * width; + SDL_VideoSurface = +- SDL_CreateRGBSurfaceFrom(NULL, width, height, bpp, 0, 0, 0, 0, 0); ++ SDL_CreateRGBSurfaceFrom(NULL, width, height, bpp, pitch, 0, 0, 0, 0); + if (!SDL_VideoSurface) { + return NULL; + } diff --git a/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9-r2.ebuild b/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9-r3.ebuild index 459fd3cd6239..38e80fb81924 100644 --- a/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9-r2.ebuild +++ b/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9-r3.ebuild @@ -1,41 +1,50 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -MY_P=${PN}-src-${PV} inherit toolchain-funcs +MY_P=${PN}-src-${PV} DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, core library" HOMEPAGE="https://www.mupen64plus.org/" -SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz" +SRC_URI=" + https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz +" +S=${WORKDIR}/${MY_P} LICENSE="GPL-2+" SLOT="0/2-sdl2" KEYWORDS="~amd64 ~x86" IUSE="debugger gles2-only lirc new-dynarec opencv +osd cpu_flags_x86_sse" +REQUIRED_USE="gles2-only? ( !osd )" -RDEPEND="media-libs/libpng:0= - media-libs/libsdl2:0=[joystick,opengl,video] - sys-libs/zlib:0=[minizip] - gles2-only? ( media-libs/libsdl2:0[gles2] ) - lirc? ( app-misc/lirc:0 ) +DEPEND=" + media-libs/libpng:= + media-libs/libsdl2[joystick,opengl,video] + sys-libs/zlib[minizip] + gles2-only? ( media-libs/libsdl2[gles2] ) + lirc? ( app-misc/lirc ) opencv? ( media-libs/opencv:= ) osd? ( media-fonts/dejavu - media-libs/freetype:2= - virtual/opengl:0= - virtual/glu:0= - )" -DEPEND="${RDEPEND}" + media-libs/freetype:2 + virtual/opengl + virtual/glu + ) +" +RDEPEND=" + ${DEPEND} +" BDEPEND=" cpu_flags_x86_sse? ( dev-lang/nasm ) - virtual/pkgconfig" - -REQUIRED_USE="gles2-only? ( !osd )" -S=${WORKDIR}/${MY_P} + virtual/pkgconfig +" -PATCHES=( "${FILESDIR}"/${PN}-2.5.9-fix-gcc10-fno-common.patch ) +PATCHES=( + "${FILESDIR}"/${P}-fix-gcc10-fno-common.patch + "${FILESDIR}"/${P}-pitch.patch +) src_prepare() { default |