From 24b2c2f79935064b3d09604dda3da4f465e047e0 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Tue, 3 Apr 2018 08:36:06 +0200 Subject: [PATCH] Add SDL2 from Alpine Linux, force-enable directFB --- main/sdl2/APKBUILD | 50 +++++++++++++++++++++++++++ main/sdl2/fix-directfb-include.patch | 27 +++++++++++++++ main/sdl2/fix-directfb-renderer.patch | 26 ++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 main/sdl2/APKBUILD create mode 100644 main/sdl2/fix-directfb-include.patch create mode 100644 main/sdl2/fix-directfb-renderer.patch diff --git a/main/sdl2/APKBUILD b/main/sdl2/APKBUILD new file mode 100644 index 000000000..febc5e92b --- /dev/null +++ b/main/sdl2/APKBUILD @@ -0,0 +1,50 @@ +# Contributor: August Klein +# Maintainer: August Klein +pkgname=sdl2 +pkgver=2.0.8 +pkgrel=1 +pkgdesc="A development library designed to provide low level access to audio, keyboard, mouse, joystick and graphics" +url="http://www.libsdl.org" +arch="all" +license="zlib" +depends="" +depends_dev="directfb-dev" +makedepends="alsa-lib-dev directfb-dev libxcursor-dev libxrandr-dev libxrender-dev mesa-dev + libxscrnsaver-dev libxi-dev libx11-dev libxext-dev libusb-dev libxkbcommon-dev" +subpackages="$pkgname-dev" +source="https://www.libsdl.org/release/SDL2-$pkgver.tar.gz + fix-directfb-include.patch + fix-directfb-renderer.patch" +builddir="$srcdir/SDL2-$pkgver" + +build() { + cd "$builddir" + # NOTE: Please do not remove the --enable-video-directfb flag. + # Some apps, used for booting Alpine derivatives, require this to function! + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --enable-alsa \ + --enable-clock_gettime \ + --disable-arts \ + --disable-esd \ + --disable-nas \ + --disable-rpath \ + --with-x \ + --enable-video-directfb + make +} + +check() { + [ "$($builddir/sdl2-config --version)" = "$pkgver" ] +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +sha512sums="673c6058b8692a36b4a3594456b10ef6051efe79e4fb644421fc5c76b11fd68b895840a2c8b72413418c378733e2993d33f19767d0d7ed101eda6310bd70c869 SDL2-2.0.8.tar.gz +f57a7a7b89f11934835b5693d104354be1107ddd31d34f6cfc07cf480b0811d775c95685f6b6b20c6154f03744ed976c8092973ddb6e87773969b8394e852c24 fix-directfb-include.patch +bf4a8fa4392429252da0b2beed60cc6a0f74288987df6691413b1a2369f14ba07dd7c42d9c9255fe1204ffb96b5b6c28e92c220898ca595bc86d45fa33374c7c fix-directfb-renderer.patch" diff --git a/main/sdl2/fix-directfb-include.patch b/main/sdl2/fix-directfb-include.patch new file mode 100644 index 000000000..0f7cf3601 --- /dev/null +++ b/main/sdl2/fix-directfb-include.patch @@ -0,0 +1,27 @@ +diff --git a/include/SDL_syswm.h b/include/SDL_syswm.h +index 2d18afb..6416e2f 100644 +--- a/include/SDL_syswm.h ++++ b/include/SDL_syswm.h +@@ -34,6 +34,11 @@ + #include "SDL_version.h" + + #include "begin_code.h" ++ ++#if defined(SDL_VIDEO_DRIVER_DIRECTFB) ++#include ++#endif ++ + /* Set up for C function definitions, even when using C++ */ + #ifdef __cplusplus + extern "C" { +@@ -79,10 +84,6 @@ struct SDL_SysWMinfo; + + #endif /* defined(SDL_VIDEO_DRIVER_X11) */ + +-#if defined(SDL_VIDEO_DRIVER_DIRECTFB) +-#include +-#endif +- + #if defined(SDL_VIDEO_DRIVER_COCOA) + #ifdef __OBJC__ + @class NSWindow; diff --git a/main/sdl2/fix-directfb-renderer.patch b/main/sdl2/fix-directfb-renderer.patch new file mode 100644 index 000000000..bd4058186 --- /dev/null +++ b/main/sdl2/fix-directfb-renderer.patch @@ -0,0 +1,26 @@ +diff --git a/configure b/configure +index 1c7f87e..c5ce9c3 100755 +--- a/configure ++++ b/configure +@@ -21475,6 +21487,9 @@ fi + + $as_echo "#define SDL_VIDEO_DRIVER_DIRECTFB 1" >>confdefs.h + ++ ++$as_echo "#define SDL_VIDEO_RENDER_DIRECTFB 1" >>confdefs.h ++ + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" + +diff --git a/configure.in b/configure.in +index 1c7e793..262885b 100644 +--- a/configure.in ++++ b/configure.in +@@ -2150,6 +2150,7 @@ AC_HELP_STRING([--enable-directfb-shared], [dynamically load directfb support [[ + , enable_directfb_shared=yes) + + AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ]) ++ AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ]) + SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" + EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" +