diff -Nru openscenegraph-3.2.0~rc1/debian/changelog openscenegraph-3.2.0~rc1/debian/changelog --- openscenegraph-3.2.0~rc1/debian/changelog 2014-02-17 22:38:23.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/changelog 2014-09-29 11:16:51.000000000 +0000 @@ -1,3 +1,15 @@ +openscenegraph (3.2.0~rc1-4ubuntu0.1) trusty; urgency=low + + * Add support for building on armhf by building with OpenGL ES 2.0 + (LP: #1284190). + * Backport part of a commit to not build osgframerenderer example. + * Add change-typedef.patch to fix conflicting typedefs for GLdouble + with OpenGL ES 2.0 + * Exclude freeglut3-dev from dependencies for armhf + * Add patch to fix FreeType library detection (LP: #1339264). + + -- Saikrishna Arcot Wed, 06 Aug 2014 17:41:46 -0500 + openscenegraph (3.2.0~rc1-4) unstable; urgency=low * Added patch for fixing a multithreading initialization bug in the diff -Nru openscenegraph-3.2.0~rc1/debian/control openscenegraph-3.2.0~rc1/debian/control --- openscenegraph-3.2.0~rc1/debian/control 2014-02-17 20:12:29.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/control 2014-09-29 11:16:51.000000000 +0000 @@ -1,7 +1,8 @@ Source: openscenegraph Section: devel Priority: optional -Maintainer: Loic Dachary (OuoU) +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Loic Dachary (OuoU) Uploaders: Manuel A. Fernandez Montecelo , Alberto Luaces , Ola Lundqvist Build-Depends: debhelper (>= 7.0.0), dpkg-dev (>= 1.16.1~), @@ -20,8 +21,10 @@ libgdal-dev, libx11-dev, libxmu-dev, - freeglut3-dev, - libgl1-mesa-dev | libgl-dev, + freeglut3-dev [!armhf], + libgl1-mesa-dev [!armhf] | libgl-dev [!armhf], + libegl1-mesa-dev [armhf], + libgles2-mesa-dev [armhf], libxine2-dev, libavcodec-dev, libswscale-dev, @@ -70,7 +73,8 @@ Architecture: any Depends: ${misc:Depends}, libopenthreads-dev, - libgl1-mesa-dev | libgl-dev, + libgl1-mesa-dev [!armhf] | libgl-dev [!armhf], + libgles2-mesa-dev [armhf], libglu-dev, libopenscenegraph99 (= ${binary:Version}) Suggests: openscenegraph-doc, diff -Nru openscenegraph-3.2.0~rc1/debian/patches/change-typedef.patch openscenegraph-3.2.0~rc1/debian/patches/change-typedef.patch --- openscenegraph-3.2.0~rc1/debian/patches/change-typedef.patch 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/patches/change-typedef.patch 2014-09-29 11:16:51.000000000 +0000 @@ -0,0 +1,13 @@ +Index: openscenegraph/OpenSceneGraph/include/osg/GL +=================================================================== +--- openscenegraph.orig/OpenSceneGraph/include/osg/GL 2014-08-05 16:58:36.000000000 -0500 ++++ openscenegraph/OpenSceneGraph/include/osg/GL 2014-08-06 06:45:29.857287930 -0500 +@@ -168,7 +168,7 @@ + // add defines for OpenGL targets that don't define them, just to ease compatibility across targets + #ifndef GL_DOUBLE + #define GL_DOUBLE 0x140A +- typedef double GLdouble; ++ #define GLdouble double + #endif + + #ifndef GL_INT diff -Nru openscenegraph-3.2.0~rc1/debian/patches/dont-build-osgframerenderer-on-gles.patch openscenegraph-3.2.0~rc1/debian/patches/dont-build-osgframerenderer-on-gles.patch --- openscenegraph-3.2.0~rc1/debian/patches/dont-build-osgframerenderer-on-gles.patch 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/patches/dont-build-osgframerenderer-on-gles.patch 2014-09-29 11:16:51.000000000 +0000 @@ -0,0 +1,24 @@ +Description: Don't build the osgframerenderer example if building for + OpenGL ES 1, OpenGL ES 2, or OpenGL 3. This is a portion of the full commit. +Origin: upstream, https://github.com/openscenegraph/osg/commit/3f812e42c7bb257e1e19604318becd359d21f469 + +Index: openscenegraph/OpenSceneGraph/examples/CMakeLists.txt +=================================================================== +--- openscenegraph.orig/OpenSceneGraph/examples/CMakeLists.txt 2014-07-26 08:49:44.583787000 -0500 ++++ openscenegraph/OpenSceneGraph/examples/CMakeLists.txt 2014-08-03 11:41:48.439983802 -0500 +@@ -46,7 +46,6 @@ + ADD_SUBDIRECTORY(osgfont) + ADD_SUBDIRECTORY(osgforest) + ADD_SUBDIRECTORY(osgfxbrowser) +- ADD_SUBDIRECTORY(osgframerenderer) + ADD_SUBDIRECTORY(osgoutline) + ADD_SUBDIRECTORY(osggameoflife) + ADD_SUBDIRECTORY(osggeometry) +@@ -173,6 +172,7 @@ + + IF(NOT OSG_GLES1_AVAILABLE AND NOT OSG_GLES2_AVAILABLE AND NOT OSG_GL3_AVAILABLE) + ADD_SUBDIRECTORY(osgscreencapture) ++ ADD_SUBDIRECTORY(osgframerenderer) + ADD_SUBDIRECTORY(osgmotionblur) + ADD_SUBDIRECTORY(osgteapot) + ENDIF() diff -Nru openscenegraph-3.2.0~rc1/debian/patches/osgDB_freetype.so_no_longer_built openscenegraph-3.2.0~rc1/debian/patches/osgDB_freetype.so_no_longer_built --- openscenegraph-3.2.0~rc1/debian/patches/osgDB_freetype.so_no_longer_built 1970-01-01 00:00:00.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/patches/osgDB_freetype.so_no_longer_built 2014-09-29 11:16:51.000000000 +0000 @@ -0,0 +1,152 @@ +Index: pkg-osg/OpenSceneGraph/CMakeModules/FindFreeType.cmake +=================================================================== +--- pkg-osg.orig/OpenSceneGraph/CMakeModules/FindFreeType.cmake 2014-04-10 20:41:07.000000000 +0200 ++++ /dev/null 1970-01-01 00:00:00.000000000 +0000 +@@ -1,117 +0,0 @@ +-# - Locate FreeType library +-# This module defines +-# FREETYPE_LIBRARY, the library to link against +-# FREETYPE_FOUND, if false, do not try to link to FREETYPE +-# FREETYPE_INCLUDE_DIRS, where to find headers. +-# This is the concatenation of the paths: +-# FREETYPE_INCLUDE_DIR_ft2build +-# FREETYPE_INCLUDE_DIR_freetype2 +-# +-# $FREETYPE_DIR is an environment variable that would +-# correspond to the ./configure --prefix=$FREETYPE_DIR +-# used in building FREETYPE. +-# Created by Eric Wing. +- +-# Ugh, FreeType seems to use some #include trickery which +-# makes this harder than it should be. It looks like they +-# put ft2build.h in a common/easier-to-find location which +-# then contains a #include to a more specific header in a +-# more specific location (#include ). +-# Then from there, they need to set a bunch of #define's +-# so you can do something like: +-# #include FT_FREETYPE_H +-# Unfortunately, using CMake's mechanisms like INCLUDE_DIRECTORIES() +-# wants explicit full paths and this trickery doesn't work too well. +-# I'm going to attempt to cut out the middleman and hope +-# everything still works. +-FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h +- PATHS +- $ENV{FREETYPE_DIR} +- NO_DEFAULT_PATH +- PATH_SUFFIXES include +-) +-FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h +- PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. +- NO_DEFAULT_PATH +- PATH_SUFFIXES include +-) +-FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h +- PATHS +- /usr/local +- /usr +- /usr/local/X11R6 +- /usr/local/X11 +- /usr/X11R6 +- /usr/X11 +- /sw +- /opt/local +- /opt/csw +- /opt +- /usr/freeware +- PATH_SUFFIXES include +-) +- +-FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h +- $ENV{FREETYPE_DIR}/include/freetype2 +- NO_DEFAULT_PATH +-) +-FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h +- PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. +- NO_DEFAULT_PATH +- PATH_SUFFIXES include/freetype2 +-) +-FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h +- /usr/local/include/freetype2 +- /usr/include/freetype2 +- /usr/local/X11R6/include/freetype2 +- /usr/local/X11/include/freetype2 +- /usr/X11R6/include/freetype2 +- /usr/X11/include/freetype2 +- /sw/include/freetype2 +- /opt/local/include/freetype2 +- /opt/csw/include/freetype2 +- /opt/include/freetype2 +- /usr/freeware/include/freetype2 +-) +- +-FIND_LIBRARY(FREETYPE_LIBRARY +- NAMES freetype libfreetype freetype219 +- PATHS +- $ENV{FREETYPE_DIR} +- NO_DEFAULT_PATH +- PATH_SUFFIXES lib64 lib +-) +-FIND_LIBRARY(FREETYPE_LIBRARY +- NAMES freetype libfreetype freetype219 +- PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. +- NO_DEFAULT_PATH +- PATH_SUFFIXES lib64 lib +-) +-FIND_LIBRARY(FREETYPE_LIBRARY +- NAMES freetype libfreetype freetype219 +- PATHS +- /usr/local +- /usr +- /usr/local/X11R6 +- /usr/local/X11 +- /usr/X11R6 +- /usr/X11 +- /sw +- /opt/local +- /opt/csw +- /opt +- /usr/freeware +- PATH_SUFFIXES lib64 lib +-) +- +-IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2) +- SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}") +-ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2) +- +- +-SET(FREETYPE_FOUND "NO") +-IF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS) +- SET(FREETYPE_FOUND "YES") +-ENDIF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS) +- +- +Index: pkg-osg/OpenSceneGraph/src/osgPlugins/freetype/FreeTypeFont.cpp +=================================================================== +--- pkg-osg.orig/OpenSceneGraph/src/osgPlugins/freetype/FreeTypeFont.cpp 2014-04-10 20:41:07.000000000 +0200 ++++ pkg-osg/OpenSceneGraph/src/osgPlugins/freetype/FreeTypeFont.cpp 2014-04-10 20:42:27.000000000 +0200 +@@ -14,8 +14,10 @@ + #include "FreeTypeFont.h" + #include "FreeTypeLibrary.h" + +-#include +-#include ++#include ++#include FT_FREETYPE_H ++#include FT_OUTLINE_H ++#include FT_BBOX_H + + #include + #include +Index: pkg-osg/OpenSceneGraph/CMakeLists.txt +=================================================================== +--- pkg-osg.orig/OpenSceneGraph/CMakeLists.txt 2014-04-10 20:13:00.488008564 +0200 ++++ pkg-osg/OpenSceneGraph/CMakeLists.txt 2014-04-10 20:45:19.068026311 +0200 +@@ -512,7 +512,7 @@ + ANDROID_3RD_PARTY() + ELSE() + # Common to all platforms except android: +- FIND_PACKAGE(FreeType) ++ FIND_PACKAGE(Freetype) + FIND_PACKAGE(Inventor) + FIND_PACKAGE(Jasper) + FIND_PACKAGE(OpenEXR) diff -Nru openscenegraph-3.2.0~rc1/debian/patches/series openscenegraph-3.2.0~rc1/debian/patches/series --- openscenegraph-3.2.0~rc1/debian/patches/series 2014-02-17 22:32:02.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/patches/series 2014-09-29 11:16:51.000000000 +0000 @@ -4,3 +4,6 @@ osg_libav9.patch Upstream-fix-(b801ae)-for-bug-#736350 -p1 fix_for_multithreaded_vrml_loading +osgDB_freetype.so_no_longer_built +dont-build-osgframerenderer-on-gles.patch +change-typedef.patch diff -Nru openscenegraph-3.2.0~rc1/debian/rules openscenegraph-3.2.0~rc1/debian/rules --- openscenegraph-3.2.0~rc1/debian/rules 2014-02-17 20:12:29.000000000 +0000 +++ openscenegraph-3.2.0~rc1/debian/rules 2014-09-29 11:16:51.000000000 +0000 @@ -66,6 +66,16 @@ LDFLAGS += -Wl,--as-needed +ifeq (armhf,$(DEB_HOST_ARCH)) +EGL_LDFLAGS=$(shell pkg-config egl --libs) +OPENGLES_LDFLAGS=$(shell pkg-config glesv2 --libs) +ARMHF_DEFINES=-D OSG_GL1_AVAILABLE:BOOL=OFF \ + -D OSG_GL2_AVAILABLE:BOOL=OFF \ + -D OSG_GLES2_AVAILABLE:BOOL=ON \ + -D OPENGL_gl_LIBRARY:STRING="${OPENGLES_LDFLAGS}" \ + -D OPENGL_egl_LIBRARY:STRING="${EGL_LDFLAGS}" +endif + # # Shared libraries version numbers # @@ -419,6 +429,7 @@ -D CMAKE_INSTALL_PREFIX:PATH=/usr \ -D BUILD_OSG_EXAMPLES:BOOL=ON \ -D LIB_POSTFIX="" \ + ${ARMHF_DEFINES} \ ../../${OSG} ${MAKE} ${PARALLEL_OPTIONS} VERBOSE=1 -C build/osg