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-libXxf86misc-devel
148 Requires: xorg-lib-libxkbfile
151 OpenCASCADE CAE platform library development files
154 %setup -q -n oce-%{name}-%{version}
160 -DOCE_INSTALL_PREFIX=%{_prefix} \
161 -DOCE_INSTALL_LIB_DIR=%{_lib} \
162 -DOCE_WITH_FREEIMAGE=ON \
163 -DOCE_WITH_GL2PS=ON \
164 -DOCE_MULTITHREAD_LIBRARY:STRING=%{?with_tbb:TBB}%{!?with_tbb:%{?with_openmp:OPENMP}%{!?with_openmp:NONE}} \
172 export CTEST_OUTPUT_ON_FAILURE=1
173 %{__make} -C test test
177 rm -rf $RPM_BUILD_ROOT
179 %{__make} -C build install \
180 DESTDIR=$RPM_BUILD_ROOT
182 # Install manpage for DRAWEXE
183 install -Dm 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_mandir}/man1/DRAWEXE.1
185 # Install and validate desktop file
186 desktop-file-install \
187 --dir=$RPM_BUILD_ROOT%{_desktopdir} \
191 for size in 256 128 64 48; do
192 icon=%{_sourcedir}/oce-${size}.png
193 install -Dm 0644 $icon \
194 $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/oce.png
197 %post foundation -p /sbin/ldconfig
198 %postun foundation -p /sbin/ldconfig
200 %post modeling -p /sbin/ldconfig
201 %postun modeling -p /sbin/ldconfig
203 %post ocaf -p /sbin/ldconfig
204 %postun ocaf -p /sbin/ldconfig
206 %post visualization -p /sbin/ldconfig
207 %postun visualization -p /sbin/ldconfig
210 %update_icon_cache hicolor
213 if [ $1 -eq 0 ] ; then
214 %update_icon_cache hicolor
218 rm -rf $RPM_BUILD_ROOT
221 %defattr(644,root,root,755)
222 %doc AUTHORS.md LICENSE_LGPL_21.txt NEWS.md OCCT_LGPL_EXCEPTION.txt
224 %attr(755,root,root) %{_libdir}/libTKernel.so.*
225 %attr(755,root,root) %{_libdir}/libTKMath.so.*
229 %defattr(644,root,root,755)
231 %attr(755,root,root) %{_libdir}/libTKG2d.so.*
232 %attr(755,root,root) %{_libdir}/libTKG3d.so.*
233 %attr(755,root,root) %{_libdir}/libTKGeomBase.so.*
234 %attr(755,root,root) %{_libdir}/libTKBRep.so.*
235 # Modeling Algorithm s
236 %attr(755,root,root) %{_libdir}/libTKGeomAlgo.so.*
237 %attr(755,root,root) %{_libdir}/libTKTopAlgo.so.*
238 %attr(755,root,root) %{_libdir}/libTKPrim.so.*
239 %attr(755,root,root) %{_libdir}/libTKBO.so.*
240 %attr(755,root,root) %{_libdir}/libTKHLR.so.*
241 %attr(755,root,root) %{_libdir}/libTKMesh.so.*
242 %attr(755,root,root) %{_libdir}/libTKShHealing.so.*
243 %attr(755,root,root) %{_libdir}/libTKXMesh.so.*
244 %attr(755,root,root) %{_libdir}/libTKBool.so.*
245 %attr(755,root,root) %{_libdir}/libTKFillet.so.*
246 %attr(755,root,root) %{_libdir}/libTKFeat.so.*
247 %attr(755,root,root) %{_libdir}/libTKOffset.so.*
249 %attr(755,root,root) %{_libdir}/libTKSTL.so.*
250 %attr(755,root,root) %{_libdir}/libTKXSBase.so.*
251 %attr(755,root,root) %{_libdir}/libTKSTEPBase.so.*
252 %attr(755,root,root) %{_libdir}/libTKIGES.so.*
253 %attr(755,root,root) %{_libdir}/libTKSTEPAttr.so.*
254 %attr(755,root,root) %{_libdir}/libTKSTEP209.so.*
255 %attr(755,root,root) %{_libdir}/libTKSTEP.so.*
256 %attr(755,root,root) %{_libdir}/libTKVRML.so.*
257 %attr(755,root,root) %{_libdir}/libTKXCAF.so.*
258 %attr(755,root,root) %{_libdir}/libTKXCAFSchema.so.*
259 %attr(755,root,root) %{_libdir}/libTKXmlXCAF.so.*
260 %attr(755,root,root) %{_libdir}/libTKBinXCAF.so.*
261 %attr(755,root,root) %{_libdir}/libTKXDEIGES.so.*
262 %attr(755,root,root) %{_libdir}/libTKXDESTEP.so.*
265 %defattr(644,root,root,755)
266 # Visualization Dependents
267 %attr(755,root,root) %{_libdir}/libTKService.so.*
268 %attr(755,root,root) %{_libdir}/libTKV3d.so.*
270 %attr(755,root,root) %{_libdir}/libTKOpenGl.so.*
271 %attr(755,root,root) %{_libdir}/libTKMeshVS.so.*
272 %attr(755,root,root) %{_libdir}/libTKNIS.so.*
273 %attr(755,root,root) %{_libdir}/libTKVoxel.so.*
276 %defattr(644,root,root,755)
277 # Application framework
278 %attr(755,root,root) %{_libdir}/libTKCDF.so.*
279 %attr(755,root,root) %{_libdir}/libPTKernel.so.*
280 %attr(755,root,root) %{_libdir}/libTKLCAF.so.*
281 %attr(755,root,root) %{_libdir}/libFWOSPlugin.so.*
282 %attr(755,root,root) %{_libdir}/libTKPShape.so.*
283 %attr(755,root,root) %{_libdir}/libTKBinL.so.*
284 %attr(755,root,root) %{_libdir}/libTKXmlL.so.*
285 %attr(755,root,root) %{_libdir}/libTKPLCAF.so.*
286 %attr(755,root,root) %{_libdir}/libTKTObj.so.*
287 %attr(755,root,root) %{_libdir}/libTKShapeSchema.so.*
288 %attr(755,root,root) %{_libdir}/libTKStdLSchema.so.*
289 %attr(755,root,root) %{_libdir}/libTKCAF.so.*
290 %attr(755,root,root) %{_libdir}/libTKBin.so.*
291 %attr(755,root,root) %{_libdir}/libTKXml.so.*
292 %attr(755,root,root) %{_libdir}/libTKPCAF.so.*
293 %attr(755,root,root) %{_libdir}/libTKBinTObj.so.*
294 %attr(755,root,root) %{_libdir}/libTKXmlTObj.so.*
295 %attr(755,root,root) %{_libdir}/libTKStdSchema.so.*
298 %defattr(644,root,root,755)
300 %dir %{_libdir}/oce-*.*
301 %attr(755,root,root) %{_libdir}/oce-*.*/libTKDraw.so.*
302 %attr(755,root,root) %{_libdir}/oce-*.*/libTKTopTest.so.*
303 %attr(755,root,root) %{_libdir}/oce-*.*/libTKViewerTest.so.*
304 %attr(755,root,root) %{_libdir}/oce-*.*/libTKXSDRAW.so.*
305 %attr(755,root,root) %{_libdir}/oce-*.*/libTKDCAF.so.*
306 %attr(755,root,root) %{_libdir}/oce-*.*/libTKXDEDRAW.so.*
307 %attr(755,root,root) %{_libdir}/oce-*.*/libTKTObjDRAW.so.*
308 # DRAWEXE application
309 %attr(755,root,root) %{_bindir}/DRAWEXE
310 %{_mandir}/man1/DRAWEXE.1*
311 %{_desktopdir}/opencascade-draw.desktop
312 %{_iconsdir}/hicolor/*/apps/*
315 %defattr(644,root,root,755)
318 %attr(755,root,root) %{_libdir}/*.so
319 %attr(755,root,root) %{_libdir}/oce-*.*/*.so
320 %{_libdir}/oce-*.*/*.cmake