3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
PYTHON_COMPAT=( python3_{9..10} )
|
|
6 |
PYTHON_COMPAT=( python3_{9..11} )
|
7 |
7 |
|
8 |
8 |
inherit check-reqs cmake optfeature python-single-r1 xdg
|
9 |
9 |
|
... | ... | |
28 |
28 |
SLOT="0"
|
29 |
29 |
IUSE="debug designer +gui test"
|
30 |
30 |
|
31 |
|
FREECAD_EXPERIMENTAL_MODULES="cloud pcl"
|
|
31 |
FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
|
32 |
32 |
FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
|
33 |
33 |
openscad part-design path points raytracing robot show surface
|
34 |
34 |
techdraw tux"
|
... | ... | |
49 |
49 |
dev-libs/boost:=
|
50 |
50 |
dev-libs/libspnav[X]
|
51 |
51 |
dev-libs/xerces-c[icu]
|
52 |
|
dev-qt/designer:5
|
53 |
52 |
dev-qt/qtconcurrent:5
|
54 |
53 |
dev-qt/qtcore:5
|
55 |
|
dev-qt/qtgui:5
|
56 |
54 |
dev-qt/qtnetwork:5
|
57 |
|
dev-qt/qtopengl:5
|
58 |
|
dev-qt/qtprintsupport:5
|
59 |
|
dev-qt/qtsvg:5
|
60 |
|
dev-qt/qtwebengine:5[widgets]
|
61 |
|
dev-qt/qtwidgets:5
|
62 |
|
dev-qt/qtx11extras:5
|
63 |
55 |
dev-qt/qtxml:5
|
64 |
|
>=media-libs/coin-4.0.0
|
|
56 |
dev-qt/qtxmlpatterns:5
|
65 |
57 |
media-libs/freetype
|
66 |
58 |
media-libs/qhull:=
|
67 |
59 |
sci-libs/flann[openmp]
|
... | ... | |
70 |
62 |
<sci-libs/opencascade-7.7.0:=[json,vtk]
|
71 |
63 |
sci-libs/orocos_kdl:=
|
72 |
64 |
sys-libs/zlib
|
73 |
|
virtual/glu
|
74 |
65 |
virtual/libusb:1
|
75 |
|
virtual/opengl
|
76 |
66 |
cloud? (
|
77 |
67 |
dev-libs/openssl:=
|
78 |
68 |
net-misc/curl
|
79 |
69 |
)
|
80 |
70 |
fem? ( sci-libs/vtk:=[qt5,rendering] )
|
|
71 |
gui? (
|
|
72 |
dev-qt/designer:5
|
|
73 |
dev-qt/qtgui:5
|
|
74 |
dev-qt/qtopengl:5
|
|
75 |
dev-qt/qtprintsupport:5
|
|
76 |
dev-qt/qtsvg:5
|
|
77 |
dev-qt/qtwebengine:5[widgets]
|
|
78 |
dev-qt/qtwidgets:5
|
|
79 |
dev-qt/qtx11extras:5
|
|
80 |
>=media-libs/coin-4.0.0
|
|
81 |
virtual/glu
|
|
82 |
virtual/opengl
|
|
83 |
$(python_gen_cond_dep '
|
|
84 |
dev-python/matplotlib[${PYTHON_USEDEP}]
|
|
85 |
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
|
|
86 |
dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
|
|
87 |
dev-python/shiboken2[${PYTHON_USEDEP}]
|
|
88 |
')
|
|
89 |
)
|
|
90 |
netgen? ( media-gfx/netgen[opencascade] )
|
81 |
91 |
openscad? ( media-gfx/openscad )
|
82 |
92 |
pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
|
83 |
93 |
$(python_gen_cond_dep '
|
84 |
|
dev-python/matplotlib[${PYTHON_USEDEP}]
|
85 |
94 |
dev-python/numpy[${PYTHON_USEDEP}]
|
86 |
|
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
|
87 |
95 |
dev-python/pybind11[${PYTHON_USEDEP}]
|
88 |
|
dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
|
89 |
|
dev-python/shiboken2[${PYTHON_USEDEP}]
|
90 |
96 |
addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
|
91 |
97 |
fem? ( dev-python/ply[${PYTHON_USEDEP}] )
|
92 |
98 |
')
|
... | ... | |
94 |
100 |
DEPEND="
|
95 |
101 |
${RDEPEND}
|
96 |
102 |
>=dev-cpp/eigen-3.3.1:3
|
97 |
|
test? ( $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') )
|
|
103 |
test? (
|
|
104 |
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
|
105 |
dev-qt/qttest:5
|
|
106 |
)
|
98 |
107 |
"
|
99 |
108 |
BDEPEND="
|
100 |
109 |
app-text/dos2unix
|
101 |
110 |
dev-lang/swig
|
102 |
|
test? ( $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') )
|
|
111 |
test? (
|
|
112 |
$(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
|
|
113 |
dev-qt/qttest:5
|
|
114 |
)
|
103 |
115 |
"
|
104 |
116 |
|
105 |
117 |
# To get required dependencies:
|
... | ... | |
117 |
129 |
# test suite when compiled with a minimal set of USE flags.
|
118 |
130 |
REQUIRED_USE="
|
119 |
131 |
${PYTHON_REQUIRED_USE}
|
|
132 |
designer? ( gui )
|
120 |
133 |
inspection? ( points )
|
121 |
134 |
path? ( robot )
|
122 |
135 |
"
|
... | ... | |
124 |
137 |
PATCHES=(
|
125 |
138 |
"${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
|
126 |
139 |
"${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
|
|
140 |
"${FILESDIR}"/${PN}-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
|
|
141 |
"${FILESDIR}"/${PN}-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
|
|
142 |
"${FILESDIR}"/${PN}-0.20.2-libE57Format-fix-compile-using-gcc13.patch
|
127 |
143 |
)
|
128 |
144 |
|
129 |
145 |
DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
|
... | ... | |
157 |
173 |
-DBUILD_DRAWING=ON
|
158 |
174 |
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
|
159 |
175 |
-DBUILD_FEM=$(usex fem)
|
160 |
|
-DBUILD_FEM_NETGEN=OFF
|
|
176 |
-DBUILD_FEM_NETGEN=$(usex netgen)
|
161 |
177 |
-DBUILD_FLAT_MESH=ON
|
162 |
178 |
-DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
|
163 |
179 |
-DBUILD_FREETYPE=ON # automagic dep
|
... | ... | |
265 |
281 |
fi
|
266 |
282 |
dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
|
267 |
283 |
|
|
284 |
rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
|
|
285 |
|
268 |
286 |
python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
|
269 |
287 |
# compile main package in python site-packages as well
|
270 |
288 |
python_optimize
|
... | ... | |
277 |
295 |
einfo "AddonManager."
|
278 |
296 |
|
279 |
297 |
# ToDo: check opencv, pysolar (::science), elmerfem (::science)
|
280 |
|
# ifc++, ifcopenshell, netgen, z88 (no pkgs), calculix-ccx (::waebbl)
|
|
298 |
# ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
|
281 |
299 |
einfo "There are a lot of additional tools, for which FreeCAD has builtin"
|
282 |
300 |
einfo "support. Some of them are available in Gentoo. Take a look at"
|
283 |
301 |
einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
|