Coin 4.0.0 (#5318)

This commit is contained in:
extrowerk
2020-11-09 08:11:55 +01:00
committed by GitHub
parent 898ddca288
commit 511984370e
6 changed files with 424 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
SUMMARY="A high-level 3D graphics toolkit"
DESCRIPTION="Coin is an OpenGL-based, 3D graphics library that has its roots \
in the Open Inventor 2.1 API, which Coin still is compatible with."
HOMEPAGE="https://github.com/coin3d/coin"
COPYRIGHT="Kongsberg Oil & Gas Technologies AS"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://github.com/coin3d/coin/archive/Coin-$portVersion.tar.gz"
CHECKSUM_SHA256="b00d2a8e9d962397cf9bf0d9baa81bcecfbd16eef675a98c792f5cf49eb6e805"
SOURCE_DIR="coin-Coin-$portVersion"
PATCHES="coin-4.0.0-0001-updated-to-cmake-3.14.patch
coin-4.0.0-0002-cpack.d-is-now-optional.patch
coin-4.0.0-0003-Partially-incorporating-coin4.0.0a-patch-from-gentoo.patch
coin-4.0.0-0004-Added-coin-default.cfg.patch
coin-4.0.0-0005-Slightly-fix-coin.cfg.cmake.in.patch"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
coin$secondaryArchSuffix = $portVersion
lib:libcoin$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libglu$secondaryArchSuffix
# lib:libmozjs185$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
coin${secondaryArchSuffix}_devel = $portVersion
cmd:coin_config
devel:libcoin$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
coin$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_system$secondaryArchSuffix
devel:libboost_thread$secondaryArchSuffix
devel:libbz2$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
# devel:libmozjs185$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:doxygen
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage coin$secondaryArchSuffix \
"$libDir"/libCoin.so.$libVersion
BUILD()
{
mkdir -p haiku-build
cd haiku-build
cmake .. \
-DCMAKE_INSTALL_PREFIX:PATH="$prefix" \
-DCMAKE_INSTALL_DOCDIR="$docDir" \
-DCMAKE_INSTALL_FULL_DOCDIR="$docDir" \
-DCMAKE_INSTALL_DATAROOTDIR="$dataDir" \
-DCMAKE_INSTALL_MANDIR="$manDir" \
-DCMAKE_INSTALL_INCLUDEDIR="$includeDir" \
-DCOIN_BUILD_TESTS=NO \
-DCOIN_BUILD_SHARED_LIBS=ON \
-DCOIN_BUILD_DOCUMENTATION=ON \
-DCOIN_BUILD_INTERNAL_DOCUMENTATION=OFF \
-DCOIN_BUILD_DOCUMENTATION_MAN=ON \
-DCOIN_BUILD_DOCUMENTATION_CHM=OFF \
-DCOIN_THREADSAFE=ON \
-DHAVE_VRML97=ON \
-DCOIN_HAVE_JAVASCRIPT=OFF \
-DHAVE_NODEKITS=ON \
-DHAVE_DRAGGERS=ON \
-DHAVE_MANIPULATORS=ON \
-DHAVE_SOUND=OFF \
-DHAVE_3DS_IMPORT_CAPABILITIES=ON \
-DUSE_EXTERNAL_EXPAT=ON \
-DUSE_EXCEPTIONS=ON \
-DUSE_SUPERGLU=OFF \
-DFONTCONFIG_RUNTIME_LINKING=OFF \
-DFREETYPE_RUNTIME_LINKING=OFF \
-DLIBBZIP2_RUNTIME_LINKING=OFF \
-DOPENAL_RUNTIME_LINKING=OFF \
-DSIMAGE_RUNTIME_LINKING=OFF \
-DZLIB_RUNTIME_LINKING=OFF \
-DGLU_RUNTIME_LINKING=OFF \
-DSPIDERMONKEY_RUNTIME_LINKING=ON \
-DCOIN_VERBOSE=NO \
-DHAVE_MULTIPLE_VERSION=OFF \
-DCOIN_BUILD_SINGLE_LIB=ON
make $jobArgs
}
INSTALL()
{
cd haiku-build
make install
prepareInstalledDevelLibs libCoin
fixPkgconfig
packageEntries devel \
$binDir \
$developDir \
$libDir/cmake
}
TEST()
{
#Tests are broken (PIC/PIE)
cd coin/haiku-build
make check
}

View File

@@ -0,0 +1,25 @@
From 962e613609ba93301999f83e283b7f489dfac503 Mon Sep 17 00:00:00 2001
From: Giampiero Gabbiani <giampiero@gabbiani.org>
Date: Fri, 10 Jan 2020 14:47:38 +0100
Subject: [PATCH] updated to cmake 3.14
---
CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f32f6ffe3..3ce3a0d3a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,8 @@
+if (POLICY CMP0054)
+ # CMake version 3.14.5 warns when the policy is not set and uses OLD behaviour
+ cmake_policy(SET CMP0054 NEW)
+endif()
+
cmake_minimum_required(VERSION 3.0)
set(COIN_MAJOR_VERSION 4)
--
2.26.2

View File

@@ -0,0 +1,32 @@
From be8e3d57aeb5b4df6abb52c5fa88666d48e7d7a0 Mon Sep 17 00:00:00 2001
From: Giampiero Gabbiani <giampiero@gabbiani.org>
Date: Tue, 14 Jan 2020 22:03:51 +0100
Subject: [PATCH] cpack.d is now optional
---
CMakeLists.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ce3a0d3a..755bd9d59 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -95,6 +95,7 @@ option(SPIDERMONKEY_RUNTIME_LINKING "Enable SpiderMonkey runtime linking when ON
option(COIN_VERBOSE "Add verbose debugging information during the configure process." OFF)
option(HAVE_MULTIPLE_VERSION "Forces versioned paths for includes and documentation when ON, usual behaviour otherwise." OFF)
+option(COIN_USE_CPACK "If enabled the cpack subrepo is mandatory" OFF)
cmake_dependent_option(COIN_BUILD_MAC_FRAMEWORK "Build framework instead of dylib on Mac OS X when ON. Only valid if COIN_BUILD_SHARED_LIBS is ON." OFF "APPLE;NOT IOS;COIN_BUILD_SHARED_LIBS" OFF)
cmake_dependent_option(COIN_BUILD_MAC_X11 "Build for X11 on Mac OS X when ON. Default is OFF." OFF "APPLE" OFF)
@@ -820,4 +821,6 @@ endif()
# ############################################################################
# New CPACK section, please see the README file inside cpack.d directory.
-add_subdirectory(cpack.d)
+if (COIN_USE_CPACK)
+ add_subdirectory(cpack.d)
+endif()
--
2.26.2

View File

@@ -0,0 +1,123 @@
From 9a36b15d66c5e340cd8695415ce5867ad07ee2bb Mon Sep 17 00:00:00 2001
From: Volker Enderlein <volkerenderlein@hotmail.com>
Date: Sun, 8 Mar 2020 14:24:29 +0100
Subject: [PATCH] Partially incorporating coin4.0.0a-patch from gentoo
---
CMakeLists.txt | 63 ++++++++++++++++++++++++++------------------------
1 file changed, 33 insertions(+), 30 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 755bd9d59..d23f5bc0e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,8 +1,3 @@
-if (POLICY CMP0054)
- # CMake version 3.14.5 warns when the policy is not set and uses OLD behaviour
- cmake_policy(SET CMP0054 NEW)
-endif()
-
cmake_minimum_required(VERSION 3.0)
set(COIN_MAJOR_VERSION 4)
@@ -22,6 +17,11 @@ math(EXPR COIN_SO_VERSION ${PROJECT_VERSION_MAJOR}*20)
set(PROJECT_DESCRIPTION "A high-level 3D visualization library with Open Inventor 2.1 API")
# ############################################################################
+if(POLICY CMP0054)
+ # CMake version 3.14.5 warns when the policy is not set and uses OLD behaviour
+ cmake_policy(SET CMP0054 NEW)
+endif()
+
if(POLICY CMP0072)
# get rid of OpenGL GLVND warning from CMake 3.11
cmake_policy(SET CMP0072 NEW)
@@ -103,8 +103,8 @@ cmake_dependent_option(COIN_BUILD_MAC_AGL "Build for AGL on Mac OS X when ON. De
report_prepare(
COIN_BUILD_SHARED_LIBS
- COIN_BUILD_TESTS
- COIN_BUILD_DOCUMENTATION
+ COIN_BUILD_TESTS
+ COIN_BUILD_DOCUMENTATION
COIN_BUILD_INTERNAL_DOCUMENTATION
COIN_BUILD_DOCUMENTATION_MAN
COIN_BUILD_DOCUMENTATION_QTHELP
@@ -113,29 +113,29 @@ report_prepare(
HAVE_VRML97
COIN_HAVE_JAVASCRIPT
HAVE_NODEKITS
- HAVE_DRAGGERS
- HAVE_MANIPULATORS
- HAVE_SOUND
+ HAVE_DRAGGERS
+ HAVE_MANIPULATORS
+ HAVE_SOUND
HAVE_3DS_IMPORT_CAPABILITIES
USE_EXTERNAL_EXPAT
- USE_EXCEPTIONS
- USE_SUPERGLU
- FONTCONFIG_RUNTIME_LINKING
- FREETYPE_RUNTIME_LINKING
- LIBBZIP2_RUNTIME_LINKING
- OPENAL_RUNTIME_LINKING
- SIMAGE_RUNTIME_LINKING
- ZLIB_RUNTIME_LINKING
- GLU_RUNTIME_LINKING
- SPIDERMONKEY_RUNTIME_LINKING
- HAVE_MULTIPLE_VERSION
+ USE_EXCEPTIONS
+ USE_SUPERGLU
+ FONTCONFIG_RUNTIME_LINKING
+ FREETYPE_RUNTIME_LINKING
+ LIBBZIP2_RUNTIME_LINKING
+ OPENAL_RUNTIME_LINKING
+ SIMAGE_RUNTIME_LINKING
+ ZLIB_RUNTIME_LINKING
+ GLU_RUNTIME_LINKING
+ SPIDERMONKEY_RUNTIME_LINKING
+ HAVE_MULTIPLE_VERSION
IF_APPLE
- COIN_BUILD_MAC_FRAMEWORK
- COIN_BUILD_MAC_X11
- COIN_BUILD_MAC_AGL
+ COIN_BUILD_MAC_FRAMEWORK
+ COIN_BUILD_MAC_X11
+ COIN_BUILD_MAC_AGL
IF_MSVC
COIN_BUILD_MSVC_STATIC_RUNTIME
- COIN_BUILD_SINGLE_LIB
+ COIN_BUILD_SINGLE_LIB
MSVC_VERSION
COIN_BUILD_MSVC_MP
)
@@ -147,8 +147,8 @@ if(HAVE_MULTIPLE_VERSION)
CMAKE_INSTALL_DATADIR
CMAKE_INSTALL_FULL_DATADIR
CMAKE_INSTALL_INCLUDEDIR
- CMAKE_INSTALL_FULL_INCLUDEDIR
- CMAKE_INSTALL_DOCDIR
+ CMAKE_INSTALL_FULL_INCLUDEDIR
+ CMAKE_INSTALL_DOCDIR
CMAKE_INSTALL_FULL_DOCDIR
)
else()
@@ -534,9 +534,12 @@ else()
if(HAVE_MACH_O_DYLD_H)
check_symbol_exists(NSLookupAndBindSymbol mach-o/dyld.h HAVE_DYLD_RUNTIME_BINDING)
endif()
- check_library_exists(dl dlopen "" HAVE_DL_LIB)
- if(HAVE_DL_LIB)
- check_include_file(dlfcn.h HAVE_DLFCN_H)
+ # On FreeBSD, NetBSD and OpenBSD there is no libdl, as the required
+ # functionality is already built into libc. So use ${CMAKE_DL_LIBS} instead.
+ check_include_file(dlfcn.h HAVE_DLFCN_H)
+ if(HAVE_DLFCN_H)
+ set(HAVE_DL_LIB 1)
+ list(APPEND COIN_TARGET_LINK_LIBRARIES ${CMAKE_DL_LIBS})
endif()
check_library_exists(dld shl_load "" HAVE_DLD_LIB)
endif()
--
2.26.2

View File

@@ -0,0 +1,63 @@
From fd8057eb54fee8aa457cc47abb0004f2b71d1e63 Mon Sep 17 00:00:00 2001
From: Volker Enderlein <volkerenderlein@hotmail.com>
Date: Sun, 10 May 2020 15:24:20 +0200
Subject: [PATCH] Added coin-default.cfg.
---
coin.cfg.cmake.in | 24 ++++++++++++++++++++++++
src/CMakeLists.txt | 8 +++++---
2 files changed, 29 insertions(+), 3 deletions(-)
create mode 100644 coin.cfg.cmake.in
diff --git a/coin.cfg.cmake.in b/coin.cfg.cmake.in
new file mode 100644
index 000000000..6f41c61c7
--- /dev/null
+++ b/coin.cfg.cmake.in
@@ -0,0 +1,24 @@
+# prefix is determined in coin-config, making the package "movable"
+# prefix="@prefix@"
+host="@host@"
+exec_prefix="@exec_prefix@"
+version="@COIN_VERSION@"
+cflags="@COIN_EXTRA_CFLAGS@"
+cppflags="@COIN_EXTRA_CPPFLAGS@"
+cxxflags="@COIN_EXTRA_CXXFLAGS@"
+ldflags="@COIN_EXTRA_LDFLAGS@"
+libs="@COIN_EXTRA_LIBS@"
+msvcrt="@COIN_MSVC_LIBC@"
+datadir="@datarootdir@"
+includedir="@includedir@"
+frameworkdir="@frameworkdir@"
+htmldir="@htmldir@"
+compiler="@COIN_COMPILER@"
+objext="@OBJEXT@"
+have_3ds_import=@HAVE_3DS_IMPORT_CAPABILITIES@
+have_vrml97=@HAVE_VRML97@
+have_sound=@HAVE_SOUND@
+have_superglu=@HAVE_SUPERGLU@
+have_threads=@HAVE_THREADS@
+have_threadsafe=@HAVE_THREADSAFE@
+compiler_is_gcc=@ac_compiler_gnu@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4ddc1ecd4..6132335b3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -388,9 +388,11 @@ else()
set(COIN_CONFIG_PACKAGE_LOCATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION})
string(TOLOWER ${PROJECT_NAME} COIN_CONFIG_PACKAGE_BASENAME)
if(UNIX OR MINGW)
- configure_file(${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.cmake.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc @ONLY)
- install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- install(FILES ${CMAKE_SOURCE_DIR}/bin/coin-config DESTINATION ${CMAKE_INSTALL_BINDIR})
+ configure_file("${CMAKE_SOURCE_DIR}/${PROJECT_NAME}.pc.cmake.in" "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY)
+ install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ install(PROGRAMS "${CMAKE_SOURCE_DIR}/bin/coin-config" DESTINATION ${CMAKE_INSTALL_BINDIR})
+ configure_file("${CMAKE_SOURCE_DIR}/coin.cfg.cmake.in" "${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}-default.cfg" @ONLY)
+ install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}-default.cfg" DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/Coin/conf)
endif()
endif()
--
2.26.2

View File

@@ -0,0 +1,45 @@
From d36ee28712eae2f94998845926c6880d6e5a990c Mon Sep 17 00:00:00 2001
From: Maciej Mrozowski <reavertm@gmail.com>
Date: Wed, 5 Aug 2020 02:03:52 +0200
Subject: [PATCH] Slightly fix coin.cfg.cmake.in
---
coin.cfg.cmake.in | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/coin.cfg.cmake.in b/coin.cfg.cmake.in
index 6f41c61c7..6ed041ef4 100644
--- a/coin.cfg.cmake.in
+++ b/coin.cfg.cmake.in
@@ -7,18 +7,18 @@ cflags="@COIN_EXTRA_CFLAGS@"
cppflags="@COIN_EXTRA_CPPFLAGS@"
cxxflags="@COIN_EXTRA_CXXFLAGS@"
ldflags="@COIN_EXTRA_LDFLAGS@"
-libs="@COIN_EXTRA_LIBS@"
+libs="@CMAKE_INSTALL_FULL_LIBDIR@"
msvcrt="@COIN_MSVC_LIBC@"
-datadir="@datarootdir@"
-includedir="@includedir@"
+datadir="@CMAKE_INSTALL_FULL_DATADIR@"
+includedir="@CMAKE_INSTALL_FULL_INCLUDEDIR@"
frameworkdir="@frameworkdir@"
-htmldir="@htmldir@"
+htmldir="@CMAKE_INSTALL_FULL_DOCDIR@"
compiler="@COIN_COMPILER@"
objext="@OBJEXT@"
-have_3ds_import=@HAVE_3DS_IMPORT_CAPABILITIES@
-have_vrml97=@HAVE_VRML97@
-have_sound=@HAVE_SOUND@
-have_superglu=@HAVE_SUPERGLU@
-have_threads=@HAVE_THREADS@
-have_threadsafe=@HAVE_THREADSAFE@
+have_3ds_import=@FEAT_HAVE_3DS@
+have_vrml97=@FEAT_HAVE_VRML97@
+have_sound=@FEAT_HAVE_SOUND@
+have_superglu=@FEAT_HAVE_SUPERGLU@
+have_threads=@FEAT_HAVE_THREADS@
+have_threadsafe=@FEAT_HAVE_SAFETHREAD@
compiler_is_gcc=@ac_compiler_gnu@
--
2.26.2