From 4a2cadb3202d6edf64262944e60d3d7df74fe62a Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 29 Oct 2021 23:20:14 +0100 Subject: sci-libs/opencascade: add tbb subslot operator Signed-off-by: Sam James --- sci-libs/opencascade/opencascade-7.4.0-r4.ebuild | 147 ------------------- sci-libs/opencascade/opencascade-7.4.0-r5.ebuild | 147 +++++++++++++++++++ sci-libs/opencascade/opencascade-7.5.1-r1.ebuild | 175 ----------------------- sci-libs/opencascade/opencascade-7.5.1-r2.ebuild | 175 +++++++++++++++++++++++ sci-libs/opencascade/opencascade-7.5.2-r1.ebuild | 171 ++++++++++++++++++++++ sci-libs/opencascade/opencascade-7.5.2.ebuild | 171 ---------------------- sci-libs/opencascade/opencascade-7.5.3-r2.ebuild | 171 ++++++++++++++++++++++ sci-libs/opencascade/opencascade-7.5.3.ebuild | 171 ---------------------- 8 files changed, 664 insertions(+), 664 deletions(-) delete mode 100644 sci-libs/opencascade/opencascade-7.4.0-r4.ebuild create mode 100644 sci-libs/opencascade/opencascade-7.4.0-r5.ebuild delete mode 100644 sci-libs/opencascade/opencascade-7.5.1-r1.ebuild create mode 100644 sci-libs/opencascade/opencascade-7.5.1-r2.ebuild create mode 100644 sci-libs/opencascade/opencascade-7.5.2-r1.ebuild delete mode 100644 sci-libs/opencascade/opencascade-7.5.2.ebuild create mode 100644 sci-libs/opencascade/opencascade-7.5.3-r2.ebuild delete mode 100644 sci-libs/opencascade/opencascade-7.5.3.ebuild diff --git a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild b/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild deleted file mode 100644 index 7a53a10d3509..000000000000 --- a/sci-libs/opencascade/opencascade-7.4.0-r4.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# TODO: -# check the src files referenced in 51opencascade, i.e. resources and the like -# check where cmake gets it's '-s' linker flag to avoid pre-stripping (QA) - -EAPI=7 - -inherit check-reqs cmake flag-o-matic java-pkg-opt-2 - -MY_PV="$(ver_rs 1- '_')" - -DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" -HOMEPAGE="https://www.opencascade.com" -SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" -S="${WORKDIR}/occt-V${MY_PV}" - -LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" -SLOT="${PV}" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug doc +examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk" - -REQUIRED_USE=" - inspector? ( qt5 ) - qt5? ( examples ) - ?? ( optimize tbb ) -" - -RDEPEND=" - app-eselect/eselect-opencascade - dev-cpp/eigen - dev-lang/tcl:0= - dev-lang/tk:0= - dev-tcltk/itcl - dev-tcltk/itk - dev-tcltk/tix - media-libs/freetype:2 - media-libs/ftgl - virtual/glu - virtual/opengl - x11-libs/libXmu - ffmpeg? ( media-video/ffmpeg ) - freeimage? ( media-libs/freeimage ) - java? ( virtual/jdk:1.8 ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - tbb? ( dev-cpp/tbb ) - vtk? ( - >=sci-libs/vtk-8.1.0[rendering] - > "${T}/${PV}" || die - sed -i -e 's|ros/lib|ros/'$(get_libdir)'|' "${T}/${PV}" || die - - # use TBB for memory allocation optimizations? - use tbb && (sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' "${T}/${PV}" || die) - - if use optimize ; then - # use internal optimized memory manager? - sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' "${T}/${PV}" || die - # don't clear memory ? - sed -i -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' "${T}/${PV}" || die - fi -} - -src_install() { - cmake_src_install - - # respect slotting - insinto "/etc/env.d/${PN}" - doins "${T}/${PV}" - - # remove examples - use examples || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples" || die) - use java || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/java" || die) - use qt5 || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/qt" || die) -} - -pkg_postinst() { - eselect ${PN} set ${PV} || die "failed to switch to updated implementation" - einfo "You can switch between available ${PN} implementations using eselect ${PN}" -} diff --git a/sci-libs/opencascade/opencascade-7.4.0-r5.ebuild b/sci-libs/opencascade/opencascade-7.4.0-r5.ebuild new file mode 100644 index 000000000000..b6dbf4121d02 --- /dev/null +++ b/sci-libs/opencascade/opencascade-7.4.0-r5.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# TODO: +# check the src files referenced in 51opencascade, i.e. resources and the like +# check where cmake gets it's '-s' linker flag to avoid pre-stripping (QA) + +EAPI=7 + +inherit check-reqs cmake flag-o-matic java-pkg-opt-2 + +MY_PV="$(ver_rs 1- '_')" + +DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" +HOMEPAGE="https://www.opencascade.com" +SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" +S="${WORKDIR}/occt-V${MY_PV}" + +LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" +SLOT="${PV}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="debug doc +examples ffmpeg freeimage gles2 inspector java optimize qt5 tbb +vtk" + +REQUIRED_USE=" + inspector? ( qt5 ) + qt5? ( examples ) + ?? ( optimize tbb ) +" + +RDEPEND=" + app-eselect/eselect-opencascade + dev-cpp/eigen + dev-lang/tcl:0= + dev-lang/tk:0= + dev-tcltk/itcl + dev-tcltk/itk + dev-tcltk/tix + media-libs/freetype:2 + media-libs/ftgl + virtual/glu + virtual/opengl + x11-libs/libXmu + ffmpeg? ( media-video/ffmpeg ) + freeimage? ( media-libs/freeimage ) + java? ( virtual/jdk:1.8 ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtquickcontrols2:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + ) + tbb? ( dev-cpp/tbb:= ) + vtk? ( + >=sci-libs/vtk-8.1.0[rendering] + > "${T}/${PV}" || die + sed -i -e 's|ros/lib|ros/'$(get_libdir)'|' "${T}/${PV}" || die + + # use TBB for memory allocation optimizations? + use tbb && (sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' "${T}/${PV}" || die) + + if use optimize ; then + # use internal optimized memory manager? + sed -i -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' "${T}/${PV}" || die + # don't clear memory ? + sed -i -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' "${T}/${PV}" || die + fi +} + +src_install() { + cmake_src_install + + # respect slotting + insinto "/etc/env.d/${PN}" + doins "${T}/${PV}" + + # remove examples + use examples || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples" || die) + use java || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/java" || die) + use qt5 || (rm -rf "${ED}/usr/$(get_libdir)/${P}/ros/share/${PN}/samples/qt" || die) +} + +pkg_postinst() { + eselect ${PN} set ${PV} || die "failed to switch to updated implementation" + einfo "You can switch between available ${PN} implementations using eselect ${PN}" +} diff --git a/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild b/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild deleted file mode 100644 index 666120a0cd97..000000000000 --- a/sci-libs/opencascade/opencascade-7.5.1-r1.ebuild +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# TODO: -# check the src files referenced in 51opencascade, i.e. resources and the like - -EAPI=7 - -inherit cmake flag-o-matic - -MY_PV="$(ver_rs 1- '_')" -PV_MAJ="$(ver_cut 1-2)" - -DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" -HOMEPAGE="https://www.opencascade.com" -SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" -S="${WORKDIR}/occt-V${MY_PV}" - -LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" -SLOT="${PV_MAJ}" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk" - -REQUIRED_USE="?? ( optimize tbb )" - -# There's no easy way to test. Testing needs a rather big environment -# properly set up. -RESTRICT="test" - -RDEPEND=" - app-eselect/eselect-opencascade - dev-cpp/eigen - dev-lang/tcl:0= - dev-lang/tk:0= - dev-libs/rapidjson - dev-tcltk/itcl - dev-tcltk/itk - dev-tcltk/tix - media-libs/fontconfig - media-libs/freetype:2 - media-libs/ftgl - virtual/glu - virtual/opengl - x11-libs/libXmu - examples? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - ffmpeg? ( media-video/ffmpeg ) - freeimage? ( media-libs/freeimage ) - json? ( dev-libs/rapidjson ) - tbb? ( dev-cpp/tbb ) - vtk? ( >=sci-libs/vtk-8.1.0[rendering] ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - doc? ( app-doc/doxygen ) - examples? ( dev-qt/linguist-tools:5 ) -" - -PATCHES=( - "${FILESDIR}"/${P}-0001-allow-default-search-path-for-Qt5.patch - "${FILESDIR}"/${P}-0002-remove-unnecessary-Qt5-check.patch - "${FILESDIR}"/${P}-0003-add-Gentoo-configuration-type.patch - "${FILESDIR}"/${P}-0004-fix-installation-of-cmake-config-files.patch - "${FILESDIR}"/${P}-0005-fix-write-permissions-on-scripts.patch - "${FILESDIR}"/${P}-0006-fix-creation-of-custom.sh-script.patch - "${FILESDIR}"/${P}-fix-AllValues-name-collision-with-vtk-9.0.patch -) - -src_prepare() { - cmake_src_prepare - - if use debug; then - append-cppflags -DDEBUG - append-flags -g - fi - - sed -e 's/\/lib\$/\/'$(get_libdir)'\$/' \ - -i adm/templates/OpenCASCADEConfig.cmake.in || die - - # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some - # assumptions it makes about installation paths. Rather than fixing it, just - # get rid of the mechanism altogether - its purpose is to allow a - # side-by-side installation of release and debug libraries. - sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ - -i "adm/cmake/occt_toolkit.cmake" || die -} - -src_configure() { - local mycmakeargs=( - -DBUILD_DOC_Overview=$(usex doc) - -DBUILD_Inspector=$(usex examples) - -DBUILD_WITH_DEBUG=$(usex debug) - -DCMAKE_INSTALL_PREFIX="/usr" - -DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin" - -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}" - -DINSTALL_DIR_DOC="share/doc/${PF}" - -DINSTALL_DIR_LIB="$(get_libdir)/${P}" - -DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin" - -DINSTALL_DIR_WITH_VERSION=ON - -DINSTALL_SAMPLES=$(usex examples) - -DINSTALL_TEST_CASES=NO - -DUSE_D3D=NO - -DUSE_FFMPEG=$(usex ffmpeg) - -DUSE_FREEIMAGE=$(usex freeimage) - -DUSE_FREETYPE=ON - -DUSE_GLES2=$(usex gles2) - -DUSE_RAPIDJSON=$(usex json) - -DUSE_TBB=$(usex tbb) - -DUSE_VTK=$(usex vtk) - ) - - use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON ) - - if use examples; then - mycmakeargs+=( - -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr - -DBUILD_SAMPLES_QT=ON - ) - fi - - if use vtk; then - if has_version ">=sci-libs/vtk-9.0.0"; then - mycmakeargs+=( - -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr - -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0 - -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir) - ) - fi - fi - - cmake_src_configure - - prepare_env_file() { - # prepare /etc/env.d file - sed -e 's|VAR_CASROOT|'${ESYSROOT}'/usr|g' < "${FILESDIR}/${PN}-${PV_MAJ}.env.in" >> "${T}/${PV_MAJ}" || die - sed -e 's|lib/|'$(get_libdir)'/|g' -i "${T}/${PV_MAJ}" || die - sed -e 's|VAR_PV|'${PV}'|g' -i "${T}/${PV_MAJ}" || die - - # use TBB for memory allocation optimizations? - use tbb && (sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/${PV_MAJ}" || die) - - if use optimize ; then - # use internal optimized memory manager? - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' -i "${T}/${PV_MAJ}" || die - # don't clear memory ? - sed -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' -i "${T}/${PV_MAJ}" || die - fi - } - - prepare_env_file -} - -src_install() { - use doc && docompress -x /usr/share/doc/${PF}/overview/html - cmake_src_install - - # respect slotting - insinto "/etc/env.d/${PN}" - doins "${T}/${PV_MAJ}" - - # remove examples - if use !examples; then - rm -r "${ED}/usr/share/${P}/samples" || die - fi -} - -pkg_postinst() { - eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation" - einfo "You can switch between available ${PN} implementations using eselect ${PN}" -} diff --git a/sci-libs/opencascade/opencascade-7.5.1-r2.ebuild b/sci-libs/opencascade/opencascade-7.5.1-r2.ebuild new file mode 100644 index 000000000000..375cc0a8d77a --- /dev/null +++ b/sci-libs/opencascade/opencascade-7.5.1-r2.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# TODO: +# check the src files referenced in 51opencascade, i.e. resources and the like + +EAPI=7 + +inherit cmake flag-o-matic + +MY_PV="$(ver_rs 1- '_')" +PV_MAJ="$(ver_cut 1-2)" + +DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" +HOMEPAGE="https://www.opencascade.com" +SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" +S="${WORKDIR}/occt-V${MY_PV}" + +LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" +SLOT="${PV_MAJ}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk" + +REQUIRED_USE="?? ( optimize tbb )" + +# There's no easy way to test. Testing needs a rather big environment +# properly set up. +RESTRICT="test" + +RDEPEND=" + app-eselect/eselect-opencascade + dev-cpp/eigen + dev-lang/tcl:0= + dev-lang/tk:0= + dev-libs/rapidjson + dev-tcltk/itcl + dev-tcltk/itk + dev-tcltk/tix + media-libs/fontconfig + media-libs/freetype:2 + media-libs/ftgl + virtual/glu + virtual/opengl + x11-libs/libXmu + examples? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtquickcontrols2:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + ) + ffmpeg? ( media-video/ffmpeg ) + freeimage? ( media-libs/freeimage ) + json? ( dev-libs/rapidjson ) + tbb? ( dev-cpp/tbb:= ) + vtk? ( >=sci-libs/vtk-8.1.0[rendering] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-doc/doxygen ) + examples? ( dev-qt/linguist-tools:5 ) +" + +PATCHES=( + "${FILESDIR}"/${P}-0001-allow-default-search-path-for-Qt5.patch + "${FILESDIR}"/${P}-0002-remove-unnecessary-Qt5-check.patch + "${FILESDIR}"/${P}-0003-add-Gentoo-configuration-type.patch + "${FILESDIR}"/${P}-0004-fix-installation-of-cmake-config-files.patch + "${FILESDIR}"/${P}-0005-fix-write-permissions-on-scripts.patch + "${FILESDIR}"/${P}-0006-fix-creation-of-custom.sh-script.patch + "${FILESDIR}"/${P}-fix-AllValues-name-collision-with-vtk-9.0.patch +) + +src_prepare() { + cmake_src_prepare + + if use debug; then + append-cppflags -DDEBUG + append-flags -g + fi + + sed -e 's/\/lib\$/\/'$(get_libdir)'\$/' \ + -i adm/templates/OpenCASCADEConfig.cmake.in || die + + # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some + # assumptions it makes about installation paths. Rather than fixing it, just + # get rid of the mechanism altogether - its purpose is to allow a + # side-by-side installation of release and debug libraries. + sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ + -i "adm/cmake/occt_toolkit.cmake" || die +} + +src_configure() { + local mycmakeargs=( + -DBUILD_DOC_Overview=$(usex doc) + -DBUILD_Inspector=$(usex examples) + -DBUILD_WITH_DEBUG=$(usex debug) + -DCMAKE_INSTALL_PREFIX="/usr" + -DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin" + -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}" + -DINSTALL_DIR_DOC="share/doc/${PF}" + -DINSTALL_DIR_LIB="$(get_libdir)/${P}" + -DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin" + -DINSTALL_DIR_WITH_VERSION=ON + -DINSTALL_SAMPLES=$(usex examples) + -DINSTALL_TEST_CASES=NO + -DUSE_D3D=NO + -DUSE_FFMPEG=$(usex ffmpeg) + -DUSE_FREEIMAGE=$(usex freeimage) + -DUSE_FREETYPE=ON + -DUSE_GLES2=$(usex gles2) + -DUSE_RAPIDJSON=$(usex json) + -DUSE_TBB=$(usex tbb) + -DUSE_VTK=$(usex vtk) + ) + + use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON ) + + if use examples; then + mycmakeargs+=( + -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr + -DBUILD_SAMPLES_QT=ON + ) + fi + + if use vtk; then + if has_version ">=sci-libs/vtk-9.0.0"; then + mycmakeargs+=( + -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr + -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0 + -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir) + ) + fi + fi + + cmake_src_configure + + prepare_env_file() { + # prepare /etc/env.d file + sed -e 's|VAR_CASROOT|'${ESYSROOT}'/usr|g' < "${FILESDIR}/${PN}-${PV_MAJ}.env.in" >> "${T}/${PV_MAJ}" || die + sed -e 's|lib/|'$(get_libdir)'/|g' -i "${T}/${PV_MAJ}" || die + sed -e 's|VAR_PV|'${PV}'|g' -i "${T}/${PV_MAJ}" || die + + # use TBB for memory allocation optimizations? + use tbb && (sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}/${PV_MAJ}" || die) + + if use optimize ; then + # use internal optimized memory manager? + sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' -i "${T}/${PV_MAJ}" || die + # don't clear memory ? + sed -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' -i "${T}/${PV_MAJ}" || die + fi + } + + prepare_env_file +} + +src_install() { + use doc && docompress -x /usr/share/doc/${PF}/overview/html + cmake_src_install + + # respect slotting + insinto "/etc/env.d/${PN}" + doins "${T}/${PV_MAJ}" + + # remove examples + if use !examples; then + rm -r "${ED}/usr/share/${P}/samples" || die + fi +} + +pkg_postinst() { + eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation" + einfo "You can switch between available ${PN} implementations using eselect ${PN}" +} diff --git a/sci-libs/opencascade/opencascade-7.5.2-r1.ebuild b/sci-libs/opencascade/opencascade-7.5.2-r1.ebuild new file mode 100644 index 000000000000..b05376833bca --- /dev/null +++ b/sci-libs/opencascade/opencascade-7.5.2-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake flag-o-matic + +MY_PV="$(ver_rs 1- '_')" +PV_MAJ="$(ver_cut 1-2)" + +DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" +HOMEPAGE="https://www.opencascade.com" +SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" +S="${WORKDIR}/occt-V${MY_PV}" + +LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" +SLOT="${PV_MAJ}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk" + +REQUIRED_USE="?? ( optimize tbb )" + +# There's no easy way to test. Testing needs a rather big environment +# properly set up. +RESTRICT="test" + +RDEPEND=" + app-eselect/eselect-opencascade + dev-lang/tcl:= + dev-lang/tk:= + dev-tcltk/itcl + dev-tcltk/itk + dev-tcltk/tix + media-libs/fontconfig + media-libs/freetype:2 + media-libs/ftgl + virtual/glu + virtual/opengl + x11-libs/libXmu + examples? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtquickcontrols2:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + ) + ffmpeg? ( media-video/ffmpeg:= ) + freeimage? ( media-libs/freeimage ) + tbb? ( dev-cpp/tbb:= ) + vtk? ( sci-libs/vtk:=[rendering] ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/eigen + dev-libs/rapidjson +" +BDEPEND=" + app-eselect/eselect-opencascade + doc? ( app-doc/doxygen ) + examples? ( dev-qt/linguist-tools:5 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5.1-0001-allow-default-search-path-for-Qt5.patch + "${FILESDIR}"/${PN}-7.5.1-0002-remove-unnecessary-Qt5-check.patch + "${FILESDIR}"/${PN}-7.5.1-0003-add-Gentoo-configuration-type.patch + "${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch + "${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch + "${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch + "${FILESDIR}"/${PN}-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch +) + +src_prepare() { + cmake_src_prepare + + use debug && append-cppflags -DDEBUG + + sed -e 's|/lib\$|/'$(get_libdir)'\$|' \ + -i adm/templates/OpenCASCADEConfig.cmake.in || die + + # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some + # assumptions it makes about installation paths. Rather than fixing it, just + # get rid of the mechanism altogether - its purpose is to allow a + # side-by-side installation of release and debug libraries. + sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ + -i adm/cmake/occt_toolkit.cmake || die +} + +src_configure() { + local mycmakeargs=( + -DBUILD_DOC_Overview=$(usex doc) + -DBUILD_Inspector=$(usex examples) + -DBUILD_WITH_DEBUG=$(usex debug) + -DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin" + -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}" + -DINSTALL_DIR_DOC="share/doc/${PF}" + -DINSTALL_DIR_LIB="$(get_libdir)/${P}" + -DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin" + -DINSTALL_DIR_WITH_VERSION=ON + -DINSTALL_SAMPLES=$(usex examples) + -DINSTALL_TEST_CASES=NO + -DUSE_D3D=NO + -DUSE_FFMPEG=$(usex ffmpeg) + -DUSE_FREEIMAGE=$(usex freeimage) + -DUSE_FREETYPE=ON + -DUSE_GLES2=$(usex gles2) + -DUSE_RAPIDJSON=$(usex json) + -DUSE_TBB=$(usex tbb) + -DUSE_VTK=$(usex vtk) + ) + + use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON ) + + if use examples; then + mycmakeargs+=( + -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr + -DBUILD_SAMPLES_QT=ON + ) + fi + + if use vtk; then + if has_version ">=sci-libs/vtk-9.0.0"; then + mycmakeargs+=( + -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr + -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0 + -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir) + ) + fi + fi + + cmake_src_configure + + # prepare /etc/env.d file + sed -e "s|lib/|$(get_libdir)/|" \ + -e "s|VAR_PV|${PV}|" \ + -e "s|VAR_CASROOT|${ESYSROOT}/usr|" \ + < "${FILESDIR}"/${PN}-${PV_MAJ}.env.in > "${T}"/${PV_MAJ} || die + + # use TBB for memory allocation optimizations + if use tbb; then + sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/${PV_MAJ} || die + fi + + # use internal optimized memory manager and don't clear memory with this + # memory manager. + if use optimize ; then + sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ + -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ + -i "${T}"/${PV_MAJ} || die + fi +} + +src_install() { + cmake_src_install + + # respect slotting + insinto "/etc/env.d/${PN}" + doins "${T}/${PV_MAJ}" + + # remove examples + if use !examples; then + rm -r "${ED}/usr/share/${P}/samples" || die + fi + + docompress -x /usr/share/doc/${PF}/overview/html +} + +pkg_postinst() { + eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation" + einfo "You can switch between available ${PN} implementations using eselect ${PN}" +} diff --git a/sci-libs/opencascade/opencascade-7.5.2.ebuild b/sci-libs/opencascade/opencascade-7.5.2.ebuild deleted file mode 100644 index 59a4a6c42c77..000000000000 --- a/sci-libs/opencascade/opencascade-7.5.2.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake flag-o-matic - -MY_PV="$(ver_rs 1- '_')" -PV_MAJ="$(ver_cut 1-2)" - -DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" -HOMEPAGE="https://www.opencascade.com" -SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" -S="${WORKDIR}/occt-V${MY_PV}" - -LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" -SLOT="${PV_MAJ}" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk" - -REQUIRED_USE="?? ( optimize tbb )" - -# There's no easy way to test. Testing needs a rather big environment -# properly set up. -RESTRICT="test" - -RDEPEND=" - app-eselect/eselect-opencascade - dev-lang/tcl:= - dev-lang/tk:= - dev-tcltk/itcl - dev-tcltk/itk - dev-tcltk/tix - media-libs/fontconfig - media-libs/freetype:2 - media-libs/ftgl - virtual/glu - virtual/opengl - x11-libs/libXmu - examples? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - ffmpeg? ( media-video/ffmpeg:= ) - freeimage? ( media-libs/freeimage ) - tbb? ( dev-cpp/tbb ) - vtk? ( sci-libs/vtk:=[rendering] ) -" -DEPEND=" - ${RDEPEND} - dev-cpp/eigen - dev-libs/rapidjson -" -BDEPEND=" - app-eselect/eselect-opencascade - doc? ( app-doc/doxygen ) - examples? ( dev-qt/linguist-tools:5 ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-7.5.1-0001-allow-default-search-path-for-Qt5.patch - "${FILESDIR}"/${PN}-7.5.1-0002-remove-unnecessary-Qt5-check.patch - "${FILESDIR}"/${PN}-7.5.1-0003-add-Gentoo-configuration-type.patch - "${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch - "${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch - "${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch - "${FILESDIR}"/${PN}-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch -) - -src_prepare() { - cmake_src_prepare - - use debug && append-cppflags -DDEBUG - - sed -e 's|/lib\$|/'$(get_libdir)'\$|' \ - -i adm/templates/OpenCASCADEConfig.cmake.in || die - - # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some - # assumptions it makes about installation paths. Rather than fixing it, just - # get rid of the mechanism altogether - its purpose is to allow a - # side-by-side installation of release and debug libraries. - sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ - -i adm/cmake/occt_toolkit.cmake || die -} - -src_configure() { - local mycmakeargs=( - -DBUILD_DOC_Overview=$(usex doc) - -DBUILD_Inspector=$(usex examples) - -DBUILD_WITH_DEBUG=$(usex debug) - -DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin" - -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}" - -DINSTALL_DIR_DOC="share/doc/${PF}" - -DINSTALL_DIR_LIB="$(get_libdir)/${P}" - -DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin" - -DINSTALL_DIR_WITH_VERSION=ON - -DINSTALL_SAMPLES=$(usex examples) - -DINSTALL_TEST_CASES=NO - -DUSE_D3D=NO - -DUSE_FFMPEG=$(usex ffmpeg) - -DUSE_FREEIMAGE=$(usex freeimage) - -DUSE_FREETYPE=ON - -DUSE_GLES2=$(usex gles2) - -DUSE_RAPIDJSON=$(usex json) - -DUSE_TBB=$(usex tbb) - -DUSE_VTK=$(usex vtk) - ) - - use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON ) - - if use examples; then - mycmakeargs+=( - -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr - -DBUILD_SAMPLES_QT=ON - ) - fi - - if use vtk; then - if has_version ">=sci-libs/vtk-9.0.0"; then - mycmakeargs+=( - -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr - -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0 - -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir) - ) - fi - fi - - cmake_src_configure - - # prepare /etc/env.d file - sed -e "s|lib/|$(get_libdir)/|" \ - -e "s|VAR_PV|${PV}|" \ - -e "s|VAR_CASROOT|${ESYSROOT}/usr|" \ - < "${FILESDIR}"/${PN}-${PV_MAJ}.env.in > "${T}"/${PV_MAJ} || die - - # use TBB for memory allocation optimizations - if use tbb; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/${PV_MAJ} || die - fi - - # use internal optimized memory manager and don't clear memory with this - # memory manager. - if use optimize ; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ - -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ - -i "${T}"/${PV_MAJ} || die - fi -} - -src_install() { - cmake_src_install - - # respect slotting - insinto "/etc/env.d/${PN}" - doins "${T}/${PV_MAJ}" - - # remove examples - if use !examples; then - rm -r "${ED}/usr/share/${P}/samples" || die - fi - - docompress -x /usr/share/doc/${PF}/overview/html -} - -pkg_postinst() { - eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation" - einfo "You can switch between available ${PN} implementations using eselect ${PN}" -} diff --git a/sci-libs/opencascade/opencascade-7.5.3-r2.ebuild b/sci-libs/opencascade/opencascade-7.5.3-r2.ebuild new file mode 100644 index 000000000000..14258f13db45 --- /dev/null +++ b/sci-libs/opencascade/opencascade-7.5.3-r2.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +MY_PV="$(ver_rs 1- '_')" +PV_MAJ="$(ver_cut 1-2)" + +DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" +HOMEPAGE="https://www.opencascade.com" +SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" +S="${WORKDIR}/occt-V${MY_PV}" + +LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" +SLOT="${PV_MAJ}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk" + +REQUIRED_USE="?? ( optimize tbb )" + +# There's no easy way to test. Testing needs a rather big environment +# properly set up. +RESTRICT="test" + +RDEPEND=" + app-eselect/eselect-opencascade + dev-lang/tcl:= + dev-lang/tk:= + dev-tcltk/itcl + dev-tcltk/itk + dev-tcltk/tix + media-libs/fontconfig + media-libs/freetype:2 + media-libs/ftgl + virtual/glu + virtual/opengl + x11-libs/libXmu + examples? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtquickcontrols2:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + ) + ffmpeg? ( media-video/ffmpeg:= ) + freeimage? ( media-libs/freeimage ) + tbb? ( dev-cpp/tbb:= ) + vtk? ( sci-libs/vtk:=[rendering] ) +" +DEPEND=" + ${RDEPEND} + dev-cpp/eigen + dev-libs/rapidjson +" +BDEPEND=" + app-eselect/eselect-opencascade + doc? ( app-doc/doxygen ) + examples? ( dev-qt/linguist-tools:5 ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5.1-0001-allow-default-search-path-for-Qt5.patch + "${FILESDIR}"/${PN}-7.5.1-0002-remove-unnecessary-Qt5-check.patch + "${FILESDIR}"/${PN}-7.5.1-0003-add-Gentoo-configuration-type.patch + "${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch + "${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch + "${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch + "${FILESDIR}"/${PN}-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch +) + +src_prepare() { + cmake_src_prepare + + use debug && append-cppflags -DDEBUG + + sed -e 's|/lib\$|/'$(get_libdir)'\$|' \ + -i adm/templates/OpenCASCADEConfig.cmake.in || die + + # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some + # assumptions it makes about installation paths. Rather than fixing it, just + # get rid of the mechanism altogether - its purpose is to allow a + # side-by-side installation of release and debug libraries. + sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ + -i adm/cmake/occt_toolkit.cmake || die +} + +src_configure() { + local mycmakeargs=( + -DBUILD_DOC_Overview=$(usex doc) + -DBUILD_Inspector=$(usex examples) + -DBUILD_WITH_DEBUG=$(usex debug) + -DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin" + -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}" + -DINSTALL_DIR_DOC="share/doc/${PF}" + -DINSTALL_DIR_LIB="$(get_libdir)/${P}" + -DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin" + -DINSTALL_DIR_WITH_VERSION=ON + -DINSTALL_SAMPLES=$(usex examples) + -DINSTALL_TEST_CASES=NO + -DUSE_D3D=NO + -DUSE_FFMPEG=$(usex ffmpeg) + -DUSE_FREEIMAGE=$(usex freeimage) + -DUSE_FREETYPE=ON + -DUSE_GLES2=$(usex gles2) + -DUSE_RAPIDJSON=$(usex json) + -DUSE_TBB=$(usex tbb) + -DUSE_VTK=$(usex vtk) + ) + + use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON ) + + if use examples; then + mycmakeargs+=( + -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr + -DBUILD_SAMPLES_QT=ON + ) + fi + + if use vtk; then + if has_version ">=sci-libs/vtk-9.0.0"; then + mycmakeargs+=( + -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr + -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0 + -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir) + ) + fi + fi + + cmake_src_configure + + # prepare /etc/env.d file + sed -e "s|lib/|$(get_libdir)/|" \ + -e "s|VAR_PV|${PV}|" \ + -e "s|VAR_CASROOT|${ESYSROOT}/usr|" \ + < "${FILESDIR}"/${PN}-${PV_MAJ}.env.in > "${T}"/${PV_MAJ} || die + + # use TBB for memory allocation optimizations + if use tbb; then + sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/${PV_MAJ} || die + fi + + # use internal optimized memory manager and don't clear memory with this + # memory manager. + if use optimize ; then + sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ + -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ + -i "${T}"/${PV_MAJ} || die + fi +} + +src_install() { + cmake_src_install + + # respect slotting + insinto "/etc/env.d/${PN}" + doins "${T}/${PV_MAJ}" + + # remove examples + if use !examples; then + rm -r "${ED}/usr/share/${P}/samples" || die + fi + + docompress -x /usr/share/doc/${PF}/overview/html +} + +pkg_postinst() { + eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation" + einfo "You can switch between available ${PN} implementations using eselect ${PN}" +} diff --git a/sci-libs/opencascade/opencascade-7.5.3.ebuild b/sci-libs/opencascade/opencascade-7.5.3.ebuild deleted file mode 100644 index 23b32a161225..000000000000 --- a/sci-libs/opencascade/opencascade-7.5.3.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake flag-o-matic - -MY_PV="$(ver_rs 1- '_')" -PV_MAJ="$(ver_cut 1-2)" - -DESCRIPTION="Development platform for CAD/CAE, 3D surface/solid modeling and data exchange" -HOMEPAGE="https://www.opencascade.com" -SRC_URI="https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${MY_PV};sf=tgz -> ${P}.tar.gz" -S="${WORKDIR}/occt-V${MY_PV}" - -LICENSE="|| ( Open-CASCADE-LGPL-2.1-Exception-1.0 LGPL-2.1 )" -SLOT="${PV_MAJ}" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="debug doc examples ffmpeg freeimage gles2 json optimize tbb vtk" - -REQUIRED_USE="?? ( optimize tbb )" - -# There's no easy way to test. Testing needs a rather big environment -# properly set up. -RESTRICT="test" - -RDEPEND=" - app-eselect/eselect-opencascade - dev-lang/tcl:= - dev-lang/tk:= - dev-tcltk/itcl - dev-tcltk/itk - dev-tcltk/tix - media-libs/fontconfig - media-libs/freetype:2 - media-libs/ftgl - virtual/glu - virtual/opengl - x11-libs/libXmu - examples? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtquickcontrols2:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - ) - ffmpeg? ( media-video/ffmpeg:= ) - freeimage? ( media-libs/freeimage ) - tbb? ( dev-cpp/tbb ) - vtk? ( sci-libs/vtk:=[rendering] ) -" -DEPEND=" - ${RDEPEND} - dev-cpp/eigen - dev-libs/rapidjson -" -BDEPEND=" - app-eselect/eselect-opencascade - doc? ( app-doc/doxygen ) - examples? ( dev-qt/linguist-tools:5 ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-7.5.1-0001-allow-default-search-path-for-Qt5.patch - "${FILESDIR}"/${PN}-7.5.1-0002-remove-unnecessary-Qt5-check.patch - "${FILESDIR}"/${PN}-7.5.1-0003-add-Gentoo-configuration-type.patch - "${FILESDIR}"/${PN}-7.5.1-0004-fix-installation-of-cmake-config-files.patch - "${FILESDIR}"/${PN}-7.5.1-0005-fix-write-permissions-on-scripts.patch - "${FILESDIR}"/${PN}-7.5.1-0006-fix-creation-of-custom.sh-script.patch - "${FILESDIR}"/${PN}-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch -) - -src_prepare() { - cmake_src_prepare - - use debug && append-cppflags -DDEBUG - - sed -e 's|/lib\$|/'$(get_libdir)'\$|' \ - -i adm/templates/OpenCASCADEConfig.cmake.in || die - - # There is an OCCT_UPDATE_TARGET_FILE cmake macro that fails due to some - # assumptions it makes about installation paths. Rather than fixing it, just - # get rid of the mechanism altogether - its purpose is to allow a - # side-by-side installation of release and debug libraries. - sed -e 's|\\${OCCT_INSTALL_BIN_LETTER}||' \ - -i adm/cmake/occt_toolkit.cmake || die -} - -src_configure() { - local mycmakeargs=( - -DBUILD_DOC_Overview=$(usex doc) - -DBUILD_Inspector=$(usex examples) - -DBUILD_WITH_DEBUG=$(usex debug) - -DINSTALL_DIR_BIN="$(get_libdir)/${P}/bin" - -DINSTALL_DIR_CMAKE="$(get_libdir)/cmake/${P}" - -DINSTALL_DIR_DOC="share/doc/${PF}" - -DINSTALL_DIR_LIB="$(get_libdir)/${P}" - -DINSTALL_DIR_SCRIPT="$(get_libdir)/${P}/bin" - -DINSTALL_DIR_WITH_VERSION=ON - -DINSTALL_SAMPLES=$(usex examples) - -DINSTALL_TEST_CASES=NO - -DUSE_D3D=NO - -DUSE_FFMPEG=$(usex ffmpeg) - -DUSE_FREEIMAGE=$(usex freeimage) - -DUSE_FREETYPE=ON - -DUSE_GLES2=$(usex gles2) - -DUSE_RAPIDJSON=$(usex json) - -DUSE_TBB=$(usex tbb) - -DUSE_VTK=$(usex vtk) - ) - - use doc && mycmakeargs+=( -DINSTALL_DOC_Overview=ON ) - - if use examples; then - mycmakeargs+=( - -D3RDPARTY_QT_DIR="${ESYSROOT}"/usr - -DBUILD_SAMPLES_QT=ON - ) - fi - - if use vtk; then - if has_version ">=sci-libs/vtk-9.0.0"; then - mycmakeargs+=( - -D3RDPARTY_VTK_DIR="${ESYSROOT}"/usr - -D3RDPARTY_VTK_INCLUDE_DIR="${ESYSROOT}"/usr/include/vtk-9.0 - -D3RDPARTY_VTK_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir) - ) - fi - fi - - cmake_src_configure - - # prepare /etc/env.d file - sed -e "s|lib/|$(get_libdir)/|" \ - -e "s|VAR_PV|${PV}|" \ - -e "s|VAR_CASROOT|${ESYSROOT}/usr|" \ - < "${FILESDIR}"/${PN}-${PV_MAJ}.env.in > "${T}"/${PV_MAJ} || die - - # use TBB for memory allocation optimizations - if use tbb; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=2|' -i "${T}"/${PV_MAJ} || die - fi - - # use internal optimized memory manager and don't clear memory with this - # memory manager. - if use optimize ; then - sed -e 's|^#MMGT_OPT=0$|MMGT_OPT=1|' \ - -e 's|^#MMGT_CLEAR=1$|MMGT_CLEAR=0|' \ - -i "${T}"/${PV_MAJ} || die - fi -} - -src_install() { - cmake_src_install - - # respect slotting - insinto "/etc/env.d/${PN}" - doins "${T}/${PV_MAJ}" - - # remove examples - if use !examples; then - rm -r "${ED}/usr/share/${P}/samples" || die - fi - - docompress -x /usr/share/doc/${PF}/overview/html -} - -pkg_postinst() { - eselect ${PN} set ${PV_MAJ} || die "failed to switch to updated implementation" - einfo "You can switch between available ${PN} implementations using eselect ${PN}" -} -- cgit v1.2.3-65-gdbad