summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-games/clanlib/files')
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch28
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch12
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch8
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch15
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch4
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch17
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch4
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-llvm.patch87
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch5
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch19
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-autotools.patch8
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-doc.patch4
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch13
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch107
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch20
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch17
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch19
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch12
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch38
-rw-r--r--dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch25
-rw-r--r--dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch27
21 files changed, 411 insertions, 78 deletions
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch b/dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch
new file mode 100644
index 000000000000..f5a35763c48d
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-docbuilder.patch
@@ -0,0 +1,28 @@
+--- a/Documentation/Utilities/webbuilder.pl.in
++++ b/Documentation/Utilities/webbuilder.pl.in
+@@ -68,11 +68,7 @@ sub convert
+ sub print_head
+ {
+ my ($xml_head, $file) = @ARG;
+- my $ml, $buffer;
+-
+- # Don't know what this does, but Perceps does it:
+- if ($*) { $ml=1; }
+- else { $ml=0; }
++ my $buffer;
+
+ # Read theme from disk and execute it:
+ if ( -e $file )
+@@ -93,11 +89,7 @@ sub print_head
+ sub print_body
+ {
+ my ($xml_body, $file) = @ARG;
+- my $ml, $buffer;
+-
+- # Don't know what this does, but Perceps does it:
+- if ($*) { $ml=1; }
+- else { $ml=0; }
++ my $buffer;
+
+ # Read theme from disk and execute it:
+ if ( -e $file )
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch
new file mode 100644
index 000000000000..68ed616b3ca7
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc12.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/877301
+--- a/Sources/API/Core/System/cl_assert.h
++++ b/Sources/API/Core/System/cl_assert.h
+@@ -33,6 +33,8 @@
+ #ifndef header_cl_assert
+ #define header_cl_assert
+
++#include <cstddef>
++
+ #ifdef CL_API_DLL
+ #ifdef CL_CORE_EXPORT
+ #define CL_API_CORE __declspec(dllexport)
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
index ca1d898ce5ab..655e667ff7bf 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
@@ -1,5 +1,5 @@
---- Sources/GL/opengl.cpp
-+++ Sources/GL/opengl.cpp
+--- a/Sources/GL/opengl.cpp
++++ b/Sources/GL/opengl.cpp
@@ -51,6 +51,8 @@
#endif
#endif
@@ -16,8 +16,8 @@
-}
\ No newline at end of file
+}
---- Sources/Network/Socket/ip_address_getsock.cpp
-+++ Sources/Network/Socket/ip_address_getsock.cpp
+--- a/Sources/Network/Socket/ip_address_getsock.cpp
++++ b/Sources/Network/Socket/ip_address_getsock.cpp
@@ -40,6 +40,7 @@
#include "ip_address_getsock.h"
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
index ddf5a170b027..0851074bddcb 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
@@ -1,6 +1,5 @@
-diff -Naur ClanLib-0.8.1-old/Sources/GL/canvas_opengl.cpp ClanLib-0.8.1/Sources/GL/canvas_opengl.cpp
---- ClanLib-0.8.1-old/Sources/GL/canvas_opengl.cpp 2009-08-01 18:15:44.000000000 +0200
-+++ ClanLib-0.8.1/Sources/GL/canvas_opengl.cpp 2009-08-01 18:08:55.000000000 +0200
+--- a/Sources/GL/canvas_opengl.cpp
++++ b/Sources/GL/canvas_opengl.cpp
@@ -48,6 +48,7 @@
#include "graphic_context_opengl.h"
#include "surface_target_opengl.h"
@@ -9,9 +8,8 @@ diff -Naur ClanLib-0.8.1-old/Sources/GL/canvas_opengl.cpp ClanLib-0.8.1/Sources/
/////////////////////////////////////////////////////////////////////////////
// CL_Canvas_OpenGL construction:
-diff -Naur ClanLib-0.8.1-old/Sources/GL/GLX/input_device_linuxevent.cpp ClanLib-0.8.1/Sources/GL/GLX/input_device_linuxevent.cpp
---- ClanLib-0.8.1-old/Sources/GL/GLX/input_device_linuxevent.cpp 2009-08-01 18:17:25.000000000 +0200
-+++ ClanLib-0.8.1/Sources/GL/GLX/input_device_linuxevent.cpp 2009-08-01 18:11:23.000000000 +0200
+--- a/Sources/GL/GLX/input_device_linuxevent.cpp
++++ b/Sources/GL/GLX/input_device_linuxevent.cpp
@@ -35,6 +35,7 @@
#include <iostream>
#include <errno.h>
@@ -20,9 +18,8 @@ diff -Naur ClanLib-0.8.1-old/Sources/GL/GLX/input_device_linuxevent.cpp ClanLib-
#include "API/Core/System/error.h"
#include "API/Core/System/clanstring.h"
-diff -Naur ClanLib-0.8.1-old/Sources/GL/GLX/input_device_xinput.cpp ClanLib-0.8.1/Sources/GL/GLX/input_device_xinput.cpp
---- ClanLib-0.8.1-old/Sources/GL/GLX/input_device_xinput.cpp 2009-08-01 18:17:41.000000000 +0200
-+++ ClanLib-0.8.1/Sources/GL/GLX/input_device_xinput.cpp 2009-08-01 18:12:56.000000000 +0200
+--- a/Sources/GL/GLX/input_device_xinput.cpp
++++ b/Sources/GL/GLX/input_device_xinput.cpp
@@ -29,6 +29,7 @@
#include <iostream>
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
index 19ebab6fd07d..db9b90ff9d23 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
@@ -1,5 +1,5 @@
---- ./Sources/Core/IOData/Generic/inputsource_file.cpp.orig 2012-12-30 01:49:01.698950614 +0400
-+++ ./Sources/Core/IOData/Generic/inputsource_file.cpp 2012-12-30 01:49:27.714977456 +0400
+--- a/Sources/Core/IOData/Generic/inputsource_file.cpp
++++ b/Sources/Core/IOData/Generic/inputsource_file.cpp
@@ -32,6 +32,7 @@
#ifdef WIN32
#include <direct.h>
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch b/dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch
new file mode 100644
index 000000000000..85c20ccdbcfd
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-glibc2.34.patch
@@ -0,0 +1,17 @@
+pthread_mutexattr_setkind_np() is long deprecated and should be using
+pthread_mutexattr_settype() instead even on Linux. Fixes consumers
+when built against glibc-2.34.
+
+https://bugs.gentoo.org/808707
+--- a/Sources/Core/System/Unix/mutex_pthread.cpp
++++ b/Sources/Core/System/Unix/mutex_pthread.cpp
+@@ -42,3 +42,3 @@
+ {
+-#ifdef __FreeBSD__
++#if 1
+ int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);
+@@ -65,3 +65,3 @@
+ #else
+-#ifdef __FreeBSD__
++#if 1
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch b/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
index 03d0ba536acf..81a216f221ad 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
@@ -1,5 +1,5 @@
---- Sources/Display/Providers/png_provider_generic.cpp
-+++ Sources/Display/Providers/png_provider_generic.cpp
+--- a/Sources/Display/Providers/png_provider_generic.cpp
++++ b/Sources/Display/Providers/png_provider_generic.cpp
@@ -107,7 +107,7 @@
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL);
cl_assert(false);
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-llvm.patch b/dev-games/clanlib/files/clanlib-0.8.1-llvm.patch
new file mode 100644
index 000000000000..63f9a1415423
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-llvm.patch
@@ -0,0 +1,87 @@
+--- a/Sources/Display/graphic_context.cpp
++++ b/Sources/Display/graphic_context.cpp
+@@ -237,18 +237,18 @@ void CL_GraphicContext::fill_triangle(
+ grad.bottom_left.get_alpha()/256.0};
+ */
+ unsigned char color_array[] = {
+- grad.top_left.get_red(),
+- grad.top_left.get_green(),
+- grad.top_left.get_blue(),
+- grad.top_left.get_alpha(),
+- grad.top_right.get_red(),
+- grad.top_right.get_green(),
+- grad.top_right.get_blue(),
+- grad.top_right.get_alpha(),
+- grad.bottom_left.get_red(),
+- grad.bottom_left.get_green(),
+- grad.bottom_left.get_blue(),
+- grad.bottom_left.get_alpha()};
++ static_cast<unsigned char>(grad.top_left.get_red()),
++ static_cast<unsigned char>(grad.top_left.get_green()),
++ static_cast<unsigned char>(grad.top_left.get_blue()),
++ static_cast<unsigned char>(grad.top_left.get_alpha()),
++ static_cast<unsigned char>(grad.top_right.get_red()),
++ static_cast<unsigned char>(grad.top_right.get_green()),
++ static_cast<unsigned char>(grad.top_right.get_blue()),
++ static_cast<unsigned char>(grad.top_right.get_alpha()),
++ static_cast<unsigned char>(grad.bottom_left.get_red()),
++ static_cast<unsigned char>(grad.bottom_left.get_green()),
++ static_cast<unsigned char>(grad.bottom_left.get_blue()),
++ static_cast<unsigned char>(grad.bottom_left.get_alpha())};
+
+ params.count = 1;
+ params.vertices = vertice_array;
+--- a/Sources/GL/graphic_context_opengl.cpp
++++ b/Sources/GL/graphic_context_opengl.cpp
+@@ -355,8 +355,8 @@ void CL_GraphicContext_OpenGL::draw_quad(const CL_Quad &quad, const CL_Color &co
+ state.blendfunc[3] = blend_one_minus_src_alpha;
+ state.fillmode = fillmode_line;
+
+- double qx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+- double qy[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
++ double qx[4] = { static_cast<double>(quad.x1), static_cast<double>(quad.x2), static_cast<double>(quad.x3), static_cast<double>(quad.x4) };
++ double qy[4] = { static_cast<double>(quad.y1), static_cast<double>(quad.y2), static_cast<double>(quad.y3), static_cast<double>(quad.y4) };
+ int tx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+ int ty[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
+
+@@ -380,8 +380,8 @@ void CL_GraphicContext_OpenGL::fill_quad(const CL_Quad &quad, const CL_Color &co
+ state.blendfunc[3] = blend_one_minus_src_alpha;
+ state.fillmode = fillmode_solid;
+
+- double qx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+- double qy[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
++ double qx[4] = { static_cast<double>(quad.x1), static_cast<double>(quad.x2), static_cast<double>(quad.x3), static_cast<double>(quad.x4) };
++ double qy[4] = { static_cast<double>(quad.y1), static_cast<double>(quad.y2), static_cast<double>(quad.y3), static_cast<double>(quad.y4) };
+ int tx[4] = { quad.x1, quad.x2, quad.x3, quad.x4 };
+ int ty[4] = { quad.y1, quad.y2, quad.y3, quad.y4 };
+
+--- a/Sources/SDL/graphic_context_sdl.cpp
++++ b/Sources/SDL/graphic_context_sdl.cpp
+@@ -410,7 +410,7 @@ void CL_GraphicContext_SDL::update_cliprect()
+ }
+ else
+ {
+- SDL_Rect crect = {rect.left,rect.top,rect.get_width(),rect.get_height()};
++ SDL_Rect crect = {static_cast<Sint16>(rect.left),static_cast<Sint16>(rect.top),static_cast<Uint16>(rect.get_width()),static_cast<Uint16>(rect.get_height())};
+ SDL_SetClipRect(SDL_GetVideoSurface(),&crect);
+ }
+ }
+--- a/Sources/SDL/surface_sdl.cpp
++++ b/Sources/SDL/surface_sdl.cpp
+@@ -259,13 +259,13 @@ void CL_Surface_SDL::draw(
+ CL_Surface_TargetDrawParams1 *t_params1,
+ CL_GraphicContext *context)
+ {
+- SDL_Rect source = {params2.srcX, params2.srcY, params2.srcWidth, params2.srcHeight};
++ SDL_Rect source = {static_cast<Sint16>(params2.srcX), static_cast<Sint16>(params2.srcY), static_cast<Uint16>(params2.srcWidth), static_cast<Uint16>(params2.srcHeight)};
+
+ SDL_Rect dst = {
+ static_cast<Sint16>(t_params1->pixDestX + context->get_modelview().get_origin_x()),
+ static_cast<Sint16>(t_params1->pixDestY + context->get_modelview().get_origin_y()),
+- static_cast<Sint16>(t_params1->destWidth),
+- static_cast<Sint16>(t_params1->destHeight)
++ static_cast<Uint16>(t_params1->destWidth),
++ static_cast<Uint16>(t_params1->destHeight)
+ };
+
+ if (t_params1->destWidth == params2.srcWidth && t_params1->destHeight == params2.srcHeight)
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch b/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
index e41bae1a3296..b9a891e99a7a 100644
--- a/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
+++ b/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
@@ -8,9 +8,8 @@ rather than a debug version is built (-DNDEBUG).
This patch adds the missing declaration, thus make the
file compile with or without -DNDEBUG.
-diff -Naur clanlib-0.7.8-r2.orig/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp clanlib-0.7.8-r2/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp
---- clanlib-0.7.8-r2.orig/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp 2003-09-19 10:33:02.000000000 +0000
-+++ clanlib-0.7.8-r2/work/ClanLib-0.7.8/Sources/Core/System/Unix/init_linux.cpp 2007-10-26 13:36:39.000000000 +0000
+--- a/Sources/Core/System/Unix/init_linux.cpp
++++ b/Sources/Core/System/Unix/init_linux.cpp
@@ -52,6 +52,7 @@
_begin_time = (long) tv.tv_sec*(long) 1000+(long) tv.tv_usec/(long) 1000;
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch b/dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch
new file mode 100644
index 000000000000..73d5287c5dd9
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-32bit-opengl.patch
@@ -0,0 +1,19 @@
+Patch taken from Fedora, removes redefinitions that conflicts on x86.
+--- a/Sources/API/GL/opengl_defines.h
++++ b/Sources/API/GL/opengl_defines.h
+@@ -69,6 +69,4 @@
+ typedef void GLvoid;
+ typedef char GLchar;
+-typedef ptrdiff_t GLintptr;
+-typedef ptrdiff_t GLsizeiptr;
+ typedef struct __CLsync *CLsync;
+
+--- a/Sources/API/GL1/opengl1_defines.h
++++ b/Sources/API/GL1/opengl1_defines.h
+@@ -65,6 +65,4 @@
+ typedef void GLvoid;
+ typedef char GLchar;
+-typedef ptrdiff_t GLintptr;
+-typedef ptrdiff_t GLsizeiptr;
+
+ #else
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch b/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
index 97db79ac4245..eccc7e291323 100644
--- a/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
+++ b/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
@@ -1,5 +1,5 @@
---- Documentation/Reference/Makefile.am.old 2012-09-25 10:39:25.973544935 +0200
-+++ Documentation/Reference/Makefile.am 2012-09-25 10:39:42.560554053 +0200
+--- a/Documentation/Reference/Makefile.am
++++ b/Documentation/Reference/Makefile.am
@@ -10,7 +10,7 @@
mkdir doxyoutput;
mkdir reftest
@@ -9,8 +9,8 @@
../Utilities/ReferenceDocs/ReferenceDocs
install-html:
---- configure.ac.old 2012-09-25 11:07:38.412537590 +0200
-+++ configure.ac 2012-09-25 11:09:41.133939131 +0200
+--- a/configure.ac
++++ b/configure.ac
@@ -337,11 +337,9 @@
dnl Optional linux/joystick.h
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-doc.patch b/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
index 627df26785b4..d207f2df3cca 100644
--- a/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
+++ b/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
@@ -1,5 +1,5 @@
---- Documentation/Utilities/ReferenceDocs/Makefile.old 2014-09-12 20:06:52.970459560 +0200
-+++ Documentation/Utilities/ReferenceDocs/Makefile 2014-09-12 20:08:17.387048685 +0200
+--- a/Documentation/Utilities/ReferenceDocs/Makefile
++++ b/Documentation/Utilities/ReferenceDocs/Makefile
@@ -3,7 +3,10 @@
LIBS=clanCore
EXTRA_LIBS=-lpthread
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch b/dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch
new file mode 100644
index 000000000000..cadb3b90b530
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-freetype_pkgconfig.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/764902
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -342,7 +342,7 @@
+ echo "=============================="
+ CLANLIB_CHECK_LIB(png, [`cat $srcdir/Setup/Tests/png.cpp`], clanDisplay, [ *** Cannot find png (See http://www.libpng.org ) (Try libpng12-dev or better) ], [-lz -lpng])
+ CLANLIB_CHECK_LIB(jpeg, [`cat $srcdir/Setup/Tests/jpeg.cpp`], clanDisplay, [ *** Cannot find jpeg (See http://www.ijg.org ) (Try libjpeg62-dev or better) ], [ -ljpeg])
+- CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`freetype-config --libs` ], [ `freetype-config --cflags`])
++ CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`${PKG_CONFIG} --libs freetype2` ], [ `${PKG_CONFIG} --cflags freetype2`])
+
+ dnl Optional linux/joystick.h
+ AC_CHECK_HEADERS(linux/joystick.h, linux_joystick=yes)
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch b/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch
new file mode 100644
index 000000000000..58b55ccf0291
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-gcc47.patch
@@ -0,0 +1,107 @@
+diff -up ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp~ ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp~ 2011-07-22 10:03:21.000000000 +0200
++++ ClanLib-2.3.4/Sources/Core/IOData/file_help.cpp 2012-01-12 22:16:39.779011207 +0100
+@@ -34,6 +34,7 @@
+ #include "API/Core/System/exception.h"
+
+ #ifndef WIN32
++#include <unistd.h>
+ #include <sys/stat.h>
+ #endif
+
+diff -up ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp~ ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp~ 2011-08-03 10:13:57.000000000 +0200
++++ ClanLib-2.3.4/Sources/Core/IOData/path_help.cpp 2012-01-12 22:18:30.754009662 +0100
+@@ -43,6 +43,7 @@
+
+ #ifndef WIN32
+ #include <cstring>
++#include <unistd.h>
+ #endif
+
+ /////////////////////////////////////////////////////////////////////////////
+diff -up ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp~ ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp~ 2011-01-27 10:03:39.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/iodevice_provider_pipe_connection.cpp 2012-01-12 22:24:55.536004557 +0100
+@@ -33,6 +33,7 @@
+ #include "API/Core/Text/string_help.h"
+ #include "API/Core/Text/string_format.h"
+ #ifndef WIN32
++#include <unistd.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #ifndef UNIX_PATH_MAX
+diff -up ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp~ ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/pipe_listen_impl.cpp 2012-01-12 22:25:17.359004259 +0100
+@@ -36,6 +36,7 @@
+ #include "API/Core/Text/string_help.h"
+ #ifndef WIN32
+ #include "Network/Socket/event_provider_unixsocket.h"
++#include <unistd.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #ifndef UNIX_PATH_MAX
+diff -up ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp~ ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/security_identifier.cpp 2012-01-12 22:26:06.047003649 +0100
+@@ -31,6 +31,9 @@
+ #include "API/Core/System/exception.h"
+ #ifdef WIN32
+ #include <AclAPI.h>
++#else
++#include <unistd.h>
++#include <sys/types.h>
+ #endif
+
+ /////////////////////////////////////////////////////////////////////////////
+diff -up ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp~ ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp
+--- ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp~ 2011-11-25 09:16:46.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/IOData/virtual_directory.cpp 2012-01-12 22:26:37.583003215 +0100
+@@ -38,6 +38,10 @@
+ #include "API/Core/System/weakptr.h"
+ #include "API/Core/Text/string_help.h"
+
++#ifndef WIN32
++#include <unistd.h>
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_VirtualDirectory_Impl Class:
+
+diff -up ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp~ ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp
+--- ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/System/Unix/service_unix.cpp 2012-01-12 22:29:12.478001042 +0100
+@@ -35,6 +35,7 @@
+ #include "service_unix.h"
+ #include <iostream>
+ #include <signal.h>
++#include <unistd.h>
+
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_Service_Unix Construction:
+diff -up ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp~ ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp
+--- ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp~ 2011-01-13 12:17:34.000000000 +0100
++++ ClanLib-2.3.4/Sources/Core/Text/console_logger.cpp 2012-01-12 22:27:54.446002158 +0100
+@@ -33,6 +33,10 @@
+ #include "API/Core/Text/string_format.h"
+ #include "API/Core/System/datetime.h"
+
++#ifndef WIN32
++#include <unistd.h>
++#endif
++
+ /////////////////////////////////////////////////////////////////////////////
+ // CL_ConsoleLogger Construction:
+
+diff -up ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp~ ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp
+--- ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp~ 2012-01-12 22:18:49.000000000 +0100
++++ ClanLib-2.3.4/Sources/Display/X11/x11_window.cpp 2012-01-12 22:30:46.492999847 +0100
+@@ -50,6 +50,7 @@
+ #include "display_message_queue_x11.h"
+ #include <X11/Xatom.h>
+ #include <cstdio>
++#include <unistd.h>
+ #include "../Window/input_context_impl.h"
+ #include <X11/XKBlib.h>
+ #include <dlfcn.h>
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch b/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch
new file mode 100644
index 000000000000..22cce76debfb
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-gcc7.patch
@@ -0,0 +1,20 @@
+diff -up ClanLib-2.3.7/configure.ac~ ClanLib-2.3.7/configure.ac
+--- ClanLib-2.3.7/configure.ac~ 2012-04-11 08:55:49.000000000 +0200
++++ ClanLib-2.3.7/configure.ac 2017-02-21 11:57:23.482504683 +0100
+@@ -119,7 +119,6 @@ case $target in
+ *)
+ X11="yes"
+ WIN32="no"
+- CXXFLAGS="$CXXFLAGS -std=c++0x"
+ ;;
+ esac
+
+@@ -259,7 +258,7 @@ if test "$use_sse2" != "no"; then
+ fi
+
+ if test "$WIN32" = "no"; then
+- extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -pthread -std=c++0x"
++ extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -pthread"
+ else
+ extra_CFLAGS_clanCore="$extra_CFLAGS_clanCore -mthreads -std=c++0x"
+ fi
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch b/dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch
new file mode 100644
index 000000000000..05e7320428ca
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-glibc2.34.patch
@@ -0,0 +1,17 @@
+pthread_mutexattr_setkind_np() is long deprecated and should be using
+pthread_mutexattr_settype() instead even on Linux. Fixes consumers
+when built against glibc-2.34.
+
+https://bugs.gentoo.org/811591
+--- a/Sources/Core/System/mutex.cpp
++++ b/Sources/Core/System/mutex.cpp
+@@ -37,3 +37,3 @@
+ {
+-#if defined(__APPLE__) || defined (__FreeBSD__) || defined(__OpenBSD__)
++#if 1
+ int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);
+@@ -55,3 +55,3 @@
+ pthread_mutexattr_init(&attr);
+- #if defined(__FreeBSD__) || defined(__APPLE__)
++ #if 1
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch b/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch
new file mode 100644
index 000000000000..c22e58106485
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-no-ldflags-for-conftest.patch
@@ -0,0 +1,19 @@
+diff -up ClanLib-2.3.7/acinclude.m4~ ClanLib-2.3.7/acinclude.m4
+--- ClanLib-2.3.7/acinclude.m4~ 2011-11-24 11:57:30.000000000 +0100
++++ ClanLib-2.3.7/acinclude.m4 2015-04-02 15:22:52.060631122 +0200
+@@ -5,6 +5,7 @@ dnl CLANLIB_CHECK_LIB(lib, testprog, mod
+ define([CLANLIB_CHECK_LIB],[if test "$enable_$3" != "no"; then
+ OLDLIBS="$LIBS"; LIBS="$5"; AC_MSG_CHECKING(for $1)
+ OLD_CXXFLAGS="$CXXFLAGS"; CXXFLAGS="$6";
++ OLD_LDFLAGS="$LDFLAGS"; LDFLAGS=;
+ AC_RUN_IFELSE([AC_LANG_SOURCE($2)], [CL_RESULT=yes], [CL_RESULT=no], [AC_LINK_IFELSE([AC_LANG_SOURCE($2)], [CL_RESULT="yes, linked"],[CL_RESULT=no])])
+ AC_MSG_RESULT([$CL_RESULT])
+ if test "$CL_RESULT" = "no"; then
+@@ -14,6 +15,7 @@ define([CLANLIB_CHECK_LIB],[if test "$en
+ extra_LIBS_$3=" $extra_LIBS_$3 $LIBS "
+ fi
+ CXXFLAGS="$OLD_CXXFLAGS"
++ LDFLAGS="$OLD_LDFLAGS"
+ LIBS="$OLDLIBS"
+ fi])
+
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch b/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch
new file mode 100644
index 000000000000..48799baa42c2
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-no-wm_type-in-fs.patch
@@ -0,0 +1,12 @@
+diff -up ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp~ ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp
+--- ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp~ 2013-08-01 16:32:37.866001296 +0200
++++ ClanLib-2.3.7/Sources/Display/X11/x11_window.cpp 2013-08-01 16:33:26.267001811 +0200
+@@ -289,7 +289,7 @@ void CL_X11Window::create(XVisualInfo *v
+ // Retrieve the frame size (emulating microsoft windows)
+ bool window_is_frameless = false;
+ bool window_has_thin_frame = false;
+- if ((!desc.has_caption()) || (!desc.get_decorations()))
++ if (!desc.is_fullscreen() && (!desc.has_caption() || !desc.get_decorations()))
+ {
+ if (desc.is_tool_window())
+ {
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch b/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch
new file mode 100644
index 000000000000..acaa8520b645
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-non-x86.patch
@@ -0,0 +1,38 @@
+diff -up ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp.non-x86 ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp
+--- ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp.non-x86 2011-11-15 13:15:42.000000000 +0100
++++ ClanLib-2.3.6/Sources/Core/System/detect_cpu_ext.cpp 2013-01-08 13:33:20.000000000 +0100
+@@ -30,7 +30,7 @@
+ #include "Core/precomp.h"
+ #include "API/Core/System/system.h"
+
+-#ifdef CL_ARM_PLATFORM
++#if ! (defined(__i386__) || defined(__x86_64__) || defined(__amd64__))
+ bool CL_System::detect_cpu_extension(CL_CPU_ExtensionPPC ext)
+ {
+ throw ("Congratulations, you've just been selected to code this feature!");
+@@ -48,11 +48,12 @@ bool CL_System::detect_cpu_extension(CL_
+ #ifdef __GNUC__
+
+
+-#ifdef __amd64__
++#if defined(__amd64__) || defined(__x86_64__)
+
+ #define __cpuid(out, infoType)\
+ asm("cpuid": "=a" ((out)[0]), "=b" ((out)[1]), "=c" ((out)[2]), "=d" ((out)[3]): "a" (infoType));
+-#else
++
++#elif defined(__i386__)
+
+ #define __cpuid(out, infoType) \
+ asm volatile( "pushl %%ebx \n" \
+@@ -61,6 +62,10 @@ bool CL_System::detect_cpu_extension(CL_
+ "popl %%ebx" \
+ : "=a" ((out)[0]), "=r" ((out)[1]), "=c" ((out)[2]), "=d" ((out)[3]): "a" (infoType));
+
++#else
++
++#define __cpuid(out, infoType) {}
++
+ #endif
+
+ #endif
diff --git a/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch b/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch
deleted file mode 100644
index a3500e22f7e1..000000000000
--- a/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-* Fix AM_CONDITIONAL to always be invoked
-* Install html files in proper --htmldir
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -437,8 +437,8 @@
- fi
-
- if test "$enable_clanSound" = "auto"; then enable_clanSound=yes; fi
-- AM_CONDITIONAL(ALSA, test x$have_alsa = xyes)
- fi
-+AM_CONDITIONAL(ALSA, test x$have_alsa = xyes)
-
- if test "$enable_clanNetwork" != "no"; then
- echo "Checking for clanNetwork stuff"
---- a/Documentation/Makefile.am
-+++ b/Documentation/Makefile.am
-@@ -1,6 +1,6 @@
- EXTRA_DIST = $(wildcart images/*.png)
-
--HTML_PREFIX = $(datadir)/doc/@PACKAGE@-@LT_RELEASE@
-+HTML_PREFIX = $(htmldir)
-
- all-local:
-
diff --git a/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch b/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch
deleted file mode 100644
index 34759a8d89d9..000000000000
--- a/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From af16d8a344b9bafc9131508fecfcdbfdc53cf100 Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 25 Jun 2018 15:14:31 +0200
-Subject: [PATCH] Use pkg-config to find freetype.
-
-As of freetype-2.9.1 the freetype-config file no longer gets installed
-by default.
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6b9def916..c97e959f7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -307,7 +307,7 @@ echo ""
- if test "$enable_clanDisplay" != "no"; then
- echo "Checking for clanDisplay stuff"
- echo "=============================="
-- CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Unix/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`freetype-config --libs` ], [ `freetype-config --cflags`])
-+ CLANLIB_CHECK_LIB(ttf, [`cat $srcdir/Setup/Unix/Tests/ttf.cpp`], clanDisplay, [ *** Cannot find ttf (freetype) (See http://freetype.sourceforge.net ) (Try libfreetype6-dev or better) ], [`pkg-config --libs freetype2` ], [ `pkg-config --cflags freetype2`])
-
- dnl Optional linux/joystick.h
- AC_CHECK_HEADERS(linux/joystick.h, has_linux_joystick=yes)
---
-2.18.0
-