summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/opencollada')
-rw-r--r--media-libs/opencollada/Manifest1
-rw-r--r--media-libs/opencollada/files/opencollada-0_p864-expat.patch12
-rw-r--r--media-libs/opencollada/files/opencollada-0_p864-gcc-4.7.patch26
-rw-r--r--media-libs/opencollada/files/opencollada-0_p864-parallel.patch18
-rw-r--r--media-libs/opencollada/files/opencollada-1.2.2-libdir.patch27
-rw-r--r--media-libs/opencollada/files/opencollada-1.2.2-no-undefined.patch35
-rw-r--r--media-libs/opencollada/files/opencollada-1.2.2-soversion.patch15
-rw-r--r--media-libs/opencollada/metadata.xml12
-rw-r--r--media-libs/opencollada/opencollada-1.2.2_p20150207.ebuild92
-rw-r--r--media-libs/opencollada/opencollada-9999.ebuild92
10 files changed, 330 insertions, 0 deletions
diff --git a/media-libs/opencollada/Manifest b/media-libs/opencollada/Manifest
new file mode 100644
index 000000000000..a7fa6d32ca81
--- /dev/null
+++ b/media-libs/opencollada/Manifest
@@ -0,0 +1 @@
+DIST opencollada-1.2.2_p20150207.tar.gz 11715849 SHA256 b6a4362c559d790a04dfef4606cb0a0ffe01e34708f898bf3453e69318bc5cc1 SHA512 0780e4401f130832d9802ddd6183ac11294ed84f43e0b497673c66fa2c1ae47ebc853484f8e68871887a1e99ab1f1df786cfc6ebd5868f039d9101ab82646f09 WHIRLPOOL 4cf7c7f03caf37e4c9342e139ed036b3c43984917ac4a3876e464f2065e2c515e2e85e5408d32901572d6b56a94d82963f5a2e6d3bb17dec04ecf35ee8be2d98
diff --git a/media-libs/opencollada/files/opencollada-0_p864-expat.patch b/media-libs/opencollada/files/opencollada-0_p864-expat.patch
new file mode 100644
index 000000000000..9086acf79214
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-0_p864-expat.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt 2012-01-15 23:14:49.478520648 +0100
++++ b/CMakeLists.txt 2012-01-15 23:15:06.947302261 +0100
+@@ -208,8 +208,7 @@
+
+ if (USE_EXPAT)
+ add_definitions(-DGENERATEDSAXPARSER_XMLPARSER_EXPAT)
+- message("FATAL: EXPAT support not implemented")
+- # TODO:: use externals
++ set(LIBEXPAT_LIBRARIES expat)
+ endif ()
+
+ #adding PCRE
diff --git a/media-libs/opencollada/files/opencollada-0_p864-gcc-4.7.patch b/media-libs/opencollada/files/opencollada-0_p864-gcc-4.7.patch
new file mode 100644
index 000000000000..fd908e55943a
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-0_p864-gcc-4.7.patch
@@ -0,0 +1,26 @@
+--- common//libBuffer/include/CommonBuffer.h.ori 2012-04-28 15:45:37.621142222 +0200
++++ common//libBuffer/include/CommonBuffer.h 2012-04-28 15:45:28.740797826 +0200
+@@ -11,6 +11,12 @@
+ #ifndef __COMMON_BUFFER_H__
+ #define __COMMON_BUFFER_H__
+
++/* size_t for gcc, may want to move this include some place else - campbell */
++#ifdef __GNUC__
++# include <cstdlib> /* size_t */
++# include <cstring> /* memcpy */
++#endif
++
+ #include "CommonIBufferFlusher.h"
+
+ namespace Common
+--- COLLADAStreamWriter/include/COLLADASWAnnotation.h 2012-01-15 04:37:13.000000000 +0100
++++ COLLADAStreamWriter/include/COLLADASWAnnotation.h 2012-03-14 22:17:51.000000000 +0100
+@@ -219,7 +219,7 @@
+ void add (
+ const String &name,
+ const ValueType::ColladaType &type,
+- const T val ) const
++ const T val )
+ {
+ openAnnotation ( name );
+ openValuesElement ( type );
diff --git a/media-libs/opencollada/files/opencollada-0_p864-parallel.patch b/media-libs/opencollada/files/opencollada-0_p864-parallel.patch
new file mode 100644
index 000000000000..cac6ee285e40
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-0_p864-parallel.patch
@@ -0,0 +1,18 @@
+diff -Naur openCOLLADA-svn864.orig/COLLADASaxFrameworkLoader/CMakeLists.txt openCOLLADA-svn864/COLLADASaxFrameworkLoader/CMakeLists.txt
+--- openCOLLADA-svn864.orig/COLLADASaxFrameworkLoader/CMakeLists.txt 2011-10-13 18:54:06.000000000 -0500
++++ openCOLLADA-svn864/COLLADASaxFrameworkLoader/CMakeLists.txt 2012-01-17 16:11:35.825610565 -0600
+@@ -260,6 +260,14 @@
+ ${PCRE_LIBRARIES}
+ )
+
++# For parallel building.
++if(USE_SHARED)
++ add_dependencies(GeneratedSaxParser_shared OpenCOLLADABaseUtils_shared)
++endif()
++if(USE_STATIC)
++ add_dependencies(GeneratedSaxParser_static OpenCOLLADABaseUtils_static)
++endif()
++
+ if (USE_LIBXML)
+ list(APPEND libGeneratedSaxParser_include_dirs ${LIBXML2_INCLUDE_DIR})
+ list(APPEND TARGET_LIBS ${LIBXML2_LIBRARIES})
diff --git a/media-libs/opencollada/files/opencollada-1.2.2-libdir.patch b/media-libs/opencollada/files/opencollada-1.2.2-libdir.patch
new file mode 100644
index 000000000000..cc413f3ededc
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-1.2.2-libdir.patch
@@ -0,0 +1,27 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 96ccb32..c2673f0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -146,6 +146,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.
+@@ -178,9 +181,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}/opencollada/cmake)
+
+
+ #-----------------------------------------------------------------------------
diff --git a/media-libs/opencollada/files/opencollada-1.2.2-no-undefined.patch b/media-libs/opencollada/files/opencollada-1.2.2-no-undefined.patch
new file mode 100644
index 000000000000..e3cbf0dbead9
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-1.2.2-no-undefined.patch
@@ -0,0 +1,35 @@
+Source: https://build.opensuse.org/package/show/graphics/openCOLLADA
+
+Index: OpenCOLLADA-69b844dc9eea0a014326149c259e7810ecec4c8c/common/libBuffer/CMakeLists.txt
+===================================================================
+--- OpenCOLLADA-69b844dc9eea0a014326149c259e7810ecec4c8c.orig/common/libBuffer/CMakeLists.txt
++++ OpenCOLLADA-69b844dc9eea0a014326149c259e7810ecec4c8c/common/libBuffer/CMakeLists.txt
+@@ -28,7 +28,10 @@ set(SRC
+ include/performanceTest/performanceTest.h
+ )
+
+-set(TARGET_LIBS ftoa)
++set(TARGET_LIBS
++ ftoa
++ UTF
++)
+
+ include_directories(
+ ${libBuffer_include_dirs}
+Index: OpenCOLLADA-69b844dc9eea0a014326149c259e7810ecec4c8c/CMakeLists.txt
+===================================================================
+--- OpenCOLLADA-69b844dc9eea0a014326149c259e7810ecec4c8c.orig/CMakeLists.txt
++++ OpenCOLLADA-69b844dc9eea0a014326149c259e7810ecec4c8c/CMakeLists.txt
+@@ -244,10 +244,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 --git a/media-libs/opencollada/files/opencollada-1.2.2-soversion.patch b/media-libs/opencollada/files/opencollada-1.2.2-soversion.patch
new file mode 100644
index 000000000000..beef35545538
--- /dev/null
+++ b/media-libs/opencollada/files/opencollada-1.2.2-soversion.patch
@@ -0,0 +1,15 @@
+Source:
+https://build.opensuse.org/package/show/graphics/openCOLLADA
+
+diff -Naur OpenCOLLADA.orig/CMakeLists.txt OpenCOLLADA/CMakeLists.txt
+--- OpenCOLLADA.orig/CMakeLists.txt 2013-08-10 02:00:51.000000000 -0500
++++ OpenCOLLADA/CMakeLists.txt 2013-08-28 10:34:50.122102989 -0500
+@@ -77,7 +77,7 @@
+ 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)
diff --git a/media-libs/opencollada/metadata.xml b/media-libs/opencollada/metadata.xml
new file mode 100644
index 000000000000..1fc65a68dc03
--- /dev/null
+++ b/media-libs/opencollada/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>openoffice</herd>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ <name>Sebastian Pipping</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KhronosGroup/OpenCOLLADA</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-libs/opencollada/opencollada-1.2.2_p20150207.ebuild b/media-libs/opencollada/opencollada-1.2.2_p20150207.ebuild
new file mode 100644
index 000000000000..2ed6d67a53e4
--- /dev/null
+++ b/media-libs/opencollada/opencollada-1.2.2_p20150207.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} == *9999* ]] ; then
+ SCM_ECLASS="git-r3"
+else
+ SCM_ECLASS="vcs-snapshot"
+fi
+
+inherit versionator eutils multilib cmake-utils ${SCM_ECLASS}
+
+DESCRIPTION="Stream based read/write library for COLLADA files"
+HOMEPAGE="http://www.opencollada.org/"
+LICENSE="MIT"
+IUSE="expat"
+
+# seems like the Khronos Group hasnt invented the SOVERSION yet
+MY_SOVERSION="1.2"
+
+SLOT="0"
+
+if [[ ${PV} != *9999* ]]; then
+ #
+ # UPDATE THE COMMIT WHEN BUMPING!
+ COMMIT="ceb409cabdccda3000aa2e5c065850b8fde60b0f"
+ #
+ SRC_URI="https://github.com/KhronosGroup/OpenCOLLADA/tarball/${COMMIT} -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~ppc64 x86"
+else
+ EGIT_REPO_URI="http://github.com/KhronosGroup/OpenCOLLADA.git"
+fi
+
+RDEPEND="dev-libs/libpcre
+ dev-libs/zziplib
+ media-libs/lib3ds
+ sys-libs/zlib
+ >=sys-devel/gcc-4.7
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2 )"
+DEPEND="${RDEPEND}
+ sys-apps/findutils
+ sys-apps/sed"
+
+BUILD_DIR="${S}"/build
+
+src_prepare() {
+
+ # Remove some bundled dependencies
+ edos2unix CMakeLists.txt || die
+
+ epatch "${FILESDIR}"/${PN}-0_p864-expat.patch
+
+ epatch "${FILESDIR}"/${PN}-1.2.2-soversion.patch
+ epatch "${FILESDIR}"/${PN}-1.2.2-no-undefined.patch
+ epatch "${FILESDIR}"/${PN}-1.2.2-libdir.patch
+
+ rm -R Externals/{expat,lib3ds,LibXML,pcre,zlib,zziplib} || die
+ ewarn "$(echo "Remaining bundled dependencies:";
+ find Externals -mindepth 1 -maxdepth 1 -type d | sed 's|^|- |')"
+
+ # Remove unused build systems
+ rm Makefile scripts/{unixbuild.sh,vcproj2cmake.rb} || die
+ find "${S}" -name SConscript -delete || die
+}
+
+src_configure() {
+ local mycmakeargs=" -DUSE_SHARED=ON -DUSE_STATIC=OFF"
+
+ # Master CMakeLists.txt says "EXPAT support not implemented"
+ # Something like "set(LIBEXPAT_LIBRARIES expat)" is missing to make it build
+ use expat \
+ && mycmakeargs+=' -DUSE_EXPAT=ON -DUSE_LIBXML=OFF' \
+ || mycmakeargs+=' -DUSE_EXPAT=OFF -DUSE_LIBXML=ON'
+
+ # Seems like the Khronos Group hasnt invented the SOVERSION yet.
+ mycmakeargs+=" -Dsoversion=${MY_SOVERSION}"
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ dodir /etc/env.d || die
+ echo "LDPATH=/usr/$(get_libdir)/opencollada" \
+ > "${D}"/etc/env.d/99opencollada || die
+
+ dobin build/bin/OpenCOLLADAValidator || die
+}
diff --git a/media-libs/opencollada/opencollada-9999.ebuild b/media-libs/opencollada/opencollada-9999.ebuild
new file mode 100644
index 000000000000..4be2a8fa77cd
--- /dev/null
+++ b/media-libs/opencollada/opencollada-9999.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+if [[ ${PV} == *9999* ]] ; then
+ SCM_ECLASS="git-r3"
+else
+ SCM_ECLASS="vcs-snapshot"
+fi
+
+inherit versionator eutils multilib cmake-utils ${SCM_ECLASS}
+
+DESCRIPTION="Stream based read/write library for COLLADA files"
+HOMEPAGE="http://www.opencollada.org/"
+LICENSE="MIT"
+IUSE="expat"
+
+# seems like the Khronos Group hasnt invented the SOVERSION yet
+MY_SOVERSION="1.2"
+
+SLOT="0"
+
+if [[ ${PV} != *9999* ]]; then
+ #
+ # UPDATE THE COMMIT WHEN BUMPING!
+ COMMIT="ceb409cabdccda3000aa2e5c065850b8fde60b0f"
+ #
+ SRC_URI="https://github.com/KhronosGroup/OpenCOLLADA/tarball/${COMMIT} -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~ppc64 ~x86"
+else
+ EGIT_REPO_URI="http://github.com/KhronosGroup/OpenCOLLADA.git"
+fi
+
+RDEPEND="dev-libs/libpcre
+ dev-libs/zziplib
+ media-libs/lib3ds
+ sys-libs/zlib
+ >=sys-devel/gcc-4.7
+ expat? ( dev-libs/expat )
+ !expat? ( dev-libs/libxml2 )"
+DEPEND="${RDEPEND}
+ sys-apps/findutils
+ sys-apps/sed"
+
+BUILD_DIR="${S}"/build
+
+src_prepare() {
+
+ # Remove some bundled dependencies
+ edos2unix CMakeLists.txt || die
+
+ epatch "${FILESDIR}"/${PN}-0_p864-expat.patch
+
+ epatch "${FILESDIR}"/${PN}-1.2.2-soversion.patch
+ epatch "${FILESDIR}"/${PN}-1.2.2-no-undefined.patch
+ epatch "${FILESDIR}"/${PN}-1.2.2-libdir.patch
+
+ rm -R Externals/{expat,lib3ds,LibXML,pcre,zlib,zziplib} || die
+ ewarn "$(echo "Remaining bundled dependencies:";
+ find Externals -mindepth 1 -maxdepth 1 -type d | sed 's|^|- |')"
+
+ # Remove unused build systems
+ rm Makefile scripts/{unixbuild.sh,vcproj2cmake.rb} || die
+ find "${S}" -name SConscript -delete || die
+}
+
+src_configure() {
+ local mycmakeargs=" -DUSE_SHARED=ON -DUSE_STATIC=OFF"
+
+ # Master CMakeLists.txt says "EXPAT support not implemented"
+ # Something like "set(LIBEXPAT_LIBRARIES expat)" is missing to make it build
+ use expat \
+ && mycmakeargs+=' -DUSE_EXPAT=ON -DUSE_LIBXML=OFF' \
+ || mycmakeargs+=' -DUSE_EXPAT=OFF -DUSE_LIBXML=ON'
+
+ # Seems like the Khronos Group hasnt invented the SOVERSION yet.
+ mycmakeargs+=" -Dsoversion=${MY_SOVERSION}"
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ dodir /etc/env.d || die
+ echo "LDPATH=/usr/$(get_libdir)/opencollada" \
+ > "${D}"/etc/env.d/99opencollada || die
+
+ dobin build/bin/OpenCOLLADAValidator || die
+}