commit:     65833f7dc77f342cfbd705d2548cc76f32de2d8e
Author:     Jonathan Scruggs <j.scruggs <AT> gmail <DOT> com>
AuthorDate: Mon Jan 29 15:26:52 2018 +0000
Commit:     Jonathan Scruggs <dracwyrm <AT> gentoo <DOT> org>
CommitDate: Tue Jan 30 20:59:39 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65833f7d

media-libs/opencollada: add 1.6.2 release

Closes: https://github.com/gentoo/gentoo/pull/6997

 media-libs/opencollada/Manifest                    |   1 +
 .../files/opencollada-1.6.62-cmake-fixes.patch     | 122 +++++++++++++++++++++
 media-libs/opencollada/opencollada-1.6.62.ebuild   |  65 +++++++++++
 3 files changed, 188 insertions(+)

diff --git a/media-libs/opencollada/Manifest b/media-libs/opencollada/Manifest
index d1542aa0bf5..536be7f94eb 100644
--- a/media-libs/opencollada/Manifest
+++ b/media-libs/opencollada/Manifest
@@ -2,3 +2,4 @@ DIST opencollada-1.6.25.tar.gz 11817949 BLAKE2B 
84278ae25d64ab827806c6ec588a333a
 DIST opencollada-1.6.31.tar.gz 11832790 BLAKE2B 
297130a8f844f4f80f4394db85098eaeaf42da125f34f20b4b6285c2bd0afc20c7066e3c54f73012c188b5b3c79f43be351fdc3b612b1e5c67ecc0ae19acb0f3
 SHA512 
6290600bed59fef72c4986a9d00683ae1bfedf6811a44fb9e05e1a46e4ceaee7585c2281918f0a491369e49b01d3dfab0eb38b3e0728f96fe8264a80ca28d8c9
 DIST opencollada-1.6.36.tar.gz 12275972 BLAKE2B 
3f7afb81767e92d1f6efeaf114caf0fa426d075ccd0fcd9f5c8e3951d7706329c545643cab8d18c05542d26933f3e016f96ca9931554b2929d8f815661917529
 SHA512 
bcee958d229a6d28043afd6dbe2e8536668ce57b510d2759ef68420aa9ac5b8f82ab5956fbcef7ecc6177ad5f0f20c9a7364a886236e583c85215de86f7066f8
 DIST opencollada-1.6.58.tar.gz 12088428 BLAKE2B 
ef5da3eae1c7f4ffd5abf4f93fd9ae1399d7eb3d470ebf4d3c042562d654b6dbcab3010d64250ff9701bd2b1e310178ab2430ed59b3f774a610619e723786961
 SHA512 
122b841de28f82408bc6fe9d363894ab8f9033cfed949f8028b7a35445e3361f0df583d8b18f7198eaa9dbf3ad33b52dbe5fe6a7e652494789850effcbbf22c9
+DIST opencollada-1.6.62.tar.gz 12094443 BLAKE2B 
6cd0ec893fc212bf3e8f166ad9c51c894dc298a3627e65dd41ece850a5638d91b8839830d5456bf3ba072a0b23f8c01247d8c676cc79d98464cdf0c1b55fd3c5
 SHA512 
bd39406b9a833409303ef7cd4e93beee0675fa57c267af95a34699348a81650d50ae042dbb1837cd41c72433533a3a9b827a44e9775a5b06c7c4f1a351146574

diff --git a/media-libs/opencollada/files/opencollada-1.6.62-cmake-fixes.patch 
b/media-libs/opencollada/files/opencollada-1.6.62-cmake-fixes.patch
new file mode 100644
index 00000000000..8fc32784daa
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-1.6.62-cmake-fixes.patch
@@ -0,0 +1,122 @@
+From c3ed65c2c60b8744163b3a57cf24469e688536dd Mon Sep 17 00:00:00 2001
+From: Jonathan Scruggs <j.scru...@gmail.com>
+Date: Sat, 13 Jan 2018 11:54:44 +0000
+Subject: [PATCH] OpenCOLLADA/CMakeLists.txt
+
+Use CMAKE_BUILD_TYPE which can be overrided with custom distro types
+
+Adhere to GNU filesystem layout conventions. Not all distros and OSes
+have directories in the same locations and they define the
+GNUInstallDirs variables, so use those variables. Also, this enables
+multi lib installations.
+
+Define the version variables to enable SONAME versioning on the
+library files in case there is ABI changes in the future.
+---
+ CMakeLists.txt | 58 ++++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 36 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 95abbe21..00ad8d6a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,14 +37,41 @@ 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 Release type for builds where CMAKE_BUILD_TYPE is unset
++# This is usually a good default as this implictly enables
++#
++#   CXXFLAGS = -O3 -DNDEBUG
++#
++if( NOT CMAKE_BUILD_TYPE )
++      set( CMAKE_BUILD_TYPE "Release" )
++endif()
+ 
+ SET(CMAKE_DEBUG_POSTFIX ""  CACHE STRING "Add this string to as suffix to 
Debug libraries, e.g.: xml2_d.lib " )
+ 
++# Adhere to GNU filesystem layout conventions
++include( GNUInstallDirs )
++
++
++# 
#-----------------------------------------------------------------------------
++# Initialize project.
++
++project(OPENCOLLADA)  # must be after setting cmake_configuration_types
++
++set(EXTERNAL_LIBRARIES                   ${OPENCOLLADA_SOURCE_DIR}/Externals) 
 # external libraries
++set(CMAKE_MODULE_PATH "${EXTERNAL_LIBRARIES}/cmake-modules")
++
++set(OPENCOLLADA_VERSION_MAJOR 1)
++set(OPENCOLLADA_VERSION_MINOR 6)
++set(OPENCOLLADA_VERSION_PATCH 62)
++set(OPENCOLLADA_VERSION 
${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}.${OPENCOLLADA_VERSION_PATCH})
++
++if(NOT SOVERSION)
++      set(SOVERSION ${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}
++              CACHE STRING "Set the SO version in the SO name of the output 
library")
++endif()
++
++
+ #-----------------------------------------------------------------------------
+ # Macro's
+ 
+@@ -58,7 +85,7 @@ macro(opencollada_add_lib
+ 
+       if (USE_STATIC)
+               add_library(${name}_static STATIC ${sources})
+-              set_target_properties(${name}_static PROPERTIES OUTPUT_NAME 
${name})
++              set_target_properties(${name}_static PROPERTIES OUTPUT_NAME 
${name} SOVERSION ${SOVERSION})
+               foreach(target_lib ${target_libs})
+                       if(TARGET ${target_lib}_static)
+                               target_link_libraries(${name}_static 
${target_lib}_static)
+@@ -84,7 +111,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)
+@@ -145,19 +172,6 @@ endmacro()
+ # end copy
+ # --------
+ 
+-#-----------------------------------------------------------------------------
+-# Initialize project.
+-
+-project(OPENCOLLADA)  # must be after setting cmake_configuration_types
+-
+-set(EXTERNAL_LIBRARIES                   ${OPENCOLLADA_SOURCE_DIR}/Externals) 
 # external libraries
+-set(CMAKE_MODULE_PATH "${EXTERNAL_LIBRARIES}/cmake-modules")
+-
+-set(OPENCOLLADA_VERSION_MAJOR 0)
+-set(OPENCOLLADA_VERSION_MINOR 1)
+-set(OPENCOLLADA_VERSION_PATCH 0)
+-set(OPENCOLLADA_VERSION 
${OPENCOLLADA_VERSION_MAJOR}.${OPENCOLLADA_VERSION_MINOR}.${OPENCOLLADA_VERSION_PATCH})
+-
+ 
+ #-----------------------------------------------------------------------------
+ # Compiler warnings.
+@@ -190,9 +204,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_WARNINGS}")
+ #-----------------------------------------------------------------------------
+ # 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}/cmake/OpenCOLLADA)
+ 
+ 
+ #-----------------------------------------------------------------------------
+-- 
+2.15.1
+

diff --git a/media-libs/opencollada/opencollada-1.6.62.ebuild 
b/media-libs/opencollada/opencollada-1.6.62.ebuild
new file mode 100644
index 00000000000..4a0d0c352bd
--- /dev/null
+++ b/media-libs/opencollada/opencollada-1.6.62.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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="static-libs"
+
+RDEPEND="dev-libs/libpcre
+       dev-libs/zziplib
+       media-libs/lib3ds
+       sys-libs/zlib
+       dev-libs/libxml2"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig"
+
+S="${WORKDIR}/OpenCOLLADA-${PV}"
+
+PATCHES=( "${FILESDIR}/${P}-cmake-fixes.patch" )
+
+src_prepare() {
+       edos2unix CMakeLists.txt
+
+       cmake-utils_src_prepare
+
+       # Remove bundled depends that have portage equivalents
+       rm -rv Externals/{expat,lib3ds,LibXML,pcre,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_LIBXML=ON
+       )
+
+       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/DAEValidator"
+       dobin "${BUILD_DIR}/bin/OpenCOLLADAValidator"
+       # Need to be in same directory as above binaries
+       docinto "/usr/bin"
+       dodoc "${BUILD_DIR}/bin/COLLADAPhysX3Schema.xsd"
+       dodoc "${BUILD_DIR}/bin/collada_schema_1_4_1.xsd"
+       dodoc "${BUILD_DIR}/bin/collada_schema_1_5.xsd"
+}

Reply via email to