diff options
author | Adrian Grigo <agrigo2001@yahoo.com.au> | 2020-05-09 06:05:38 +1000 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2020-06-17 20:00:24 +0300 |
commit | 7a27bb13eaf1d39055d2ec2b82377ee4b3e1a000 (patch) | |
tree | bc1ad30ec27061910e6039a5bcc8e29b5bbda9f8 /media-libs/opencollada | |
parent | app-crypt/tpm2-tss: fix PATCHES indent (diff) | |
download | gentoo-7a27bb13eaf1d39055d2ec2b82377ee4b3e1a000.tar.gz gentoo-7a27bb13eaf1d39055d2ec2b82377ee4b3e1a000.tar.bz2 gentoo-7a27bb13eaf1d39055d2ec2b82377ee4b3e1a000.zip |
media-libs/opencollada: Version bump to 1.6.68
Version bump to 1.6.68 as required by blender-2.82a.
The ebuild has been updated to EAPI 7.
The null conversion QA error was fixed by initialising std::vector with
zero. I resolved the insecure DAEValidator RUNPATH QA error by clearing
the path with app-admin/chrpath and installing its library
libDAEValidatorLibrary.so
Signed-off-by: Adrian Grigo <agrigo2001@yahoo.com.au>
Closes: https://bugs.gentoo.org/721682
Closes: https://github.com/gentoo/gentoo/pull/15717
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'media-libs/opencollada')
-rw-r--r-- | media-libs/opencollada/Manifest | 1 | ||||
-rw-r--r-- | media-libs/opencollada/files/opencollada-1.6.68-cmake-fixes.patch | 122 | ||||
-rw-r--r-- | media-libs/opencollada/files/opencollada-1.6.68-fix-null-conversion.patch | 12 | ||||
-rw-r--r-- | media-libs/opencollada/metadata.xml | 9 | ||||
-rw-r--r-- | media-libs/opencollada/opencollada-1.6.68.ebuild | 82 |
5 files changed, 225 insertions, 1 deletions
diff --git a/media-libs/opencollada/Manifest b/media-libs/opencollada/Manifest index 36517929a020..b273d534738d 100644 --- a/media-libs/opencollada/Manifest +++ b/media-libs/opencollada/Manifest @@ -1 +1,2 @@ DIST opencollada-1.6.63.tar.gz 12094044 BLAKE2B dbe38ab2976f72d47a38bd147e05a58555acc2b70618d4d47d2beff87ace54f7fcd2f116b9ba9908cfb38b5699e547375e902128c2f378c295308f1601a18b17 SHA512 e1b92e932d0256224b026281fb5691219c5171f57b968307288b6e5481b5d6fee39825702e18017055bd0fb0e3d4c40b6ce526d3ce4defe2994138db54220d01 +DIST opencollada-1.6.68.tar.gz 12098718 BLAKE2B 45e0cd788b50a9a528b120e3cf8385803fa3dab0baaf8e28026cea8bf9afb0ab6b3d37f1d67803c9a48dae94d41efb9b5da119f75bd22a697c50c332d626cde2 SHA512 1b875ac2f59344aa33486f9e7479f76e94d58d5b567f17438c002cbfb36685fb38420467804c9eb28657d71d7efad550a24873dfe940d781c2a733c831532173 diff --git a/media-libs/opencollada/files/opencollada-1.6.68-cmake-fixes.patch b/media-libs/opencollada/files/opencollada-1.6.68-cmake-fixes.patch new file mode 100644 index 000000000000..3d4be8dba1b9 --- /dev/null +++ b/media-libs/opencollada/files/opencollada-1.6.68-cmake-fixes.patch @@ -0,0 +1,122 @@ +From c3ed65c2c60b8744163b3a57cf24469e688536dd Mon Sep 17 00:00:00 2001 +From: Jonathan Scruggs <j.scruggs@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 68) ++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/files/opencollada-1.6.68-fix-null-conversion.patch b/media-libs/opencollada/files/opencollada-1.6.68-fix-null-conversion.patch new file mode 100644 index 000000000000..5a2fa46fe5a4 --- /dev/null +++ b/media-libs/opencollada/files/opencollada-1.6.68-fix-null-conversion.patch @@ -0,0 +1,12 @@ +diff -Naur a/COLLADAStreamWriter/src/COLLADASWLibraryAnimations.cpp b/COLLADAStreamWriter/src/COLLADASWLibraryAnimations.cpp +--- a/COLLADAStreamWriter/src/COLLADASWLibraryAnimations.cpp 2020-05-08 01:17:06.981501609 +1000 ++++ b/COLLADAStreamWriter/src/COLLADASWLibraryAnimations.cpp 2020-05-08 01:17:23.011549185 +1000 +@@ -62,7 +62,7 @@ + + //--------------------------------------------------------------- + LibraryAnimations::LibraryAnimations ( COLLADASW::StreamWriter * streamWriter ) +- : Library ( streamWriter, CSWC::CSW_ELEMENT_LIBRARY_ANIMATIONS ), mOpenAnimations ( NULL ) ++ : Library ( streamWriter, CSWC::CSW_ELEMENT_LIBRARY_ANIMATIONS ), mOpenAnimations ( 0 ) + {} + + //--------------------------------------------------------------- diff --git a/media-libs/opencollada/metadata.xml b/media-libs/opencollada/metadata.xml index a3be9fdab74d..936e18ecb590 100644 --- a/media-libs/opencollada/metadata.xml +++ b/media-libs/opencollada/metadata.xml @@ -1,7 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>agrigo2001@yahoo.com.au</email> + <name>Adrian Grigo</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <upstream> <remote-id type="github">KhronosGroup/OpenCOLLADA</remote-id> </upstream> diff --git a/media-libs/opencollada/opencollada-1.6.68.ebuild b/media-libs/opencollada/opencollada-1.6.68.ebuild new file mode 100644 index 000000000000..f5f42819616b --- /dev/null +++ b/media-libs/opencollada/opencollada-1.6.68.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake eutils flag-o-matic + +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/libxml2:= + dev-libs/zziplib + media-libs/lib3ds + sys-libs/zlib +" +DEPEND="${RDEPEND}" +BDEPEND=" + app-admin/chrpath + virtual/pkgconfig +" + +S="${WORKDIR}/OpenCOLLADA-${PV}" + +PATCHES=( + "${FILESDIR}/${P}-fix-null-conversion.patch" + "${FILESDIR}/${P}-cmake-fixes.patch" + "${FILESDIR}/${PN}-1.6.63-pcre-fix.patch" +) + +src_prepare() { + edos2unix CMakeLists.txt + + cmake_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() { + # bug 619670 + append-cxxflags -std=c++14 + + local mycmakeargs=( + -DUSE_SHARED=ON + -DUSE_STATIC=$(usex static-libs) + -DUSE_LIBXML=ON + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + newenvd - 99opencollada <<- _EOF_ + LDPATH=/usr/$(get_libdir)/opencollada + _EOF_ + + # Remove insecure DAEValidator RUNPATH and install DAEValidator library + dolib.so "${BUILD_DIR}/lib/libDAEValidatorLibrary.so" + chrpath -d "${BUILD_DIR}/bin/DAEValidator" || die + + 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" +} |