3 %bcond_without tests # build with tests
4 %bcond_with tbb # Use tbb for multithreading
5 %bcond_without openmp # Use openmp for multithreading
7 Summary: OpenCASCADE Community Edition
11 License: LGPLv2 with exception
12 Group: Applications/Engineering
13 URL: https://github.com/tpaviot/oce
14 Source0: https://github.com/tpaviot/oce/archive/%{name}-%{version}.tar.gz
15 # Source0-md5: 1686393c8493bbbb2f3f242330b33cba
17 Source2: opencascade-draw.desktop
24 BuildRequires: desktop-file-utils
26 BuildRequires: FreeImage-devel
27 BuildRequires: Mesa-libGL-devel
28 BuildRequires: Mesa-libGLU-devel
29 BuildRequires: ftgl-devel
30 BuildRequires: gl2ps-devel
31 BuildRequires: libgomp
32 %{?with_openmp:BuildRequires: libopenmpt-devel}
33 %{?with_tbb:BuildRequires: tbb-devel}
34 BuildRequires: tcl-devel
35 BuildRequires: tk-devel
36 BuildRequires: xorg-lib-libXScrnSaver-devel
37 BuildRequires: xorg-lib-libXcomposite-devel
38 BuildRequires: xorg-lib-libXcursor-devel
39 BuildRequires: xorg-lib-libXdmcp-devel
40 BuildRequires: xorg-lib-libXi-devel
41 BuildRequires: xorg-lib-libXinerama-devel
42 BuildRequires: xorg-lib-libXmu-devel
43 BuildRequires: xorg-lib-libXpm-devel
44 BuildRequires: xorg-lib-libXrandr-devel
45 BuildRequires: xorg-lib-libXres-devel
46 BuildRequires: xorg-lib-libXtst-devel
47 BuildRequires: xorg-lib-libXv-devel
48 BuildRequires: xorg-lib-libxkbfile
49 BuildRequires: xorg-proto-xproto-devel
52 OpenCASCADE Community Edition (OCE) is a suite for 3D surface and
53 solid modeling, visualization, data exchange and rapid application
54 development. It is an excellent platform for development of numerical
55 simulation software including CAD/CAM/CAE, AEC and GIS, as well as PDM
59 Summary: OpenCASCADE CAE platform shared libraries
62 %description foundation
63 OpenCASCADE CAE platform shared libraries
65 This package contains foundation classes which provide a variety of
66 general-purpose services such as automated management of heap memory,
67 exception handling, classes for manipulating aggregates of data, basic
71 Summary: OpenCASCADE CAE platform shared libraries
75 OpenCASCADE CAE platform shared libraries
77 This package supplies data structures to represent 2D and 3D geometric
78 models, as well as topological and geometrical algorithms.
81 Summary: OpenCASCADE CAE platform shared libraries
85 OpenCASCADE CAE platform shared libraries
87 This package provides OpenCASCADE Application Framework services and
88 support for data exchange.
90 %package visualization
91 Summary: OpenCASCADE CAE platform shared libraries
94 %description visualization
95 OpenCASCADE CAE platform shared libraries
97 This package provides services for displaying 2D and 3D graphics.
100 Summary: OpenCASCADE CAE platform shared libraries
103 %description examples
104 OpenCASCADE CAE platform shared libraries
106 This package contains example input files for OpenCASCADE in various
110 Summary: OpenCASCADE CAE platform shared libraries
114 OpenCASCADE CAE DRAW test harness.
117 Summary: OpenCASCADE CAE platform library development files
118 Group: Development/Libraries
119 Requires: %{name}-draw = %{version}-%{release}
120 Requires: %{name}-foundation = %{version}-%{release}
121 Requires: %{name}-modeling = %{version}-%{release}
122 Requires: %{name}-ocaf = %{version}-%{release}
123 Requires: %{name}-visualization = %{version}-%{release}
124 Requires: FreeImage-devel
125 Requires: Mesa-libGL-devel
126 Requires: Mesa-libGLU-devel
127 Requires: freetype-devel
128 Requires: gl2ps-devel
132 Requires: xorg-lib-libICE-devel
133 Requires: xorg-lib-libSM-devel
134 Requires: xorg-lib-libX11-devel
135 Requires: xorg-lib-libXScrnSaver-devel
136 Requires: xorg-lib-libXcomposite-devel
137 Requires: xorg-lib-libXcursor-devel
138 Requires: xorg-lib-libXdmcp-devel
139 Requires: xorg-lib-libXext-devel
140 Requires: xorg-lib-libXi-devel
141 Requires: xorg-lib-libXinerama-devel
142 Requires: xorg-lib-libXpm-devel
143 Requires: xorg-lib-libXrandr-devel
144 Requires: xorg-lib-libXres-devel
145 Requires: xorg-lib-libXtst-devel
146 Requires: xorg-lib-libXv-devel
147 Requires: xorg-lib-libxkbfile
150 OpenCASCADE CAE platform library development files
153 %setup -q -n oce-%{name}-%{version}
159 -DOCE_INSTALL_PREFIX=%{_prefix} \
160 -DOCE_INSTALL_LIB_DIR=%{_lib} \
161 -DOCE_WITH_FREEIMAGE=ON \
162 -DOCE_WITH_GL2PS=ON \
163 -DOCE_MULTITHREAD_LIBRARY:STRING=%{?with_tbb:TBB}%{!?with_tbb:%{?with_openmp:OPENMP}%{!?with_openmp:NONE}} \
171 export CTEST_OUTPUT_ON_FAILURE=1
172 %{__make} -C test test
176 rm -rf $RPM_BUILD_ROOT
178 %{__make} -C build install \
179 DESTDIR=$RPM_BUILD_ROOT
181 # Install manpage for DRAWEXE
182 install -Dm 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/DRAWEXE.1
184 # Install and validate desktop file
185 desktop-file-install \
186 --dir=$RPM_BUILD_ROOT%{_desktopdir} \
190 for size in 256 128 64 48; do
191 icon=%{_sourcedir}/oce-${size}.png
192 install -Dm 0644 $icon \
193 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/oce.png
196 %post foundation -p /sbin/ldconfig
197 %postun foundation -p /sbin/ldconfig
199 %post modeling -p /sbin/ldconfig
200 %postun modeling -p /sbin/ldconfig
202 %post ocaf -p /sbin/ldconfig
203 %postun ocaf -p /sbin/ldconfig
205 %post visualization -p /sbin/ldconfig
206 %postun visualization -p /sbin/ldconfig
209 %update_icon_cache hicolor
212 if [ $1 -eq 0 ] ; then
213 %update_icon_cache hicolor
217 rm -rf $RPM_BUILD_ROOT
220 %defattr(644,root,root,755)
221 %doc AUTHORS.md LICENSE_LGPL_21.txt NEWS.md OCCT_LGPL_EXCEPTION.txt
223 %attr(755,root,root) %{_libdir}/libTKernel.so.*
224 %attr(755,root,root) %{_libdir}/libTKMath.so.*
228 %defattr(644,root,root,755)
230 %attr(755,root,root) %{_libdir}/libTKG2d.so.*
231 %attr(755,root,root) %{_libdir}/libTKG3d.so.*
232 %attr(755,root,root) %{_libdir}/libTKGeomBase.so.*
233 %attr(755,root,root) %{_libdir}/libTKBRep.so.*
234 # Modeling Algorithm s
235 %attr(755,root,root) %{_libdir}/libTKGeomAlgo.so.*
236 %attr(755,root,root) %{_libdir}/libTKTopAlgo.so.*
237 %attr(755,root,root) %{_libdir}/libTKPrim.so.*
238 %attr(755,root,root) %{_libdir}/libTKBO.so.*
239 %attr(755,root,root) %{_libdir}/libTKHLR.so.*
240 %attr(755,root,root) %{_libdir}/libTKMesh.so.*
241 %attr(755,root,root) %{_libdir}/libTKShHealing.so.*
242 %attr(755,root,root) %{_libdir}/libTKXMesh.so.*
243 %attr(755,root,root) %{_libdir}/libTKBool.so.*
244 %attr(755,root,root) %{_libdir}/libTKFillet.so.*
245 %attr(755,root,root) %{_libdir}/libTKFeat.so.*
246 %attr(755,root,root) %{_libdir}/libTKOffset.so.*
248 %attr(755,root,root) %{_libdir}/libTKSTL.so.*
249 %attr(755,root,root) %{_libdir}/libTKXSBase.so.*
250 %attr(755,root,root) %{_libdir}/libTKSTEPBase.so.*
251 %attr(755,root,root) %{_libdir}/libTKIGES.so.*
252 %attr(755,root,root) %{_libdir}/libTKSTEPAttr.so.*
253 %attr(755,root,root) %{_libdir}/libTKSTEP209.so.*
254 %attr(755,root,root) %{_libdir}/libTKSTEP.so.*
255 %attr(755,root,root) %{_libdir}/libTKVRML.so.*
256 %attr(755,root,root) %{_libdir}/libTKXCAF.so.*
257 %attr(755,root,root) %{_libdir}/libTKXCAFSchema.so.*
258 %attr(755,root,root) %{_libdir}/libTKXmlXCAF.so.*
259 %attr(755,root,root) %{_libdir}/libTKBinXCAF.so.*
260 %attr(755,root,root) %{_libdir}/libTKXDEIGES.so.*
261 %attr(755,root,root) %{_libdir}/libTKXDESTEP.so.*
264 %defattr(644,root,root,755)
265 # Visualization Dependents
266 %attr(755,root,root) %{_libdir}/libTKService.so.*
267 %attr(755,root,root) %{_libdir}/libTKV3d.so.*
269 %attr(755,root,root) %{_libdir}/libTKOpenGl.so.*
270 %attr(755,root,root) %{_libdir}/libTKMeshVS.so.*
271 %attr(755,root,root) %{_libdir}/libTKNIS.so.*
272 %attr(755,root,root) %{_libdir}/libTKVoxel.so.*
275 %defattr(644,root,root,755)
276 # Application framework
277 %attr(755,root,root) %{_libdir}/libTKCDF.so.*
278 %attr(755,root,root) %{_libdir}/libPTKernel.so.*
279 %attr(755,root,root) %{_libdir}/libTKLCAF.so.*
280 %attr(755,root,root) %{_libdir}/libFWOSPlugin.so.*
281 %attr(755,root,root) %{_libdir}/libTKPShape.so.*
282 %attr(755,root,root) %{_libdir}/libTKBinL.so.*
283 %attr(755,root,root) %{_libdir}/libTKXmlL.so.*
284 %attr(755,root,root) %{_libdir}/libTKPLCAF.so.*
285 %attr(755,root,root) %{_libdir}/libTKTObj.so.*
286 %attr(755,root,root) %{_libdir}/libTKShapeSchema.so.*
287 %attr(755,root,root) %{_libdir}/libTKStdLSchema.so.*
288 %attr(755,root,root) %{_libdir}/libTKCAF.so.*
289 %attr(755,root,root) %{_libdir}/libTKBin.so.*
290 %attr(755,root,root) %{_libdir}/libTKXml.so.*
291 %attr(755,root,root) %{_libdir}/libTKPCAF.so.*
292 %attr(755,root,root) %{_libdir}/libTKBinTObj.so.*
293 %attr(755,root,root) %{_libdir}/libTKXmlTObj.so.*
294 %attr(755,root,root) %{_libdir}/libTKStdSchema.so.*
297 %defattr(644,root,root,755)
299 %dir %{_libdir}/oce-*.*
300 %attr(755,root,root) %{_libdir}/oce-*.*/libTKDraw.so.*
301 %attr(755,root,root) %{_libdir}/oce-*.*/libTKTopTest.so.*
302 %attr(755,root,root) %{_libdir}/oce-*.*/libTKViewerTest.so.*
303 %attr(755,root,root) %{_libdir}/oce-*.*/libTKXSDRAW.so.*
304 %attr(755,root,root) %{_libdir}/oce-*.*/libTKDCAF.so.*
305 %attr(755,root,root) %{_libdir}/oce-*.*/libTKXDEDRAW.so.*
306 %attr(755,root,root) %{_libdir}/oce-*.*/libTKTObjDRAW.so.*
307 # DRAWEXE application
308 %attr(755,root,root) %{_bindir}/DRAWEXE
309 %{_mandir}/man1/DRAWEXE.1*
310 %{_desktopdir}/opencascade-draw.desktop
311 %{_iconsdir}/hicolor/*/apps/*
314 %defattr(644,root,root,755)
317 %attr(755,root,root) %{_libdir}/*.so
318 %attr(755,root,root) %{_libdir}/oce-*.*/*.so
319 %{_libdir}/oce-*.*/*.cmake