Gentoo Archives: gentoo-commits

From: James Le Cuirot <chewi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: games-util/slade/, games-util/slade/files/
Date: Sun, 31 May 2020 21:12:48
Message-Id: 1590959528.0a09ba651e97e88364fc3d9c098af10635c99101.chewi@gentoo
1 commit: 0a09ba651e97e88364fc3d9c098af10635c99101
2 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 31 21:12:08 2020 +0000
4 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org>
5 CommitDate: Sun May 31 21:12:08 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a09ba65
7
8 games-util/slade: New package
9
10 Package-Manager: Portage-2.3.100, Repoman-2.3.22
11 Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
12
13 games-util/slade/Manifest | 1 +
14 .../slade/files/slade-3.1.12a-bundled-libs.patch | 80 +++++++++++++++
15 .../files/slade-3.1.12a-fluidsynth-driver.patch | 14 +++
16 .../slade/files/slade-3.1.12a-freetype-deps.patch | 74 ++++++++++++++
17 .../slade/files/slade-3.1.12a-sfml-gtk3.patch | 88 ++++++++++++++++
18 .../slade/files/slade-3.1.12a-wxGLCanvas.patch | 112 +++++++++++++++++++++
19 games-util/slade/metadata.xml | 14 +++
20 games-util/slade/slade-3.1.12a.ebuild | 67 ++++++++++++
21 8 files changed, 450 insertions(+)
22
23 diff --git a/games-util/slade/Manifest b/games-util/slade/Manifest
24 new file mode 100644
25 index 00000000000..be9e5aaa542
26 --- /dev/null
27 +++ b/games-util/slade/Manifest
28 @@ -0,0 +1 @@
29 +DIST slade-3.1.12a.tar.gz 5883702 BLAKE2B 400cf032bf0b60555b45b450c524d85f145d593d74601461f33fa571360a0c66a1d5933a7d48e8cfad98981bcf446df213240f53da237be6d9a1ce09517c4566 SHA512 ecedec880b8ebed921e152d016a451164efd4de90ae69963be077d1ef39326670254ca8eb03e1045ca7ae5b02f7512dbbe712f83c845cbbd4ed787a90899ad13
30
31 diff --git a/games-util/slade/files/slade-3.1.12a-bundled-libs.patch b/games-util/slade/files/slade-3.1.12a-bundled-libs.patch
32 new file mode 100644
33 index 00000000000..6e8285d8105
34 --- /dev/null
35 +++ b/games-util/slade/files/slade-3.1.12a-bundled-libs.patch
36 @@ -0,0 +1,80 @@
37 +diff -Naur a/src/Application/App.cpp b/src/Application/App.cpp
38 +--- a/src/Application/App.cpp 2020-05-26 00:34:50.000000000 +0100
39 ++++ b/src/Application/App.cpp 2020-05-31 17:11:08.365000293 +0100
40 +@@ -34,7 +34,7 @@
41 + #include "App.h"
42 + #include "Archive/ArchiveManager.h"
43 + #include "Dialogs/SetupWizard/SetupWizardDialog.h"
44 +-#include "External/dumb/dumb.h"
45 ++#include <dumb.h>
46 + #include "Game/Configuration.h"
47 + #include "General/ColourConfiguration.h"
48 + #include "General/Console/Console.h"
49 +diff -Naur a/src/Audio/ModMusic.cpp b/src/Audio/ModMusic.cpp
50 +--- a/src/Audio/ModMusic.cpp 2020-05-26 00:34:50.000000000 +0100
51 ++++ b/src/Audio/ModMusic.cpp 2020-05-31 17:11:08.365000293 +0100
52 +@@ -30,7 +30,7 @@
53 + *******************************************************************/
54 + #include "Main.h"
55 + #include "ModMusic.h"
56 +-#include "External/dumb/dumb.h"
57 ++#include <dumb.h>
58 +
59 +
60 + /*******************************************************************
61 +diff -Naur a/src/CMakeLists.txt b/src/CMakeLists.txt
62 +--- a/src/CMakeLists.txt 2020-05-26 00:34:50.000000000 +0100
63 ++++ b/src/CMakeLists.txt 2020-05-31 17:11:08.365000293 +0100
64 +@@ -105,6 +105,8 @@
65 + find_package(GLEW REQUIRED)
66 + find_package(Freetype REQUIRED)
67 + find_package(CURL REQUIRED)
68 ++find_package(Lua REQUIRED)
69 ++pkg_check_modules(DUMB REQUIRED dumb>=1.0)
70 + include_directories(
71 + ${FREEIMAGE_INCLUDE_DIR}
72 + ${SFML_INCLUDE_DIR}
73 +@@ -112,8 +114,9 @@
74 + ${FREETYPE_INCLUDE_DIRS}
75 + ${GLEW_INCLUDE_PATH}
76 + ${CURL_INCLUDE_DIR}
77 ++ ${LUA_INCLUDE_DIR}
78 ++ ${DUMB_INCLUDE_DIRS}
79 + .
80 +- ./External/dumb
81 + ./Application
82 + )
83 +
84 +@@ -182,6 +185,8 @@
85 + ${FREETYPE_LIBRARIES}
86 + ${GLEW_LIBRARY}
87 + ${CURL_LIBRARIES}
88 ++ ${LUA_LIBRARIES}
89 ++ ${DUMB_LIBRARIES}
90 + )
91 +
92 + if (WX_GTK3)
93 +diff -Naur a/src/External/CMakeLists.txt b/src/External/CMakeLists.txt
94 +--- a/src/External/CMakeLists.txt 2020-05-26 00:34:50.000000000 +0100
95 ++++ b/src/External/CMakeLists.txt 2020-05-31 17:12:09.614333605 +0100
96 +@@ -24,8 +24,6 @@
97 + file(GLOB_RECURSE EXTERNAL_SOURCES
98 + *.cpp
99 + *.cxx
100 +- dumb/*.c
101 +- lua/*.c
102 + lzma/C/LzmaDec.c
103 + ${SLADE_HEADERS}
104 + )
105 +diff -Naur a/src/External/sol/sol.hpp b/src/External/sol/sol.hpp
106 +--- a/src/External/sol/sol.hpp 2020-05-26 00:34:50.000000000 +0100
107 ++++ b/src/External/sol/sol.hpp 2020-05-31 17:11:08.367000336 +0100
108 +@@ -798,7 +798,7 @@
109 + #include <lualib.h>
110 + #include <lauxlib.h>
111 + #else
112 +-#include "External/lua/lua.hpp"
113 ++#include <lua.hpp>
114 + #endif // C++ Mangling for Lua
115 +
116 + #if defined(_WIN32) || defined(_MSC_VER)
117
118 diff --git a/games-util/slade/files/slade-3.1.12a-fluidsynth-driver.patch b/games-util/slade/files/slade-3.1.12a-fluidsynth-driver.patch
119 new file mode 100644
120 index 00000000000..c0ef70d6dfc
121 --- /dev/null
122 +++ b/games-util/slade/files/slade-3.1.12a-fluidsynth-driver.patch
123 @@ -0,0 +1,14 @@
124 +https://github.com/sirjuddington/SLADE/issues/1147
125 +
126 +diff -Naur a/src/Audio/MIDIPlayer.cpp b/src/Audio/MIDIPlayer.cpp
127 +--- a/src/Audio/MIDIPlayer.cpp 2020-05-28 00:08:34.000000000 +0100
128 ++++ b/src/Audio/MIDIPlayer.cpp 2020-05-31 21:40:03.480211253 +0100
129 +@@ -74,8 +74,6 @@
130 + #ifndef NO_FLUIDSYNTH
131 + // Set fluidsynth driver to alsa in linux (no idea why it defaults to jack)
132 + #if !defined __WXMSW__ && !defined __WXOSX__
133 +- if (fs_driver == "")
134 +- fs_driver = "alsa";
135 + #endif // !defined __WXMSW__ && !defined __WXOSX__
136 +
137 + // Init soundfont path
138
139 diff --git a/games-util/slade/files/slade-3.1.12a-freetype-deps.patch b/games-util/slade/files/slade-3.1.12a-freetype-deps.patch
140 new file mode 100644
141 index 00000000000..33fdbfe8521
142 --- /dev/null
143 +++ b/games-util/slade/files/slade-3.1.12a-freetype-deps.patch
144 @@ -0,0 +1,74 @@
145 +From 115ae712d576deafaa95dc5227a7f83dce92a9cb Mon Sep 17 00:00:00 2001
146 +From: James Le Cuirot <chewi@g.o>
147 +Date: Sun, 31 May 2020 21:59:06 +0100
148 +Subject: [PATCH 1/2] Drop unused FreeType dependency
149 +
150 +It may be used by FTGL but it's not directly used by this
151 +project. pkg-config should handle this for static builds.
152 +---
153 + src/CMakeLists.txt | 3 ---
154 + 1 file changed, 3 deletions(-)
155 +
156 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
157 +index f54b126f..8dab39fc 100644
158 +--- a/src/CMakeLists.txt
159 ++++ b/src/CMakeLists.txt
160 +@@ -103,7 +103,6 @@ find_package(SFML COMPONENTS ${SFML_FIND_COMPONENTS} REQUIRED)
161 + find_package(FTGL REQUIRED)
162 + find_package(OpenGL REQUIRED)
163 + find_package(GLEW REQUIRED)
164 +-find_package(Freetype REQUIRED)
165 + find_package(CURL REQUIRED)
166 + find_package(Lua REQUIRED)
167 + find_package(fmt CONFIG REQUIRED)
168 +@@ -111,7 +110,6 @@ include_directories(
169 + ${FREEIMAGE_INCLUDE_DIR}
170 + ${SFML_INCLUDE_DIR}
171 + ${FTGL_INCLUDE_DIR}
172 +- ${FREETYPE_INCLUDE_DIRS}
173 + ${GLEW_INCLUDE_PATH}
174 + ${CURL_INCLUDE_DIR}
175 + ${LUA_INCLUDE_DIR}
176 +@@ -184,7 +182,6 @@ target_link_libraries(slade
177 + ${SFML_LIBRARY}
178 + ${FTGL_LIBRARIES}
179 + ${OPENGL_LIBRARIES}
180 +- ${FREETYPE_LIBRARIES}
181 + ${GLEW_LIBRARY}
182 + ${CURL_LIBRARIES}
183 + ${LUA_LIBRARIES}
184 +--
185 +2.26.2
186 +
187 +From 9116972a75b58ef32e229842f80cdc96fab04f1e Mon Sep 17 00:00:00 2001
188 +From: James Le Cuirot <chewi@g.o>
189 +Date: Sun, 31 May 2020 22:00:53 +0100
190 +Subject: [PATCH 2/2] Only require FTGL when USE_SFML_RENDERWINDOW is disabled
191 +
192 +---
193 + src/CMakeLists.txt | 2 +-
194 + 1 file changed, 1 insertion(+), 1 deletion(-)
195 +
196 +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
197 +index 8dab39fc..b0d4776d 100644
198 +--- a/src/CMakeLists.txt
199 ++++ b/src/CMakeLists.txt
200 +@@ -72,6 +72,7 @@ set(SFML_FIND_COMPONENTS system audio window graphics network)
201 + ADD_DEFINITIONS(-DUSE_SFML_RENDERWINDOW)
202 + else (USE_SFML_RENDERWINDOW)
203 + set(SFML_FIND_COMPONENTS system audio window network)
204 ++find_package(FTGL REQUIRED)
205 + endif(USE_SFML_RENDERWINDOW)
206 +
207 + # Fluidsynth
208 +@@ -100,7 +101,6 @@ endif()
209 +
210 + find_package(FreeImage REQUIRED)
211 + find_package(SFML COMPONENTS ${SFML_FIND_COMPONENTS} REQUIRED)
212 +-find_package(FTGL REQUIRED)
213 + find_package(OpenGL REQUIRED)
214 + find_package(GLEW REQUIRED)
215 + find_package(CURL REQUIRED)
216 +--
217 +2.26.2
218 +
219
220 diff --git a/games-util/slade/files/slade-3.1.12a-sfml-gtk3.patch b/games-util/slade/files/slade-3.1.12a-sfml-gtk3.patch
221 new file mode 100644
222 index 00000000000..745a41d64b8
223 --- /dev/null
224 +++ b/games-util/slade/files/slade-3.1.12a-sfml-gtk3.patch
225 @@ -0,0 +1,88 @@
226 +From 7e2aa2666701cc0db32d8b3185c3cd07ae733ab0 Mon Sep 17 00:00:00 2001
227 +From: Simon Judd <sirjuddington@×××××.com>
228 +Date: Fri, 6 Dec 2019 16:36:52 +1030
229 +Subject: [PATCH] Fix SFML RenderWindow embedding on GTK3
230 +
231 +It actually seems to work ok now so might be able to make it the default there
232 +
233 +It'd be nice if it worked on macos as well, then I'd be able to remove the wxGLCanvas/FTGL stuff completely...
234 +---
235 +
236 +diff --git a/src/UI/Canvas/OGLCanvas.cpp b/src/UI/Canvas/OGLCanvas.cpp
237 +index 92f86b29..4bba9f98 100644
238 +--- a/src/UI/Canvas/OGLCanvas.cpp
239 ++++ b/src/UI/Canvas/OGLCanvas.cpp
240 +@@ -44,6 +44,8 @@
241 + #endif
242 + #endif
243 +
244 ++EXTERN_CVAR(Int, gl_depth_buffer_size)
245 ++
246 +
247 + /*******************************************************************
248 + * OGLCANVAS CLASS FUNCTIONS
249 +@@ -130,29 +132,29 @@ bool OGLCanvas::setContext()
250 + #endif
251 + }
252 +
253 +-void OGLCanvas::createSFML()
254 ++bool OGLCanvas::createSFML()
255 + {
256 + #ifdef USE_SFML_RENDERWINDOW
257 + // Code taken from SFML wxWidgets integration example
258 + sf::WindowHandle handle;
259 + #ifdef __WXGTK__
260 +- // GTK implementation requires to go deeper to find the
261 +- // low-level X11 identifier of the widget
262 +- gtk_widget_realize(m_wxwindow);
263 +- gtk_widget_set_double_buffered(m_wxwindow, false);
264 +- GdkWindow* Win = gtk_widget_get_window(m_wxwindow);
265 +- XFlush(GDK_WINDOW_XDISPLAY(Win));
266 +- //sf::RenderWindow::Create(GDK_WINDOW_XWINDOW(Win));
267 +- handle = GDK_WINDOW_XWINDOW(Win);
268 ++ auto widget = GetHandle();
269 ++ if (!widget)
270 ++ return false;
271 ++ auto window = gtk_widget_get_window(widget);
272 ++ if (!window)
273 ++ return false;
274 ++ handle = gdk_x11_window_get_xid(window);
275 + #else
276 + handle = GetHandle();
277 + #endif
278 + // Context settings
279 + sf::ContextSettings settings;
280 +- settings.depthBits = 24;
281 +- settings.stencilBits = 8;
282 ++ settings.depthBits = gl_depth_buffer_size;
283 ++ settings.stencilBits = sf::ContextSettings::Default;
284 + sf::RenderWindow::create(handle, settings);
285 + #endif
286 ++ return true;
287 + }
288 +
289 + /* OGLCanvas::init
290 +@@ -308,7 +310,9 @@ void OGLCanvas::onPaint(wxPaintEvent& e)
291 +
292 + if (recreate)
293 + {
294 +- createSFML();
295 ++ if (!createSFML())
296 ++ return;
297 ++
298 + recreate = false;
299 + }
300 +
301 +diff --git a/src/UI/Canvas/OGLCanvas.h b/src/UI/Canvas/OGLCanvas.h
302 +index a1defbee..9b9b07db 100644
303 +--- a/src/UI/Canvas/OGLCanvas.h
304 ++++ b/src/UI/Canvas/OGLCanvas.h
305 +@@ -28,7 +28,7 @@ public:
306 + Palette* getPalette() { return &palette; }
307 + void setPalette(Palette* pal) { palette.copyPalette(pal); }
308 + bool setContext();
309 +- void createSFML();
310 ++ bool createSFML();
311 + void init();
312 + virtual void draw() = 0;
313 + virtual void update(long frametime) {}
314
315 diff --git a/games-util/slade/files/slade-3.1.12a-wxGLCanvas.patch b/games-util/slade/files/slade-3.1.12a-wxGLCanvas.patch
316 new file mode 100644
317 index 00000000000..64698cc4591
318 --- /dev/null
319 +++ b/games-util/slade/files/slade-3.1.12a-wxGLCanvas.patch
320 @@ -0,0 +1,112 @@
321 +From a934d04b8c49c250e9be27581129c75bc058814a Mon Sep 17 00:00:00 2001
322 +From: Simon Judd <sirjuddington@×××××.com>
323 +Date: Mon, 9 Dec 2019 12:26:17 +1030
324 +Subject: [PATCH] Always use wxGLCanvas as a base for OGLCanvas
325 +
326 +Even if using SFML - this fixes the depth buffer not being created on linux
327 +---
328 +
329 +diff --git a/src/OpenGL/OpenGL.cpp b/src/OpenGL/OpenGL.cpp
330 +index 7e506550..0a8d4236 100644
331 +--- a/src/OpenGL/OpenGL.cpp
332 ++++ b/src/OpenGL/OpenGL.cpp
333 +@@ -38,14 +38,14 @@ CVAR(Bool, gl_tex_enable_np2, true, CVAR_SAVE)
334 + CVAR(Bool, gl_point_sprite, true, CVAR_SAVE)
335 + CVAR(Bool, gl_tweak_accuracy, true, CVAR_SAVE)
336 + CVAR(Bool, gl_vbo, true, CVAR_SAVE)
337 +-CVAR(Int, gl_depth_buffer_size, 16, CVAR_SAVE)
338 ++CVAR(Int, gl_depth_buffer_size, 24, CVAR_SAVE)
339 +
340 + namespace OpenGL
341 + {
342 + #ifndef USE_SFML_RENDERWINDOW
343 + wxGLContext* context = NULL;
344 +- int wx_gl_attrib[] = { WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE, 16, WX_GL_STENCIL_SIZE, 8, 0 };
345 + #endif
346 ++ int wx_gl_attrib[] = { WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE, 16, WX_GL_STENCIL_SIZE, 8, 0 };
347 + bool initialised = false;
348 + double version = 0;
349 + unsigned max_tex_size = 128;
350 +@@ -224,7 +224,6 @@ bool OpenGL::accuracyTweak()
351 + return gl_tweak_accuracy;
352 + }
353 +
354 +-#ifndef USE_SFML_RENDERWINDOW
355 + /* OpenGL::getWxGLAttribs
356 + * Returns the GL attributes array for use with wxGLCanvas
357 + *******************************************************************/
358 +@@ -235,7 +234,6 @@ int* OpenGL::getWxGLAttribs()
359 +
360 + return wx_gl_attrib;
361 + }
362 +-#endif
363 +
364 + /* OpenGL::setColour
365 + * Sets the colour to [col], and changes the colour blend mode if
366 +diff --git a/src/OpenGL/OpenGL.h b/src/OpenGL/OpenGL.h
367 +index 1d5c9b9a..9082687c 100644
368 +--- a/src/OpenGL/OpenGL.h
369 ++++ b/src/OpenGL/OpenGL.h
370 +@@ -20,10 +20,8 @@
371 + #include <GL/glu.h>
372 + #endif
373 +
374 +-#ifndef USE_SFML_RENDERWINDOW
375 + #include <wx/glcanvas.h>
376 + #undef None // Why does <X11/X.h> #define this? Idiotic
377 +-#endif
378 +
379 + #define BLEND_NORMAL 0
380 + #define BLEND_ADDITIVE 1
381 +@@ -56,9 +54,7 @@ namespace OpenGL
382 + unsigned maxTextureSize();
383 + bool isInitialised();
384 + bool accuracyTweak();
385 +-#ifndef USE_SFML_RENDERWINDOW
386 + int* getWxGLAttribs();
387 +-#endif
388 + void setColour(rgba_t col, bool set_blend = true);
389 + void setColour(uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255, int8_t blend = BLEND_IGNORE);
390 + void setBlend(int blend);
391 +diff --git a/src/UI/Canvas/OGLCanvas.cpp b/src/UI/Canvas/OGLCanvas.cpp
392 +index 4bba9f98..a48d9ac6 100644
393 +--- a/src/UI/Canvas/OGLCanvas.cpp
394 ++++ b/src/UI/Canvas/OGLCanvas.cpp
395 +@@ -55,8 +55,9 @@ EXTERN_CVAR(Int, gl_depth_buffer_size)
396 + /* OGLCanvas::OGLCanvas
397 + * OGLCanvas class constructor, SFML implementation
398 + *******************************************************************/
399 +-OGLCanvas::OGLCanvas(wxWindow* parent, int id, bool handle_timer, int timer_interval)
400 +- : wxControl(parent, id, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE|wxWANTS_CHARS), timer(this)
401 ++OGLCanvas::OGLCanvas(wxWindow* parent, int id, bool handle_timer, int timer_interval) :
402 ++ wxGLCanvas(parent, id, OpenGL::getWxGLAttribs(), wxDefaultPosition, wxDefaultSize, wxBORDER_NONE | wxWANTS_CHARS),
403 ++ timer(this)
404 + {
405 + init_done = false;
406 + recreate = false;
407 +diff --git a/src/UI/Canvas/OGLCanvas.h b/src/UI/Canvas/OGLCanvas.h
408 +index 9b9b07db..128cb633 100644
409 +--- a/src/UI/Canvas/OGLCanvas.h
410 ++++ b/src/UI/Canvas/OGLCanvas.h
411 +@@ -8,7 +8,7 @@
412 +
413 + class wxWindow;
414 + #ifdef USE_SFML_RENDERWINDOW
415 +-class OGLCanvas : public wxControl, public sf::RenderWindow
416 ++class OGLCanvas : public wxGLCanvas, public sf::RenderWindow
417 + {
418 + #else
419 + class OGLCanvas : public wxGLCanvas
420 +@@ -38,7 +38,11 @@ public:
421 + void setup2D();
422 +
423 + #ifdef USE_SFML_RENDERWINDOW
424 +- void SwapBuffers() { display(); }
425 ++ bool SwapBuffers() override
426 ++ {
427 ++ display();
428 ++ return true;
429 ++ }
430 + #endif
431 +
432 + void onPaint(wxPaintEvent& e);
433
434 diff --git a/games-util/slade/metadata.xml b/games-util/slade/metadata.xml
435 new file mode 100644
436 index 00000000000..9312c313b00
437 --- /dev/null
438 +++ b/games-util/slade/metadata.xml
439 @@ -0,0 +1,14 @@
440 +<?xml version="1.0" encoding="UTF-8"?>
441 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
442 +<pkgmetadata>
443 + <maintainer type="project">
444 + <email>games@g.o</email>
445 + <name>Gentoo Games Project</name>
446 + </maintainer>
447 + <upstream>
448 + <remote-id type="github">sirjuddington/SLADE</remote-id>
449 + </upstream>
450 + <use>
451 + <flag name="fluidsynth">Enable MIDI software synthesis using <pkg>media-sound/fluidsynth</pkg></flag>
452 + </use>
453 +</pkgmetadata>
454
455 diff --git a/games-util/slade/slade-3.1.12a.ebuild b/games-util/slade/slade-3.1.12a.ebuild
456 new file mode 100644
457 index 00000000000..b204c6c7870
458 --- /dev/null
459 +++ b/games-util/slade/slade-3.1.12a.ebuild
460 @@ -0,0 +1,67 @@
461 +# Copyright 1999-2020 Gentoo Authors
462 +# Distributed under the terms of the GNU General Public License v2
463 +
464 +EAPI=7
465 +
466 +WX_GTK_VER="3.0-gtk3"
467 +inherit cmake wxwidgets
468 +
469 +DESCRIPTION="Modern editor for Doom-engine based games and source ports"
470 +HOMEPAGE="https://slade.mancubus.net/"
471 +SRC_URI="https://github.com/sirjuddington/${PN^^}/archive/${PV}.tar.gz -> ${P}.tar.gz"
472 +LICENSE="GPL-2 MIT"
473 +SLOT="0"
474 +KEYWORDS="~amd64"
475 +IUSE="fluidsynth timidity webkit"
476 +
477 +DEPEND="
478 + app-arch/bzip2:=
479 + dev-lang/lua:0
480 + >=media-libs/dumb-2:=
481 + media-libs/freeimage[jpeg,png,tiff]
482 + media-libs/glew:0=
483 + media-libs/libsfml:=
484 + net-misc/curl
485 + sys-libs/zlib
486 + x11-libs/wxGTK:${WX_GTK_VER}[webkit?]
487 + fluidsynth? ( media-sound/fluidsynth:= )
488 +"
489 +
490 +RDEPEND="
491 + ${DEPEND}
492 + timidity? ( media-sound/timidity++ )
493 +"
494 +
495 +BDEPEND="
496 + app-arch/p7zip
497 + virtual/pkgconfig
498 +"
499 +
500 +S="${WORKDIR}/${PN^^}-${PV}"
501 +
502 +PATCHES=(
503 + "${FILESDIR}"/${P}-bundled-libs.patch
504 + "${FILESDIR}"/${P}-sfml-gtk3.patch
505 + "${FILESDIR}"/${P}-wxGLCanvas.patch
506 + "${FILESDIR}"/${P}-freetype-deps.patch
507 + "${FILESDIR}"/${P}-fluidsynth-driver.patch
508 +)
509 +
510 +src_prepare() {
511 + cmake_src_prepare
512 +
513 + # Delete bundled libraries just in case.
514 + rm -r src/External/{dumb,glew,lua}/ || die
515 +
516 +}
517 +
518 +src_configure() {
519 + local mycmakeargs=(
520 + -DNO_FLUIDSYNTH=$(usex fluidsynth OFF ON)
521 + -DNO_WEBVIEW=$(usex webkit OFF ON)
522 + -DUSE_SFML_RENDERWINDOW=ON
523 + -DWX_GTK3=ON
524 + )
525 + setup-wxwidgets
526 + cmake_src_configure
527 +}