Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/freecad/
Date: Tue, 30 Nov 2021 12:50:28
Message-Id: 1638276618.e6c53e3e86537e972bea3fcc51d83edee653e3f2.juippis@gentoo
1 commit: e6c53e3e86537e972bea3fcc51d83edee653e3f2
2 Author: Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
3 AuthorDate: Sat Nov 20 01:14:41 2021 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 30 12:50:18 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6c53e3e
7
8 media-gfx/freecad: remove obsolete patch
9
10 - fix some dependencies
11 - simplify opencascade related code, which has been obsoleted due to removal
12 of slot 7.4.0
13 - use default CMAKE_INSTALL_PREFIX (/usr) instead of /usr/$(get_libdir)/${PN}.
14 This leads to some files being installed in /usr/{Ext,Mod}. A new patch
15 fixes this. The lower case symlinks for the executables are no longer
16 installed now, as the binaries are in the path and can be called directly.
17 - use relative patchs for CMAKE_INSTALL_* variables
18
19 Closes: https://bugs.gentoo.org/824550
20 Package-Manager: Portage-3.0.28, Repoman-3.0.3
21 Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
22 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
23
24 media-gfx/freecad/Manifest | 1 +
25 media-gfx/freecad/freecad-9999.ebuild | 81 +++++++++++++++--------------------
26 2 files changed, 36 insertions(+), 46 deletions(-)
27
28 diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest
29 index fe0489b287e6..94a0fc360a90 100644
30 --- a/media-gfx/freecad/Manifest
31 +++ b/media-gfx/freecad/Manifest
32 @@ -1,2 +1,3 @@
33 DIST freecad-0.19.2-0005-Make-smesh-compile-with-vtk9.patch.xz 5368 BLAKE2B 69bafefd049effe3c31719bb2c23d32e8ba7ad58235c58ac8279ba6c036feaf1b97d5751cf2d68896e7489803103b2d0f92f76e61b3ccc97ef05a95b337ca5c2 SHA512 66585cc13fb3b0b026cf9dbd761c8ba1c1fe4d4f7db2e144ddd97706e02ccd78f4a43ac7cd93ddcae6e73933bf41d4cbd4d94bcdff8804b81378a6d946c7b070
34 DIST freecad-0.19.2.tar.gz 296987961 BLAKE2B 3c21359c71f7ac5a49cc4b4be437dfce02f2af73dfc526a3955547718ee41c461fc787d029a9a77374d58516d7c56fec6982fe6d38ab17fbc30c0a94929136bf SHA512 420f00e696725cbd31c936c47b6ac226d866a17c7b7683ad381b8dd5edaffc7dfb1a3c4238c08e8b4fd34ef0c08d7c244cb7797012e596df1ce0a4f6e3be6b72
35 +DIST freecad-9999-Gentoo-specific-fix-install-locations-of-Ext-and-Mod.patch.xz 4136 BLAKE2B 207003dacd7f02bd4782ebb0d5f9a7093d8fd3ef8011301454dab03d7a79bab7b2fd623c7d8e11d1f6557803b40f1d206dc75c41b1520e1dd2467dda72d91868 SHA512 d7d6096c1cfb06e6218673a927c5791ec820dc13a23c89df6233109e288d98f86920141e01a8cb680e7cbb8c83c4c655a7a66d5578d284a144dc3f44c028ceb5
36
37 diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
38 index df78793c7f3b..a4a2fa3acc6c 100644
39 --- a/media-gfx/freecad/freecad-9999.ebuild
40 +++ b/media-gfx/freecad/freecad-9999.ebuild
41 @@ -11,10 +11,12 @@ DESCRIPTION="QT based Computer Aided Design application"
42 HOMEPAGE="https://www.freecadweb.org/ https://github.com/FreeCAD/FreeCAD"
43
44 MY_PN=FreeCAD
45 +MY_PATCH="${P}-Gentoo-specific-fix-install-locations-of-Ext-and-Mod"
46
47 if [[ ${PV} = *9999 ]]; then
48 inherit git-r3
49 EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
50 + SRC_URI="https://raw.githubusercontent.com/waebbl/waebbl-gentoo/master/patches/${MY_PATCH}.patch.xz"
51 S="${WORKDIR}/freecad-${PV}"
52 else
53 MY_PV=$(ver_cut 1-2)
54 @@ -47,7 +49,6 @@ unset module
55
56 RDEPEND="
57 ${PYTHON_DEPS}
58 - >=dev-cpp/eigen-3.3.1:3
59 dev-libs/OpenNI2[opengl(+)]
60 dev-libs/libspnav[X]
61 dev-libs/xerces-c[icu]
62 @@ -79,7 +80,7 @@ RDEPEND="
63 dev-libs/openssl:=
64 net-misc/curl
65 )
66 - fem? ( sci-libs/vtk:=[boost,python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] )
67 + fem? ( sci-libs/vtk:=[boost(+),python,qt5,rendering,${PYTHON_SINGLE_USEDEP}] )
68 openscad? ( media-gfx/openscad )
69 pcl? ( sci-libs/pcl:=[opengl,openni2(+),qt5(+),vtk(+)] )
70 $(python_gen_cond_dep '
71 @@ -94,8 +95,14 @@ RDEPEND="
72 fem? ( dev-python/ply[${PYTHON_USEDEP}] )
73 ')
74 "
75 -DEPEND="${RDEPEND}"
76 -BDEPEND="dev-lang/swig"
77 +DEPEND="
78 + ${RDEPEND}
79 + >=dev-cpp/eigen-3.3.1:3
80 +"
81 +BDEPEND="
82 + app-text/dos2unix
83 + dev-lang/swig
84 +"
85
86 # To get required dependencies:
87 # 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
88 @@ -132,31 +139,27 @@ pkg_setup() {
89 [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, plesae run eselect opencascade"
90 }
91
92 +src_unpack() {
93 + git-r3_src_unpack
94 + unpack ${MY_PATCH}.patch.xz
95 +}
96 +
97 src_prepare() {
98 # the upstream provided file doesn't find the coin doc tag file,
99 # but cmake ships a working one, so we use this.
100 rm "${S}/cMake/FindCoin3D.cmake" || die
101
102 - # Fix OpenCASCADE lookup
103 - local OCC_P=$(best_version sci-libs/opencascade[vtk])
104 - OCC_P=${OCC_P#sci-libs/}
105 - local OCC_PV=${OCC_P#opencascade-}
106 - OCC_PV=$(ver_cut 1-2 ${OCC_PV})
107 - # check for CASROOT needed to ensure occ-7.5 is eselected and profile resourced
108 - if [[ ${OCC_PV} = 7.5 && ${CASROOT} = "/usr" ]]; then
109 - sed -e 's|/usr/include/opencascade|'${CASROOT}'/include/'${OCC_P}'|' \
110 - -e 's|/usr/lib|'${CASROOT}'/'$(get_libdir)'/'${OCC_P}' NO_DEFAULT_PATH|' \
111 - -i cMake/FindOpenCasCade.cmake || die
112 - else
113 - sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
114 - -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
115 - -i cMake/FindOpenCasCade.cmake || die
116 - fi
117 -
118 # Fix desktop file
119 sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
120
121 cmake_src_prepare
122 +
123 + # Fix line endings on a few files for patching
124 + for f in src/Mod/{Cloud,Inspection,Start/StartPage}/CMakeLists.txt; do
125 + dos2unix -q ${f}
126 + done
127 +
128 + eapply "${WORKDIR}"/${P}-Gentoo-specific-fix-install-locations-of-Ext-and-Mod.patch
129 }
130
131 src_configure() {
132 @@ -207,10 +210,10 @@ src_configure() {
133 -DBUILD_WEB=ON # needed by start workspace
134 -DBUILD_WITH_CONDA=OFF
135
136 - -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
137 - -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
138 - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
139 - -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
140 + -DCMAKE_INSTALL_DATADIR=share/${PN}/data
141 + -DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
142 + -DCMAKE_INSTALL_INCLUDEDIR=include/${PN}
143 + -DCMAKE_INSTALL_LIBDIR=$(get_libdir)/${PN}
144
145 -DFREECAD_BUILD_DEBIAN=OFF
146
147 @@ -235,22 +238,14 @@ src_configure() {
148 -DOCCT_CMAKE_FALLBACK=ON # don't use occt-config which isn't included in opencascade for Gentoo
149 )
150
151 - if has_version ">=sci-libs/opencascade-7.5"; then
152 - # bug https://bugs.gentoo.org/788274
153 - local OCC_P=$(best_version sci-libs/opencascade[vtk])
154 - OCC_P=${OCC_P#sci-libs/}
155 - OCC_P=${OCC_P%-r*}
156 - mycmakeargs+=(
157 - -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P}
158 - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P}
159 - )
160 - else
161 - # <occ-7.5 uses different layout
162 - mycmakeargs+=(
163 - -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
164 - -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)
165 - )
166 - fi
167 + # bug https://bugs.gentoo.org/788274
168 + local OCC_P=$(best_version sci-libs/opencascade[vtk])
169 + OCC_P=${OCC_P#sci-libs/}
170 + OCC_P=${OCC_P%-r*}
171 + mycmakeargs+=(
172 + -DOCC_INCLUDE_DIR="${CASROOT}"/include/${OCC_P}
173 + -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/${OCC_P}
174 + )
175
176 if use debug; then
177 # BUILD_SANDBOX currently broken, see
178 @@ -291,12 +286,6 @@ src_install() {
179
180 dobin src/Tools/freecad-thumbnailer
181
182 - if ! use headless; then
183 - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
184 - mv "${ED}"/usr/$(get_libdir)/freecad/share/* "${ED}"/usr/share || die "failed to move shared ressources"
185 - fi
186 - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
187 -
188 python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
189 # compile main package in python site-packages as well
190 python_optimize