summaryrefslogtreecommitdiff
path: root/dev-games/clanlib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-games/clanlib
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-games/clanlib')
-rw-r--r--dev-games/clanlib/Manifest17
-rw-r--r--dev-games/clanlib/clanlib-0.8.1.ebuild77
-rw-r--r--dev-games/clanlib/clanlib-2.3.7.ebuild97
-rw-r--r--dev-games/clanlib/clanlib-4.0.0.ebuild79
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch28
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch33
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch10
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-gcc6.patch16
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch11
-rw-r--r--dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch21
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-autotools.patch45
-rw-r--r--dev-games/clanlib/files/clanlib-2.3.7-doc.patch14
-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
-rw-r--r--dev-games/clanlib/metadata.xml61
15 files changed, 561 insertions, 0 deletions
diff --git a/dev-games/clanlib/Manifest b/dev-games/clanlib/Manifest
new file mode 100644
index 000000000000..6585b5d109dc
--- /dev/null
+++ b/dev-games/clanlib/Manifest
@@ -0,0 +1,17 @@
+AUX clanlib-0.8.1-gcc43.patch 605 BLAKE2B a3af8d2559139da5fede386a4663ce1b9a389309d9ac98efd9ff8580f4051ff1bb0d111d12194a90cf55a8fc681984cb8a93e94655925f93e66464ac343f5111 SHA512 c1269c01852fd2912e895af82f2b109e7d81120a18dc3a7e2542a7bdc80e1da151c5e8a82914eb1fece2e51db17b7f1b99198dde6a36fa437dad3e9b4d6a8b83
+AUX clanlib-0.8.1-gcc44.patch 1523 BLAKE2B d2e25975439249a139c7cef3af824e16bf28c138e467fbfd6f91576ed6ed89bdabd656de1a32ff91f6d5630612cb51c63e50016784fe7db9ff8c1f3158d4df7a SHA512 7c3b154affede758a0ac93f5c142144e8a26c65b7c50a443b49633e0c2835fdfab90c6363d4b1997bfb53b0112bc16ca12abc44aacf7af927329e102fc1424b7
+AUX clanlib-0.8.1-gcc47.patch 338 BLAKE2B c49f079043b1d77b3de13d2d4c1f1a8fbc9ddccc61f612940106007b2a594c808e6406e5bd3e9fed62e75608aced3569d4fab08fc629b678e8f8cf8571620402 SHA512 08f9719c97e0bf5fab83e56a881ac7a3edd162b052b5e8fea5878badedbf266b36788f77afd93032f4129ea8e50a83046f5672675e6616cdb29cb6fc5b6c635a
+AUX clanlib-0.8.1-gcc6.patch 530 BLAKE2B f076e15e0061aad13da8f608ed966f7929a2e71a00f0dd10822d42fcd28af33350494ad4273f80cba7d29dc51b96215c9483638239a8ce7910994a174f1b4932 SHA512 94a49f2aed8487fb03b97219802fd4b525b1de304d1dd3fcc9f7ccc392d5385438005c8198e3db8ec666f4fc875860159fbac94e5d90626c8aaf8730d3831f72
+AUX clanlib-0.8.1-libpng15.patch 377 BLAKE2B 50b99f4104ad4a5e71c5356a073f2dd561eb11856ec7c08e67e7d0503d5d874dc70c198962814950a60ada785aef1c31eb8d074b1cc5cfef9a7806326ec2b099 SHA512 735fd6cadbd1c76ff38a229361c82c1208ea8ba8db60bd8bff082424244da9e88f1c74d8067991516866887d6240846c551a24a7f392a12ae3a2d6ce50e8644f
+AUX clanlib-0.8.1-ndebug.patch 866 BLAKE2B db4f813d62220d283f1d4d43eef69ec40697855c387d444759eabb00a0cdd1cf8913662c6df81da6cd83e3de8a1cf8ebebb29ab212c702f7e58e8391b5fdcb51 SHA512 653e70a71961e654bcdd488ccf4583c33dcb601fdef54fe15724e22cc0f0d51f265620137b4a2f194f1a915390c6be06adf66602b93c89d946a0a1650eee6419
+AUX clanlib-2.3.7-autotools.patch 1602 BLAKE2B 054f64c02211799e964ab4b05700375fce18eec039144fc310e111607ee86df1954a815bb96e37eede3fc72ce2bc99961ff2e70c1306406ebf26a3329acd18b6 SHA512 d19fb6435adfe54fe1a6b2bff78dbb87bcf037ded720c4535dbfafef6bdd92c6c002f2ffdd6e563a360531b9a62817baf65ff959e44c0881fb0d95253a92b6fa
+AUX clanlib-2.3.7-doc.patch 506 BLAKE2B 0ea958bd60b2b005919caaaabdf7643c1e3b3cfd62b168dae4370826b328111d6d0bb86a708f19c04fc6778b7db76f86ebb130d48cf96d47e8b5be67040f5f24 SHA512 df75223e466799bde70b07e8ea6f3724792dcd5fe96e417dad47b27d44a3d87b6b7157035f388a48ecce9985473a9e1d84a24de1c8f58247eb952fce457ceccb
+AUX clanlib-4.0.0-fix-build-system.patch 622 BLAKE2B 4dd50ea87fb7dc2dccf2f5db5b1e00941ead76313b847b6e6e574b85f8a9ac0b884fbd5b5548125e886f1a405efc1087c978317e9a935c0f0e1ac0dae2da1e76 SHA512 bda813264f552eff8cc7cea45ec4ea29517a8590066c4b435942e97ea7d68e8d2f21bebf83141b04f1fcc84e936bb3a7ad354b644184dd56b746ab3bfeff9e19
+AUX clanlib-4.0.0-freetype_pkgconfig.patch 1243 BLAKE2B 1ffe267b206dd5f17a30883e8b7602b37f12da0477f02d767db74fbb755befac07d0fbf697d212d59ac5786bd6955c03a4834f3aad885ccffa3b6830fd1bd1c9 SHA512 b6cc46f4e339d7f415c96baf7c7f9e24968d6e5961d438566e1bb111042f3aad3d434e8e6dd02128444db19259f3d81cb373a21513df0eb2d9d87975c49fc87d
+DIST ClanLib-0.8.1.tgz 7629019 BLAKE2B 7f238111931212e3f9c82ed43842706bf16ee145896735ca35595e29dd357e52364cc592be55d88e231f962adc313bc8f57357bc74c9f1b8b134bc411497f5e9 SHA512 277daaf1055ae0198be7a6bbfd415c79cfae9e2145f62553e83849d670f56e50b8484c83f8b85f23290002e0b0c72c1e01ca597ad608a0954a4add828177293b
+DIST ClanLib-2.3.7.tgz 26132425 BLAKE2B 109ba92baf21174022c8dbc4044e39ec16ec77c730b57590733418e246ab71d18d81bbf281cd469dd9e2aebd4ac4302fbb581f27dc7fc0054a8c7ce69699e19d SHA512 73169afc0f639390f80403150757a8a14f842bc291a9457c9bca1319642b78bc4d03a93327d75254230e39545c5b4b690e56dc0149ed7b60b223e5a5364e882a
+DIST clanlib-4.0.0.tar.gz 7435551 BLAKE2B 243fc2519ee90a12af37e8925c99db77785a9a5da497d870545bb489e76cbfcbb4cac81352731326a0cc59689a361b8ab14db2bb1e255da07696e378a9cfb6e5 SHA512 e727239d782d2d52ce2f927e16a88c469b30f46d5b9eba4573baa520d98f60515df7ff4dd921092ddd5cfe4c6f5c441e0f33469b774287003db439feb8b027fe
+EBUILD clanlib-0.8.1.ebuild 2072 BLAKE2B 5958dd9e7654163edb82fab6072895cf5a2b2f14476599495239ae8d5c2458198ac084619c2704bcdafedf6497fd9cffc036c53c8d1552074a786226a5e299cb SHA512 8a95e0dba71b4f46080c5dffce02353dc792be4bc6a3991bd16422b1530207b0d70422fd258aa5a36ca674f829429f50d95c991607142fcd1b2bdbdccc65a17e
+EBUILD clanlib-2.3.7.ebuild 2150 BLAKE2B f20d5f06c5ef8adb1f68bde558cc9f114f678f14ebf7397565e37aaf26d9734f822fa874bd877de092aed352ed34fac9865f81db39d56e8427a845770a2db823 SHA512 845fea2f039d35a937f75b88deb866c7db55903254b664ae0fa86520f5d0a7ba111466284f6be99ef6422403b1cdfd45ba6f7ba0ff97d26309ab65ba80eeef57
+EBUILD clanlib-4.0.0.ebuild 1567 BLAKE2B 050e1c8a108dd5ac8ad39caed85e05be9bfea7b21b6e763f9b6e9fdecf940a780de970f94e2c7c480411c5e37d336a0be4f6db8f842f2271d873b281a1c6a11f SHA512 012b62b2ad5ee8a8ff87befccbf33f18186f81bdb0b202606f68a50d22ee978f51cfcdff4ed7119be101de0ae8a7e40202a8e007571616068240fbc502db8d0a
+MISC metadata.xml 3096 BLAKE2B a800d15375b63fd801b1941937815e34197ff8c598f7d6f539a0bb50205e182434506ccf44a9677527a9edd4c9470d3b7d344830d21d7c20386a1998f123fdf8 SHA512 7973a8121a9ae268d6572c9ae980f2b81650e159cfcbee7895097d906637159e4e3470fb7dadb1f58c4928d377860c73978b38c8bb03c44f8dc73d715d9139bd
diff --git a/dev-games/clanlib/clanlib-0.8.1.ebuild b/dev-games/clanlib/clanlib-0.8.1.ebuild
new file mode 100644
index 000000000000..32096e028f55
--- /dev/null
+++ b/dev-games/clanlib/clanlib-0.8.1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit flag-o-matic eutils
+
+DESCRIPTION="multi-platform game development library"
+HOMEPAGE="http://www.clanlib.org/"
+SRC_URI="http://clanlib.org/download/releases-${PV:0:3}/ClanLib-${PV}.tgz"
+
+LICENSE="ZLIB"
+SLOT="0.8"
+KEYWORDS="amd64 x86" #not big endian safe #82779
+IUSE="doc ipv6 mikmod opengl sdl static-libs vorbis"
+
+# opengl keyword does not drop the GL/GLU requirement.
+# Autoconf files need to be fixed
+RDEPEND="media-libs/libpng:0
+ virtual/jpeg:0
+ virtual/glu
+ virtual/opengl
+ sdl? (
+ media-libs/libsdl[X]
+ media-libs/sdl-gfx
+ )
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXxf86vm
+ media-libs/alsa-lib
+ mikmod? ( media-libs/libmikmod )
+ vorbis? ( media-libs/libvorbis )"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+
+S=${WORKDIR}/ClanLib-${PV}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-ndebug.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-gcc44.patch \
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${FILESDIR}"/${P}-gcc6.patch \
+ "${FILESDIR}"/${P}-libpng15.patch
+}
+
+src_configure() {
+ #clanSound only controls mikmod/vorbis so there's
+ # no need to pass --{en,dis}able-clanSound ...
+ #clanDisplay only controls X, SDL, OpenGL plugins
+ # so no need to pass --{en,dis}able-clanDisplay
+ # also same reason why we don't have to use clanGUI
+ econf \
+ --enable-dyn \
+ --enable-clanNetwork \
+ --disable-dependency-tracking \
+ $(use_enable x86 asm386) \
+ $(use_enable doc docs) \
+ $(use_enable opengl clanGL) \
+ $(use_enable sdl clanSDL) \
+ $(use_enable vorbis clanVorbis) \
+ $(use_enable mikmod clanMikMod) \
+ $(use_enable ipv6 getaddr) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ DOCS="CODING_STYLE CREDITS NEWS PATCHES README* INSTALL.linux" \
+ default
+ if use doc ; then
+ dodir /usr/share/doc/${PF}/html
+ mv "${D}"/usr/share/doc/clanlib/* "${D}"/usr/share/doc/${PF}/html/ || die
+ rm -rf "${D}"/usr/share/doc/clanlib
+ cp -r Examples Resources "${D}"/usr/share/doc/${PF}/ || die
+ fi
+ prune_libtool_files
+}
diff --git a/dev-games/clanlib/clanlib-2.3.7.ebuild b/dev-games/clanlib/clanlib-2.3.7.ebuild
new file mode 100644
index 000000000000..994ee11d94ce
--- /dev/null
+++ b/dev-games/clanlib/clanlib-2.3.7.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit flag-o-matic eutils autotools-utils
+
+MY_P=ClanLib-${PV}
+
+DESCRIPTION="multi-platform game development library"
+HOMEPAGE="http://www.clanlib.org/"
+SRC_URI="http://clanlib.org/download/releases-2.0/${MY_P}.tgz"
+
+LICENSE="ZLIB"
+SLOT="2.3"
+KEYWORDS="amd64 x86" #not big endian safe #82779
+IUSE="doc ipv6 mikmod opengl sound sqlite cpu_flags_x86_sse2 static-libs vorbis X"
+REQUIRED_USE="opengl? ( X )"
+
+RDEPEND="sys-libs/zlib
+ X? (
+ media-libs/libpng:0
+ virtual/jpeg:0
+ media-libs/freetype
+ media-libs/fontconfig
+ opengl? ( virtual/opengl )
+ app-arch/bzip2
+ x11-libs/libX11
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ sound? ( media-libs/alsa-lib )
+ mikmod? (
+ media-libs/libmikmod
+ media-libs/alsa-lib
+ )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/alsa-lib
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen dev-lang/perl )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-doc.patch
+)
+AUTOTOOLS_AUTORECONF=1
+AUTOTOOLS_IN_SOURCE_BUILD=1
+DOCS=(
+ CODING_STYLE
+ CREDITS
+ PATCHES
+ README
+)
+
+src_prepare() {
+ autotools-utils_src_prepare
+ ln -sf ../../../Sources/API Documentation/Utilities/ReferenceDocs/ClanLib
+}
+
+src_configure() {
+ myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable opengl clanGL)
+ $(use_enable opengl clanGL1)
+ $(use_enable opengl clanGUI)
+ $(use_enable X clanDisplay)
+ $(use_enable vorbis clanVorbis)
+ $(use_enable mikmod clanMikMod)
+ $(use_enable sqlite clanSqlite)
+ $(use_enable ipv6 getaddr)
+ )
+ use sound \
+ || use vorbis \
+ || use mikmod \
+ || myeconfargs+=( --disable-clanSound )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile html
+}
+
+# html files are keeped in a directory that is dependent on the SLOT
+# so to keep eventual bookmarks to the doc from version to version
+src_install() {
+ autotools-utils_src_install
+ if use doc ; then
+ emake DESTDIR="${D}" install-html
+ dodoc -r Examples Resources
+ fi
+}
diff --git a/dev-games/clanlib/clanlib-4.0.0.ebuild b/dev-games/clanlib/clanlib-4.0.0.ebuild
new file mode 100644
index 000000000000..cc7115a38348
--- /dev/null
+++ b/dev-games/clanlib/clanlib-4.0.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_PN=ClanLib
+
+DESCRIPTION="Multi-platform game development library"
+HOMEPAGE="https://github.com/sphair/ClanLib"
+SRC_URI="https://github.com/sphair/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="4.0"
+KEYWORDS="~amd64 ~x86" #not big endian safe #82779
+IUSE="cpu_flags_x86_sse2 doc examples ipv6 opengl sound static-libs X"
+REQUIRED_USE="opengl? ( X )"
+
+RDEPEND="
+ sys-libs/zlib
+ X? (
+ media-libs/freetype:2
+ media-libs/fontconfig
+ x11-libs/libX11
+ opengl? (
+ virtual/opengl
+ x11-libs/libXrender
+ )
+ )
+ sound? ( media-libs/alsa-lib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ app-doc/doxygen
+ dev-lang/perl
+ media-gfx/graphviz
+ )"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.0-fix-build-system.patch
+ "${FILESDIR}"/${PN}-4.0.0-freetype_pkgconfig.patch #658424
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable doc docs)
+ $(use_enable cpu_flags_x86_sse2 sse2)
+ $(use_enable opengl clanGL)
+ $(use_enable opengl clanUI)
+ $(use_enable X clanDisplay)
+ $(use_enable sound clanSound)
+ $(use_enable ipv6 getaddr)
+ $(use_enable static-libs static)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+ use doc && emake html
+}
+
+src_install() {
+ default
+
+ use doc && emake DESTDIR="${D}" install-html
+ use examples && dodoc -r Examples Resources
+
+ # package provides .pc files
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
new file mode 100644
index 000000000000..ca1d898ce5ab
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc43.patch
@@ -0,0 +1,28 @@
+--- Sources/GL/opengl.cpp
++++ Sources/GL/opengl.cpp
+@@ -51,6 +51,8 @@
+ #endif
+ #endif
+
++#include <cstring>
++
+ std::vector<std::string> CL_OpenGL::m_ignored_gl_extension;
+
+ CL_ProcAddress *CL_OpenGL::get_proc_address(const std::string& function_name)
+@@ -414,4 +416,4 @@
+ #endif
+
+ m_ignored_gl_extension.push_back(extension_name);
+-}
+\ No newline at end of file
++}
+--- Sources/Network/Socket/ip_address_getsock.cpp
++++ Sources/Network/Socket/ip_address_getsock.cpp
+@@ -40,6 +40,7 @@
+ #include "ip_address_getsock.h"
+
+ #include <cstdlib>
++#include <cstring>
+
+ #ifndef WIN32
+ #include <sys/socket.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
new file mode 100644
index 000000000000..ddf5a170b027
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc44.patch
@@ -0,0 +1,33 @@
+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
+@@ -48,6 +48,7 @@
+ #include "graphic_context_opengl.h"
+ #include "surface_target_opengl.h"
+ #include <cstring>
++#include <cstdio>
+
+ /////////////////////////////////////////////////////////////////////////////
+ // 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
+@@ -35,6 +35,7 @@
+ #include <iostream>
+ #include <errno.h>
+ #include <cstring>
++#include <cstdio>
+
+ #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
+@@ -29,6 +29,7 @@
+
+ #include <iostream>
+ #include <cstring>
++#include <cstdio>
+ #include "API/Core/System/log.h"
+ #include "API/Display/input_device.h"
+ #include "API/Display/input_event.h"
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
new file mode 100644
index 000000000000..19ebab6fd07d
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc47.patch
@@ -0,0 +1,10 @@
+--- ./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
+@@ -32,6 +32,7 @@
+ #ifdef WIN32
+ #include <direct.h>
+ #endif
++#include <unistd.h>
+ #include <cstring>
+ #include <API/Core/IOData/inputsource_file.h>
+
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-gcc6.patch b/dev-games/clanlib/files/clanlib-0.8.1-gcc6.patch
new file mode 100644
index 000000000000..95284c2de4ca
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-gcc6.patch
@@ -0,0 +1,16 @@
+Bug: https://bugs.gentoo.org/596112
+
+--- a/Sources/Core/IOData/Generic/datafile_inputprovider.h
++++ b/Sources/Core/IOData/Generic/datafile_inputprovider.h
+@@ -142,9 +142,9 @@
+ void insert(const std::string &resource_id, int data_pos, int data_size)
+ {
+ cache.insert(
+- std::make_pair<std::string const, std::pair<int, int> >(
++ std::pair<std::string const, std::pair<int, int> >(
+ resource_id,
+- std::make_pair<int,int>(data_pos, data_size)));
++ std::pair<int,int>(data_pos, data_size)));
+ }
+
+ private:
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch b/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
new file mode 100644
index 000000000000..03d0ba536acf
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-libpng15.patch
@@ -0,0 +1,11 @@
+--- Sources/Display/Providers/png_provider_generic.cpp
++++ 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);
+ }
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+ cl_assert(false);
diff --git a/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch b/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
new file mode 100644
index 000000000000..e41bae1a3296
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-0.8.1-ndebug.patch
@@ -0,0 +1,21 @@
+Patch for clanlib-0.7.8-r2 Bug 154513:
+
+Signal handler deinit() was not declared.
+
+This leads to a compilation failure when a release version
+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
+@@ -52,6 +52,7 @@
+ _begin_time = (long) tv.tv_sec*(long) 1000+(long) tv.tv_usec/(long) 1000;
+
+ #ifdef NDEBUG
++ sighandler_t deinit;
+ signal(SIGSEGV, deinit);
+ #endif
+ }
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch b/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
new file mode 100644
index 000000000000..97db79ac4245
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-autotools.patch
@@ -0,0 +1,45 @@
+--- 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
+@@ -10,7 +10,7 @@
+ mkdir doxyoutput;
+ mkdir reftest
+ doxygen ./clanlib.doxygen
+- make -C ../Utilities/ReferenceDocs
++ $(MAKE) -C ../Utilities/ReferenceDocs
+ ../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
+@@ -337,11 +337,9 @@
+
+ dnl Optional linux/joystick.h
+ AC_CHECK_HEADERS(linux/joystick.h, linux_joystick=yes)
+- AM_CONDITIONAL(LINUX_JOYSTICK, test x$linux_joystick = xyes)
+
+ dnl Optional linux/input.h
+ AC_CHECK_HEADERS(linux/input.h, linux_input=yes)
+- AM_CONDITIONAL(LINUX_INPUT, test x$linux_input = xyes)
+
+ if test "$WIN32" = "no" && test "$enable_clanDisplay" != "no"; then
+ CLANLIB_CHECK_LIB(fontconfig, [`cat $srcdir/Setup/Tests/fontconfig.cpp`], clanDisplay, [ *** Cannot find fontconfig (See http://fontconfig.org/ ) (Try libfontconfig1-dev or better) ], [-lfontconfig])
+@@ -358,6 +356,8 @@
+ clanDisplay, [ *** Cannot find version 8 of DirectInput], [-ldxguid -lole32 -ldinput8])
+ fi
+ fi
++AM_CONDITIONAL(LINUX_JOYSTICK, test x$linux_joystick = xyes)
++AM_CONDITIONAL(LINUX_INPUT, test x$linux_input = xyes)
+
+ have_xrender=no
+
+@@ -515,9 +515,9 @@
+ 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_clanSound" != "no"; then
+ enable_clanSound=yes
diff --git a/dev-games/clanlib/files/clanlib-2.3.7-doc.patch b/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
new file mode 100644
index 000000000000..627df26785b4
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-2.3.7-doc.patch
@@ -0,0 +1,14 @@
+--- 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
+@@ -3,7 +3,10 @@
+ LIBS=clanCore
+ EXTRA_LIBS=-lpthread
+
+-include ../../../Examples/Makefile.conf
++CXXFLAGS += -pthread -std=c++0x -I.
++all: $(EXAMPLE_BIN)
++$(EXAMPLE_BIN): $(OBJF)
++ $(CXX) $(CXXFLAGS) $(OBJF) -o $(EXAMPLE_BIN) -Wl,-R../../Sources/Core/.libs -L../../../Sources/Core/.libs -lclan23Core $(EXTRA_LIBS)
+
+ # EOF #
+
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
new file mode 100644
index 000000000000..a3500e22f7e1
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-4.0.0-fix-build-system.patch
@@ -0,0 +1,25 @@
+* 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
new file mode 100644
index 000000000000..34759a8d89d9
--- /dev/null
+++ b/dev-games/clanlib/files/clanlib-4.0.0-freetype_pkgconfig.patch
@@ -0,0 +1,27 @@
+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
+
diff --git a/dev-games/clanlib/metadata.xml b/dev-games/clanlib/metadata.xml
new file mode 100644
index 000000000000..c6bda8543208
--- /dev/null
+++ b/dev-games/clanlib/metadata.xml
@@ -0,0 +1,61 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+Welcome to ClanLib, a multi-platform game development library.
+
+ClanLib is a medium level development kit. At its lowest level, it provides a
+platform independent (as much as that is possible in C++) way of dealing with
+display, sound, input, networking, files, threadding and such.
+
+On top of that, ClanLib builds a generic game development framework, giving you
+easy handling of resources, network object replication, graphical user
+interfaces (GUI) with theme support, game scripting and more.
+
+The goal of ClanLib is to allow the game developer to focus on stuff that
+matters, avoiding all those nasty (and boring) lowlevel trivials like setting up
+a directdraw window, sound mixing, reading image files, etc. All those things
+are simplified into object oriented classes and function calls, making it a joy
+to write your game.
+
+ClanLib uses a resource system to keep track of images, fonts, samples and
+music. It supports Targa, PCX, JPEG, PNG and BMP for images. Wave files for
+sample. Ogg Vorbis (open sound format that has same sound quality as mp3) and
+MikMod for music. By using a resource system, you cleanly seperate the physical
+data formats from your code, and makes it easy to make themes and other plugins
+for your game. The resource system is written in a manner that allows you to add
+your own custom resources.
+
+All classes in clanlib focus on making simple interfaces that are customizeable
+and expandable. This keeps your game code clean and simple; but still allows you
+to do advanced stuff. As an example, look at some sound code:
+CL_SoundBuffer my_sample("Weapon/Minigun/sound", resources);
+my_sample.play();
+
+In this example, we play a simple sound effect, and afterwards forget all about
+it. Nice and simple. But if we want to adjust the frequency during its playback
+(eg. for a dobbler effect), it could look like this:
+CL_SoundBuffer_Session playback = my_sample.play();
+playback.set_frequency(1.2f); // increase frequency by 20%
+
+We only need to keep the session handle if we are going to use it. Keep things
+simple when they are simple, and make them complex when they are complex. :)
+
+The object oriented nature of ClanLib allows you to operate both at high and low
+levels, minimizing redundant code and still allows you to do stuff that isnt
+supported by clanlib's high level APIs.
+
+ClanLib currently support Windows 98, Windows 2000, Windows XP and Linux. The
+following display targets are supported under linux: X11 and OpenGL. Some parts
+of ClanLib still isnt entirely endian clean, so it will currently only work
+without problems on the x86 architecture. Work is underway for a MacOS port.
+Current compilers supported is VC++ 6.0, VC++ 7.0, GCC, Borland and MingW.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">sphair/ClanLib</remote-id>
+ </upstream>
+</pkgmetadata>