diff --git a/media-libs/coin/coin-4.0.0.recipe b/media-libs/coin/coin-4.0.0.recipe new file mode 100644 index 000000000..171074467 --- /dev/null +++ b/media-libs/coin/coin-4.0.0.recipe @@ -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 +} diff --git a/media-libs/coin/patches/coin-4.0.0-0001-updated-to-cmake-3.14.patch b/media-libs/coin/patches/coin-4.0.0-0001-updated-to-cmake-3.14.patch new file mode 100644 index 000000000..c33cf4e2b --- /dev/null +++ b/media-libs/coin/patches/coin-4.0.0-0001-updated-to-cmake-3.14.patch @@ -0,0 +1,25 @@ +From 962e613609ba93301999f83e283b7f489dfac503 Mon Sep 17 00:00:00 2001 +From: Giampiero Gabbiani +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 + diff --git a/media-libs/coin/patches/coin-4.0.0-0002-cpack.d-is-now-optional.patch b/media-libs/coin/patches/coin-4.0.0-0002-cpack.d-is-now-optional.patch new file mode 100644 index 000000000..82fceadbd --- /dev/null +++ b/media-libs/coin/patches/coin-4.0.0-0002-cpack.d-is-now-optional.patch @@ -0,0 +1,32 @@ +From be8e3d57aeb5b4df6abb52c5fa88666d48e7d7a0 Mon Sep 17 00:00:00 2001 +From: Giampiero Gabbiani +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 + diff --git a/media-libs/coin/patches/coin-4.0.0-0003-Partially-incorporating-coin4.0.0a-patch-from-gentoo.patch b/media-libs/coin/patches/coin-4.0.0-0003-Partially-incorporating-coin4.0.0a-patch-from-gentoo.patch new file mode 100644 index 000000000..fb1c0d25a --- /dev/null +++ b/media-libs/coin/patches/coin-4.0.0-0003-Partially-incorporating-coin4.0.0a-patch-from-gentoo.patch @@ -0,0 +1,123 @@ +From 9a36b15d66c5e340cd8695415ce5867ad07ee2bb Mon Sep 17 00:00:00 2001 +From: Volker Enderlein +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 + diff --git a/media-libs/coin/patches/coin-4.0.0-0004-Added-coin-default.cfg.patch b/media-libs/coin/patches/coin-4.0.0-0004-Added-coin-default.cfg.patch new file mode 100644 index 000000000..d57f8f3b9 --- /dev/null +++ b/media-libs/coin/patches/coin-4.0.0-0004-Added-coin-default.cfg.patch @@ -0,0 +1,63 @@ +From fd8057eb54fee8aa457cc47abb0004f2b71d1e63 Mon Sep 17 00:00:00 2001 +From: Volker Enderlein +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 + diff --git a/media-libs/coin/patches/coin-4.0.0-0005-Slightly-fix-coin.cfg.cmake.in.patch b/media-libs/coin/patches/coin-4.0.0-0005-Slightly-fix-coin.cfg.cmake.in.patch new file mode 100644 index 000000000..ae2181246 --- /dev/null +++ b/media-libs/coin/patches/coin-4.0.0-0005-Slightly-fix-coin.cfg.cmake.in.patch @@ -0,0 +1,45 @@ +From d36ee28712eae2f94998845926c6880d6e5a990c Mon Sep 17 00:00:00 2001 +From: Maciej Mrozowski +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 +