summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/freecad/freecad-0.19.2.ebuild27
1 files changed, 19 insertions, 8 deletions
diff --git a/media-gfx/freecad/freecad-0.19.2.ebuild b/media-gfx/freecad/freecad-0.19.2.ebuild
index 7e191a22a02a..4719298feb3b 100644
--- a/media-gfx/freecad/freecad-0.19.2.ebuild
+++ b/media-gfx/freecad/freecad-0.19.2.ebuild
@@ -141,11 +141,20 @@ src_prepare() {
rm "${S}/cMake/FindCoin3D.cmake" || die
# Fix OpenCASCADE lookup
- # TODO: check this for opencascade-7.5.1 locations, which have
- # changed since 7.4.0 after that package has merged
- sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
- -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
- -i cMake/FindOpenCasCade.cmake || die
+ local OCC_P=$(best_version sci-libs/opencascade[vtk])
+ OCC_P=${OCC_P#sci-libs/}
+ local OCC_PV=${OCC_P#opencascade-}
+ OCC_PV=$(ver_cut 1-2 ${OCC_PV})
+ # check for CASROOT needed to ensure occ-7.5 is eselected and profile resourced
+ if [[ ${OCC_PV} = 7.5 && ${CASROOT} = "/usr" ]]; then
+ sed -e 's|/usr/include/opencascade|'${CASROOT}'/include/'${OCC_P}'|' \
+ -e 's|/usr/lib|'${CASROOT}'/'$(get_libdir)'/'${OCC_P}' NO_DEFAULT_PATH|' \
+ -i cMake/FindOpenCasCade.cmake || die
+ else
+ sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
+ -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
+ -i cMake/FindOpenCasCade.cmake || die
+ fi
# Fix desktop file
sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
@@ -227,14 +236,16 @@ src_configure() {
if has_version ">=sci-libs/opencascade-7.5"; then
# bug https://bugs.gentoo.org/788274
+ local OCC_P=$(best_version sci-libs/opencascade[vtk])
+ OCC_P=${OCC_P#sci-libs/}
mycmakeargs+=(
- -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade-7.5.1
- -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade-7.5.1
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P}
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P}
)
else
# <occ-7.5 uses different layout
mycmakeargs+=(
- -DOCC_INCLUDEDIR="${CASROOT}"/include/opencascade
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
-DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)
)
fi