diff --git a/packages/graphics/ftgl/package.mk b/packages/graphics/ftgl/package.mk
new file mode 100644
index 0000000000..248ef31682
--- /dev/null
+++ b/packages/graphics/ftgl/package.mk
@@ -0,0 +1,39 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
+#
+# OpenELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# OpenELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC. If not, see .
+################################################################################
+
+PKG_NAME="ftgl"
+PKG_VERSION="2.1.2"
+PKG_REV="1"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="http://sourceforge.net/projects/ftgl/"
+PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
+PKG_DEPENDS_TARGET="toolchain freetype"
+PKG_PRIORITY="optional"
+PKG_SECTION="multimedia"
+PKG_SHORTDESC="ftgl:"
+PKG_LONGDESC="ftgl:"
+
+PKG_IS_ADDON="no"
+PKG_AUTORECONF="no"
+
+configure_target() {
+ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
+ -DOUTPUT_DIR=$SYSROOT_PREFIX/usr \
+ ..
+}
diff --git a/packages/graphics/ftgl/patches/ftgl-01-cmake.patch b/packages/graphics/ftgl/patches/ftgl-01-cmake.patch
new file mode 100644
index 0000000000..c9f0f6414f
--- /dev/null
+++ b/packages/graphics/ftgl/patches/ftgl-01-cmake.patch
@@ -0,0 +1,35 @@
+From c6dea8249d50f1f463db6ca89bc582259c54b86a Mon Sep 17 00:00:00 2001
+From: Stefan Saraev
+Date: Sat, 4 Jul 2015 12:42:40 +0300
+Subject: [PATCH] cmake
+
+---
+ CMakeLists.txt | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+ create mode 100644 CMakeLists.txt
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..18791c4
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,16 @@
++project(ftgl)
++
++cmake_minimum_required(VERSION 2.6)
++enable_language(CXX)
++
++include(ExternalProject)
++
++externalproject_add(ftgl
++ SOURCE_DIR ${CMAKE_SOURCE_DIR}
++ UPDATE_COMMAND cd unix && autoreconf -vif
++ CONFIGURE_COMMAND cd unix && CXXFLAGS=-fpermissive ./configure --prefix=${OUTPUT_DIR} --with-pic
++ BUILD_COMMAND cd unix && make
++ INSTALL_COMMAND ""
++ BUILD_IN_SOURCE 1)
++
++install(CODE "execute_process(COMMAND make install WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/unix)")
+--
+1.7.10.4
+
diff --git a/packages/graphics/ftgl/patches/ftgl-01-ftgl-disable-docs.patch b/packages/graphics/ftgl/patches/ftgl-01-ftgl-disable-docs.patch
new file mode 100644
index 0000000000..6ff2f2cc4c
--- /dev/null
+++ b/packages/graphics/ftgl/patches/ftgl-01-ftgl-disable-docs.patch
@@ -0,0 +1,12 @@
+--- ftgl.orig/unix/Makefile 2014-08-04 17:21:22.210742862 +0200
++++ ftgl/unix/Makefile 2003-01-12 22:27:04.000000000 +0100
+@@ -1,7 +1,7 @@
+ top_builddir=.
+ -include $(top_builddir)/Make.conf
+
+-SUBDIRS = src demo docs
++SUBDIRS = src demo
+
+ AUTOGEN = Make.conf config.log config.status libtool autom4te.cache ftgl.pc
+ AUTOGEN_MAINT = aclocal.m4 acinclude.m4 config.guess config.sub configure ltmain.sh install-sh
+
diff --git a/packages/graphics/libprojectM/package.mk b/packages/graphics/libprojectM/package.mk
new file mode 100644
index 0000000000..cccd613091
--- /dev/null
+++ b/packages/graphics/libprojectM/package.mk
@@ -0,0 +1,41 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
+#
+# OpenELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# OpenELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC. If not, see .
+################################################################################
+
+PKG_NAME="libprojectM"
+PKG_VERSION="2.0.0"
+PKG_REV="1"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="http://projectm.sourceforge.net/"
+PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
+PKG_DEPENDS_TARGET="toolchain ftgl"
+PKG_PRIORITY="optional"
+PKG_SECTION="multimedia"
+PKG_SHORTDESC="libprojectM:"
+PKG_LONGDESC="libprojectM:"
+
+PKG_IS_ADDON="no"
+PKG_AUTORECONF="no"
+
+configure_target() {
+ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
+ -DBUILD_PROJECTM_STATIC=1 \
+ ..
+}
diff --git a/packages/graphics/libprojectM/patches/libprojectM-01-pm-fix-freetype.patch b/packages/graphics/libprojectM/patches/libprojectM-01-pm-fix-freetype.patch
new file mode 100644
index 0000000000..fb0f75b791
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-01-pm-fix-freetype.patch
@@ -0,0 +1,38 @@
+--- projectm/cmake/FindFreetype2.orig.cmake 2013-07-17 11:47:46.844351322 +0200
++++ projectm/cmake/FindFreetype2.cmake 2013-07-17 11:48:14.912350387 +0200
+@@ -64,7 +64,7 @@
+ /sw/include/freetype2
+ ${VISUS_INCLUDE}
+ ${VISUS_INCLUDE}/freetype2
+- NO_DEFAULT_PATH
++ # NO_DEFAULT_PATH
+ )
+
+ FIND_PATH(FREETYPE2_FT2BUILD ft2build.h
+@@ -74,7 +74,7 @@
+ /usr/X11R6/include
+ /sw/include
+ ${VISUS_INCLUDE}
+- NO_DEFAULT_PATH
++ # NO_DEFAULT_PATH
+ )
+
+ FIND_PATH(FREETYPE2_FT_CONFIG bin/freetype-config
+@@ -84,7 +84,7 @@
+ /usr/X11R6
+ /sw/bin
+ ${VISUS_BINARY_DIR}
+- NO_DEFAULT_PATH
++ # NO_DEFAULT_PATH
+ )
+
+ IF (NOT WIN32)
+@@ -95,7 +95,7 @@
+ /usr/X11R6/lib
+ /sw/lib
+ ${VISUS_LIBRARIES}
+- NO_DEFAULT_PATH
++ # NO_DEFAULT_PATH
+ )
+
+ ELSE (NOT WIN32)
diff --git a/packages/graphics/libprojectM/patches/libprojectM-02-fix-projectm-cmakelists.patch b/packages/graphics/libprojectM/patches/libprojectM-02-fix-projectm-cmakelists.patch
new file mode 100644
index 0000000000..bb0973fd29
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-02-fix-projectm-cmakelists.patch
@@ -0,0 +1,108 @@
+--- projectM-2.0.0-Source.orig/CMakeLists.txt 2009-12-01 07:38:42.000000000 +0100
++++ projectM-2.0.0-Source/CMakeLists.txt 2014-09-02 18:13:37.650948971 +0200
+@@ -18,6 +18,7 @@
+
+ cmake_policy(SET CMP0005 OLD)
+
++ADD_DEFINITIONS(-fPIC)
+
+ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
+@@ -100,15 +101,6 @@
+ ADD_DEFINITIONS(-DUSE_FBO)
+ endif(USE_FBO)
+
+-if(USE_FTGL)
+-ADD_DEFINITIONS(-DUSE_FTGL)
+-
+-find_package( Freetype2 REQUIRED)
+-include_directories( ${FREETYPE2_INCLUDE_DIR} )
+-
+-endif(USE_FTGL)
+-
+-
+ if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+ endif(COMMAND cmake_policy)
+@@ -138,58 +130,54 @@
+
+ add_subdirectory(Renderer)
+
+-#ADD_DEFINITIONS(-DCMAKE_INSTALL_PREFIX="\\\"${CMAKE_INSTALL_PREFIX}\\\"")
+-
+ FIND_PACKAGE(OpenGL)
+
+ INCLUDE(FindPkgConfig.cmake)
+
+-pkg_search_module (FTGL ftgl)
+-
+-#set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH};/opt/local/include;/Developer/SDKs/MACOSX10.5.sdk/usr/X11/include)
+-#set(CMAKE_LIBRARY_PATH /opt/local/lib;/Developer/SDKs/MACOSX10.5.sdk;/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/)
+-
+ IF(USE_FTGL)
+- if (FTGL_FOUND)
++ pkg_check_modules (FREETYPE freetype2)
++ if(FREETYPE_FOUND)
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(FREETYPE DEFAULT_MSG FREETYPE_INCLUDE_DIRS FREETYPE_LIBRARIES FREETYPE_LIBRARY_DIRS)
++ set(FREETYPE2_INCLUDE_DIR ${FREETYPE_INCLUDE_DIRS})
++ include_directories(${FREETYPE_INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIRS}/include/freetype2)
++ endif()
++ message(STATUS "FREETYPE2_INCLUDE_DIR: ${FREETYPE2_INCLUDE_DIR}")
++
++ pkg_check_modules (FTGL ftgl)
++ if(FTGL_FOUND)
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(FTGL DEFAULT_MSG FTGL_INCLUDE_DIRS FTGL_LIBRARIES FTGL_LIBRARY_DIRS)
++ ADD_DEFINITIONS(-DUSE_FTGL)
++
+ MESSAGE(STATUS "[projectM] FTGL font support was detected and enabled.")
+ else (FTGL_FOUND)
+- MESSAGE(STATUS
+- "[projectM] Warning! FTGL has been enabled but not detected. Your compilation will probably break. Turn off FTGL support by setting USE_FTGL to false, or visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
++ MESSAGE(FATAL_ERROR "[projectM] Warning! FTGL has been enabled but not detected. Your compilation will probably break. Turn off FTGL support by setting USE_FTGL to false, or visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
+ endif (FTGL_FOUND)
+
+- ADD_DEFINITIONS(-DUSE_FTGL)
+-
+ set (FTGL_INCUDE_DIRS ${FTGL_INCLUDE_DIRS} ${CMAKE_INCLUDE_PATH} ${OPENGL_INCLUDE_DIR})
+- set (FTGL_LINK_DIRS ${FTGL_LIBRARY_DIRS} )
++ set (FTGL_LINK_DIRS ${FTGL_LIBRARIES} )
++ set (FTGL_LINK_LIBS -L${FTGL_LIBRARY_DIRS} ${FTGL_LIBRARIES} -L${FREETYPE_LIBRARY_DIRS} ${FREETYPE_LIBRARIES})
+ set (FTGL_LINK_TARGETS ftgl freetype)
+
+-ELSE (USE_FTGL)
+- IF (FTGL_FOUND)
+- MESSAGE(STATUS "[projectM] Warning: FTGL font support was detected but NOT enabled. You can enable it by setting USE_FTGL=true")
+- ELSE (FTGL_FOUND)
+- MESSAGE(STATUS "[projectM] Warning: FTGL font support was not detected. Visit http://ftgl.wiki.sourceforge.net/ for help on installing FTGL.")
+- ENDIF(FTGL_FOUND)
+-
+- # todo: change this because its obscure and probably not being used
+- set (FTGL_INCLUDE_DIRS "/opt/local/include")
+- set (FTGL_LINK_DIRS )
+- set (FTGL_LINK_TARGETS )
+ ENDIF(USE_FTGL)
+
+-
+ IF(USE_OPENMP)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp ")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp ")
+ ENDIF(USE_OPENMP)
+
+ INCLUDE_DIRECTORIES(${projectM_SOURCE_DIR} ${FTGL_INCLUDE_DIRS} ${Renderer_SOURCE_DIR} ${PRESET_FACTORY_SOURCES})
+-LINK_DIRECTORIES(${FTGL_LINK_DIRS} ${Renderer_BINARY_DIR} ${PRESET_FACTORY_BINARY_DIR})
++LINK_DIRECTORIES(${Renderer_BINARY_DIR} ${PRESET_FACTORY_BINARY_DIR})
+
+ if(BUILD_PROJECTM_STATIC)
+- TARGET_LINK_LIBRARIES(projectM ${GLEW_LINK_TARGETS} m ${FTGL_LINK_TARGETS} ${OPENGL_LIBRARIES} ${IMAGE_LINK_TARGETS} ${CG_LINK_TARGETS} ${PRESET_FACTORY_LINK_TARGETS})
++message(STATUS "OPENGL_LIBRARIES: ${OPENGL_LIBRARIES}")
++ set(OPENGL_LIBRARIES "-lGLEW -lGLU -lGL -lm -ldl -ldrm -lXdamage -lX11-xcb -lxcb-glx -lxcb-dri2 -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lXxf86vm -lXfixes -lXext -lX11 -lpthread -lxcb -lXau -lXdmcp")
++message(STATUS "OPENGL_LIBRARIES: ${OPENGL_LIBRARIES}")
++ TARGET_LINK_LIBRARIES(projectM Renderer ${PRESET_FACTORY_LINK_TARGETS} ${GLEW_LINK_TARGETS} m ${FTGL_LINK_LIBS} ${OPENGL_LIBRARIES} ${IMAGE_LINK_TARGETS} ${CG_LINK_TARGETS})
+ else(BUILD_PROJECTM_STATIC)
+
+-TARGET_LINK_LIBRARIES(projectM ${GLEW_LINK_TARGETS} m ${FTGL_LINK_TARGETS} ${OPENGL_LIBRARIES} ${IMAGE_LINK_TARGETS} ${CG_LINK_TARGETS} ${PRESET_FACTORY_LINK_TARGETS})
++ TARGET_LINK_LIBRARIES(projectM Renderer ${PRESET_FACTORY_LINK_TARGETS} ${GLEW_LINK_TARGETS} m dl ${FTGL_LINK_LIBS} ${OPENGL_LIBRARIES} ${IMAGE_LINK_TARGETS} ${CG_LINK_TARGETS})
+
+ endif(BUILD_PROJECTM_STATIC)
diff --git a/packages/graphics/libprojectM/patches/libprojectM-03-pm-remove-cache.patch b/packages/graphics/libprojectM/patches/libprojectM-03-pm-remove-cache.patch
new file mode 100644
index 0000000000..54b6cb414d
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-03-pm-remove-cache.patch
@@ -0,0 +1,758 @@
+--- projectm/CMakeCache.txt 2009-12-01 07:38:42.000000000 +0100
++++ /dev/null 2013-10-24 12:04:38.043396310 +0200
+@@ -1,755 +0,0 @@
+-# This is the CMakeCache file.
+-# For build in directory: /home/struktured/release/2.0.0/src/libprojectM
+-# It was generated by CMake: /usr/bin/cmake
+-# You can edit this file to change values found and used by cmake.
+-# If you do not want to change any of the values, simply exit the editor.
+-# If you do want to change a value, simply edit, save, and exit the editor.
+-# The syntax for the file is as follows:
+-# KEY:TYPE=VALUE
+-# KEY is the name of a variable in the cache.
+-# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!.
+-# VALUE is the current value for the KEY.
+-
+-########################
+-# EXTERNAL cache entries
+-########################
+-
+-//Build the projectM target library in the platform's native static
+-// (NOT shared) format.
+-BUILD_PROJECTM_STATIC:BOOL=OFF
+-
+-//Path to a program.
+-CMAKE_AR:FILEPATH=/usr/bin/ar
+-
+-//For backwards compatibility, what version of CMake commands and
+-// syntax should this version of CMake try to support.
+-CMAKE_BACKWARDS_COMPATIBILITY:STRING=2.4
+-
+-//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
+-// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
+-CMAKE_BUILD_TYPE:STRING=Release
+-
+-//Enable/Disable color output during build.
+-CMAKE_COLOR_MAKEFILE:BOOL=ON
+-
+-//CXX compiler.
+-CMAKE_CXX_COMPILER:FILEPATH=/usr/lib64/ccache/c++
+-
+-//Flags used by the compiler during all build types.
+-CMAKE_CXX_FLAGS:STRING=
+-
+-//Flags used by the compiler during debug builds.
+-CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+-
+-//Flags used by the compiler during release minsize builds.
+-CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+-
+-//Flags used by the compiler during release builds (/MD /Ob1 /Oi
+-// /Ot /Oy /Gs will produce slightly less optimized but smaller
+-// files).
+-CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+-
+-//Flags used by the compiler during Release with Debug Info builds.
+-CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g
+-
+-//C compiler.
+-CMAKE_C_COMPILER:FILEPATH=/usr/lib64/ccache/gcc
+-
+-//Flags used by the compiler during all build types.
+-CMAKE_C_FLAGS:STRING=
+-
+-//Flags used by the compiler during debug builds.
+-CMAKE_C_FLAGS_DEBUG:STRING=-g
+-
+-//Flags used by the compiler during release minsize builds.
+-CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+-
+-//Flags used by the compiler during release builds (/MD /Ob1 /Oi
+-// /Ot /Oy /Gs will produce slightly less optimized but smaller
+-// files).
+-CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+-
+-//Flags used by the compiler during Release with Debug Info builds.
+-CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g
+-
+-//Flags used by the linker.
+-CMAKE_EXE_LINKER_FLAGS:STRING=
+-
+-//Flags used by the linker during debug builds.
+-CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+-
+-//Flags used by the linker during release minsize builds.
+-CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+-
+-//Flags used by the linker during release builds.
+-CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+-
+-//Flags used by the linker during Release with Debug Info builds.
+-CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+-
+-//Install path prefix, prepended onto install directories.
+-CMAKE_INSTALL_PREFIX:PATH=/usr/local
+-
+-//Path to a program.
+-CMAKE_LINKER:FILEPATH=/usr/bin/ld
+-
+-//Path to a program.
+-CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
+-
+-//Flags used by the linker during the creation of modules.
+-CMAKE_MODULE_LINKER_FLAGS:STRING=
+-
+-//Flags used by the linker during debug builds.
+-CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+-
+-//Flags used by the linker during release minsize builds.
+-CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+-
+-//Flags used by the linker during release builds.
+-CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+-
+-//Flags used by the linker during Release with Debug Info builds.
+-CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+-
+-//Path to a program.
+-CMAKE_NM:FILEPATH=/usr/bin/nm
+-
+-//Path to a program.
+-CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
+-
+-//Path to a program.
+-CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
+-
+-//Path to a program.
+-CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
+-
+-//Flags used by the linker during the creation of dll's.
+-CMAKE_SHARED_LINKER_FLAGS:STRING=
+-
+-//Flags used by the linker during debug builds.
+-CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+-
+-//Flags used by the linker during release minsize builds.
+-CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+-
+-//Flags used by the linker during release builds.
+-CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+-
+-//Flags used by the linker during Release with Debug Info builds.
+-CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+-
+-//If set, runtime paths are not added when using shared libraries.
+-CMAKE_SKIP_RPATH:BOOL=NO
+-
+-//Path to a program.
+-CMAKE_STRIP:FILEPATH=/usr/bin/strip
+-
+-//If true, cmake will use relative paths in makefiles and projects.
+-CMAKE_USE_RELATIVE_PATHS:BOOL=OFF
+-
+-//If this value is on, makefiles will be generated without the
+-// .SILENT directive, and all commands will be echoed to the console
+-// during the make. This is useful for debugging only. With Visual
+-// Studio IDE projects all commands are done without /nologo.
+-CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+-
+-//Enable to build Debian packages
+-CPACK_BINARY_DEB:BOOL=OFF
+-
+-//Enable to build NSIS packages
+-CPACK_BINARY_NSIS:BOOL=OFF
+-
+-//Enable to build RPM packages
+-CPACK_BINARY_RPM:BOOL=OFF
+-
+-//Enable to build STGZ packages
+-CPACK_BINARY_STGZ:BOOL=ON
+-
+-//Enable to build TBZ2 packages
+-CPACK_BINARY_TBZ2:BOOL=OFF
+-
+-//Enable to build TGZ packages
+-CPACK_BINARY_TGZ:BOOL=ON
+-
+-//Enable to build TZ packages
+-CPACK_BINARY_TZ:BOOL=OFF
+-
+-//Enable to build TBZ2 source packages
+-CPACK_SOURCE_TBZ2:BOOL=OFF
+-
+-//Enable to build TGZ source packages
+-CPACK_SOURCE_TGZ:BOOL=ON
+-
+-//Enable to build TZ source packages
+-CPACK_SOURCE_TZ:BOOL=OFF
+-
+-//Enable to build ZIP source packages
+-CPACK_SOURCE_ZIP:BOOL=OFF
+-
+-//Turn off support for Milkdrop (.milk / .prjm) presets
+-DISABLE_MILKDROP_PRESETS:BOOL=OFF
+-
+-//Turn off support for native (C++ style) presets
+-DISABLE_NATIVE_PRESETS:BOOL=OFF
+-
+-//Single output directory for building all executables.
+-EXECUTABLE_OUTPUT_PATH:PATH=
+-
+-//Path to a file.
+-FREETYPE2_FT2BUILD:PATH=/usr/include
+-
+-//Path to a file.
+-FREETYPE2_FT_CONFIG:PATH=/usr
+-
+-//Path to a file.
+-FREETYPE2_INCLUDE_DIR:PATH=/usr/include/freetype2
+-
+-//Path to a library.
+-FREETYPE2_LIBRARIES:FILEPATH=/usr/lib64/libfreetype.so
+-
+-//Single output directory for building all libraries.
+-LIBRARY_OUTPUT_PATH:PATH=
+-
+-//Value Computed by CMake
+-MilkdropPresetFactory_BINARY_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM/MilkdropPresetFactory
+-
+-//Dependencies for the target
+-MilkdropPresetFactory_LIB_DEPENDS:STATIC=general;Renderer;
+-
+-//Value Computed by CMake
+-MilkdropPresetFactory_SOURCE_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM/MilkdropPresetFactory
+-
+-//Value Computed by CMake
+-NativePresetFactory_BINARY_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM/NativePresetFactory
+-
+-//Dependencies for the target
+-NativePresetFactory_LIB_DEPENDS:STATIC=general;Renderer;general;m;
+-
+-//Value Computed by CMake
+-NativePresetFactory_SOURCE_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM/NativePresetFactory
+-
+-//Path to a file.
+-OPENGL_INCLUDE_DIR:PATH=/usr/include
+-
+-//Path to a library.
+-OPENGL_gl_LIBRARY:FILEPATH=/usr/lib64/libGL.so
+-
+-//Path to a library.
+-OPENGL_glu_LIBRARY:FILEPATH=/usr/lib64/libGLU.so
+-
+-//Path to a file.
+-OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND
+-
+-//pkg-config executable
+-PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
+-
+-//Value Computed by CMake
+-Renderer_BINARY_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM/Renderer
+-
+-//Dependencies for the target
+-Renderer_LIB_DEPENDS:STATIC=general;m;
+-
+-//Value Computed by CMake
+-Renderer_SOURCE_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM/Renderer
+-
+-//Experimental feature to synchronize preset switches internally
+-SYNC_PRESET_SWITCHES:BOOL=OFF
+-
+-//Use Cg for Pixel Shader support
+-USE_CG:BOOL=ON
+-
+-//Use devIL for image loading rather than the builtin SOIL library
+-USE_DEVIL:BOOL=OFF
+-
+-//Use Framebuffer Objects for increased rendering quality. Disable
+-// this for OpenGL ES 1.x or if you are experiencing problems on
+-// older or poorly supported hardware.
+-USE_FBO:BOOL=ON
+-
+-//Use FTGL for on-screen fonts (found on your system)
+-USE_FTGL:BOOL=ON
+-
+-//Use OpenGL ES 1.x
+-USE_GLES1:BOOL=OFF
+-
+-//Use projectM's native implemention of GLEW.
+-USE_NATIVE_GLEW:BOOL=OFF
+-
+-//Use OpenMP and OMPTL for multi-core paralellization
+-USE_OPENMP:BOOL=ON
+-
+-//Path to a file.
+-X11_ICE_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_ICE_LIB:FILEPATH=/usr/lib64/libICE.so
+-
+-//Path to a library.
+-X11_SM_LIB:FILEPATH=/usr/lib64/libSM.so
+-
+-//Path to a file.
+-X11_X11_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_X11_LIB:FILEPATH=/usr/lib64/libX11.so
+-
+-//Path to a file.
+-X11_XShm_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_XTest_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_XTest_LIB:FILEPATH=/usr/lib64/libXtst.so
+-
+-//Path to a file.
+-X11_Xaccessrules_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xaccessstr_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xau_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xau_LIB:FILEPATH=/usr/lib64/libXau.so
+-
+-//Path to a file.
+-X11_Xcomposite_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xcomposite_LIB:FILEPATH=/usr/lib64/libXcomposite.so
+-
+-//Path to a file.
+-X11_Xcursor_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xcursor_LIB:FILEPATH=/usr/lib64/libXcursor.so
+-
+-//Path to a file.
+-X11_Xdamage_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xdamage_LIB:FILEPATH=/usr/lib64/libXdamage.so
+-
+-//Path to a file.
+-X11_Xdmcp_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xdmcp_LIB:FILEPATH=/usr/lib64/libXdmcp.so
+-
+-//Path to a library.
+-X11_Xext_LIB:FILEPATH=/usr/lib64/libXext.so
+-
+-//Path to a file.
+-X11_Xfixes_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xfixes_LIB:FILEPATH=/usr/lib64/libXfixes.so
+-
+-//Path to a file.
+-X11_Xft_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xft_LIB:FILEPATH=/usr/lib64/libXft.so
+-
+-//Path to a file.
+-X11_Xinerama_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xinerama_LIB:FILEPATH=/usr/lib64/libXinerama.so
+-
+-//Path to a file.
+-X11_Xinput_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xinput_LIB:FILEPATH=/usr/lib64/libXi.so
+-
+-//Path to a file.
+-X11_Xkb_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xkblib_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xlib_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xpm_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xpm_LIB:FILEPATH=/usr/lib64/libXpm.so
+-
+-//Path to a file.
+-X11_Xrandr_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xrandr_LIB:FILEPATH=/usr/lib64/libXrandr.so
+-
+-//Path to a file.
+-X11_Xrender_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xrender_LIB:FILEPATH=/usr/lib64/libXrender.so
+-
+-//Path to a file.
+-X11_Xscreensaver_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xscreensaver_LIB:FILEPATH=/usr/lib64/libXss.so
+-
+-//Path to a file.
+-X11_Xshape_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xt_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xt_LIB:FILEPATH=/usr/lib64/libXt.so
+-
+-//Path to a file.
+-X11_Xutil_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_Xv_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a library.
+-X11_Xv_LIB:FILEPATH=/usr/lib64/libXv.so
+-
+-//Path to a library.
+-X11_Xxf86misc_LIB:FILEPATH=/usr/lib64/libXxf86misc.so
+-
+-//Path to a file.
+-X11_dpms_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_xf86misc_INCLUDE_PATH:PATH=/usr/include
+-
+-//Path to a file.
+-X11_xf86vmode_INCLUDE_PATH:PATH=/usr/include
+-
+-//Value Computed by CMake
+-projectM_BINARY_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM
+-
+-//Dependencies for the target
+-projectM_LIB_DEPENDS:STATIC=general;GLEW;general;m;general;ftgl;general;freetype;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;/usr/lib64/libSM.so;general;/usr/lib64/libICE.so;general;/usr/lib64/libX11.so;general;/usr/lib64/libXext.so;general;Cg;general;CgGL;general;NativePresetFactory;general;MilkdropPresetFactory;
+-
+-//Value Computed by CMake
+-projectM_SOURCE_DIR:STATIC=/home/struktured/release/2.0.0/src/libprojectM
+-
+-
+-########################
+-# INTERNAL cache entries
+-########################
+-
+-//Advanced flag for variable: CMAKE_AR
+-CMAKE_AR-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_BUILD_TOOL
+-CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1
+-//What is the target build tool cmake is generating for.
+-CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake
+-//Modified flag for variable: CMAKE_BUILD_TYPE
+-CMAKE_BUILD_TYPE-MODIFIED:INTERNAL=1
+-//This is the directory where this CMakeCahe.txt was created
+-CMAKE_CACHEFILE_DIR:INTERNAL=/home/struktured/release/2.0.0/src/libprojectM
+-//Major version of cmake used to create the current loaded cache
+-CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2
+-//Minor version of cmake used to create the current loaded cache
+-CMAKE_CACHE_MINOR_VERSION:INTERNAL=6
+-//Major version of cmake used to create the current loaded cache
+-CMAKE_CACHE_RELEASE_VERSION:INTERNAL=patch 4
+-//Advanced flag for variable: CMAKE_COLOR_MAKEFILE
+-CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+-//Path to CMake executable.
+-CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
+-//Path to cpack program executable.
+-CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
+-//Path to ctest program executable.
+-CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
+-//Advanced flag for variable: CMAKE_CXX_COMPILER
+-CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+-CMAKE_CXX_COMPILER_WORKS:INTERNAL=1
+-//Advanced flag for variable: CMAKE_CXX_FLAGS
+-CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_CXX_FLAGS_DEBUG
+-CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+-CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_CXX_FLAGS_RELEASE
+-CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+-CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_C_COMPILER
+-CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+-CMAKE_C_COMPILER_WORKS:INTERNAL=1
+-//Advanced flag for variable: CMAKE_C_FLAGS
+-CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_C_FLAGS_DEBUG
+-CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_C_FLAGS_MINSIZEREL
+-CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_C_FLAGS_RELEASE
+-CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+-CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+-//Result of TRY_COMPILE
+-CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE
+-//Result of TRY_COMPILE
+-CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE
+-//Path to cache edit program executable.
+-CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
+-//Executable file format
+-CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
+-//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS
+-CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+-CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+-CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+-CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+-CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+-//Name of generator.
+-CMAKE_GENERATOR:INTERNAL=Unix Makefiles
+-//Have function connect
+-CMAKE_HAVE_CONNECT:INTERNAL=1
+-//Have function gethostbyname
+-CMAKE_HAVE_GETHOSTBYNAME:INTERNAL=1
+-//Have function remove
+-CMAKE_HAVE_REMOVE:INTERNAL=1
+-//Have function shmat
+-CMAKE_HAVE_SHMAT:INTERNAL=1
+-//Start directory with the top level CMakeLists.txt file for this
+-// project
+-CMAKE_HOME_DIRECTORY:INTERNAL=/home/struktured/release/2.0.0/src/libprojectM
+-//Install .so files without execute permission.
+-CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
+-//Have library ICE
+-CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER:INTERNAL=1
+-//Advanced flag for variable: CMAKE_LINKER
+-CMAKE_LINKER-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_MAKE_PROGRAM
+-CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS
+-CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+-CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+-CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+-CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+-CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_NM
+-CMAKE_NM-ADVANCED:INTERNAL=1
+-//number of local generators
+-CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=4
+-//Advanced flag for variable: CMAKE_OBJCOPY
+-CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_OBJDUMP
+-CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_RANLIB
+-CMAKE_RANLIB-ADVANCED:INTERNAL=1
+-//Path to CMake installation.
+-CMAKE_ROOT:INTERNAL=/usr/share/cmake
+-//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS
+-CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+-CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+-CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+-CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+-CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_SKIP_RPATH
+-CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_STRIP
+-CMAKE_STRIP-ADVANCED:INTERNAL=1
+-//uname command
+-CMAKE_UNAME:INTERNAL=/bin/uname
+-//Advanced flag for variable: CMAKE_USE_RELATIVE_PATHS
+-CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CMAKE_VERBOSE_MAKEFILE
+-CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_DEB
+-CPACK_BINARY_DEB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_NSIS
+-CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_RPM
+-CPACK_BINARY_RPM-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_STGZ
+-CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_TBZ2
+-CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_TGZ
+-CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_BINARY_TZ
+-CPACK_BINARY_TZ-ADVANCED:INTERNAL=1
+-//Modified flag for variable: CPACK_BINARY_TZ
+-CPACK_BINARY_TZ-MODIFIED:INTERNAL=1
+-//Advanced flag for variable: CPACK_SOURCE_TBZ2
+-CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1
+-//Modified flag for variable: CPACK_SOURCE_TBZ2
+-CPACK_SOURCE_TBZ2-MODIFIED:INTERNAL=1
+-//Advanced flag for variable: CPACK_SOURCE_TGZ
+-CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: CPACK_SOURCE_TZ
+-CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1
+-//Modified flag for variable: CPACK_SOURCE_TZ
+-CPACK_SOURCE_TZ-MODIFIED:INTERNAL=1
+-//Advanced flag for variable: CPACK_SOURCE_ZIP
+-CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1
+-//Details about finding X11
+-FIND_PACKAGE_MESSAGE_DETAILS_X11:INTERNAL=[/usr/lib64/libX11.so][/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include;/usr/include]
+-FTGL_CFLAGS:INTERNAL=-I/usr/include/freetype2
+-FTGL_CFLAGS_I:INTERNAL=
+-FTGL_CFLAGS_OTHER:INTERNAL=
+-FTGL_FOUND:INTERNAL=1
+-FTGL_INCLUDEDIR:INTERNAL=/usr/include
+-FTGL_INCLUDE_DIRS:INTERNAL=/usr/include/freetype2
+-FTGL_LDFLAGS:INTERNAL=-lGLU;-lGL;-lftgl;-lfreetype
+-FTGL_LDFLAGS_OTHER:INTERNAL=
+-FTGL_LIBDIR:INTERNAL=/usr/lib64
+-FTGL_LIBRARIES:INTERNAL=GLU;GL;ftgl;freetype
+-FTGL_LIBRARY_DIRS:INTERNAL=
+-FTGL_LIBS:INTERNAL=
+-FTGL_LIBS_L:INTERNAL=
+-FTGL_LIBS_OTHER:INTERNAL=
+-FTGL_LIBS_PATHS:INTERNAL=
+-FTGL_PREFIX:INTERNAL=/usr
+-FTGL_STATIC_CFLAGS:INTERNAL=-I/usr/include/freetype2
+-FTGL_STATIC_CFLAGS_I:INTERNAL=
+-FTGL_STATIC_CFLAGS_OTHER:INTERNAL=
+-FTGL_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/freetype2
+-FTGL_STATIC_LDFLAGS:INTERNAL=-lGLU;-lGL;-lftgl;-lfreetype
+-FTGL_STATIC_LDFLAGS_OTHER:INTERNAL=
+-FTGL_STATIC_LIBDIR:INTERNAL=
+-FTGL_STATIC_LIBRARIES:INTERNAL=GLU;GL;ftgl;freetype
+-FTGL_STATIC_LIBRARY_DIRS:INTERNAL=
+-FTGL_STATIC_LIBS:INTERNAL=
+-FTGL_STATIC_LIBS_L:INTERNAL=
+-FTGL_STATIC_LIBS_OTHER:INTERNAL=
+-FTGL_STATIC_LIBS_PATHS:INTERNAL=
+-FTGL_VERSION:INTERNAL=2.1.2
+-FTGL_ftgl_INCLUDEDIR:INTERNAL=
+-FTGL_ftgl_LIBDIR:INTERNAL=
+-FTGL_ftgl_PREFIX:INTERNAL=
+-FTGL_ftgl_VERSION:INTERNAL=
+-//Advanced flag for variable: OPENGL_INCLUDE_DIR
+-OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: OPENGL_gl_LIBRARY
+-OPENGL_gl_LIBRARY-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: OPENGL_glu_LIBRARY
+-OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: OPENGL_xmesa_INCLUDE_DIR
+-OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: PKG_CONFIG_EXECUTABLE
+-PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1
+-//Modified flag for variable: USE_CG
+-USE_CG-MODIFIED:INTERNAL=1
+-//Advanced flag for variable: X11_ICE_INCLUDE_PATH
+-X11_ICE_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_ICE_LIB
+-X11_ICE_LIB-ADVANCED:INTERNAL=1
+-//Have library /usr/lib64/libX11.so;/usr/lib64/libXext.so
+-X11_LIB_X11_SOLO:INTERNAL=1
+-//Advanced flag for variable: X11_SM_LIB
+-X11_SM_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_X11_INCLUDE_PATH
+-X11_X11_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_X11_LIB
+-X11_X11_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_XShm_INCLUDE_PATH
+-X11_XShm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_XTest_INCLUDE_PATH
+-X11_XTest_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_XTest_LIB
+-X11_XTest_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xaccessrules_INCLUDE_PATH
+-X11_Xaccessrules_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xaccessstr_INCLUDE_PATH
+-X11_Xaccessstr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xau_INCLUDE_PATH
+-X11_Xau_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xau_LIB
+-X11_Xau_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xcomposite_INCLUDE_PATH
+-X11_Xcomposite_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xcomposite_LIB
+-X11_Xcomposite_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xcursor_INCLUDE_PATH
+-X11_Xcursor_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xcursor_LIB
+-X11_Xcursor_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xdamage_INCLUDE_PATH
+-X11_Xdamage_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xdamage_LIB
+-X11_Xdamage_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xdmcp_INCLUDE_PATH
+-X11_Xdmcp_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xdmcp_LIB
+-X11_Xdmcp_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xext_LIB
+-X11_Xext_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xfixes_INCLUDE_PATH
+-X11_Xfixes_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xfixes_LIB
+-X11_Xfixes_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xft_INCLUDE_PATH
+-X11_Xft_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xft_LIB
+-X11_Xft_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xinerama_INCLUDE_PATH
+-X11_Xinerama_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xinerama_LIB
+-X11_Xinerama_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xinput_INCLUDE_PATH
+-X11_Xinput_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xinput_LIB
+-X11_Xinput_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xkb_INCLUDE_PATH
+-X11_Xkb_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xkblib_INCLUDE_PATH
+-X11_Xkblib_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xlib_INCLUDE_PATH
+-X11_Xlib_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xpm_INCLUDE_PATH
+-X11_Xpm_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xpm_LIB
+-X11_Xpm_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xrandr_INCLUDE_PATH
+-X11_Xrandr_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xrandr_LIB
+-X11_Xrandr_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xrender_INCLUDE_PATH
+-X11_Xrender_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xrender_LIB
+-X11_Xrender_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xscreensaver_INCLUDE_PATH
+-X11_Xscreensaver_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xscreensaver_LIB
+-X11_Xscreensaver_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xshape_INCLUDE_PATH
+-X11_Xshape_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xt_INCLUDE_PATH
+-X11_Xt_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xt_LIB
+-X11_Xt_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xutil_INCLUDE_PATH
+-X11_Xutil_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xv_INCLUDE_PATH
+-X11_Xv_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xv_LIB
+-X11_Xv_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_Xxf86misc_LIB
+-X11_Xxf86misc_LIB-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_dpms_INCLUDE_PATH
+-X11_dpms_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_xf86misc_INCLUDE_PATH
+-X11_xf86misc_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-//Advanced flag for variable: X11_xf86vmode_INCLUDE_PATH
+-X11_xf86vmode_INCLUDE_PATH-ADVANCED:INTERNAL=1
+-__pkg_config_checked_FTGL:INTERNAL=1
+-
diff --git a/packages/graphics/libprojectM/patches/libprojectM-04-fix-pkgconfig.patch b/packages/graphics/libprojectM/patches/libprojectM-04-fix-pkgconfig.patch
new file mode 100644
index 0000000000..5d8f6bfc01
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-04-fix-pkgconfig.patch
@@ -0,0 +1,17 @@
+--- projectm/libprojectM.pc.in.orig 2015-03-16 14:02:55.733369674 +0100
++++ projectm/libprojectM.pc.in 2015-03-16 14:03:42.685370237 +0100
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@LIB_INSTALL_DIR@
++libdir=@CMAKE_INSTALL_PREFIX@/lib
+ includedir=@CMAKE_INSTALL_PREFIX@/include
+ pkgdatadir=@CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@
+ sysconfdir=@CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@
+@@ -9,5 +9,5 @@
+ Version: 2.0.0
+ Description: projectM - OpenGL Milkdrop
+ Requires:
+-Libs: -L${libdir} -lprojectM
++Libs: -L${libdir} -lprojectM -lMilkdropPresetFactory -lprojectM -lNativePresetFactory -lRenderer -lm
+ Cflags: -I${includedir}
diff --git a/packages/graphics/libprojectM/patches/libprojectM-04-fix-pkgconfig.patch.old b/packages/graphics/libprojectM/patches/libprojectM-04-fix-pkgconfig.patch.old
new file mode 100644
index 0000000000..77cefd1310
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-04-fix-pkgconfig.patch.old
@@ -0,0 +1,17 @@
+--- projectm/libprojectM.pc.in.orig 2015-03-16 14:02:55.733369674 +0100
++++ projectm/libprojectM.pc.in 2015-03-16 14:03:42.685370237 +0100
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=@CMAKE_INSTALL_PREFIX@
+-libdir=@LIB_INSTALL_DIR@
++libdir=@CMAKE_INSTALL_PREFIX@/lib
+ includedir=@CMAKE_INSTALL_PREFIX@/include
+ pkgdatadir=@CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@
+ sysconfdir=@CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@
+@@ -9,5 +9,5 @@
+ Version: 2.0.0
+ Description: projectM - OpenGL Milkdrop
+ Requires:
+-Libs: -L${libdir} -lprojectM
++Libs: -L${libdir} -lprojectM -lMilkdropPresetFactory -lNativePresetFactory -lRenderer -lm
+ Cflags: -I${includedir}
diff --git a/packages/graphics/libprojectM/patches/libprojectM-05-install-renderlib.patch b/packages/graphics/libprojectM/patches/libprojectM-05-install-renderlib.patch
new file mode 100644
index 0000000000..58a0188f3f
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-05-install-renderlib.patch
@@ -0,0 +1,9 @@
+--- projectm/Renderer/CMakeLists.txt.orig 2015-03-16 13:30:27.909346320 +0100
++++ projectm/Renderer/CMakeLists.txt 2015-03-16 13:30:57.221346672 +0100
+@@ -14,3 +14,6 @@
+ ADD_LIBRARY(Renderer STATIC ${Renderer_SOURCES})
+ SET_TARGET_PROPERTIES(Renderer PROPERTIES VERSION 2.00 SOVERSION 2)
+ TARGET_LINK_LIBRARIES(Renderer m)
++IF(BUILD_PROJECTM_STATIC)
++ INSTALL(TARGETS Renderer DESTINATION lib${LIB_SUFFIX})
++endif()
diff --git a/packages/graphics/libprojectM/patches/libprojectM-06-install-nativefactory.patch b/packages/graphics/libprojectM/patches/libprojectM-06-install-nativefactory.patch
new file mode 100644
index 0000000000..3afde598ef
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-06-install-nativefactory.patch
@@ -0,0 +1,9 @@
+--- projectm/NativePresetFactory/CMakeLists.txt.orig 2015-03-16 13:31:17.965346920 +0100
++++ projectm/NativePresetFactory/CMakeLists.txt 2015-03-16 13:31:38.921347172 +0100
+@@ -13,3 +13,6 @@
+ ADD_LIBRARY(NativePresetFactory STATIC ${NativePresetFactory_SOURCES})
+ SET_TARGET_PROPERTIES(NativePresetFactory PROPERTIES VERSION 2.00 SOVERSION 2)
+ TARGET_LINK_LIBRARIES(NativePresetFactory Renderer m)
++IF(BUILD_PROJECTM_STATIC)
++ INSTALL(TARGETS NativePresetFactory DESTINATION lib${LIB_SUFFIX})
++endif()
diff --git a/packages/graphics/libprojectM/patches/libprojectM-07-install-milkdropfactory.patch b/packages/graphics/libprojectM/patches/libprojectM-07-install-milkdropfactory.patch
new file mode 100644
index 0000000000..a0b1b6c310
--- /dev/null
+++ b/packages/graphics/libprojectM/patches/libprojectM-07-install-milkdropfactory.patch
@@ -0,0 +1,9 @@
+--- projectm/MilkdropPresetFactory/CMakeLists.txt.orig 2015-03-16 13:27:41.557344326 +0100
++++ projectm/MilkdropPresetFactory/CMakeLists.txt 2015-03-16 13:31:00.769346714 +0100
+@@ -15,3 +15,6 @@
+ ADD_LIBRARY(MilkdropPresetFactory STATIC ${MilkdropPresetFactory_SOURCES})
+ SET_TARGET_PROPERTIES(MilkdropPresetFactory PROPERTIES VERSION 2.00 SOVERSION 2)
+ TARGET_LINK_LIBRARIES(MilkdropPresetFactory Renderer)
++IF(BUILD_PROJECTM_STATIC)
++ INSTALL(TARGETS MilkdropPresetFactory DESTINATION lib${LIB_SUFFIX})
++endif()
diff --git a/packages/mediacenter/kodi-binary-addons/screensavers.rsxs/package.mk b/packages/mediacenter/kodi-binary-addons/screensavers.rsxs/package.mk
new file mode 100644
index 0000000000..526651b8fe
--- /dev/null
+++ b/packages/mediacenter/kodi-binary-addons/screensavers.rsxs/package.mk
@@ -0,0 +1,62 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
+#
+# OpenELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# OpenELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC. If not, see .
+################################################################################
+
+PKG_NAME="screensavers.rsxs"
+PKG_VERSION="195e0ec"
+PKG_REV="1"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="http://www.kodi.tv"
+PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
+PKG_DEPENDS_TARGET="toolchain kodi-platform"
+PKG_PRIORITY="optional"
+PKG_SECTION=""
+PKG_SHORTDESC="screensavers.rsxs"
+PKG_LONGDESC="screensavers.rsxs"
+PKG_AUTORECONF="no"
+
+PKG_IS_ADDON="yes"
+PKG_ADDON_TYPE="xbmc.ui.screensaver"
+
+if [ "$OPENGL" = "no" ] ; then
+ exit 0
+fi
+
+configure_target() {
+ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
+ -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
+ ..
+}
+
+addon() {
+ for _ADDON in $PKG_BUILD/.install_pkg/usr/share/kodi/addons/* ; do
+ _ADDON_ID=$(basename $_ADDON)
+
+ mkdir -p $ADDON_BUILD/$_ADDON_ID/
+ cp -PR $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$_ADDON_ID/* $ADDON_BUILD/$_ADDON_ID/
+ cp -PL $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$_ADDON_ID/*.so $ADDON_BUILD/$_ADDON_ID/
+
+ MULTI_ADDONS="$MULTI_ADDONS $_ADDON_ID"
+ done
+
+ # export MULTI_ADDONS so create_addon knows multiple addons
+ # were installed in $ADDON_BUILD/
+ export MULTI_ADDONS="$MULTI_ADDONS"
+}
diff --git a/packages/mediacenter/kodi-binary-addons/visualization.goom/package.mk b/packages/mediacenter/kodi-binary-addons/visualization.goom/package.mk
new file mode 100644
index 0000000000..f6cce216a7
--- /dev/null
+++ b/packages/mediacenter/kodi-binary-addons/visualization.goom/package.mk
@@ -0,0 +1,52 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
+#
+# OpenELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# OpenELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC. If not, see .
+################################################################################
+
+PKG_NAME="visualization.goom"
+PKG_VERSION="fb5933b"
+PKG_REV="1"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/notspiff/visualization.goom"
+PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
+PKG_DEPENDS_TARGET="toolchain kodi-platform"
+PKG_PRIORITY="optional"
+PKG_SECTION=""
+PKG_SHORTDESC="visualization.goom"
+PKG_LONGDESC="visualization.goom"
+PKG_AUTORECONF="no"
+
+PKG_IS_ADDON="yes"
+PKG_ADDON_TYPE="xbmc.player.musicviz"
+
+if [ "$OPENGL" = "no" ] ; then
+ exit 0
+fi
+
+configure_target() {
+ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
+ -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
+ ..
+}
+
+addon() {
+ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
+ cp -PR $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
+ cp -PL $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/*.so $ADDON_BUILD/$PKG_ADDON_ID/
+}
diff --git a/packages/mediacenter/kodi-binary-addons/visualization.projectm/package.mk b/packages/mediacenter/kodi-binary-addons/visualization.projectm/package.mk
new file mode 100644
index 0000000000..990d0ef81d
--- /dev/null
+++ b/packages/mediacenter/kodi-binary-addons/visualization.projectm/package.mk
@@ -0,0 +1,56 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
+#
+# OpenELEC is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# OpenELEC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC. If not, see .
+################################################################################
+
+PKG_NAME="visualization.projectm"
+PKG_VERSION="87b9a6d"
+PKG_REV="1"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/notspiff/visualization.projectm"
+PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
+PKG_DEPENDS_TARGET="toolchain kodi-platform libprojectM"
+PKG_PRIORITY="optional"
+PKG_SECTION=""
+PKG_SHORTDESC="visualization.projectm"
+PKG_LONGDESC="visualization.projectm"
+PKG_AUTORECONF="no"
+
+PKG_IS_ADDON="yes"
+PKG_ADDON_TYPE="xbmc.player.musicviz"
+
+if [ "$OPENGL" = "no" ] ; then
+ exit 0
+fi
+
+pre_configure_target() {
+ export LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"`
+}
+
+configure_target() {
+ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
+ -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
+ ..
+}
+
+addon() {
+ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
+ cp -PR $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
+ cp -PL $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/*.so $ADDON_BUILD/$PKG_ADDON_ID/
+}
diff --git a/packages/mediacenter/kodi-binary-addons/visualization.projectm/patches/visualization.projectm-01-Revert-changed-get-rid-of-DATAPATH-definition.patch b/packages/mediacenter/kodi-binary-addons/visualization.projectm/patches/visualization.projectm-01-Revert-changed-get-rid-of-DATAPATH-definition.patch
new file mode 100644
index 0000000000..e0e1a8658f
--- /dev/null
+++ b/packages/mediacenter/kodi-binary-addons/visualization.projectm/patches/visualization.projectm-01-Revert-changed-get-rid-of-DATAPATH-definition.patch
@@ -0,0 +1,94 @@
+From 79c3a7d5e2d3ae0274a7122246a6922b74e8cdaf Mon Sep 17 00:00:00 2001
+From: Stefan Saraev
+Date: Sat, 4 Jul 2015 21:54:09 +0300
+Subject: [PATCH] Revert "changed: get rid of DATAPATH definition"
+
+This reverts commit 60467a6492adb32b7487274ceaec4f76c13eec1a.
+---
+ CMakeLists.txt | 2 ++
+ src/Main.cpp | 28 +++-------------------------
+ 2 files changed, 5 insertions(+), 25 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 77bcb6e..d73d069 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,6 +13,8 @@ find_package(GLEW REQUIRED)
+ find_package(ProjectM REQUIRED)
+
+ add_definitions(-DHAS_SDL_OPENGL)
++set(DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/xbmc/addons/visualization.projectm/resources")
++add_definitions(-DDATAPATH="${DATA_PATH}")
+
+ set(INCLUDES ${OpenGL_INCLUDE_DIR}
+ ${GLEW_INCLUDE_DIR}
+diff --git a/src/Main.cpp b/src/Main.cpp
+index 449cb85..81205dc 100644
+--- a/src/Main.cpp
++++ b/src/Main.cpp
+@@ -55,7 +55,6 @@ d4rk@xbmc.org
+
+ #include
+ #include
+-#include
+ #include
+ #include "libprojectM/projectM.hpp"
+ #include
+@@ -79,8 +78,6 @@ bool lastLockStatus;
+ int lastPresetIdx;
+ unsigned int lastLoggedPresetIdx;
+
+-ADDON::CHelper_libXBMC_addon *XBMC = NULL;
+-
+ //-- Create -------------------------------------------------------------------
+ // Called once when the visualisation is created by XBMC. Do any setup here.
+ //-----------------------------------------------------------------------------
+@@ -89,15 +86,6 @@ extern "C" ADDON_STATUS ADDON_Create(void* hdl, void* props)
+ if (!props)
+ return ADDON_STATUS_UNKNOWN;
+
+- if (!XBMC)
+- XBMC = new ADDON::CHelper_libXBMC_addon;
+-
+- if (!XBMC->RegisterMe(hdl))
+- {
+- delete XBMC, XBMC=NULL;
+- return ADDON_STATUS_PERMANENT_FAILURE;
+- }
+-
+ VIS_PROPS* visprops = (VIS_PROPS*)props;
+
+ strcpy(g_visName, visprops->name);
+@@ -109,13 +97,8 @@ extern "C" ADDON_STATUS ADDON_Create(void* hdl, void* props)
+ g_configPM.windowHeight = visprops->height;
+ g_configPM.aspectCorrection = true;
+ g_configPM.easterEgg = 0.0;
+- char path[1024];
+- XBMC->GetSetting("__addonpath__", path);
+- strcat(path,"/resources");
+- g_configPM.titleFontURL = path;
+- g_configPM.titleFontURL += "/Vera.ttf";
+- g_configPM.menuFontURL = path;
+- g_configPM.menuFontURL += "/VeraMono.ttf";
++ g_configPM.titleFontURL = DATAPATH"/Vera.ttf";
++ g_configPM.menuFontURL = DATAPATH"/VeraMono.ttf";
+ lastLoggedPresetIdx = lastPresetIdx;
+
+ return ADDON_STATUS_NEED_SAVEDSETTINGS;
+@@ -351,12 +334,7 @@ void ChoosePresetPack(int pvalue)
+ {
+ g_UserPackFolder = false;
+ if (pvalue == 0)
+- {
+- char path[1024];
+- XBMC->GetSetting("__addonpath__", path);
+- g_configPM.presetURL = path;
+- g_configPM.presetURL += "/resources/presets";
+- }
++ g_configPM.presetURL = DATAPATH"/presets";
+ else if (pvalue == 1) //User preset folder has been chosen
+ g_UserPackFolder = true;
+ }
+--
+2.1.4
+
diff --git a/packages/mediacenter/kodi-binary-addons/visualization.projectm/patches/visualization.projectm-02-move-datapath-to-storage.patch b/packages/mediacenter/kodi-binary-addons/visualization.projectm/patches/visualization.projectm-02-move-datapath-to-storage.patch
new file mode 100644
index 0000000000..1942ab0eb4
--- /dev/null
+++ b/packages/mediacenter/kodi-binary-addons/visualization.projectm/patches/visualization.projectm-02-move-datapath-to-storage.patch
@@ -0,0 +1,25 @@
+From 8e396c0586e511b746e377f36817e32413b7c5aa Mon Sep 17 00:00:00 2001
+From: Stefan Saraev
+Date: Sat, 4 Jul 2015 22:21:19 +0300
+Subject: [PATCH] move datapath to /storage
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d73d069..1043f1a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ find_package(GLEW REQUIRED)
+ find_package(ProjectM REQUIRED)
+
+ add_definitions(-DHAS_SDL_OPENGL)
+-set(DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/xbmc/addons/visualization.projectm/resources")
++set(DATA_PATH "/storage/.kodi/addons/visualization.projectm/resources")
+ add_definitions(-DDATAPATH="${DATA_PATH}")
+
+ set(INCLUDES ${OpenGL_INCLUDE_DIR}
+--
+2.1.4
+
diff --git a/packages/mediacenter/kodi/patches/kodi-995.01-addonpath.patch b/packages/mediacenter/kodi/patches/kodi-995.01-addonpath.patch
new file mode 100644
index 0000000000..7e260e40cd
--- /dev/null
+++ b/packages/mediacenter/kodi/patches/kodi-995.01-addonpath.patch
@@ -0,0 +1,28 @@
+From 2a2ddb51f931d5f606638a0a3d6d76c261f09659 Mon Sep 17 00:00:00 2001
+From: Arne Morten Kvarving
+Date: Sun, 10 Aug 2014 10:01:15 +0200
+Subject: [PATCH] added: special setting __addonpath__ to
+ libXBMC_addon::GetSettings()
+
+returns the path for an addon
+---
+ xbmc/addons/AddonCallbacksAddon.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/xbmc/addons/AddonCallbacksAddon.cpp b/xbmc/addons/AddonCallbacksAddon.cpp
+index b789648..40f1dde 100644
+--- a/xbmc/addons/AddonCallbacksAddon.cpp
++++ b/xbmc/addons/AddonCallbacksAddon.cpp
+@@ -187,6 +187,12 @@ bool CAddonCallbacksAddon::GetAddonSetting(void *addonData, const char *strSetti
+ {
+ CLog::Log(LOGDEBUG, "CAddonCallbacksAddon - %s - add-on '%s' requests setting '%s'", __FUNCTION__, addonHelper->m_addon->Name().c_str(), strSettingName);
+
++ if (strcasecmp(strSettingName, "__addonpath__") == 0)
++ {
++ strcpy((char*) settingValue, addonHelper->m_addon->Path().c_str());
++ return true;
++ }
++
+ if (!addonHelper->m_addon->ReloadSettings())
+ {
+ CLog::Log(LOGERROR, "CAddonCallbacksAddon - %s - could't get settings for add-on '%s'", __FUNCTION__, addonHelper->m_addon->Name().c_str());
diff --git a/scripts/create_addon b/scripts/create_addon
index b54007e8b1..2148feb305 100755
--- a/scripts/create_addon
+++ b/scripts/create_addon
@@ -47,21 +47,8 @@ if [ -n "$PKG_ADDON_REPOVERSION" -a ! "$PKG_ADDON_REPOVERSION" = "$ADDON_VERSION
exit 0
fi
-if [ "$PKG_IS_ADDON" = "yes" ] ; then
- $SCRIPTS/build $@
-
- printf "%${BUILD_INDENT}c CREATE ADDON ($PROJECT/$TARGET_ARCH) $1\n" ' '>&$SILENT_OUT
- export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
-
- rm -rf $ADDON_BUILD
-
- if [ "$(type -t addon)" = "function" ]; then
- addon
- else
- echo "*** unsupported package format. please convert your package ***"
- exit 1
- fi
+pack_addon() {
IFS=" "
for i in $PKG_ADDON_REQUIRES; do
REQUIRES_ADDONNAME=`echo $i | cut -f1 -d ":"`
@@ -120,7 +107,7 @@ if [ "$PKG_IS_ADDON" = "yes" ] ; then
ADDON_INSTALL_DIR="$TARGET/$ADDONS/$ADDON_VERSION/$PROJECT/$TARGET_ARCH/$PKG_ADDON_ID"
if [ -f $ADDON_INSTALL_DIR/$PKG_ADDON_ID-$ADDONVER.zip ] ; then
echo "*** WARNING: $PKG_ADDON_ID-$ADDONVER.zip already exists. not overwriting it ***"
- exit 0
+ return 0
fi
cd $ADDON_BUILD
echo "*** compressing Addon $PKG_ADDON_ID ... ***"
@@ -136,4 +123,32 @@ if [ "$PKG_IS_ADDON" = "yes" ] ; then
cp $ADDON_BUILD/$PKG_ADDON_ID/icon.png $ADDON_INSTALL_DIR/icon.png
fi
fi
+}
+
+if [ "$PKG_IS_ADDON" = "yes" ] ; then
+ $SCRIPTS/build $@
+
+ printf "%${BUILD_INDENT}c CREATE ADDON ($PROJECT/$TARGET_ARCH) $1\n" ' '>&$SILENT_OUT
+ export BUILD_INDENT=$((${BUILD_INDENT:-1}+$BUILD_INDENT_SIZE))
+
+ rm -rf $ADDON_BUILD
+
+ if [ "$(type -t addon)" = "function" ]; then
+ addon
+ else
+ echo "*** unsupported package format. please convert your package ***"
+ exit 1
+ fi
+
+ # HACK for packages tat provide multiple addons like screensavers.rsxs
+ # addon's addon() in package.mk should take care for exporting
+ # MULTI_ADDONS="addon.boo1 addon.boo2 addon.boo3"
+ if [ -n "$MULTI_ADDONS" ] ; then
+ for _ADDON in $MULTI_ADDONS ; do
+ PKG_ADDON_ID=$_ADDON
+ pack_addon
+ done
+ else
+ pack_addon
+ fi
fi
diff --git a/tools/mkpkg/mkpkg_screensavers.rsxs b/tools/mkpkg/mkpkg_screensavers.rsxs
new file mode 100755
index 0000000000..7413ba198b
--- /dev/null
+++ b/tools/mkpkg/mkpkg_screensavers.rsxs
@@ -0,0 +1,43 @@
+#!/bin/sh
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+echo "getting sources..."
+ if [ ! -d screensavers.rsxs.git ]; then
+ git clone https://github.com/notspiff/screensavers.rsxs.git screensavers.rsxs.git
+ fi
+
+ cd screensavers.rsxs.git
+ git pull
+ GIT_REV=`git log -n1 --format=%h`
+ cd ..
+
+echo "copying sources..."
+ rm -rf screensavers.rsxs-$GIT_REV
+ cp -R screensavers.rsxs.git screensavers.rsxs-$GIT_REV
+
+echo "cleaning sources..."
+ rm -rf screensavers.rsxs-$GIT_REV/.git
+
+echo "packing sources..."
+ tar cvJf screensavers.rsxs-$GIT_REV.tar.xz screensavers.rsxs-$GIT_REV
+
+echo "remove temporary sourcedir..."
+ rm -rf screensavers.rsxs-$GIT_REV
diff --git a/tools/mkpkg/mkpkg_visualization.goom b/tools/mkpkg/mkpkg_visualization.goom
new file mode 100755
index 0000000000..e03298754d
--- /dev/null
+++ b/tools/mkpkg/mkpkg_visualization.goom
@@ -0,0 +1,43 @@
+#!/bin/sh
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+echo "getting sources..."
+ if [ ! -d visualization.goom.git ]; then
+ git clone https://github.com/notspiff/visualization.goom.git visualization.goom.git
+ fi
+
+ cd visualization.goom.git
+ git pull
+ GIT_REV=`git log -n1 --format=%h`
+ cd ..
+
+echo "copying sources..."
+ rm -rf visualization.goom-$GIT_REV
+ cp -R visualization.goom.git visualization.goom-$GIT_REV
+
+echo "cleaning sources..."
+ rm -rf visualization.goom-$GIT_REV/.git
+
+echo "packing sources..."
+ tar cvJf visualization.goom-$GIT_REV.tar.xz visualization.goom-$GIT_REV
+
+echo "remove temporary sourcedir..."
+ rm -rf visualization.goom-$GIT_REV
diff --git a/tools/mkpkg/mkpkg_visualization.projectm b/tools/mkpkg/mkpkg_visualization.projectm
new file mode 100755
index 0000000000..8aae31b53e
--- /dev/null
+++ b/tools/mkpkg/mkpkg_visualization.projectm
@@ -0,0 +1,43 @@
+#!/bin/sh
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+echo "getting sources..."
+ if [ ! -d visualization.projectm.git ]; then
+ git clone https://github.com/notspiff/visualization.projectm.git visualization.projectm.git
+ fi
+
+ cd visualization.projectm.git
+ git pull
+ GIT_REV=`git log -n1 --format=%h`
+ cd ..
+
+echo "copying sources..."
+ rm -rf visualization.projectm-$GIT_REV
+ cp -R visualization.projectm.git visualization.projectm-$GIT_REV
+
+echo "cleaning sources..."
+ rm -rf visualization.projectm-$GIT_REV/.git
+
+echo "packing sources..."
+ tar cvJf visualization.projectm-$GIT_REV.tar.xz visualization.projectm-$GIT_REV
+
+echo "remove temporary sourcedir..."
+ rm -rf visualization.projectm-$GIT_REV