dilfridge    14/09/16 09:14:01

  Added:               
                        libreoffice-4.3.1.2-implement--with-system-coinmp.patch
                        libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch
                        libreoffice-4.3.1.2-implement--with-system-gltf.patch
                        libreoffice-4.3.1.2-handle-collada-libs-seperately.patch
  Log:
  Version bump, thanks to Andreas Sturmlechner
  
  (Portage version: 2.2.12/cvs/Linux x86_64, signed Manifest commit with key 
84AD142F)

Revision  Changes    Path
1.1                  
app-office/libreoffice/files/libreoffice-4.3.1.2-implement--with-system-coinmp.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-implement--with-system-coinmp.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-implement--with-system-coinmp.patch?rev=1.1&content-type=text/plain

Index: libreoffice-4.3.1.2-implement--with-system-coinmp.patch
===================================================================
>From d85f513934bb5735a2c0c343fbe7dc2b9c11af3e Mon Sep 17 00:00:00 2001
From: Rene Engelhard <r...@debian.org>
Date: Wed, 6 Aug 2014 00:03:21 +0200
Subject: [PATCH] implement --with-system-coinmp

Change-Id: I02928097f049e8f3cbefbc872b570b2d2b072658
---
 RepositoryExternal.mk |   15 +++++++++++++++
 config_host.mk.in     |    3 +++
 configure.ac          |   16 ++++++++++++++--
 3 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index a9c9e53..1961829 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2250,6 +2250,8 @@ endif # ENABLE_LPSOLVE
 
 ifneq ($(ENABLE_COINMP),)
 
+ifneq ($(SYSTEM_COINMP),TRUE)
+
 define gb_LinkTarget__use_coinmp
 $(call gb_LinkTarget_use_package,$(1),coinmp)
 ifeq ($(COM),MSC)
@@ -2279,6 +2281,19 @@ $(eval $(call 
gb_Helper_register_packages_for_install,ooo,\
        coinmp \
 ))
 
+else # SYSTEM_COINMP
+
+define gb_LinkTarget__use_coinmp
+$(call gb_LinkTarget_set_include,$(1),\
+       $$(INCLUDE) \
+       $(COINMP_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(COINMP_LIBS))
+
+endef
+
+endif
+
 else
 
 gb_LinkTarget__use_coinmp :=
diff --git a/config_host.mk.in b/config_host.mk.in
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -109,6 +109,9 @@ export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
 export ENABLE_CHART_TESTS=@ENABLE_CHART_TESTS@
 export ENABLE_CMIS=@ENABLE_CMIS@
 export ENABLE_COINMP=@ENABLE_COINMP@
+export SYSTEM_COINMP=@SYSTEM_COINMP@
+export COINMP_CFLAGS=@COINMP_CFLAGS@
+export COINMP_LIBS=@COINMP_LIBS@
 export ENABLE_COLLADA=@ENABLE_COLLADA@
 export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
 export ENABLE_CUPS=@ENABLE_CUPS@
diff --git a/configure.ac b/configure.ac
index e91773f..3aadd12 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1867,6 +1867,11 @@ AC_ARG_WITH(system-lpsolve,
         [Use lpsolve already on system.]),,
     [with_system_lpsolve="$with_system_libs"])
 
+AC_ARG_WITH(system-coinmp,
+    AS_HELP_STRING([--with-system-coinmp],
+        [Use CoinMP already on system.]),,
+    [with_system_coinmp="$with_system_libs"])
+
 AC_ARG_WITH(system-liblangtag,
     AS_HELP_STRING([--with-system-liblangtag],
         [Use liblangtag library already on system.]),,
@@ -9661,12 +9666,19 @@ AC_MSG_CHECKING([whether to build with CoinMP])
 if test "$enable_coinmp" != "no"; then
     ENABLE_COINMP=TRUE
     AC_MSG_RESULT([yes])
-    # Should we check for system CoinMP ? How to do that ?
-    BUILD_TYPE="$BUILD_TYPE COINMP"
+    if test "$with_system_coinmp" = "yes"; then
+       SYSTEM_COINMP=TRUE
+       PKG_CHECK_MODULES( COINMP, coinmp )
+    else
+       BUILD_TYPE="$BUILD_TYPE COINMP"
+    fi
 else
     AC_MSG_RESULT([no])
 fi
 AC_SUBST(ENABLE_COINMP)
+AC_SUBST(SYSTEM_COINMP)
+AC_SUBST(COINMP_CFLAGS)
+AC_SUBST(COINMP_LIBS)
 
 ENABLE_LPSOLVE=
 AC_MSG_CHECKING([whether to build with lpsolve])
-- 
1.7.1



1.1                  
app-office/libreoffice/files/libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch?rev=1.1&content-type=text/plain

Index: libreoffice-4.3.1.2-upgrade-to-libgltf-0.0.1.patch
===================================================================
>From d431986bd49081581e86444af124d1d2ce90a407 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolnai=20Tam=C3=A1s?= <tamas.zol...@collabora.com>
Date: Fri, 29 Aug 2014 22:41:26 +0200
Subject: [PATCH] Upgrade libgltf to 0.0.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

News in this version:
- Solve some limitations of walkthrough mode (fdo#81425)
- Multisampling (better rendering quality, mainly at the edges)
- Better error handling (no crash in case of invalid input file)

Reviewed-on: https://gerrit.libreoffice.org/11179
Reviewed-by: Zolnai Tamás <tamas.zol...@collabora.com>
Tested-by: Zolnai Tamás <tamas.zol...@collabora.com>

Conflicts:
        download.lst
        external/libgltf/UnpackedTarball_libgltf.mk
        external/libgltf/pathces/append_shader_version.patch
        external/libgltf/pathces/missing_include.patch
        vcl/source/opengl/OpenGLContext.cxx

Change-Id: I46fdf56b00476614487fbcc04178e43e33a01794
Reviewed-on: https://gerrit.libreoffice.org/11194
Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
---
 RepositoryExternal.mk                              |  8 -----
 avmedia/source/opengl/oglframegrabber.hxx          |  4 ---
 avmedia/source/opengl/oglplayer.cxx                | 16 ++++++++--
 avmedia/source/opengl/oglplayer.hxx                |  6 ++--
 avmedia/source/opengl/oglwindow.cxx                | 36 +++++++++++----------
 avmedia/source/opengl/oglwindow.hxx                |  6 +---
 configure.ac                                       |  2 +-
 download.lst                                       |  4 +--
 external/libgltf/ExternalProject_libgltf.mk        |  2 ++
 external/libgltf/UnpackedTarball_libgltf.mk        |  2 --
 .../libgltf/pathces/append_shader_version.patch    | 37 ----------------------
 external/libgltf/pathces/missing_include.patch     | 11 -------
 include/vcl/opengl/OpenGLContext.hxx               |  2 ++
 vcl/source/opengl/OpenGLContext.cxx                |  5 +++
 14 files changed, 48 insertions(+), 93 deletions(-)
 delete mode 100644 external/libgltf/pathces/append_shader_version.patch
 delete mode 100644 external/libgltf/pathces/missing_include.patch

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index cd99108..f194fcb 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3303,11 +3303,6 @@ $(call gb_LinkTarget_use_external_project,$(1),libgltf)
 
 endef
 
-define gb_ExternalProject__use_libgltf
-$(call gb_ExternalProject_use_external_project,$(1),libgltf)
-
-endef
-
 else # SYSTEM_LIBGLTF
 
 define gb_LinkTarget__use_libgltf
@@ -3316,9 +3311,6 @@ $(call gb_LinkTarget_set_include,$(1),\
        $(LIBGLTF_CFLAGS) \
 )
 $(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
-$(call gb_LinkTarget_add_defs,$(1),\
-       -DSYSTEM_LIBGLTF \
-)
 
 endef
 
diff --git a/avmedia/source/opengl/oglframegrabber.hxx 
b/avmedia/source/opengl/oglframegrabber.hxx
index 0d38224..5beb15b 100644
--- a/avmedia/source/opengl/oglframegrabber.hxx
+++ b/avmedia/source/opengl/oglframegrabber.hxx
@@ -14,11 +14,7 @@
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/media/XFrameGrabber.hpp>
 
-#ifdef SYSTEM_LIBGLTF
-#include <libgltf/libgltf.h>
-#else
 #include <libgltf.h>
-#endif
 
 namespace avmedia { namespace ogl {
 
diff --git a/avmedia/source/opengl/oglplayer.cxx 
b/avmedia/source/opengl/oglplayer.cxx
index a052dc9..d2e600b 100644
--- a/avmedia/source/opengl/oglplayer.cxx
+++ b/avmedia/source/opengl/oglplayer.cxx
@@ -269,6 +269,12 @@ uno::Reference< media::XPlayerWindow > SAL_CALL 
OGLPlayer::createPlayerWindow( c
         return uno::Reference< media::XPlayerWindow >();
     }
 
+    if( !m_aContext.supportMultiSampling() )
+    {
+        SAL_WARN("avmedia.opengl", "Context does not support multisampling!");
+        return uno::Reference< media::XPlayerWindow >();
+    }
+
     if( !lcl_CheckOpenGLRequirements() )
     {
         SAL_WARN("avmedia.opengl", "Your platform does not have the minimal 
OpenGL requiremenets!");
@@ -287,7 +293,7 @@ uno::Reference< media::XPlayerWindow > SAL_CALL 
OGLPlayer::createPlayerWindow( c
     releaseInputFiles();
     if( nRet != 0 )
     {
-        SAL_WARN("avmedia.opengl", "Error occured while parsing *.json file! 
Error code: " << nRet);
+        SAL_WARN("avmedia.opengl", "Error occured while setting up the scene! 
Error code: " << nRet);
         return uno::Reference< media::XPlayerWindow >();
     }
     // The background color is white by default, but we need to separate the
@@ -309,6 +315,12 @@ uno::Reference< media::XFrameGrabber > SAL_CALL 
OGLPlayer::createFrameGrabber()
         return uno::Reference< media::XFrameGrabber >();
     }
 
+    if( !m_aContext.supportMultiSampling() )
+    {
+        SAL_WARN("avmedia.opengl", "Context does not support multisampling!");
+        return uno::Reference< media::XFrameGrabber >();
+    }
+
     if( !lcl_CheckOpenGLRequirements() )
     {
         SAL_WARN("avmedia.opengl", "Your platform does not have the minimal 
OpenGL requiremenets!");
@@ -324,7 +336,7 @@ uno::Reference< media::XFrameGrabber > SAL_CALL 
OGLPlayer::createFrameGrabber()
     releaseInputFiles();
     if( nRet != 0 )
     {
-        SAL_WARN("avmedia.opengl", "Error occured while parsing *.json file! 
Error code: " << nRet);
+        SAL_WARN("avmedia.opengl", "Error occured while setting up the scene! 
Error code: " << nRet);
         return uno::Reference< media::XFrameGrabber >();
     }
     glClearColor(0.5f, 0.5f, 0.5f, 0.5f);
diff --git a/avmedia/source/opengl/oglplayer.hxx 
b/avmedia/source/opengl/oglplayer.hxx
index 52aa395..465ed6b 100644
--- a/avmedia/source/opengl/oglplayer.hxx
+++ b/avmedia/source/opengl/oglplayer.hxx
@@ -14,11 +14,9 @@
 #include <cppuhelper/basemutex.hxx>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/media/XPlayer.hpp>
-#ifdef SYSTEM_LIBGLTF
-#include <libgltf/libgltf.h>
-#else
+
 #include <libgltf.h>
-#endif
+
 #include <vcl/opengl/OpenGLContext.hxx>
 #include <vcl/timer.hxx>
 
diff --git a/avmedia/source/opengl/oglwindow.cxx 
b/avmedia/source/opengl/oglwindow.cxx
index a770ff5..1092483 100644
--- a/avmedia/source/opengl/oglwindow.cxx
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -23,7 +23,6 @@ OGLWindow::OGLWindow( glTFHandle& rHandle, OpenGLContext& 
rContext, Window& rEve
     , meZoomLevel( media::ZoomLevel_ORIGINAL )
     , m_aLastMousePos(Point(0,0))
     , m_bIsOrbitMode( false )
-    , m_fCameraDistance(0.0)
 {
 }
 
@@ -267,15 +266,15 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, 
pEvent)
                     glm::vec3 vMove = vView-vEye;
                     vMove = glm::normalize(vMove);
                     vMove *= 25.0f;
-                    glm::vec3 vStrafe = glm::cross(vView-vEye, vUp);
+                    glm::vec3 vStrafe = glm::cross(vMove, vUp);
                     vStrafe = glm::normalize(vStrafe);
                     vStrafe *= 25.0f;
-                    glm::vec3 vMup = 
glm::cross(vView-vEye,glm::vec3(1.0f,0.0f,0.0f) );
-                    vMup = glm::normalize(vMup);
-                    vMup *= 25.0f;
+                    glm::vec3 vMup = vUp * 25.0f;
 
                     if( !m_bIsOrbitMode )
                     {
+                        if(nCode == KEY_E)vMoveBy += vMup*(0.0005f*fModelSize);
+                        if(nCode == KEY_Q)vMoveBy -= vMup*(0.0005f*fModelSize);
                         if(nCode == KEY_W)vMoveBy += 
vMove*(0.0005f*fModelSize);
                         if(nCode == KEY_S)vMoveBy -= 
vMove*(0.0005f*fModelSize);
                         if(nCode == KEY_A)vMoveBy -= 
vStrafe*(0.0005f*fModelSize);
@@ -283,15 +282,24 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, 
pEvent)
                     }
                     else
                     {
-                        if(nCode == KEY_E)vMoveBy += 
vMove*(0.0005f*fModelSize);
-                        if(nCode == KEY_Q)vMoveBy -= 
vMove*(0.0005f*fModelSize);
+                        bool bZoomIn = false;
+                        bool bZoomOut = false;
+                        if(nCode == KEY_E)
+                        {
+                            vMoveBy += vMove*(0.0005f*fModelSize);
+                            bZoomIn = true;
+                        }
+                        if(nCode == KEY_Q)
+                        {
+                            vMoveBy -= vMove*(0.0005f*fModelSize);
+                            bZoomOut = true;
+                        }
 
                         // Limit zooming in orbit mode
-                        m_fCameraDistance += vMoveBy.z;
-                        if ((m_fCameraDistance < 0.5 * fModelSize && vMoveBy.z 
< 0.0 ) ||
-                            (m_fCameraDistance > 2 * fModelSize && vMoveBy.z > 
0.0 ))
+                        float fCameraDistFromModelGlobe = glm::length(vEye + 
vMoveBy - vView) - fModelSize / 2.0f;
+                        if ((fCameraDistFromModelGlobe < 0.5 * fModelSize && 
bZoomIn ) ||
+                            (fCameraDistFromModelGlobe > 2 * fModelSize && 
bZoomOut ))
                         {
-                            m_fCameraDistance -= vMoveBy.z;
                             vMoveBy = glm::vec3(0.0);
                         }
                     }
@@ -333,12 +341,6 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, 
pEvent)
                 {
                     gltf_orbit_mode_start(&m_rHandle);
                     m_bIsOrbitMode = true;
-                    // Set default camera distance
-                    glm::vec3 vEye;
-                    glm::vec3 vView;
-                    glm::vec3 vUp;
-                    gltf_get_camera_pos(&m_rHandle, &vEye,&vView,&vUp);
-                    m_fCameraDistance = vEye.z - 
gltf_get_model_center_pos(&m_rHandle)->z - 
(gltf_get_model_size(&m_rHandle)/2.0);
                 }
             }
             else if(nCode == KEY_F)
diff --git a/avmedia/source/opengl/oglwindow.hxx 
b/avmedia/source/opengl/oglwindow.hxx
index ae86083..8b15813 100644
--- a/avmedia/source/opengl/oglwindow.hxx
+++ b/avmedia/source/opengl/oglwindow.hxx
@@ -17,11 +17,8 @@
 #include <com/sun/star/media/XPlayerWindow.hpp>
 #include <com/sun/star/media/ZoomLevel.hpp>
 
-#ifdef SYSTEM_LIBGLTF
-#include <libgltf/libgltf.h>
-#else
 #include <libgltf.h>
-#endif
+
 #include <vcl/opengl/OpenGLContext.hxx>
 #include <vcl/syschild.hxx>
 
@@ -77,7 +74,6 @@ private:
     com::sun::star::media::ZoomLevel meZoomLevel;
     Point m_aLastMousePos;
     bool m_bIsOrbitMode;
-    double m_fCameraDistance;
 };
 
 } // namespace ogl
diff --git a/configure.ac b/configure.ac
index b6e8124..9cd589b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10572,7 +10572,7 @@ if test "x$enable_gltf" != "xno" -a $_os != Darwin -a 
$_os != iOS -a $_os != And
     AC_DEFINE(HAVE_FEATURE_GLTF,1)
     if test "$with_system_libgltf" = "yes"; then
        SYSTEM_LIBGLTF=TRUE
-       PKG_CHECK_MODULES( LIBGLTF, libgltf-0.0 )
+       PKG_CHECK_MODULES( LIBGLTF, [libgltf-0.0 >= 0.0.1] )
     else
        BUILD_TYPE="$BUILD_TYPE LIBGLTF"
     fi
diff --git a/download.lst b/download.lst
index bc2b383..f413a57 100644
--- a/download.lst
+++ b/download.lst
@@ -87,8 +87,8 @@ export LIBATOMIC_OPS_TARBALL := libatomic_ops-7_2d.zip
 export LIBEOT_MD5SUM := aa24f5dd2a2992f4a116aa72af817548
 export LIBEOT_TARBALL := libeot-0.01.tar.bz2
 export LIBEXTTEXTCAT_TARBALL := 
ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
-export LIBGLTF_MD5SUM := ca5436e916bfe70694adfe2607782786
-export LIBGLTF_TARBALL := libgltf-0.0.0.tar.bz2
+export LIBGLTF_MD5SUM := 03821c9c827e647fb5fedb12496e0067
+export LIBGLTF_TARBALL := libgltf-0.0.1.tar.bz2
 export LIBLANGTAG_TARBALL := 
36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
 export LIBXMLSEC_TARBALL := 
1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
 export LIBXML_TARBALL := 9c0cfef285d5c4a5c80d00904ddab380-libxml2-2.9.1.tar.gz
diff --git a/external/libgltf/ExternalProject_libgltf.mk 
b/external/libgltf/ExternalProject_libgltf.mk
index 548487b..62e25a3 100644
--- a/external/libgltf/ExternalProject_libgltf.mk
+++ b/external/libgltf/ExternalProject_libgltf.mk
@@ -63,6 +63,8 @@ $(call gb_ExternalProject_get_state_target,libgltf,build) :
                export CPPFLAGS='$(libgltf_CPPFLAGS)' \
                && export PKG_CONFIG="" \
                && ./configure \
+                       --disable-shared \
+                       --enable-static \
                        --with-pic \
                        --disable-debug \
                        --disable-werror \
diff --git a/external/libgltf/UnpackedTarball_libgltf.mk 
b/external/libgltf/UnpackedTarball_libgltf.mk
index 42c821b..176c1d1 100644
--- a/external/libgltf/UnpackedTarball_libgltf.mk
+++ b/external/libgltf/UnpackedTarball_libgltf.mk
@@ -16,8 +16,6 @@ $(eval $(call 
gb_UnpackedTarball_set_patchflags,libgltf,--binary))
 $(eval $(call gb_UnpackedTarball_set_patchlevel,libgltf,1))
 
 $(eval $(call gb_UnpackedTarball_add_patches,libgltf,\
-       external/libgltf/pathces/missing_include.patch \
-       external/libgltf/pathces/append_shader_version.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/libgltf/pathces/append_shader_version.patch 
b/external/libgltf/pathces/append_shader_version.patch
deleted file mode 100644
index 27f0cc6..0000000
--- a/external/libgltf/pathces/append_shader_version.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -ur libgltf.org/src/Shaders.cpp libgltf/src/Shaders.cpp
---- libgltf.org/src/Shaders.cpp        2014-08-18 09:19:48.323955939 +0200
-+++ libgltf/src/Shaders.cpp    2014-08-18 09:20:46.711953465 +0200
-@@ -11,6 +11,7 @@
- 
- #include <GL/glew.h>
- #include <cstdio>
-+#include <cstring>
- 
- namespace libgltf
- {
-@@ -166,7 +167,24 @@
-                                   unsigned int shaderId)
- {
-     GLint iGLSize = iSize;
--    glShaderSource(shaderId, 1, &pShader, &iGLSize);
-+    if( strstr(pShader,"#version") == 0 )
-+    {
-+        const GLchar* aSources[] = {
-+            "#version 130\n",
-+            pShader,
-+        };
-+
-+        const GLint aSizes[] = {
-+            strlen("#version 130\n"),
-+            iGLSize,
-+        };
-+
-+        glShaderSource(shaderId, 2, &aSources[0], &aSizes[0]);
-+    }
-+    else
-+    {
-+        glShaderSource(shaderId, 1, &pShader, &iGLSize);
-+    }
-     glCompileShader(shaderId);
-     int iStatus = 0;
-     glGetShaderiv(shaderId, GL_COMPILE_STATUS, &iStatus);
diff --git a/external/libgltf/pathces/missing_include.patch 
b/external/libgltf/pathces/missing_include.patch
deleted file mode 100644
index 8b05224..0000000
--- a/external/libgltf/pathces/missing_include.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur libgltf.org/src/Shaders.cpp libgltf/src/Shaders.cpp
---- libgltf.org/src/Shaders.cpp        2014-08-05 11:40:30.387537876 +0200
-+++ libgltf/src/Shaders.cpp    2014-08-05 11:41:13.887536123 +0200
-@@ -10,6 +10,7 @@
- #include "Shaders.h"
- 
- #include <GL/glew.h>
-+#include <cstdio>
- 
- namespace libgltf
- {
diff --git a/include/vcl/opengl/OpenGLContext.hxx 
b/include/vcl/opengl/OpenGLContext.hxx
index 8a7eb55..f1e0bd2 100644
--- a/include/vcl/opengl/OpenGLContext.hxx
+++ b/include/vcl/opengl/OpenGLContext.hxx
@@ -166,6 +166,8 @@ public:
         return mbInitialized;
     }
 
+    bool supportMultiSampling() const;
+
     static SystemWindowData generateWinData(Window* pParent);
 private:
     SAL_DLLPRIVATE bool initWindow();
diff --git a/vcl/source/opengl/OpenGLContext.cxx 
b/vcl/source/opengl/OpenGLContext.cxx
index 974f913..338edc3 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -833,4 +833,9 @@ void OpenGLContext::show()
         m_pWindow->Show();
 }
 
+bool OpenGLContext::supportMultiSampling() const
+{
+    return m_aGLWin.bMultiSampleSupported;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-- 
2.1.0




1.1                  
app-office/libreoffice/files/libreoffice-4.3.1.2-implement--with-system-gltf.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-implement--with-system-gltf.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-implement--with-system-gltf.patch?rev=1.1&content-type=text/plain

Index: libreoffice-4.3.1.2-implement--with-system-gltf.patch
===================================================================
>From 2378f45d70c9ce4a093fd6b09216c1cd4563ebe2 Mon Sep 17 00:00:00 2001
From: Rene Engelhard <r...@debian.org>
Date: Tue, 5 Aug 2014 20:05:35 +0200
Subject: [PATCH] implement --with-system-gltf

Change-Id: Ic842006b28f8043bcbbaa81ab5a20e15aa52ac82
(cherry picked from commit 97bda8e081fd746e9ef743b165b5bf621fc21fbb)
---
 RepositoryExternal.mk                     | 18 ++++++++++++++++++
 avmedia/source/opengl/oglframegrabber.hxx |  4 ++++
 avmedia/source/opengl/oglplayer.hxx       |  4 ++++
 avmedia/source/opengl/oglwindow.hxx       |  4 ++++
 config_host.mk.in                         |  3 +++
 configure.ac                              | 15 ++++++++++++++-
 6 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index ff50598..b42dce2 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3281,6 +3281,8 @@ endif # DESKTOP
 
 ifeq ($(ENABLE_GLTF),TRUE)
 
+ifneq ($(SYSTEM_LIBGLTF),TRUE)
+
 define gb_LinkTarget__use_libgltf
 $(call gb_LinkTarget_set_include,$(1),\
     -I$(call gb_UnpackedTarball_get_dir,libgltf)/inc \
@@ -3306,6 +3308,22 @@ $(call 
gb_ExternalProject_use_external_project,$(1),libgltf)
 
 endef
 
+else # SYSTEM_LIBGLTF
+
+define gb_LinkTarget__use_libgltf
+$(call gb_LinkTarget_set_include,$(1),\
+       $$(INCLUDE) \
+       $(LIBGLTF_CFLAGS) \
+)
+$(call gb_LinkTarget_add_libs,$(1),$(LIBGLTF_LIBS))
+$(call gb_LinkTarget_add_defs,$(1),\
+       -DSYSTEM_LIBGLTF \
+)
+
+endef
+
+endif # SYSTEN_LIBGLTF
+
 define gb_LinkTarget__use_opencollada_parser
 $(call gb_LinkTarget_set_include,$(1),\
        -I$(call 
gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
diff --git a/avmedia/source/opengl/oglframegrabber.hxx 
b/avmedia/source/opengl/oglframegrabber.hxx
index 5beb15b..0d38224 100644
--- a/avmedia/source/opengl/oglframegrabber.hxx
+++ b/avmedia/source/opengl/oglframegrabber.hxx
@@ -14,7 +14,11 @@
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/media/XFrameGrabber.hpp>
 
+#ifdef SYSTEM_LIBGLTF
+#include <libgltf/libgltf.h>
+#else
 #include <libgltf.h>
+#endif
 
 namespace avmedia { namespace ogl {
 
diff --git a/avmedia/source/opengl/oglplayer.hxx 
b/avmedia/source/opengl/oglplayer.hxx
index 03ad515..52aa395 100644
--- a/avmedia/source/opengl/oglplayer.hxx
+++ b/avmedia/source/opengl/oglplayer.hxx
@@ -14,7 +14,11 @@
 #include <cppuhelper/basemutex.hxx>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/media/XPlayer.hpp>
+#ifdef SYSTEM_LIBGLTF
+#include <libgltf/libgltf.h>
+#else
 #include <libgltf.h>
+#endif
 #include <vcl/opengl/OpenGLContext.hxx>
 #include <vcl/timer.hxx>
 
diff --git a/avmedia/source/opengl/oglwindow.hxx 
b/avmedia/source/opengl/oglwindow.hxx
index a68f667..ae86083 100644
--- a/avmedia/source/opengl/oglwindow.hxx
+++ b/avmedia/source/opengl/oglwindow.hxx
@@ -17,7 +17,11 @@
 #include <com/sun/star/media/XPlayerWindow.hpp>
 #include <com/sun/star/media/ZoomLevel.hpp>
 
+#ifdef SYSTEM_LIBGLTF
+#include <libgltf/libgltf.h>
+#else
 #include <libgltf.h>
+#endif
 #include <vcl/opengl/OpenGLContext.hxx>
 #include <vcl/syschild.hxx>
 
diff --git a/config_host.mk.in b/config_host.mk.in
index b7e5b6c..aec0fa5 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -127,6 +127,9 @@ export ENABLE_GRAPHITE=@ENABLE_GRAPHITE@
 export ENABLE_ORCUS=@ENABLE_ORCUS@
 export ENABLE_HARFBUZZ=@ENABLE_HARFBUZZ@
 export ENABLE_GLTF=@ENABLE_GLTF@
+export SYSTEM_LIBGLTF=@SYSTEM_LIBGLTF@
+export LIBGLTF_CFLAGS=@LIBGLTF_CFLAGS@
+export LIBGLTF_LIBS=@LIBGLTF_LIBS@
 export ENABLE_GSTREAMER=@ENABLE_GSTREAMER@
 export ENABLE_GSTREAMER_0_10=@ENABLE_GSTREAMER_0_10@
 export ENABLE_GTK3=@ENABLE_GTK3@
diff --git a/configure.ac b/configure.ac
index 02791ca..63e067b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1552,6 +1552,11 @@ AC_ARG_WITH(system-jpeg,
         [Use jpeg already on system.]),,
     [with_system_jpeg=auto])
 
+AC_ARG_WITH(system-libgltf,
+    AS_HELP_STRING([--with-system-libgltf],
+        [Use libgltf already on system.]),,
+    [with_system_libgltf=auto])
+
 AC_ARG_WITH(system-clucene,
     AS_HELP_STRING([--with-system-clucene],
         [Use clucene already on system.]),,
@@ -10561,7 +10566,12 @@ if test "x$enable_gltf" != "xno" -a $_os != Darwin -a 
$_os != iOS -a $_os != And
     ENABLE_GLTF=TRUE
     AC_MSG_RESULT([yes])
     AC_DEFINE(HAVE_FEATURE_GLTF,1)
-    BUILD_TYPE="$BUILD_TYPE LIBGLTF"
+    if test "$with_system_libgltf" = "yes"; then
+       SYSTEM_LIBGLTF=TRUE
+       PKG_CHECK_MODULES( LIBGLTF, libgltf-0.0 )
+    else
+       BUILD_TYPE="$BUILD_TYPE LIBGLTF"
+    fi
     # otherwise build fails in collada2gltf external because of std::shared_ptr
     if test "$have_std_shared_ptr" = "yes"; then
         BUILD_TYPE="$BUILD_TYPE COLLADA2GLTF"
@@ -10570,6 +10580,9 @@ else
     AC_MSG_RESULT([no])
 fi
 AC_SUBST(ENABLE_GLTF)
+AC_SUBST(SYSTEM_LIBGLTF)
+AC_SUBST(LIBGLTF_CFLAGS)
+AC_SUBST(LIBGLTF_LIBS)
 
 # pdf import?
 AC_MSG_CHECKING([whether to build the PDF import feature])
-- 
2.1.0




1.1                  
app-office/libreoffice/files/libreoffice-4.3.1.2-handle-collada-libs-seperately.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-handle-collada-libs-seperately.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-office/libreoffice/files/libreoffice-4.3.1.2-handle-collada-libs-seperately.patch?rev=1.1&content-type=text/plain

Index: libreoffice-4.3.1.2-handle-collada-libs-seperately.patch
===================================================================
>From 6d239ee19a4b1d9068fbd04b5a692c859142f613 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolnai=20Tam=C3=A1s?= <tamas.zol...@collabora.com>
Date: Fri, 29 Aug 2014 14:14:31 +0200
Subject: [PATCH] Handle collada libraries seperately: --disable-collada

Depends on gltf support.

(cherry picked from commit 191f0944fd8fc30493eda58c7adfdfa0b538f507)

Conflicts:
        config_host.mk.in
        sd/source/ui/func/fuinsert.cxx

Change-Id: Ief0452da3d03b0ddbca45272e5f5cd268691aeca
Reviewed-on: https://gerrit.libreoffice.org/11193
Tested-by: Rene Engelhard <r...@debian.org>
Reviewed-by: Rene Engelhard <r...@debian.org>
---
 RepositoryExternal.mk                   |  6 +++++-
 avmedia/Library_avmedia.mk              |  5 +----
 avmedia/source/framework/modeltools.cxx |  9 ++++++---
 config_host.mk.in                       |  1 +
 config_host/config_features.h.in        |  5 +++++
 configure.ac                            | 23 +++++++++++++++++++----
 include/avmedia/modeltools.hxx          |  4 ++++
 sd/source/ui/func/fuinsert.cxx          |  9 +++++++++
 8 files changed, 50 insertions(+), 12 deletions(-)

diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index b42dce2..cd99108 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3324,6 +3324,8 @@ endef
 
 endif # SYSTEN_LIBGLTF
 
+ifeq ($(ENABLE_COLLADA),TRUE)
+
 define gb_LinkTarget__use_opencollada_parser
 $(call gb_LinkTarget_set_include,$(1),\
        -I$(call 
gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
@@ -3354,7 +3356,9 @@ $(call gb_LinkTarget_use_static_libraries,$(1),\
 )
 endef
 
-endif
+endif # ENABLE_COLLADA
+
+endif # ENABLE_GLTF
 
 ### Jars ############################################################
 
diff --git a/avmedia/Library_avmedia.mk b/avmedia/Library_avmedia.mk
index 184c66c..7cc08fa 100644
--- a/avmedia/Library_avmedia.mk
+++ b/avmedia/Library_avmedia.mk
@@ -52,7 +52,7 @@ $(eval $(call gb_Library_add_exception_objects,avmedia,\
 ))
 endif
 
-ifneq (,$(filter COLLADA2GLTF,$(BUILD_TYPE)))
+ifeq ($(ENABLE_COLLADA),TRUE)
 $(eval $(call gb_Library_set_warnings_not_errors,avmedia))
 
 ifeq ($(OS),LINUX)
@@ -68,9 +68,6 @@ $(eval $(call gb_Library_use_externals,avmedia,\
        png \
 ))
 
-$(eval $(call gb_Library_add_defs,avmedia,\
-       -DENABLE_COLLADA2GLTF \
-))
 endif
 
 $(eval $(call gb_Library_add_exception_objects,avmedia,\
diff --git a/avmedia/source/framework/modeltools.cxx 
b/avmedia/source/framework/modeltools.cxx
index 6119cb7..8c4251e 100644
--- a/avmedia/source/framework/modeltools.cxx
+++ b/avmedia/source/framework/modeltools.cxx
@@ -29,7 +29,9 @@
 #include <boost/foreach.hpp>
 #include <boost/optional.hpp>
 
-#ifdef ENABLE_COLLADA2GLTF
+#include <config_features.h>
+
+#if HAVE_FEATURE_COLLADA
 #include <COLLADA2GLTFWriter.h>
 #include <GLTFAsset.h>
 #endif
@@ -42,7 +44,7 @@ using namespace boost::property_tree;
 
 namespace avmedia {
 
-#ifdef ENABLE_COLLADA2GLTF
+#if HAVE_FEATURE_COLLADA
 
 static void lcl_UnzipKmz(const OUString& rSourceURL, const OUString& 
rOutputFolderURL, OUString& o_rDaeFileURL)
 {
@@ -242,7 +244,8 @@ bool Embed3DModel( const uno::Reference<frame::XModel>& 
xModel,
         const OUString& rSourceURL, OUString& o_rEmbeddedURL)
 {
     OUString sSource = rSourceURL;
-#ifdef ENABLE_COLLADA2GLTF
+
+#if HAVE_FEATURE_COLLADA
     if( !rSourceURL.endsWithIgnoreAsciiCase(".json") )
         KmzDae2Gltf(rSourceURL, sSource);
 #endif
diff --git a/config_host.mk.in b/config_host.mk.in
index aec0fa5..36a6866 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -109,6 +109,7 @@ export ENABLE_CAIRO_CANVAS=@ENABLE_CAIRO_CANVAS@
 export ENABLE_CHART_TESTS=@ENABLE_CHART_TESTS@
 export ENABLE_CMIS=@ENABLE_CMIS@
 export ENABLE_COINMP=@ENABLE_COINMP@
+export ENABLE_COLLADA=@ENABLE_COLLADA@
 export ENABLE_CRASHDUMP=@ENABLE_CRASHDUMP@
 export ENABLE_CUPS=@ENABLE_CUPS@
 export ENABLE_CURL=@ENABLE_CURL@
diff --git a/config_host/config_features.h.in b/config_host/config_features.h.in
index 3fd1da5..f87ee27 100644
--- a/config_host/config_features.h.in
+++ b/config_host/config_features.h.in
@@ -142,4 +142,9 @@
  */
 #define HAVE_FEATURE_GLTF 0
 
+/*
+ * Whether we have COLLADA support.
+ */
+#define HAVE_FEATURE_COLLADA 0
+
 #endif
diff --git a/configure.ac b/configure.ac
index 63e067b..b6e8124 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1395,6 +1395,10 @@ AC_ARG_ENABLE(gltf,
     AS_HELP_STRING([--disable-gltf],
         [Determines whether to build libraries related to glTF 3D model 
rendering.]))
 
+AC_ARG_ENABLE(collada,
+    AS_HELP_STRING([--disable-collada],
+        [Disable collada support (Rendering 3D models stored in *.dae and 
*.kmz format).]))
+
 dnl ===================================================================
 dnl Optional Packages (--with/without-)
 dnl ===================================================================
@@ -10572,10 +10576,6 @@ if test "x$enable_gltf" != "xno" -a $_os != Darwin -a 
$_os != iOS -a $_os != And
     else
        BUILD_TYPE="$BUILD_TYPE LIBGLTF"
     fi
-    # otherwise build fails in collada2gltf external because of std::shared_ptr
-    if test "$have_std_shared_ptr" = "yes"; then
-        BUILD_TYPE="$BUILD_TYPE COLLADA2GLTF"
-    fi
 else
     AC_MSG_RESULT([no])
 fi
@@ -10584,6 +10584,21 @@ AC_SUBST(SYSTEM_LIBGLTF)
 AC_SUBST(LIBGLTF_CFLAGS)
 AC_SUBST(LIBGLTF_LIBS)
 
+dnl ===================================================================
+dnl Check whether to enable COLLADA support
+dnl ===================================================================
+AC_MSG_CHECKING([whether to enable COLLADA support])
+ENABLE_COLLADA=
+if test "$enable_collada" != "no" -a "$ENABLE_GLTF" = "TRUE" -a 
"$have_std_shared_ptr" = "yes"; then
+    AC_MSG_RESULT([yes])
+    ENABLE_COLLADA=TRUE
+    AC_DEFINE(HAVE_FEATURE_COLLADA,1)
+    BUILD_TYPE="$BUILD_TYPE COLLADA2GLTF"
+else
+    AC_MSG_RESULT([no])
+fi
+AC_SUBST(ENABLE_COLLADA)
+
 # pdf import?
 AC_MSG_CHECKING([whether to build the PDF import feature])
 ENABLE_PDFIMPORT=
diff --git a/include/avmedia/modeltools.hxx b/include/avmedia/modeltools.hxx
index ed2de44..526b240 100644
--- a/include/avmedia/modeltools.hxx
+++ b/include/avmedia/modeltools.hxx
@@ -11,9 +11,13 @@
 #include <com/sun/star/frame/XModel.hpp>
 #include <avmedia/avmediadllapi.h>
 
+#include <config_features.h>
+
 namespace avmedia {
 
+#if HAVE_FEATURE_COLLADA
 bool KmzDae2Gltf(const OUString& rSourceURL, OUString& o_rOutput);
+#endif
 
 bool AVMEDIA_DLLPUBLIC Embed3DModel(
     const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel>& 
xModel,
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index cd03700..9c1c4ad 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -789,10 +789,19 @@ void FuInsert3DModel::DoExecute( SfxRequest& )
     sfx2::FileDialogHelper aDlg( 
ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, 0 );
 
     aDlg.SetTitle( "Insert 3D Model" );
+
+#if HAVE_FEATURE_COLLADA
     aDlg.AddFilter( "All supported formats", "*.json;*.dae;*.kmz"  );
+#else
+    aDlg.AddFilter( "All supported formats", "*.json"  );
+#endif
+
     aDlg.AddFilter( "JSON - GL Transmission Format", "*.json" );
+
+#if HAVE_FEATURE_COLLADA
     aDlg.AddFilter( "DAE - COLLADA", "*.dae" );
     aDlg.AddFilter( "KMZ - Keyhole Markup language Zipped", "*.kmz"  );
+#endif
 
     OUString sURL;
     if( aDlg.Execute() == ERRCODE_NONE )
-- 
2.1.0





Reply via email to