--- /dev/null
+diff -purN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2017-01-07 18:10:57.214728093 +0000
++++ b/CMakeLists.txt 2017-01-07 18:11:06.322736320 +0000
+@@ -37,12 +37,6 @@ cmake_policy(SET CMP0010 NEW)
+ # Input directories must have CMakeLists.txt
+ cmake_policy(SET CMP0014 NEW)
+
+-# avoid having empty buildtype
+-set(CMAKE_BUILD_TYPE_INIT "Release")
+-
+-set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Only do Release and Debug" FORCE )
+-mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
+-
+ SET(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Add this string to as suffix to Debug libraries, e.g.: xml2_d.lib " )
+
+ #-----------------------------------------------------------------------------
+@@ -84,7 +78,7 @@ macro(opencollada_add_lib
+ message(${name} " WARNING: Shared library support implemented for UNIX-like OS only")
+ endif ()
+ add_library(${name}_shared SHARED ${sources})
+- set_target_properties(${name}_shared PROPERTIES OUTPUT_NAME ${name})
++ set_target_properties(${name}_shared PROPERTIES OUTPUT_NAME ${name} SOVERSION ${soversion})
+ foreach(target_lib ${target_libs})
+ if(TARGET ${target_lib}_shared)
+ target_link_libraries(${name}_shared ${target_lib}_shared)
+@@ -158,6 +152,9 @@ set(OPENCOLLADA_VERSION_MINOR 1)
+ set(OPENCOLLADA_VERSION_PATCH 0)
+ set(OPENCOLLADA_VERSION ${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}.${OPENCOLLADA_VERSION_PATCH})
+
++#-----------------------------------------------------------------------------
++# Generic install paths
++include(GNUInstallDirs)
+
+ #-----------------------------------------------------------------------------
+ # Compiler warnings.
+@@ -190,9 +187,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
+ #-----------------------------------------------------------------------------
+ # Install vars
+
+-set(OPENCOLLADA_INST_INCLUDE ${CMAKE_INSTALL_PREFIX}/include/opencollada)
+-set(OPENCOLLADA_INST_LIBRARY ${CMAKE_INSTALL_PREFIX}/lib/opencollada)
+-set(OPENCOLLADA_INST_CMAKECONFIG ${OPENCOLLADA_INST_LIBRARY}/cmake)
++set(OPENCOLLADA_INST_INCLUDE ${CMAKE_INSTALL_FULL_INCLUDEDIR}/opencollada)
++set(OPENCOLLADA_INST_LIBRARY ${CMAKE_INSTALL_FULL_LIBDIR}/opencollada)
++set(OPENCOLLADA_INST_CMAKECONFIG ${CMAKE_INSTALL_FULL_LIBDIR}/opencollada/cmake)
+
+
+ #-----------------------------------------------------------------------------
+@@ -236,8 +233,7 @@ endif ()
+
+ if (USE_EXPAT)
+ add_definitions(-DGENERATEDSAXPARSER_XMLPARSER_EXPAT)
+- message("FATAL: EXPAT support not implemented")
+- # TODO:: use externals
++ set(LIBEXPAT_LIBRARIES expat)
+ endif ()
+
+ if(USE_STATIC_MSVC_RUNTIME)
+@@ -270,10 +266,10 @@ else () # if pcre not found building it
+ endif ()
+
+ # building required libs
++add_subdirectory(${EXTERNAL_LIBRARIES}/UTF)
++add_subdirectory(${EXTERNAL_LIBRARIES}/MathMLSolver)
+ add_subdirectory(common/libftoa)
+ add_subdirectory(common/libBuffer)
+-add_subdirectory(${EXTERNAL_LIBRARIES}/UTF)
+-add_subdirectory(${EXTERNAL_LIBRARIES}/MathMLSolver)
+
+ # building OpenCOLLADA libs
+ add_subdirectory(COLLADABaseUtils)
+diff -purN a/common/libBuffer/CMakeLists.txt b/common/libBuffer/CMakeLists.txt
+--- a/common/libBuffer/CMakeLists.txt 2016-11-30 17:19:38.000000000 +0000
++++ b/common/libBuffer/CMakeLists.txt 2017-01-07 18:05:50.306440325 +0000
+@@ -28,7 +28,10 @@ set(SRC
+ include/performanceTest/performanceTest.h
+ )
+
+-set(TARGET_LIBS ftoa)
++set(TARGET_LIBS
++ ftoa
++ UTF
++)
+
+ include_directories(
+ ${libBuffer_include_dirs}
--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+DESCRIPTION="Stream based read/write library for COLLADA files"
+HOMEPAGE="http://www.opencollada.org/"
+SRC_URI="https://github.com/KhronosGroup/OpenCOLLADA/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+
+KEYWORDS="~amd64 ~ppc64 ~x86"
+
+IUSE="expat static-libs"
+
+# This is still needed to have so version numbers
+MY_SOVERSION="$(get_version_component_range 1-2)"
+
+RDEPEND="dev-libs/libpcre
+ dev-libs/zziplib
+ media-libs/lib3ds
+ sys-libs/zlib
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}"/OpenCOLLADA-${PV}
+
+PATCHES=( "${FILESDIR}"/${PN}-build-fixes-v1.patch )
+
+src_prepare() {
+ edos2unix CMakeLists.txt
+
+ cmake-utils_src_prepare
+
+ # Remove bundled depends that have portage equivalents
+ rm -rv Externals/{expat,lib3ds,LibXML,pcre,zlib,zziplib} || die
+
+ # Remove unused build systems
+ rm -v Makefile scripts/{unixbuild.sh,vcproj2cmake.rb} || die
+ find "${S}" -name SConscript -delete || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_SHARED=ON
+ -DUSE_STATIC=$(usex static-libs)
+ -DUSE_EXPAT=$(usex expat)
+ -DUSE_LIBXML=$(usex !expat)
+ -Dsoversion=${MY_SOVERSION}
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ echo "LDPATH=/usr/$(get_libdir)/opencollada" > "${T}"/99${PN} || die "echo failed"
+ doenvd "${T}"/99${PN}
+
+ dobin ${BUILD_DIR}/bin/OpenCOLLADAValidator
+}