[packages/vsxu] - new - added glfw3 patch (initial port to GLFW 3.x) - added icons patch (install themed icons to pr
qboosh
qboosh at pld-linux.org
Sat Jan 4 22:18:58 CET 2014
commit bf7a50d9062a5973e043c2a99fecc0f9519fda57
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Jan 4 22:19:25 2014 +0100
- new
- added glfw3 patch (initial port to GLFW 3.x)
- added icons patch (install themed icons to proper directories)
- added desktop patch (remove unnecessary environment altering, add some pl translations)
vsxu-desktop.patch | 82 ++++++
vsxu-glfw3.patch | 827 +++++++++++++++++++++++++++++++++++++++++++++++++++++
vsxu-icons.patch | 35 +++
vsxu.spec | 137 +++++++++
4 files changed, 1081 insertions(+)
---
diff --git a/vsxu.spec b/vsxu.spec
new file mode 100644
index 0000000..8356d01
--- /dev/null
+++ b/vsxu.spec
@@ -0,0 +1,137 @@
+# TODO: VSXU_TM? (vsx_tmi.h, libtm64 / libtm64c)
+#
+# Conditional build:
+%bcond_without static_libs # don't build static libraries
+#
+Summary: VSXu Music Visualizer
+Summary(pl.UTF-8): VSXu - wizualizacja muzyki
+Name: vsxu
+Version: 0.4.2
+Release: 1
+License: GPL v2
+Group: Libraries
+Source0: https://github.com/vovoid/vsxu/archive/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: bbd73438386aa3eede5c3b104d706104
+Patch0: %{name}-glfw3.patch
+Patch1: %{name}-icons.patch
+Patch2: %{name}-desktop.patch
+URL: http://www.vsxu.com/
+BuildRequires: OpenGL-devel
+BuildRequires: alsa-lib-devel
+BuildRequires: cmake >= 2.8
+BuildRequires: glew-devel >= 1.6.0
+BuildRequires: glfw-devel >= 3
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: libpng-devel >= 2:1.2.46
+BuildRequires: libjpeg-devel >= 6b
+BuildRequires: libstdc++-devel
+BuildRequires: opencv-devel
+BuildRequires: pkgconfig
+BuildRequires: xorg-lib-libXrandr >= 1.3.0
+Requires: OpenGL >= 2.1
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+VSXu (VSX Ultra) is an OpenGL-based (hardware-accelerated), modular
+programming environment with its main purpose to visualize music and
+create real time graphic effects.
+
+%description -l pl.UTF-8
+VSXu (VSX Ultra) to oparte na OpenGL-u (sprzętowo akcelerowane),
+modularne środowisko programistyczne, którego głównym celem jest
+wizualizacja muzyki i tworzenie efektów graficznych w czasie
+rzeczywistym.
+
+%package libs
+Summary: Shared VSXu engine libraries
+Summary(pl.UTF-8): Biblioteki współdzielone silnika VSXu
+Group: Libraries
+Requires: glew >= 1.6.0
+Requires: libpng >= 2:1.2.46
+
+%description libs
+VSXu (VSX Ultra) is an OpenGL-based (hardware-accelerated), modular
+programming environment with its main purpose to visualize music and
+create real time graphic effects.
+
+This package contains shared libraries.
+
+%description libs -l pl.UTF-8
+VSXu (VSX Ultra) to oparte na OpenGL-u (sprzętowo akcelerowane),
+modularne środowisko programistyczne, którego głównym celem jest
+wizualizacja muzyki i tworzenie efektów graficznych w czasie
+rzeczywistym.
+
+Ten pakiet zawiera biblioteki współdzielone.
+
+%package devel
+Summary: Header files for VSXu libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek VSXu
+Group: Development/Libraries
+Requires: %{name}-libs = %{version}-%{release}
+Requires: glew-devel >= 1.6.0
+Requires: libpng-devel >= 2:1.2.46
+Requires: libstdc++-devel
+
+%description devel
+Header files for VSXu libraries.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek VSXu.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%build
+install -d build
+cd build
+%cmake ..
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C build install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+# COPYING contains copyright notes, not only GPL text
+%doc CHANGELOG COPYING README.md TODO
+%attr(755,root,root) %{_bindir}/vsxu_artiste
+%attr(755,root,root) %{_bindir}/vsxu_player
+%attr(755,root,root) %{_bindir}/vsxu_server
+%attr(755,root,root) %{_bindir}/vsxz
+%dir %{_libdir}/vsxu
+%dir %{_libdir}/vsxu/plugins
+%attr(755,root,root) %{_libdir}/vsxu/plugins/*.so
+%{_datadir}/vsxu
+%{_desktopdir}/vsxu-artiste.desktop
+%{_desktopdir}/vsxu-artiste-fullscreen.desktop
+%{_desktopdir}/vsxu-player.desktop
+%{_desktopdir}/vsxu-player-fullscreen.desktop
+%{_desktopdir}/vsxu-server.desktop
+%{_desktopdir}/vsxu-server-fullscreen.desktop
+%{_pixmapsdir}/vsxu.xpm
+%{_iconsdir}/hicolor/*x*/apps/vsxu.png
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvsxu_engine.so
+%attr(755,root,root) %{_libdir}/libvsxu_engine_audiovisual.so
+%attr(755,root,root) %{_libdir}/libvsxu_engine_graphics.so
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/vsxu
+%{_pkgconfigdir}/libvsxu.pc
diff --git a/vsxu-desktop.patch b/vsxu-desktop.patch
new file mode 100644
index 0000000..8a74ee8
--- /dev/null
+++ b/vsxu-desktop.patch
@@ -0,0 +1,82 @@
+--- vsxu-0.4.2/artiste/vsxu-artiste.desktop.in.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/vsxu-artiste.desktop.in 2014-01-04 21:48:33.094109544 +0100
+@@ -1,8 +1,10 @@
+ [Desktop Entry]
+ Name=VSXu Artiste [windowed]
++Name[pl]=VSXu Artiste [w oknie]
+ GenericName=Real Time OpenGL Graphics Editor
+ Comment=VSXu Artiste - Create Real Time Graphics
+-Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib @CMAKE_INSTALL_PREFIX@/bin/vsxu_artiste
++Comment[pl]=VSXu Artiste - tworzenie grafiki w czasie rzeczywistym
++Exec=@CMAKE_INSTALL_PREFIX@/bin/vsxu_artiste
+ Icon=vsxu
+ Type=Application
+ Categories=Graphics;
+--- vsxu-0.4.2/artiste/vsxu-artiste-fullscreen.desktop.in.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/vsxu-artiste-fullscreen.desktop.in 2014-01-04 21:49:23.687440702 +0100
+@@ -1,8 +1,10 @@
+ [Desktop Entry]
+ Name=VSXu Artiste [fullscreen]
++Name[pl]=VSXu Artiste [pełny ekran]
+ GenericName=Real Time OpenGL Graphics Editor
+ Comment=VSXu Artiste - Create Real Time Graphics
+-Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib @CMAKE_INSTALL_PREFIX@/bin/vsxu_artiste -f
++Comment[pl]=VSXu Artiste - tworzenie grafiki w czasie rzeczywistym
++Exec=@CMAKE_INSTALL_PREFIX@/bin/vsxu_artiste -f
+ Icon=vsxu
+ Type=Application
+ Categories=Graphics;
+--- vsxu-0.4.2/player/vsxu-player.desktop.in.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/player/vsxu-player.desktop.in 2014-01-04 21:50:22.114104932 +0100
+@@ -1,8 +1,9 @@
+ [Desktop Entry]
+ Name=VSXu Player [windowed]
++Name[pl]=VSXu Player [w oknie]
+ GenericName=Music Visualizer
+ Comment=VSXu Player
+-Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib @CMAKE_INSTALL_PREFIX@/bin/vsxu_player
++Exec=@CMAKE_INSTALL_PREFIX@/bin/vsxu_player
+ Icon=vsxu
+ Type=Application
+ Categories=AudioVideo;Audio;Player;
+--- vsxu-0.4.2/player/vsxu-player-fullscreen.desktop.in.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/player/vsxu-player-fullscreen.desktop.in 2014-01-04 21:50:43.957437407 +0100
+@@ -1,8 +1,9 @@
+ [Desktop Entry]
+ Name=VSXu Player [fullscreen]
++Name[pl]=VSXu Player [pełny ekran]
+ GenericName=Music Visualizer
+ Comment=VSXu Player
+-Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib @CMAKE_INSTALL_PREFIX@/bin/vsxu_player -f
++Exec=@CMAKE_INSTALL_PREFIX@/bin/vsxu_player -f
+ Icon=vsxu
+ Type=Application
+ Categories=AudioVideo;Audio;Player;
+--- vsxu-0.4.2/server/vsxu-server.desktop.in.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/server/vsxu-server.desktop.in 2014-01-04 21:51:22.134102443 +0100
+@@ -1,8 +1,10 @@
+ [Desktop Entry]
+ Name=VSXu server [windowed]
++Name[pl]=VSXu server [w oknie]
+ GenericName=Real Time OpenGL Graphics Server
+ Comment=VSXu Server - Perform Real Time Graphics
+-Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib @CMAKE_INSTALL_PREFIX@/bin/vsxu_server
++Comment[pl]=VSXu Server - wykonywanie grafiki w czasie rzeczywistym
++Exec=@CMAKE_INSTALL_PREFIX@/bin/vsxu_server
+ Icon=vsxu
+ Type=Application
+ Categories=Graphics;
+--- vsxu-0.4.2/server/vsxu-server-fullscreen.desktop.in.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/server/vsxu-server-fullscreen.desktop.in 2014-01-04 21:51:53.657434467 +0100
+@@ -1,8 +1,10 @@
+ [Desktop Entry]
+ Name=VSXu server [fullscreen]
++Name[pl]=VSXu server [pełny ekran]
+ GenericName=Real Time OpenGL Graphics Server
+ Comment=VSXu Server - Perform Real Time Graphics
+-Exec=/usr/bin/env LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib @CMAKE_INSTALL_PREFIX@/bin/vsxu_server -f
++Comment[pl]=VSXu Server - wykonywanie grafiki w czasie rzeczywistym
++Exec=@CMAKE_INSTALL_PREFIX@/bin/vsxu_server -f
+ Icon=vsxu
+ Type=Application
+ Categories=Graphics;
diff --git a/vsxu-glfw3.patch b/vsxu-glfw3.patch
new file mode 100644
index 0000000..cf9eff5
--- /dev/null
+++ b/vsxu-glfw3.patch
@@ -0,0 +1,827 @@
+--- vsxu-0.4.2/cmake/modules/FindGLFW.cmake.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/cmake/modules/FindGLFW.cmake 2014-01-01 17:59:46.528896515 +0100
+@@ -20,7 +20,7 @@
+ # Allow the user to select to link to a shared library or to a static library.
+
+ #Search for the include file...
+-FIND_PATH(GLFW_INCLUDE_PATH GL/glfw.h DOC "Path to GLFW include directory."
++FIND_PATH(GLFW_INCLUDE_PATH GLFW/glfw3.h DOC "Path to GLFW include directory."
+ HINTS
+ $ENV{GLFW_ROOT}
+ PATH_SUFFIX include #For finding the include file under the root of the glfw expanded archive, typically on Windows.
+@@ -46,4 +46,4 @@
+ )
+
+ INCLUDE(FindPackageHandleStandardArgs)
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLFW DEFAULT_MSG GLFW_LIBRARY GLFW_INCLUDE_PATH)
+\ Brak znaku nowej linii na ko�cu pliku
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLFW DEFAULT_MSG GLFW_LIBRARY GLFW_INCLUDE_PATH)
+--- vsxu-0.4.2/artiste/src/vsx_widget/server/vsx_widget_comp.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/src/vsx_widget/server/vsx_widget_comp.cpp 2014-01-01 18:11:47.472199591 +0100
+@@ -47,7 +47,7 @@
+ #include "controllers/vsx_widget_base_controller.h"
+ #include "controllers/vsx_widget_editor.h"
+
+-#include <GL/glfw.h>
++#include <GLFW/glfw3.h>
+
+ using namespace std;
+ // VSX_WIDGET_COMPONENT **************************************************************************************************>
+@@ -1677,7 +1677,7 @@
+ VSX_UNUSED(alt);
+ VSX_UNUSED(ctrl);
+ VSX_UNUSED(shift);
+- if (abs(key) == GLFW_KEY_DEL)
++ if (abs(key) == GLFW_KEY_DELETE)
+ {
+ if (((vsx_widget_server*)(this->server))->selected_list.size())
+ for (std::list<vsx_widget*>::iterator itx = ((vsx_widget_server*)server)->selected_list.begin(); itx != ((vsx_widget_server*)server)->selected_list.end(); ++itx) {
+--- vsxu-0.4.2/artiste/src/vsx_widget/lib/vsx_widget_base_edit.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/src/vsx_widget/lib/vsx_widget_base_edit.cpp 2014-01-01 18:57:50.892083624 +0100
+@@ -35,7 +35,7 @@
+ #include "vsx_widget_panel.h"
+ #include "vsx_widget_base_edit.h"
+ #include <stdlib.h>
+-#include "GL/glfw.h"
++#include <GLFW/glfw3.h>
+
+
+ vsx_widget_base_edit::vsx_widget_base_edit() {
+@@ -663,7 +663,7 @@
+ }
+ break;
+ // page up
+- case -GLFW_KEY_PAGEUP:
++ case -GLFW_KEY_PAGE_UP:
+ if (!single_row) {
+ for (int zz = 0; zz < characters_height*0.95; ++zz) {
+ event_key_down(-GLFW_KEY_UP);
+@@ -684,7 +684,7 @@
+ }
+ break;
+ // page down
+- case -GLFW_KEY_PAGEDOWN:
++ case -GLFW_KEY_PAGE_DOWN:
+ if (!single_row) {
+ for (int zz = 0; zz < characters_height*0.95; ++zz) {
+ event_key_down(-GLFW_KEY_DOWN,false,false,false);
+@@ -741,7 +741,7 @@
+ if (mirror_keystrokes_object) mirror_keystrokes_object->event_key_down(key, alt, ctrl, shift);
+ break;
+ // delete
+- case -GLFW_KEY_DEL:
++ case -GLFW_KEY_DELETE:
+ event_key_down(-GLFW_KEY_RIGHT,false,false,false);
+ event_key_down(-GLFW_KEY_BACKSPACE,false,false,false);
+ process_line(carety+(int)scroll_y);
+@@ -779,7 +779,7 @@
+ if (mirror_keystrokes_object) mirror_keystrokes_object->event_key_down(key, alt, ctrl, shift);
+ break;
+ // esc
+- case -GLFW_KEY_ESC:
++ case -GLFW_KEY_ESCAPE:
+ // da rest:
+ if (single_row) {
+ command_q_b.add_raw("cancel");
+--- vsxu-0.4.2/artiste/src/vsx_widget/vsx_widget_desktop.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/src/vsx_widget/vsx_widget_desktop.cpp 2014-01-01 19:43:16.708635899 +0100
+@@ -60,7 +60,7 @@
+ #include "lib/vsx_widget_base_edit.h"
+
+ #include "vsx_widget_desktop.h"
+-#include "GL/glfw.h"
++#include <GLFW/glfw3.h>
+
+ // VSX_WIDGET_DESKTOP **************************************************************************************************
+ // VSX_WIDGET_DESKTOP **************************************************************************************************
+@@ -192,8 +192,8 @@
+ case -GLFW_KEY_DOWN: case -'D': case -'d':{ interpolating = false;ypd=-1.0;} break;
+ case -GLFW_KEY_LEFT: case -'s': case -'S':{ interpolating = false;xpd=-1.0;} break;
+ case -GLFW_KEY_RIGHT: case -'F': case -'f':{ interpolating = false;xpd=1.0;} break;
+- case -GLFW_KEY_PAGEUP: case -'R': case -'r':{ interpolating = false;zpd=-1.0;} break;
+- case -GLFW_KEY_PAGEDOWN: case -'W': case -'w':{ interpolating = false;zpd=1.0;} break;
++ case -GLFW_KEY_PAGE_UP: case -'R': case -'r':{ interpolating = false;zpd=-1.0;} break;
++ case -GLFW_KEY_PAGE_DOWN: case -'W': case -'w':{ interpolating = false;zpd=1.0;} break;
+ } // switch
+ } else {
+ return true;
+@@ -213,8 +213,8 @@
+ case GLFW_KEY_DOWN: case 'D': case 'd': ypd=0.0; break;
+ case GLFW_KEY_LEFT: case 'S': case 's': xpd=0.0; break;
+ case GLFW_KEY_RIGHT: case 'F': case 'f': xpd=0.0; break;
+- case GLFW_KEY_PAGEUP: case 'R': case 'r': zpd=0.0; break;
+- case GLFW_KEY_PAGEDOWN: case 'W': case 'w': zpd=0.0; break;
++ case GLFW_KEY_PAGE_UP: case 'R': case 'r': zpd=0.0; break;
++ case GLFW_KEY_PAGE_DOWN: case 'W': case 'w': zpd=0.0; break;
+ case GLFW_KEY_TAB: ((vsxu_assistant*)assistant)->toggle_size(); break;
+ }
+ } else {
+--- vsxu-0.4.2/artiste/src/artiste_main.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/src/artiste_main.cpp 2014-01-01 19:53:05.085277871 +0100
+@@ -26,7 +26,7 @@
+ #include "vsx_string.h"
+ #include <vsx_argvector.h>
+ #include <GL/glew.h>
+-#include "GL/glfw.h"
++#include <GLFW/glfw3.h>
+ #include "application.h"
+ #include "vsxfst.h"
+ #include "vsx_version.h"
+@@ -73,9 +73,9 @@
+
+ void set_modifiers()
+ {
+- app_ctrl = (bool)glfwGetKey(GLFW_KEY_LCTRL);
+- app_shift = (bool)glfwGetKey(GLFW_KEY_LSHIFT);
+- app_alt = (bool)glfwGetKey(GLFW_KEY_LALT);
++ app_ctrl = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_CONTROL);
++ app_shift = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_SHIFT);
++ app_alt = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_ALT);
+ }
+
+ long key_pressed = -1;
+@@ -84,18 +84,14 @@
+ float key_repeat_time;
+ float initial_key_delay = 0.04f;
+
+-void GLFWCALL key_char_event( int character, int action )
++void key_char_event(GLFWwindow *window, unsigned int character)
+ {
+- if (action == GLFW_PRESS)
+- {
+ app_char(character);
+ key_character = character;
+-
+- }
+ }
+
+
+-void GLFWCALL key_event(int key, int action)
++void key_event(GLFWwindow *window, int key, int scancode, int action, int mods)
+ {
+ set_modifiers();
+ if (action == GLFW_PRESS)
+@@ -110,12 +110,12 @@
+ }
+ }
+
+-int last_x = 0, last_y = 0;
++double last_x = 0, last_y = 0;
+ int mouse_state = 0;
+
+-void GLFWCALL mouse_button_event(int button, int action)
++void mouse_button_event(GLFWwindow *window, int button, int action, int mods)
+ {
+- glfwGetMousePos(&last_x, &last_y);
++ glfwGetCursorPos(glfwGetCurrentContext(), &last_x, &last_y);
+ set_modifiers();
+ unsigned long i_but = 0;
+ switch (button)
+@@ -141,12 +137,12 @@
+
+ int mouse_pos_type = 0;
+
+-void GLFWCALL mouse_pos_event(int x, int y)
++void mouse_pos_event(GLFWwindow *window, double x, double y)
+ {
+ VSX_UNUSED(x);
+ VSX_UNUSED(y);
+ set_modifiers();
+- glfwGetMousePos(&last_x, &last_y);
++ glfwGetCursorPos(glfwGetCurrentContext(), &last_x, &last_y);
+ if (mouse_state) mouse_pos_type = 1;
+ else mouse_pos_type = 2;
+ }
+@@ -153,14 +149,14 @@
+
+ int mousewheel_prev_pos = 0;
+
+-void GLFWCALL mouse_wheel(int pos)
++void mouse_wheel(GLFWwindow *window, double xoffset, double yoffset)
+ {
+ set_modifiers();
+- app_mousewheel((float)(pos-mousewheel_prev_pos),last_x,last_y);
+- mousewheel_prev_pos = pos;
++ app_mousewheel((float)(yoffset-mousewheel_prev_pos),last_x,last_y);
++ mousewheel_prev_pos = yoffset;
+ }
+
+-void GLFWCALL window_size( int width, int height )
++void window_size( GLFWwindow *window, int width, int height )
+ {
+ vsx_printf("change viewport %d %d\n", width, height);
+ gl_state.viewport_change(0,0,width, height);
+@@ -207,7 +207,8 @@
+ set_modifiers();
+
+
+- int width, height, running, frames, x, y;
++ int width, height, running, frames;
++ double x, y;
+ double t, t1;
+ unsigned long usleep_framelimit;
+ char titlestr[ 200 ];
+@@ -256,35 +257,33 @@
+ if (start_fullscreen && !manual_resolution_set)
+ {
+ // try to get the resolution from the desktop for fullscreen
+- GLFWvidmode video_mode;
+- glfwGetDesktopMode(&video_mode);
+- x_res = video_mode.Height;
+- y_res = video_mode.Width;
++ GLFWvidmode video_mode = * glfwGetVideoMode(glfwGetPrimaryMonitor());
++ x_res = video_mode.height;
++ y_res = video_mode.width;
+ }
+
+
+ if (app_argv.has_param("gl_debug"))
+ {
+ printf("enabling GL DEBUG\n");
+- glfwOpenWindowHint( GLFW_OPENGL_DEBUG_CONTEXT , GL_TRUE );
++ glfwWindowHint( GLFW_OPENGL_DEBUG_CONTEXT , GL_TRUE );
+ }
+
+ // OpenGL version
+- glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 2);
+- glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 1);
++ glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
++ glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
++ glfwWindowHint(GLFW_DEPTH_BITS, 16);
+
+- if( !glfwOpenWindow( x_res, y_res, 0,0,0,0,16,0, start_fullscreen?GLFW_FULLSCREEN:GLFW_WINDOW ) ) // GLFW_FULLSCREEN
++ if( !glfwCreateWindow( x_res, y_res, "", start_fullscreen ? glfwGetPrimaryMonitor() : NULL, NULL ) ) // GLFW_FULLSCREEN
+ {
+ printf("Error! Could not create an OpenGL context. Please check your GPU drivers...\n");
+ glfwTerminate();
+ return 0;
+ }
+
+- if (start_fullscreen) glfwEnable( GLFW_MOUSE_CURSOR );
++ if (start_fullscreen) glfwSetInputMode(glfwGetCurrentContext(), GLFW_CURSOR, GLFW_CURSOR_NORMAL);
+ app_init(0);
+
+- glfwEnable(GLFW_AUTO_POLL_EVENTS);
+-
+ for (int i = 1; i < argc; i++)
+ {
+ vsx_string arg1 = argv[i];
+@@ -296,20 +295,20 @@
+ vsx_avector<vsx_string> parts;
+ vsx_string deli = ",";
+ explode(arg2, deli, parts);
+- glfwSetWindowPos(s2i(parts[0]), s2i(parts[1]));
++ glfwSetWindowPos(glfwGetCurrentContext(), s2i(parts[0]), s2i(parts[1]));
+ }
+ }
+ }
+
+- glfwSetKeyCallback(&key_event);
+- glfwSetMouseButtonCallback(&mouse_button_event);
+- glfwSetMousePosCallback(&mouse_pos_event);
+- glfwSetCharCallback(&key_char_event);
+- glfwSetMouseWheelCallback(&mouse_wheel);
++ glfwSetKeyCallback(glfwGetCurrentContext(), &key_event);
++ glfwSetMouseButtonCallback(glfwGetCurrentContext(), &mouse_button_event);
++ glfwSetCursorPosCallback(glfwGetCurrentContext(), &mouse_pos_event);
++ glfwSetCharCallback(glfwGetCurrentContext(), &key_char_event);
++ glfwSetScrollCallback(glfwGetCurrentContext(), &mouse_wheel);
+ // set window size callback function
+- glfwSetWindowSizeCallback(window_size);
++ glfwSetWindowSizeCallback(glfwGetCurrentContext(), &window_size);
+ // Enable sticky keys
+- glfwEnable( GLFW_STICKY_KEYS );
++ glfwSetInputMode( glfwGetCurrentContext(), GLFW_STICKY_KEYS, GL_TRUE );
+
+
+ // vsync handling
+@@ -358,7 +357,7 @@
+ #if PLATFORM_FAMILY == PLATFORM_FAMILY_WINDOWS
+ sprintf( titlestr, "Vovoid VSXu Artiste %s [Windows %d-bit]", vsxu_ver, PLATFORM_BITS);
+ #endif
+- glfwSetWindowTitle( titlestr );
++ glfwSetWindowTitle( glfwGetCurrentContext(), titlestr );
+
+
+ vsx_timer frame_delay;
+@@ -412,7 +411,7 @@
+
+ // Get time and mouse position
+ t = glfwGetTime();
+- glfwGetMousePos( &x, &y );
++ glfwGetCursorPos(glfwGetCurrentContext(), &x, &y );
+ float delta = t-t1;
+ t1 = t;
+ if (key_pressed != -1)
+@@ -438,7 +437,7 @@
+
+ tm->e("window_management");
+ // Get window size (may be different than the requested size)
+- glfwGetWindowSize( &width, &height );
++ glfwGetWindowSize( glfwGetCurrentContext(), &width, &height );
+ height = height > 0 ? height : 1;
+
+ tm->e("viewport");
+@@ -464,7 +463,7 @@
+ tm->l();
+
+ tm->e("swapbuffers");
+- glfwSwapBuffers();
++ glfwSwapBuffers(glfwGetCurrentContext());
+ tm->l();
+
+ #if (PLATFORM != PLATFORM_WINDOWS)
+@@ -490,8 +490,8 @@
+ tm->t();
+
+ // Check if the ESC key was pressed or the window was closed
+- running = /*!glfwGetKey( GLFW_KEY_ESC ) &&*/
+- glfwGetWindowParam( GLFW_OPENED );
++ running = /*!glfwGetKey( glfwGetCurrentContext(), GLFW_KEY_ESCAPE ) &&*/
++ !glfwWindowShouldClose( glfwGetCurrentContext() );
+ }
+
+ // Close OpenGL window and terminate GLFW
+--- vsxu-0.4.2/artiste/src/vsx_mouse.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/artiste/src/vsx_mouse.cpp 2014-01-02 19:07:25.615100306 +0100
+@@ -22,7 +22,7 @@
+ */
+
+ #include "vsx_mouse.h"
+-#include "GL/glfw.h"
++#include <GLFW/glfw3.h>
+
+ #ifdef _WIN32
+ #include <windows.h>
+@@ -136,7 +136,7 @@
+ //SetCursorPos((int)position.x + window_pos.left, (int)position.y + window_pos.top);
+ //glutWarpPointer((int)position.x,(int)position.y);
+ //printf("set mouse pos: %f, %f\n",x,y);
+- glfwSetMousePos((int)(position.x), (int)(position.y));
++ glfwSetCursorPos(glfwGetCurrentContext(), (int)(position.x), (int)(position.y));
+ #endif
+ }
+
+--- vsxu-0.4.2/player/src/main.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/player/src/main.cpp 2014-01-02 19:52:50.664985946 +0100
+@@ -24,7 +24,7 @@
+ #include <stdio.h>
+ #include "application.h"
+ #include <GL/glew.h>
+-#include <GL/glfw.h>
++#include <GLFW/glfw3.h>
+ #include <vsx_avector.h>
+ #include <vsx_string.h>
+ #include <vsxfst.h>
+@@ -48,9 +48,9 @@
+
+ void set_modifiers()
+ {
+- app_ctrl = (bool)glfwGetKey(GLFW_KEY_LCTRL);
+- app_shift = (bool)glfwGetKey(GLFW_KEY_LSHIFT);
+- app_alt = (bool)glfwGetKey(GLFW_KEY_LALT);
++ app_ctrl = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_CONTROL);
++ app_shift = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_SHIFT);
++ app_alt = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_ALT);
+ }
+
+ long key_pressed = -1;
+@@ -59,18 +59,15 @@
+ float key_repeat_time;
+ float initial_key_delay = 0.04f;
+
+-void GLFWCALL key_char_event( int character, int action )
++void key_char_event( GLFWwindow *window, unsigned int character )
+ {
+- if (action == GLFW_PRESS)
+- {
+ //printf("got key: %d\n",character);
+ app_char(character);
+ key_character = character;
+- }
+ }
+
+
+-void GLFWCALL key_event(int key, int action)
++void key_event(GLFWwindow *window, int key, int scancode, int action, int mods)
+ {
+ set_modifiers();
+ if (action == GLFW_PRESS)
+@@ -91,12 +88,12 @@
+ }
+ }
+
+-int last_x = 0, last_y = 0;
++double last_x = 0, last_y = 0;
+ int mouse_state = 0;
+
+-void GLFWCALL mouse_button_event(int button, int action)
++void mouse_button_event(GLFWwindow *window, int button, int action, int mods)
+ {
+- glfwGetMousePos(&last_x, &last_y);
++ glfwGetCursorPos(glfwGetCurrentContext(), &last_x, &last_y);
+ set_modifiers();
+ unsigned long i_but = 0;
+ switch (button)
+@@ -118,25 +115,25 @@
+
+ int mouse_pos_type = 0;
+
+-void GLFWCALL mouse_pos_event(int x, int y)
++void mouse_pos_event(GLFWwindow *window, double x, double y)
+ {
+ VSX_UNUSED(x);
+ VSX_UNUSED(y);
+ set_modifiers();
+- glfwGetMousePos(&last_x, &last_y);
++ glfwGetCursorPos(glfwGetCurrentContext(), &last_x, &last_y);
+ if (mouse_state) mouse_pos_type = 1;
+ else mouse_pos_type = 2;
+ }
+
+-int mousewheel_prev_pos = 0;
++double mousewheel_prev_pos = 0;
+
+-void GLFWCALL mouse_wheel(int pos)
++void mouse_wheel(GLFWwindow *window, double xoffset, double yoffset)
+ {
+- app_mousewheel((float)(pos-mousewheel_prev_pos),last_x,last_y);
+- mousewheel_prev_pos = pos;
++ app_mousewheel((float)(yoffset-mousewheel_prev_pos),last_x,last_y);
++ mousewheel_prev_pos = yoffset;
+ }
+
+-void GLFWCALL window_size( int width, int height )
++void window_size( GLFWwindow *window, int width, int height )
+ {
+ vsx_printf("change viewport %d %d\n", width, height);
+ gl_state.viewport_change(0,0,width, height);
+@@ -150,7 +147,8 @@
+ {
+ app_argc = argc;
+ app_argv = argv;
+- int width, height, running, frames, x, y;
++ int width, height, running, frames;
++ double x, y;
+ double t, t1;
+ char titlestr[ 200 ];
+
+@@ -221,25 +219,23 @@
+ if (start_fullscreen && !manual_resolution_set)
+ {
+ // try to get the resolution from the desktop for fullscreen
+- GLFWvidmode video_mode;
+- glfwGetDesktopMode(&video_mode);
+- x_res = video_mode.Height;
+- y_res = video_mode.Width;
++ GLFWvidmode video_mode = * glfwGetVideoMode(glfwGetPrimaryMonitor());
++ x_res = video_mode.height;
++ y_res = video_mode.width;
+ }
+
+ // Open OpenGL window
+- glfwOpenWindowHint(GLFW_FSAA_SAMPLES, 4);
+- if( !glfwOpenWindow( x_res, y_res, 0,0,0,0,16,0, start_fullscreen?GLFW_FULLSCREEN:GLFW_WINDOW ) ) // GLFW_FULLSCREEN
++ glfwWindowHint(GLFW_SAMPLES, 4);
++ glfwWindowHint(GLFW_DEPTH_BITS, 16);
++ if( !glfwCreateWindow( x_res, y_res, "", start_fullscreen ? glfwGetPrimaryMonitor() : NULL, NULL ) ) // GLFW_FULLSCREEN
+ {
+ printf("Error! Could not create an OpenGL context. Please check your GPU drivers...\n");
+ glfwTerminate();
+ return 0;
+ }
+- if (start_fullscreen) glfwEnable( GLFW_MOUSE_CURSOR );
++ if (start_fullscreen) glfwSetInputMode( glfwGetCurrentContext(), GLFW_CURSOR, GLFW_CURSOR_NORMAL );
+ app_init(0);
+
+- glfwEnable(GLFW_AUTO_POLL_EVENTS);
+-
+ for (int i = 1; i < argc; i++) {
+ vsx_string arg1 = argv[i];
+ if (arg1 == "-p") {
+@@ -250,21 +246,21 @@
+ vsx_avector<vsx_string> parts;
+ vsx_string deli = ",";
+ explode(arg2, deli, parts);
+- glfwSetWindowPos(s2i(parts[0]), s2i(parts[1]));
++ glfwSetWindowPos(glfwGetCurrentContext(), s2i(parts[0]), s2i(parts[1]));
+ }
+ }
+ }
+
+- glfwSetKeyCallback(&key_event);
+- glfwSetMouseButtonCallback(&mouse_button_event);
+- glfwSetMousePosCallback(&mouse_pos_event);
+- glfwSetCharCallback(&key_char_event);
+- glfwSetMouseWheelCallback(&mouse_wheel);
++ glfwSetKeyCallback(glfwGetCurrentContext(), &key_event);
++ glfwSetMouseButtonCallback(glfwGetCurrentContext(), &mouse_button_event);
++ glfwSetCursorPosCallback(glfwGetCurrentContext(), &mouse_pos_event);
++ glfwSetCharCallback(glfwGetCurrentContext(), &key_char_event);
++ glfwSetScrollCallback(glfwGetCurrentContext(), &mouse_wheel);
+ // set window size callback function
+- glfwSetWindowSizeCallback(window_size);
++ glfwSetWindowSizeCallback(glfwGetCurrentContext(), &window_size);
+
+ // Enable sticky keys
+- glfwEnable( GLFW_STICKY_KEYS );
++ glfwSetInputMode( glfwGetCurrentContext(), GLFW_STICKY_KEYS, GL_TRUE );
+ glfwSwapInterval(1);
+
+ // Main loop
+@@ -277,7 +273,7 @@
+ #if PLATFORM_FAMILY == PLATFORM_FAMILY_WINDOWS
+ sprintf( titlestr, "Vovoid VSXu Player %s [Windows %d-bit]", vsxu_ver, PLATFORM_BITS);
+ #endif
+- glfwSetWindowTitle( titlestr );
++ glfwSetWindowTitle( glfwGetCurrentContext(), titlestr );
+
+
+ while( running )
+@@ -293,7 +289,7 @@
+
+ // Get time and mouse position
+ t = glfwGetTime();
+- glfwGetMousePos( &x, &y );
++ glfwGetCursorPos( glfwGetCurrentContext(), &x, &y );
+ float delta = t-t1;
+ t1 = t;
+ if (key_pressed != -1)
+@@ -317,7 +313,7 @@
+ frames ++;
+
+ // Get window size (may be different than the requested size)
+- glfwGetWindowSize( &width, &height );
++ glfwGetWindowSize( glfwGetCurrentContext(), &width, &height );
+ height = height > 0 ? height : 1;
+
+ // Set viewport
+@@ -333,11 +329,11 @@
+
+ app_draw(0);
+
+- glfwSwapBuffers();
++ glfwSwapBuffers(glfwGetCurrentContext());
+
+ // Check if the ESC key was pressed or the window was closed
+- running = /*!glfwGetKey( GLFW_KEY_ESC ) &&*/
+- glfwGetWindowParam( GLFW_OPENED );
++ running = /*!glfwGetKey( glfwGetCurrentContext(), GLFW_KEY_ESCAPE ) &&*/
++ !glfwWindowShouldClose( glfwGetCurrentContext() );
+ }
+
+ // Close OpenGL window and terminate GLFW
+--- vsxu-0.4.2/player/src/application.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/player/src/application.cpp 2014-01-02 19:53:33.364984154 +0100
+@@ -36,7 +36,7 @@
+ // you might want to remove this.
+ #include "vsx_overlay.h"
+
+-#include <GL/glfw.h>
++#include <GLFW/glfw3.h>
+
+ vsx_manager_abs* manager;
+
+@@ -105,13 +105,13 @@
+ {
+ switch (key)
+ {
+- case GLFW_KEY_ESC:
++ case GLFW_KEY_ESCAPE:
+ if (manager) manager_destroy(manager);
+ exit(0);
+- case GLFW_KEY_PAGEUP:
++ case GLFW_KEY_PAGE_UP:
+ manager->inc_speed();
+ break;
+- case GLFW_KEY_PAGEDOWN:
++ case GLFW_KEY_PAGE_DOWN:
+ manager->dec_speed();
+ break;
+ case GLFW_KEY_UP:
+--- vsxu-0.4.2/server/src/main/linux-opengl/main.cpp.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/server/src/main/linux-opengl/main.cpp 2014-01-02 20:28:20.244896567 +0100
+@@ -26,7 +26,7 @@
+ #include "vsx_string.h"
+ #include <vsx_argvector.h>
+ #include <GL/glew.h>
+-#include "GL/glfw.h"
++#include <GLFW/glfw3.h>
+ #include "application.h"
+ #include "vsxfst.h"
+ #include "vsx_version.h"
+@@ -73,9 +73,9 @@
+
+ void set_modifiers()
+ {
+- app_ctrl = (bool)glfwGetKey(GLFW_KEY_LCTRL);
+- app_shift = (bool)glfwGetKey(GLFW_KEY_LSHIFT);
+- app_alt = (bool)glfwGetKey(GLFW_KEY_LALT);
++ app_ctrl = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_CONTROL);
++ app_shift = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_SHIFT);
++ app_alt = (bool)glfwGetKey(glfwGetCurrentContext(), GLFW_KEY_LEFT_ALT);
+ }
+
+ long key_pressed = -1;
+@@ -84,18 +84,14 @@
+ float key_repeat_time;
+ float initial_key_delay = 0.04f;
+
+-void GLFWCALL key_char_event( int character, int action )
++void key_char_event( GLFWwindow *window, unsigned int character )
+ {
+- if (action == GLFW_PRESS)
+- {
+ app_char(character);
+ key_character = character;
+-
+- }
+ }
+
+
+-void GLFWCALL key_event(int key, int action)
++void key_event(GLFWwindow *window, int key, int scancode, int action, int mods)
+ {
+ set_modifiers();
+ if (action == GLFW_PRESS)
+@@ -114,12 +110,12 @@
+ }
+ }
+
+-int last_x = 0, last_y = 0;
++double last_x = 0, last_y = 0;
+ int mouse_state = 0;
+
+-void GLFWCALL mouse_button_event(int button, int action)
++void mouse_button_event(GLFWwindow *window, int button, int action, int mods)
+ {
+- glfwGetMousePos(&last_x, &last_y);
++ glfwGetCursorPos(glfwGetCurrentContext(), &last_x, &last_y);
+ set_modifiers();
+ unsigned long i_but = 0;
+ switch (button)
+@@ -141,26 +137,26 @@
+
+ int mouse_pos_type = 0;
+
+-void GLFWCALL mouse_pos_event(int x, int y)
++void mouse_pos_event(GLFWwindow *window, double x, double y)
+ {
+ VSX_UNUSED(x);
+ VSX_UNUSED(y);
+ set_modifiers();
+- glfwGetMousePos(&last_x, &last_y);
++ glfwGetCursorPos(glfwGetCurrentContext(), &last_x, &last_y);
+ if (mouse_state) mouse_pos_type = 1;
+ else mouse_pos_type = 2;
+ }
+
+-int mousewheel_prev_pos = 0;
++double mousewheel_prev_pos = 0;
+
+-void GLFWCALL mouse_wheel(int pos)
++void mouse_wheel(GLFWwindow *window, double xoffset, double yoffset)
+ {
+ set_modifiers();
+- app_mousewheel((float)(pos-mousewheel_prev_pos),last_x,last_y);
+- mousewheel_prev_pos = pos;
++ app_mousewheel((float)(yoffset-mousewheel_prev_pos),last_x,last_y);
++ mousewheel_prev_pos = yoffset;
+ }
+
+-void GLFWCALL window_size( int width, int height )
++void window_size( GLFWwindow *window, int width, int height )
+ {
+ vsx_printf("change viewport %d %d\n", width, height);
+ gl_state.viewport_change(0,0,width, height);
+@@ -211,7 +207,8 @@
+ set_modifiers();
+
+
+- int width, height, running, frames, x, y;
++ int width, height, running, frames;
++ double x, y;
+ double t, t1;
+ unsigned long usleep_framelimit;
+ char titlestr[ 200 ];
+@@ -260,35 +257,33 @@
+ if (start_fullscreen && !manual_resolution_set)
+ {
+ // try to get the resolution from the desktop for fullscreen
+- GLFWvidmode video_mode;
+- glfwGetDesktopMode(&video_mode);
+- x_res = video_mode.Height;
+- y_res = video_mode.Width;
++ GLFWvidmode video_mode = * glfwGetVideoMode(glfwGetPrimaryMonitor());
++ x_res = video_mode.height;
++ y_res = video_mode.width;
+ }
+
+
+ if (app_argv.has_param("gl_debug"))
+ {
+ printf("enabling GL DEBUG\n");
+- glfwOpenWindowHint( GLFW_OPENGL_DEBUG_CONTEXT , GL_TRUE );
++ glfwWindowHint( GLFW_OPENGL_DEBUG_CONTEXT , GL_TRUE );
+ }
+
+ // OpenGL version
+- glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 2);
+- glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 1);
++ glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
++ glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
++ glfwWindowHint(GLFW_DEPTH_BITS, 16);
+
+- if( !glfwOpenWindow( x_res, y_res, 0,0,0,0,16,0, start_fullscreen?GLFW_FULLSCREEN:GLFW_WINDOW ) ) // GLFW_FULLSCREEN
++ if( !glfwCreateWindow( x_res, y_res, "", start_fullscreen ? glfwGetPrimaryMonitor() : NULL, NULL ) ) // GLFW_FULLSCREEN
+ {
+ printf("Error! Could not create an OpenGL context. Please check your GPU drivers...\n");
+ glfwTerminate();
+ return 0;
+ }
+
+- if (start_fullscreen) glfwEnable( GLFW_MOUSE_CURSOR );
++ if (start_fullscreen) glfwSetInputMode( glfwGetCurrentContext(), GLFW_CURSOR, GLFW_CURSOR_NORMAL );
+ app_init(0);
+
+- glfwEnable(GLFW_AUTO_POLL_EVENTS);
+-
+ for (int i = 1; i < argc; i++)
+ {
+ vsx_string arg1 = argv[i];
+@@ -300,20 +295,20 @@
+ vsx_avector<vsx_string> parts;
+ vsx_string deli = ",";
+ explode(arg2, deli, parts);
+- glfwSetWindowPos(s2i(parts[0]), s2i(parts[1]));
++ glfwSetWindowPos(glfwGetCurrentContext(), s2i(parts[0]), s2i(parts[1]));
+ }
+ }
+ }
+
+- glfwSetKeyCallback(&key_event);
+- glfwSetMouseButtonCallback(&mouse_button_event);
+- glfwSetMousePosCallback(&mouse_pos_event);
+- glfwSetCharCallback(&key_char_event);
+- glfwSetMouseWheelCallback(&mouse_wheel);
++ glfwSetKeyCallback(glfwGetCurrentContext(), &key_event);
++ glfwSetMouseButtonCallback(glfwGetCurrentContext(), &mouse_button_event);
++ glfwSetCursorPosCallback(glfwGetCurrentContext(), &mouse_pos_event);
++ glfwSetCharCallback(glfwGetCurrentContext(), &key_char_event);
++ glfwSetScrollCallback(glfwGetCurrentContext(), &mouse_wheel);
+ // set window size callback function
+- glfwSetWindowSizeCallback(window_size);
++ glfwSetWindowSizeCallback(glfwGetCurrentContext(), &window_size);
+ // Enable sticky keys
+- glfwEnable( GLFW_STICKY_KEYS );
++ glfwSetInputMode( glfwGetCurrentContext(), GLFW_STICKY_KEYS, GL_TRUE );
+
+
+ // vsync handling
+@@ -362,7 +357,7 @@
+ #if PLATFORM_FAMILY == PLATFORM_FAMILY_WINDOWS
+ sprintf( titlestr, "Vovoid VSXu Artiste %s [Windows %d-bit]", vsxu_ver, PLATFORM_BITS);
+ #endif
+- glfwSetWindowTitle( titlestr );
++ glfwSetWindowTitle( glfwGetCurrentContext(), titlestr );
+
+
+ vsx_timer frame_delay;
+@@ -416,7 +411,7 @@
+
+ // Get time and mouse position
+ t = glfwGetTime();
+- glfwGetMousePos( &x, &y );
++ glfwGetCursorPos( glfwGetCurrentContext(), &x, &y );
+ float delta = t-t1;
+ t1 = t;
+ if (key_pressed != -1)
+@@ -442,7 +437,7 @@
+
+ tm->e("window_management");
+ // Get window size (may be different than the requested size)
+- glfwGetWindowSize( &width, &height );
++ glfwGetWindowSize( glfwGetCurrentContext(), &width, &height );
+ height = height > 0 ? height : 1;
+
+ tm->e("viewport");
+@@ -468,7 +463,7 @@
+ tm->l();
+
+ tm->e("swapbuffers");
+- glfwSwapBuffers();
++ glfwSwapBuffers(glfwGetCurrentContext());
+ tm->l();
+
+ if (!vsync)
+@@ -488,8 +483,8 @@
+ tm->t();
+
+ // Check if the ESC key was pressed or the window was closed
+- running = /*!glfwGetKey( GLFW_KEY_ESC ) &&*/
+- glfwGetWindowParam( GLFW_OPENED );
++ running = /*!glfwGetKey( glfwGetCurrentContext(), GLFW_KEY_ESCAPE ) &&*/
++ !glfwWindowShouldClose( glfwGetCurrentContext() );
+ }
+
+ // Close OpenGL window and terminate GLFW
diff --git a/vsxu-icons.patch b/vsxu-icons.patch
new file mode 100644
index 0000000..f0a7d1b
--- /dev/null
+++ b/vsxu-icons.patch
@@ -0,0 +1,35 @@
+--- vsxu-0.4.2/engine_graphics/CMakeLists.txt.orig 2013-11-24 11:00:51.000000000 +0100
++++ vsxu-0.4.2/engine_graphics/CMakeLists.txt 2014-01-04 21:46:30.230781413 +0100
+@@ -79,19 +79,19 @@
+ file(GLOB HEADERS "include/*.h")
+ install (FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/${VSXU_INSTALL_INCLUDE_DIR}/engine_graphics COMPONENT Devel)
+ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/vsxu.xpm DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/16x16/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/16x16)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/22x22/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/22x22)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/24x24/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/24x24)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/32x32/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/32x32)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/36x36/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/36x36)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/48x48/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/48x48)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/64x64/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/64x64)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/72x72/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/72x72)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/96x96/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/96x96)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/128x128/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/128x128)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/192x192/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/192x192)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/256x256/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/256x256)
+- install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/512x512/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps/hicolor/apps/512x512)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/16x16/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/16x16/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/22x22/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/22x22/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/24x24/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/24x24/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/32x32/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/32x32/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/36x36/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/36x36/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/48x48/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/64x64/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/64x64/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/72x72/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/72x72/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/96x96/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/96x96/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/128x128/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/192x192/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/192x192/apps)
++ install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/256x256/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps)
++# install(FILES ${CMAKE_SOURCE_DIR}/share/icons/hicolor/512x512/apps/vsxu.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/512x512/apps)
+ endif()
+ ################################################################################
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vsxu.git/commitdiff/bf7a50d9062a5973e043c2a99fecc0f9519fda57
More information about the pld-cvs-commit
mailing list