Gentoo Archives: gentoo-commits

From: Alexey Shvetsov <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/freecad/
Date: Mon, 31 May 2021 19:26:24
Message-Id: 1622489162.b83b3eaf0c8423672624c1cb06cc0ff5bc4aa360.alexxy@gentoo
1 commit: b83b3eaf0c8423672624c1cb06cc0ff5bc4aa360
2 Author: Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
3 AuthorDate: Tue May 18 18:40:01 2021 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Mon May 31 19:26:02 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b83b3eaf
7
8 media-gfx/freecad: fix opencascade issue
9
10 Fix an issue with sci-libs/opencascade:7.4.0, where a wrong options
11 has been passed to cmake.
12 Additionally improves testing which version of opencascade has been
13 installed and adds some guards to select correct options.
14
15 Closes: https://bugs.gentoo.org/789705
16 Package-Manager: Portage-3.0.18, Repoman-3.0.3
17 Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
18 Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>
19
20 media-gfx/freecad/freecad-0.19.2.ebuild | 27 +++++++++++++++++++--------
21 1 file changed, 19 insertions(+), 8 deletions(-)
22
23 diff --git a/media-gfx/freecad/freecad-0.19.2.ebuild b/media-gfx/freecad/freecad-0.19.2.ebuild
24 index 7e191a22a02..4719298feb3 100644
25 --- a/media-gfx/freecad/freecad-0.19.2.ebuild
26 +++ b/media-gfx/freecad/freecad-0.19.2.ebuild
27 @@ -141,11 +141,20 @@ src_prepare() {
28 rm "${S}/cMake/FindCoin3D.cmake" || die
29
30 # Fix OpenCASCADE lookup
31 - # TODO: check this for opencascade-7.5.1 locations, which have
32 - # changed since 7.4.0 after that package has merged
33 - sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
34 - -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
35 - -i cMake/FindOpenCasCade.cmake || die
36 + local OCC_P=$(best_version sci-libs/opencascade[vtk])
37 + OCC_P=${OCC_P#sci-libs/}
38 + local OCC_PV=${OCC_P#opencascade-}
39 + OCC_PV=$(ver_cut 1-2 ${OCC_PV})
40 + # check for CASROOT needed to ensure occ-7.5 is eselected and profile resourced
41 + if [[ ${OCC_PV} = 7.5 && ${CASROOT} = "/usr" ]]; then
42 + sed -e 's|/usr/include/opencascade|'${CASROOT}'/include/'${OCC_P}'|' \
43 + -e 's|/usr/lib|'${CASROOT}'/'$(get_libdir)'/'${OCC_P}' NO_DEFAULT_PATH|' \
44 + -i cMake/FindOpenCasCade.cmake || die
45 + else
46 + sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
47 + -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
48 + -i cMake/FindOpenCasCade.cmake || die
49 + fi
50
51 # Fix desktop file
52 sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
53 @@ -227,14 +236,16 @@ src_configure() {
54
55 if has_version ">=sci-libs/opencascade-7.5"; then
56 # bug https://bugs.gentoo.org/788274
57 + local OCC_P=$(best_version sci-libs/opencascade[vtk])
58 + OCC_P=${OCC_P#sci-libs/}
59 mycmakeargs+=(
60 - -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade-7.5.1
61 - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade-7.5.1
62 + -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P}
63 + -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P}
64 )
65 else
66 # <occ-7.5 uses different layout
67 mycmakeargs+=(
68 - -DOCC_INCLUDEDIR="${CASROOT}"/include/opencascade
69 + -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
70 -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)
71 )
72 fi