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 |