mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 14:16:31 +00:00
chocolate-doom: new package
Chocolate Doom is a set of conservative source ports for Doom, Heretic, Hexen and Strife, with a philosophy of preserving the look, feel, and bugs of the vanilla versions of each. http://www.chocolate-doom.org Signed-off-by: Rodrigo Rebello <rprebello@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
206527394b
commit
73bea8294a
@ -216,6 +216,7 @@ comment "Themes"
|
|||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Games"
|
menu "Games"
|
||||||
|
source "package/chocolate-doom/Config.in"
|
||||||
source "package/doom-wad/Config.in"
|
source "package/doom-wad/Config.in"
|
||||||
source "package/gnuchess/Config.in"
|
source "package/gnuchess/Config.in"
|
||||||
source "package/lbreakout2/Config.in"
|
source "package/lbreakout2/Config.in"
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
From d9c517d9a4e168c1f7ed28ad0eb9365d69f5ceb2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rodrigo Rebello <rprebello@gmail.com>
|
||||||
|
Date: Thu, 22 Oct 2015 11:29:55 -0200
|
||||||
|
Subject: [PATCH] Fix "`gcc_struct' attribute directive ignored" warnings
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Compilation for target architectures other than i386, x86_64 or PowerPC
|
||||||
|
(e.g. ARM) caused multiple warnings like the following to appear:
|
||||||
|
|
||||||
|
doomdata.h:75:1: warning: ‘gcc_struct’ attribute directive ignored
|
||||||
|
} PACKEDATTR mapsidedef_t;
|
||||||
|
^
|
||||||
|
|
||||||
|
This was due to 'gcc_struct' being undefined for these architectures.
|
||||||
|
Since that attribute was actually introduced by commit 87db726b9a9ae61ca
|
||||||
|
to address the fact that -mms-bitfields became the default for GCC on
|
||||||
|
Windows, limit it to that case.
|
||||||
|
|
||||||
|
Upstream-status: accepted, not yet released.
|
||||||
|
https://github.com/chocolate-doom/chocolate-doom/pull/629
|
||||||
|
|
||||||
|
Signed-off-by: Rodrigo Rebello <rprebello@gmail.com>
|
||||||
|
---
|
||||||
|
src/doomtype.h | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/doomtype.h b/src/doomtype.h
|
||||||
|
index bf0a40e..77c026c 100644
|
||||||
|
--- a/src/doomtype.h
|
||||||
|
+++ b/src/doomtype.h
|
||||||
|
@@ -52,10 +52,10 @@
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
|
||||||
|
-#ifdef __clang__
|
||||||
|
-#define PACKEDATTR __attribute__((packed))
|
||||||
|
-#else
|
||||||
|
+#if defined(_WIN32) && !defined(__clang__)
|
||||||
|
#define PACKEDATTR __attribute__((packed,gcc_struct))
|
||||||
|
+#else
|
||||||
|
+#define PACKEDATTR __attribute__((packed))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
@ -0,0 +1,67 @@
|
|||||||
|
From fd12fa91aa8e35dbd3ffa5bfe055baf6bde0cd63 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rodrigo Rebello <rprebello@gmail.com>
|
||||||
|
Date: Thu, 22 Oct 2015 15:28:11 -0200
|
||||||
|
Subject: [PATCH] configure: fix --with-PACKAGE option checks
|
||||||
|
|
||||||
|
Options of the form --with-PACKAGE[=yes] (e.g. --with-libpng), when
|
||||||
|
passed to configure, were being treated as though --without-PACKAGE had
|
||||||
|
been given.
|
||||||
|
|
||||||
|
Although the intention is to have configure check and use PACKAGE by
|
||||||
|
default if it's available, thus requiring the user to pass an option
|
||||||
|
only if PACKAGE must NOT be used, there are times when the opposite
|
||||||
|
might be desired (i.e. the user wants to indicate PACKAGE MUST be used).
|
||||||
|
Moreover, allowing --with-PACKAGE and behaving as if --without-PACKAGE
|
||||||
|
had been specified is in itself quite confusing.
|
||||||
|
|
||||||
|
Fix that by testing the result of 'with_PACKAGE' in configure.ac and
|
||||||
|
acting accordingly instead of blindly assuming a 'no'.
|
||||||
|
|
||||||
|
Upstream-status: accepted, not yet released.
|
||||||
|
https://github.com/chocolate-doom/chocolate-doom/pull/630
|
||||||
|
|
||||||
|
Signed-off-by: Rodrigo Rebello <rprebello@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 18 ++++++++++++++++--
|
||||||
|
1 file changed, 16 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index ee97fe2..7b03485 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -80,7 +80,14 @@ AC_SDL_MAIN_WORKAROUND([
|
||||||
|
[Build without libsamplerate @<:@default=check@:>@]),
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
- AC_CHECK_LIB(samplerate, src_new)
|
||||||
|
+ [with_libsamplerate=check]
|
||||||
|
+ ])
|
||||||
|
+ AS_IF([test "x$with_libsamplerate" != xno], [
|
||||||
|
+ AC_CHECK_LIB(samplerate, src_new, [], [
|
||||||
|
+ AS_IF([test "x$with_libsamplerate" != xcheck], [AC_MSG_FAILURE(
|
||||||
|
+ [--with-libsamplerate was given, but test for libsamplerate failed])
|
||||||
|
+ ])
|
||||||
|
+ ])
|
||||||
|
])
|
||||||
|
# Check for libpng.
|
||||||
|
AC_ARG_WITH([libpng],
|
||||||
|
@@ -88,8 +95,15 @@ AC_SDL_MAIN_WORKAROUND([
|
||||||
|
[Build without libpng @<:@default=check@:>@]),
|
||||||
|
[],
|
||||||
|
[
|
||||||
|
+ [with_libpng=check]
|
||||||
|
+ ])
|
||||||
|
+ AS_IF([test "x$with_libpng" != xno], [
|
||||||
|
AC_CHECK_LIB(z, zlibVersion)
|
||||||
|
- AC_CHECK_LIB(png, png_get_io_ptr)
|
||||||
|
+ AC_CHECK_LIB(png, png_get_io_ptr, [], [
|
||||||
|
+ AS_IF([test "x$with_libpng" != xcheck], [AC_MSG_FAILURE(
|
||||||
|
+ [--with-libpng was given, but test for libpng failed])
|
||||||
|
+ ])
|
||||||
|
+ ])
|
||||||
|
])
|
||||||
|
AC_CHECK_LIB(m, log)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
@ -0,0 +1,80 @@
|
|||||||
|
From 87c7399305b30045a856d737bbfd8f59b8f52392 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rodrigo Rebello <rprebello@gmail.com>
|
||||||
|
Date: Fri, 6 Nov 2015 12:14:01 -0200
|
||||||
|
Subject: [PATCH] opl: limit use of ioperm/inb/outb to x86 architecture
|
||||||
|
|
||||||
|
The use of I/O ports in the Linux driver to directly control OPL chips
|
||||||
|
is x86 specific and only really makes sense for x86-based PC's with
|
||||||
|
compatible hardware.
|
||||||
|
|
||||||
|
For some architectures (e.g. ARM), ioperm, inb and outb do exist and are
|
||||||
|
detected by the configure script (via AC_CHECK_FUNCS(ioperm)), but their
|
||||||
|
use is inappropriate in these cases and should be avoided.
|
||||||
|
|
||||||
|
In some other scenarios, like when using a GNU toolchain + uClibc for
|
||||||
|
PowerPC, the build even fails with the following error:
|
||||||
|
|
||||||
|
opl_linux.c:26:20: fatal error: sys/io.h: No such file or directory
|
||||||
|
|
||||||
|
That is so because ioperm() is exported by uClibc and gets detected by
|
||||||
|
configure, which enables the "Linux" driver via definition of
|
||||||
|
HAVE_IOPERM, but in practice 'sys/io.h' is missing for ppc (inb/outb is
|
||||||
|
not implemented, and the call to ioperm() would return EIO anyway).
|
||||||
|
|
||||||
|
So, besides testing for HAVE_IOPERM, also test if either __i386__ or
|
||||||
|
__x86_64__ are defined before enabling this OPL driver.
|
||||||
|
|
||||||
|
Upstream-status: accepted, not yet released.
|
||||||
|
https://github.com/chocolate-doom/chocolate-doom/pull/638
|
||||||
|
|
||||||
|
Signed-off-by: Rodrigo Rebello <rprebello@gmail.com>
|
||||||
|
---
|
||||||
|
opl/opl.c | 4 ++--
|
||||||
|
opl/opl_linux.c | 4 ++--
|
||||||
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/opl/opl.c b/opl/opl.c
|
||||||
|
index 60f027d..0d25689 100644
|
||||||
|
--- a/opl/opl.c
|
||||||
|
+++ b/opl/opl.c
|
||||||
|
@@ -27,7 +27,7 @@
|
||||||
|
|
||||||
|
//#define OPL_DEBUG_TRACE
|
||||||
|
|
||||||
|
-#ifdef HAVE_IOPERM
|
||||||
|
+#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM)
|
||||||
|
extern opl_driver_t opl_linux_driver;
|
||||||
|
#endif
|
||||||
|
#if defined(HAVE_LIBI386) || defined(HAVE_LIBAMD64)
|
||||||
|
@@ -40,7 +40,7 @@ extern opl_driver_t opl_sdl_driver;
|
||||||
|
|
||||||
|
static opl_driver_t *drivers[] =
|
||||||
|
{
|
||||||
|
-#ifdef HAVE_IOPERM
|
||||||
|
+#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM)
|
||||||
|
&opl_linux_driver,
|
||||||
|
#endif
|
||||||
|
#if defined(HAVE_LIBI386) || defined(HAVE_LIBAMD64)
|
||||||
|
diff --git a/opl/opl_linux.c b/opl/opl_linux.c
|
||||||
|
index 5df5d46..19e4c3e 100644
|
||||||
|
--- a/opl/opl_linux.c
|
||||||
|
+++ b/opl/opl_linux.c
|
||||||
|
@@ -17,7 +17,7 @@
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
-#ifdef HAVE_IOPERM
|
||||||
|
+#if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM)
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
@@ -99,5 +99,5 @@ opl_driver_t opl_linux_driver =
|
||||||
|
OPL_Timer_AdjustCallbacks,
|
||||||
|
};
|
||||||
|
|
||||||
|
-#endif /* #ifdef HAVE_IOPERM */
|
||||||
|
+#endif /* #if (defined(__i386__) || defined(__x86_64__)) && defined(HAVE_IOPERM) */
|
||||||
|
|
||||||
|
--
|
||||||
|
2.1.4
|
||||||
|
|
12
package/chocolate-doom/Config.in
Normal file
12
package/chocolate-doom/Config.in
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
config BR2_PACKAGE_CHOCOLATE_DOOM
|
||||||
|
bool "chocolate-doom"
|
||||||
|
depends on BR2_USE_MMU # fork()
|
||||||
|
select BR2_PACKAGE_SDL
|
||||||
|
select BR2_PACKAGE_SDL_MIXER
|
||||||
|
select BR2_PACKAGE_SDL_NET
|
||||||
|
help
|
||||||
|
Chocolate Doom is a set of conservative source ports for Doom,
|
||||||
|
Heretic, Hexen and Strife, with a philosophy of preserving the
|
||||||
|
look, feel, and bugs of the vanilla versions of each.
|
||||||
|
|
||||||
|
http://www.chocolate-doom.org
|
2
package/chocolate-doom/chocolate-doom.hash
Normal file
2
package/chocolate-doom/chocolate-doom.hash
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Locally computed
|
||||||
|
sha256 ad11e2871667c6fa0658abf2dcba0cd9b26fbd651ee8df55adfdc18ad8fd674a chocolate-doom-2.2.1.tar.gz
|
44
package/chocolate-doom/chocolate-doom.mk
Normal file
44
package/chocolate-doom/chocolate-doom.mk
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# chocolate-doom
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
CHOCOLATE_DOOM_VERSION = 2.2.1
|
||||||
|
CHOCOLATE_DOOM_SITE = http://www.chocolate-doom.org/downloads/$(CHOCOLATE_DOOM_VERSION)
|
||||||
|
CHOCOLATE_DOOM_LICENSE = GPLv2+
|
||||||
|
CHOCOLATE_DOOM_LICENSE_FILES = COPYING
|
||||||
|
CHOCOLATE_DOOM_DEPENDENCIES = sdl sdl_mixer sdl_net
|
||||||
|
|
||||||
|
# We're patching configure.ac, so we need to autoreconf
|
||||||
|
CHOCOLATE_DOOM_AUTORECONF = YES
|
||||||
|
|
||||||
|
# Avoid installing desktop entries, icons, etc.
|
||||||
|
CHOCOLATE_DOOM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec
|
||||||
|
|
||||||
|
ifeq ($(BR2_STATIC_LIBS),y)
|
||||||
|
# SDL_mixer uses symbols from SDL, but ends up after it on the link
|
||||||
|
# cmdline. Fix it by forcing the SDL libs at the very end.
|
||||||
|
CHOCOLATE_DOOM_CONF_ENV = LIBS="`$(STAGING_DIR)/usr/bin/sdl-config --static-libs`"
|
||||||
|
endif
|
||||||
|
|
||||||
|
CHOCOLATE_DOOM_CONF_OPTS = \
|
||||||
|
--disable-sdltest \
|
||||||
|
--with-sdl-prefix=$(STAGING_DIR)/usr \
|
||||||
|
--with-sdl-exec-prefix=$(STAGING_DIR)/usr
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_LIBPNG),y)
|
||||||
|
CHOCOLATE_DOOM_DEPENDENCIES += libpng
|
||||||
|
CHOCOLATE_DOOM_CONF_OPTS += --with-libpng
|
||||||
|
else
|
||||||
|
CHOCOLATE_DOOM_CONF_OPTS += --without-libpng
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
|
||||||
|
CHOCOLATE_DOOM_DEPENDENCIES += libsamplerate
|
||||||
|
CHOCOLATE_DOOM_CONF_OPTS += --with-libsamplerate
|
||||||
|
else
|
||||||
|
CHOCOLATE_DOOM_CONF_OPTS += --without-libsamplerate
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(eval $(autotools-package))
|
Loading…
x
Reference in New Issue
Block a user