summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2022-01-01 19:25:33 +0100
committerBernard Cafarelli <voyageur@gentoo.org>2022-01-01 19:27:16 +0100
commit7bc3e53fa241aea8d83673da95d9665f22fdecee (patch)
treefc999228c5c2311a04a4f1eb5364aa6abb429477 /games-emulation/dosbox-staging
parentdev-python/pytest-django: Stabilize 4.5.2 ALLARCHES, #830412 (diff)
downloadgentoo-7bc3e53fa241aea8d83673da95d9665f22fdecee.tar.gz
gentoo-7bc3e53fa241aea8d83673da95d9665f22fdecee.tar.bz2
gentoo-7bc3e53fa241aea8d83673da95d9665f22fdecee.zip
games-emulation/dosbox-staging: add upstream fix for failing tests
With some compilers/linkers, dosbox main() function would be used in tests instead of gmock's one Closes: https://bugs.gentoo.org/830237 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>
Diffstat (limited to 'games-emulation/dosbox-staging')
-rw-r--r--games-emulation/dosbox-staging/dosbox-staging-0.78.0.ebuild4
-rw-r--r--games-emulation/dosbox-staging/files/dosbox-staging-0.78.0-fix_tests.patch31
2 files changed, 34 insertions, 1 deletions
diff --git a/games-emulation/dosbox-staging/dosbox-staging-0.78.0.ebuild b/games-emulation/dosbox-staging/dosbox-staging-0.78.0.ebuild
index 35528cd3b10a..ec44d977dad6 100644
--- a/games-emulation/dosbox-staging/dosbox-staging-0.78.0.ebuild
+++ b/games-emulation/dosbox-staging/dosbox-staging-0.78.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -35,6 +35,8 @@ BDEPEND="test? ( dev-cpp/gtest )"
DOCS=( AUTHORS README THANKS )
+PATCHES=( "${FILESDIR}"/${P}-fix_tests.patch )
+
src_prepare() {
default
diff --git a/games-emulation/dosbox-staging/files/dosbox-staging-0.78.0-fix_tests.patch b/games-emulation/dosbox-staging/files/dosbox-staging-0.78.0-fix_tests.patch
new file mode 100644
index 000000000000..d75aad0275ff
--- /dev/null
+++ b/games-emulation/dosbox-staging/files/dosbox-staging-0.78.0-fix_tests.patch
@@ -0,0 +1,31 @@
+From 4499e4566d2e488be1c0e0a20328b13652ed14cb Mon Sep 17 00:00:00 2001
+From: kcgen <kcgen@users.noreply.github.com>
+Date: Sat, 1 Jan 2022 07:48:27 -0800
+Subject: [PATCH] Remove the project's main to prevent masking gmock's main
+ (#1476)
+
+clang/llvm ensure gmock's main() function always overrides the main
+function coming from the dosbox library, however sometimes with
+gcc/ld, gmock's main() doesn't take precedent and instead dosbox's
+main is run.
+
+This fixes an issue reported on Fedora and Gentoo where unit tests
+were popping up SDL's graphical window, and then either timing our
+failing.
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index d885da1b9..59f677b59 100644
+--- a/meson.build
++++ b/meson.build
+@@ -444,7 +444,7 @@ executable('dosbox', dosbox_sources,
+ include_directories : incdir,
+ install : true)
+ # create a library so we can test things inside DOSBOX dep path
+-libdosbox = static_library('dosbox', ['src/main.cpp', 'src/dosbox.cpp', version_file],
++libdosbox = static_library('dosbox', ['src/dosbox.cpp', version_file],
+ include_directories : incdir,
+ dependencies : [atomic_dep,
+ threads_dep,