commit:     a04bde8fe68ac692e406120ecf2cb81b0b9b186d
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 13 18:46:39 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 21 14:41:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a04bde8f

media-libs/coin: add 4.0.3

- Accept dev-qt/qttools:6[assistant] alternatively to dev-qt/qthelp:5
- Rename IUSE qthelp to qch (same as dev-qt/qt-docs), if it must be !doc
- Drop IUSE man (saves no deps, just brings bad REQUIRED_USE UX)
- Enable COIN_BUILD_AWESOME_DOCUMENTATION (we already depend on Doxygen)
- Drop IUSE javascript
- ebuild style

Closes: https://bugs.gentoo.org/884219
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-libs/coin/Manifest                           |   1 +
 media-libs/coin/coin-4.0.3.ebuild                  | 110 +++++++++++++++++++++
 .../files/coin-4.0.3-find-qhelpgenerator.patch     |  23 +++++
 media-libs/coin/metadata.xml                       |   1 +
 4 files changed, 135 insertions(+)

diff --git a/media-libs/coin/Manifest b/media-libs/coin/Manifest
index b5002705981d..68be7c500f65 100644
--- a/media-libs/coin/Manifest
+++ b/media-libs/coin/Manifest
@@ -1 +1,2 @@
 DIST coin-4.0.2-src.tar.gz 7160869 BLAKE2B 
a434ea2a550557024c665e392aa189e991296b5f8c9cd2c0dc5bb71d41a948ed9d9b34eac69dc9a651f70abf8ec1f188cb8df6534d6e31b6e4e1a6ec4acaffcd
 SHA512 
31fcb69627e466c89bb640c5b2351db4e51772408a4ce56cae7d6f550ddf19adf9b121252479297d5c2a208032194d8f4e7bf97686b0611df1ac45231e09baad
+DIST coin-4.0.3-src.tar.gz 13099754 BLAKE2B 
c56f9e7b837bad76996a78ba3351c43b78b082c6250735e678ca9af79b3518d369e223a1625d74c8d007fff814f32e6bd6fe04c4dd5df9dd999f6afed767afeb
 SHA512 
b661bf2124b0de1b46e76a6699b0975abb3aed4dc9019bf32531c535179dc84a90fe4e19def6f6cda7b175470636040d0e58812d532198cf207296d37c539915

diff --git a/media-libs/coin/coin-4.0.3.ebuild 
b/media-libs/coin/coin-4.0.3.ebuild
new file mode 100644
index 000000000000..75d11ab2481a
--- /dev/null
+++ b/media-libs/coin/coin-4.0.3.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="High-level 3D graphics toolkit, fully compatible with SGI Open 
Inventor 2.1"
+HOMEPAGE="https://github.com/coin3d/coin/wiki";
+SRC_URI="https://github.com/coin3d/coin/releases/download/v${PV}/${P}-src.tar.gz";
+S="${WORKDIR}/${PN}"
+
+LICENSE="|| ( GPL-2 PEL )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc +exceptions openal qch test threads"
+
+REQUIRED_USE="qch? ( doc )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       app-arch/bzip2
+       dev-libs/expat
+       media-libs/fontconfig
+       media-libs/freetype:2
+       media-libs/simage
+       sys-libs/zlib
+       virtual/opengl
+       virtual/glu
+       x11-libs/libICE
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXext
+       openal? ( media-libs/openal )
+"
+DEPEND="${RDEPEND}
+       dev-libs/boost:0
+       x11-base/xorg-proto
+"
+BDEPEND="
+       doc? (
+               app-text/doxygen
+               qch? ( || (
+                       dev-qt/qttools:6[assistant]
+                       dev-qt/qthelp:5
+               ) )
+       )
+"
+
+PATCHES=( "${FILESDIR}"/${P}-find-qhelpgenerator.patch )
+
+DOCS=( AUTHORS FAQ FAQ.legal NEWS THANKS docs/HACKING )
+
+src_configure() {
+       # -Werror=odr
+       # https://bugs.gentoo.org/859832
+       # https://github.com/coin3d/coin/issues/521
+       filter-lto
+
+       use debug && append-cppflags -DCOIN_DEBUG=1
+
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
+
+               -DCOIN_BUILD_SHARED_LIBS=ON
+               -DCOIN_BUILD_TESTS=$(usex test)
+               -DCOIN_BUILD_DOCUMENTATION=$(usex doc)
+
+               -DCOIN_BUILD_INTERNAL_DOCUMENTATION=OFF
+               -DCOIN_BUILD_AWESOME_DOCUMENTATION=$(usex doc)
+               -DCOIN_BUILD_DOCUMENTATION_MAN=$(usex doc)
+               -DCOIN_BUILD_DOCUMENTATION_QTHELP=$(usex qch)
+               -DCOIN_BUILD_DOCUMENTATION_CHM=OFF
+
+               -DCOIN_THREADSAFE=$(usex threads)
+               -DHAVE_VRML97=ON
+               -DCOIN_HAVE_JAVASCRIPT=OFF
+               -DHAVE_NODEKITS=ON
+               -DHAVE_DRAGGERS=ON
+               -DHAVE_MANIPULATORS=ON
+               -DHAVE_SOUND=$(usex openal)
+               -DHAVE_3DS_IMPORT_CAPABILITIES=ON
+               -DUSE_EXTERNAL_EXPAT=ON
+               -DUSE_EXCEPTIONS=$(usex exceptions)
+               -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=$(usex debug)
+               -DHAVE_MULTIPLE_VERSION=OFF
+
+               -DCOIN_BUILD_SINGLE_LIB=ON
+       )
+       use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
+
+       cmake_src_configure
+}
+
+src_test() {
+       pushd "${BUILD_DIR}/bin" > /dev/null || die
+       ./CoinTests -r detailed || die "Tests failed."
+       popd > /dev/null || die
+}

diff --git a/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch 
b/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch
new file mode 100644
index 000000000000..1ac924a5c28b
--- /dev/null
+++ b/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch
@@ -0,0 +1,23 @@
+--- a/src/doc/CMakeLists.txt   2024-09-06 07:36:34.000000000 +0200
++++ b/src/doc/CMakeLists.txt   2024-10-13 20:41:26.450802361 +0200
+@@ -32,13 +32,15 @@
+     endif()
+   endif()
+   if(COIN_BUILD_DOCUMENTATION_QTHELP)
+-    find_program(QHG_LOCATION NAMES qhelpgenerator qhelpgenerator-qt5 DOC "Qt 
qhelpgenerator")
+-    if(NOT QHG_LOCATION)
+-      message(FATAL_ERROR "Missing program Qt qhelpgenerator")
++    find_package(Qt6Tools QUIET COMPONENTS Help)
++    if(Qt6Tools_FOUND)
++      get_target_property(QHG_LOCATION Qt6::qhelpgenerator LOCATION)
+     else()
+-      set(GENERATE_QHP YES)
+-      mark_as_advanced(QHG_LOCATION)
++      find_package(Qt5Help REQUIRED)
++      get_target_property(QHG_LOCATION Qt5::qhelpgenerator LOCATION)
+     endif()
++    set(GENERATE_QHP YES)
++    mark_as_advanced(QHG_LOCATION)
+   endif()
+ 
+   # Add default files

diff --git a/media-libs/coin/metadata.xml b/media-libs/coin/metadata.xml
index bcd622631c00..8ab9e491c2ab 100644
--- a/media-libs/coin/metadata.xml
+++ b/media-libs/coin/metadata.xml
@@ -6,6 +6,7 @@
   </maintainer>
   <use>
     <flag name="exceptions">Compile with C++ exceptions</flag>
+    <flag name="qch">Install API documentation in QCH format</flag>
     <flag name="qthelp">Build API documentation in QtHelp format</flag>
   </use>
   <upstream>

Reply via email to