%global ver_major 0
%global ver_minor 18
Name: OCE
Version: 0.18.3
Release: 2%{?dist}
Summary: OpenCASCADE Community Edition
License: LGPLv2 with exception
URL: https://github.com/tpaviot/oce
Source0: https://github.com/tpaviot/oce/archive/%{name}-%{version}%{?relcan:-rc%{relcan}}.tar.gz
Source1: DRAWEXE.1
Source2: opencascade-draw.desktop
Source3: oce-256.png
Source4: oce-128.png
Source5: oce-64.png
Source6: oce-48.png
# Utilities
BuildRequires: cmake gcc gcc-c++
BuildRequires: desktop-file-utils
# Libraries
BuildRequires: xorg-x11-proto-devel
BuildRequires: libXxf86misc-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: libXrandr-devel
BuildRequires: libXpm-devel
BuildRequires: libxkbfile-devel
BuildRequires: libXinerama-devel
BuildRequires: libXres-devel
BuildRequires: libXtst-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXcursor-devel
BuildRequires: libXdmcp-devel
BuildRequires: libXi-devel
BuildRequires: libXv-devel
BuildRequires: mesa-libGL-devel mesa-libGLU-devel
BuildRequires: libXmu-devel
BuildRequires: ftgl-devel
BuildRequires: freeimage-devel
BuildRequires: gl2ps-devel
BuildRequires: libgomp
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: tbb-devel
# https://fedorahosted.org/fpc/ticket/174
Provides: bundled(gnulib)
%description
OpenCASCADE Community Edition (OCE) is a suite for 3D surface and solid
modeling, visualization, data exchange and rapid application development. It
is an excellent platform for development of numerical simulation software
including CAD/CAM/CAE, AEC and GIS, as well as PDM applications.
%package foundation
Summary: OpenCASCADE CAE platform shared libraries
Group: System Environment/Libraries
%description foundation
OpenCASCADE CAE platform shared libraries
This package contains foundation classes which provide a variety of
general-purpose services such as automated management of heap memory,
exception handling, classes for manipulating aggregates of data, basic
math tools.
%package modeling
Summary: OpenCASCADE CAE platform shared libraries
Group: System Environment/Libraries
%description modeling
OpenCASCADE CAE platform shared libraries
This package supplies data structures to represent 2D and 3D geometric models,
as well as topological and geometrical algorithms.
%package ocaf
Summary: OpenCASCADE CAE platform shared libraries
Group: System Environment/Libraries
%description ocaf
OpenCASCADE CAE platform shared libraries
This package provides OpenCASCADE Application Framework services and
support for data exchange.
%package visualization
Summary: OpenCASCADE CAE platform shared libraries
Group: System Environment/Libraries
%description visualization
OpenCASCADE CAE platform shared libraries
This package provides services for displaying 2D and 3D graphics.
%package examples
Summary: OpenCASCADE CAE platform shared libraries
Group: System Environment/Libraries
%description examples
OpenCASCADE CAE platform shared libraries
This package contains example input files for OpenCASCADE in various formats.
%package draw
Summary: OpenCASCADE CAE platform shared libraries
Group: System Environment/Libraries
%description draw
OpenCASCADE CAE DRAW test harness.
%package devel
Summary: OpenCASCADE CAE platform library development files
Group: Development/Libraries
Requires: %{name}-draw%{?_isa} = %{version}-%{release}
Requires: %{name}-foundation%{?_isa} = %{version}-%{release}
Requires: %{name}-modeling%{?_isa} = %{version}-%{release}
Requires: %{name}-ocaf%{?_isa} = %{version}-%{release}
Requires: %{name}-visualization%{?_isa} = %{version}-%{release}
Requires: freeimage-devel
Requires: freetype-devel
Requires: gl2ps-devel
Requires: libICE-devel
Requires: libSM-devel
Requires: libX11-devel
Requires: libXext-devel
Requires: libXxf86misc-devel
Requires: libXScrnSaver-devel
Requires: libXrandr-devel
Requires: libXpm-devel
Requires: libxkbfile-devel
Requires: libXinerama-devel
Requires: libXres-devel
Requires: libXtst-devel
Requires: libXcomposite-devel
Requires: libXcursor-devel
Requires: libXdmcp-devel
Requires: libXi-devel
Requires: libXv-devel
Requires: mesa-libGL-devel
Requires: mesa-libGLU-devel
Requires: tbb-devel
Requires: tcl-devel
Requires: tk-devel
%description devel
OpenCASCADE CAE platform library development files
%prep
%autosetup -p1 -n oce-%{name}-%{version}
%build
rm -rf build && mkdir build && pushd build
# Stop excessive linking that cmake projects are prone to.
export LDFLAGS="-Wl,--as-needed"
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DOCE_INSTALL_PREFIX=%{_prefix} \
-DOCE_INSTALL_LIB_DIR=%{_lib} \
-DOCE_WITH_FREEIMAGE=ON \
-DOCE_WITH_GL2PS=ON \
-DOCE_MULTITHREAD_LIBRARY:STRING=TBB \
-DCMAKE_SKIP_RPATH=FALSE \
-DOCE_DRAW=ON \
-DOCE_TESTING=ON \
../
make %{?_smp_mflags}
%install
pushd build
%make_install
popd
# Install manpage for DRAWEXE
install -Dm 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/DRAWEXE.1
# Install and validate desktop file
desktop-file-install \
--dir=%{buildroot}%{_datadir}/applications \
%{SOURCE2}
# Install icons
for size in 256 128 64 48; do
icon=%{_sourcedir}/oce-${size}.png
install -Dm 0644 $icon \
%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/oce.png
done
%check
pushd build/test
export CTEST_OUTPUT_ON_FAILURE=1
make test
%ldconfig_scriptlets foundation
%ldconfig_scriptlets modeling
%ldconfig_scriptlets ocaf
%ldconfig_scriptlets visualization
%files foundation
%doc AUTHORS.md NEWS.md README.md
%license LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt
# Foundation
%{_libdir}/libTKernel.so.*
%{_libdir}/libTKMath.so.*
%{_datadir}/oce-%{ver_major}.%{ver_minor}/
%files modeling
# Modeling Data
%{_libdir}/libTKG2d.so.*
%{_libdir}/libTKG3d.so.*
%{_libdir}/libTKGeomBase.so.*
%{_libdir}/libTKBRep.so.*
# Modeling Algorithms
%{_libdir}/libTKGeomAlgo.so.*
%{_libdir}/libTKTopAlgo.so.*
%{_libdir}/libTKPrim.so.*
%{_libdir}/libTKBO.so.*
%{_libdir}/libTKHLR.so.*
%{_libdir}/libTKMesh.so.*
%{_libdir}/libTKShHealing.so.*
%{_libdir}/libTKXMesh.so.*
%{_libdir}/libTKBool.so.*
%{_libdir}/libTKFillet.so.*
%{_libdir}/libTKFeat.so.*
%{_libdir}/libTKOffset.so.*
# Data exchange
%{_libdir}/libTKSTL.so.*
%{_libdir}/libTKXSBase.so.*
%{_libdir}/libTKSTEPBase.so.*
%{_libdir}/libTKIGES.so.*
%{_libdir}/libTKSTEPAttr.so.*
%{_libdir}/libTKSTEP209.so.*
%{_libdir}/libTKSTEP.so.*
%{_libdir}/libTKVRML.so.*
%{_libdir}/libTKXCAF.so.*
%{_libdir}/libTKXCAFSchema.so.*
%{_libdir}/libTKXmlXCAF.so.*
%{_libdir}/libTKBinXCAF.so.*
%{_libdir}/libTKXDEIGES.so.*
%{_libdir}/libTKXDESTEP.so.*
%files visualization
# Visualization Dependents
%{_libdir}/libTKService.so.*
%{_libdir}/libTKV3d.so.*
# Visualization
%{_libdir}/libTKOpenGl.so.*
%{_libdir}/libTKMeshVS.so.*
%{_libdir}/libTKNIS.so.*
%{_libdir}/libTKVoxel.so.*
%files ocaf
# Application framework
%{_libdir}/libTKCDF.so.*
%{_libdir}/libPTKernel.so.*
%{_libdir}/libTKLCAF.so.*
%{_libdir}/libFWOSPlugin.so.*
%{_libdir}/libTKPShape.so.*
%{_libdir}/libTKBinL.so.*
%{_libdir}/libTKXmlL.so.*
%{_libdir}/libTKPLCAF.so.*
%{_libdir}/libTKTObj.so.*
%{_libdir}/libTKShapeSchema.so.*
%{_libdir}/libTKStdLSchema.so.*
%{_libdir}/libTKCAF.so.*
%{_libdir}/libTKBin.so.*
%{_libdir}/libTKXml.so.*
%{_libdir}/libTKPCAF.so.*
%{_libdir}/libTKBinTObj.so.*
%{_libdir}/libTKXmlTObj.so.*
%{_libdir}/libTKStdSchema.so.*
%files draw
# Draw Libraries
%dir %{_libdir}/oce-%{ver_major}.%{ver_minor}
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKDraw.so.*
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKTopTest.so.*
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKViewerTest.so.*
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKXSDRAW.so.*
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKDCAF.so.*
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKXDEDRAW.so.*
%{_libdir}/oce-%{ver_major}.%{ver_minor}/libTKTObjDRAW.so.*
# DRAWEXE application
%{_bindir}/DRAWEXE
%{_mandir}/man1/DRAWEXE.1.gz
%{_datadir}/applications/opencascade-draw.desktop
%{_datadir}/icons/hicolor/*/apps/*
%files devel
%doc examples
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/oce-%{ver_major}.%{ver_minor}/*.so
%{_libdir}/oce-%{ver_major}.%{ver_minor}/*.cmake
%changelog
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 14 2018 Richard Shaw <hobbes1069@gmail.com> - 0.18.3-1
- Update to 0.18.3.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Aug 14 2017 Richard Shaw <hobbes1069@gmail.com>
- Update to latest upstream release.
* Sun Aug 13 2017 Richard Shaw <hobbes1069@gmail.com> - 0.18.1-2
- Work around xlocale.h which was removed from glibc-headers in 2.26.
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-1.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.1-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed May 10 2017 Richard Shaw <hobbes1069@gmail.com> - 0.18.1-1
- Update to latest upstream release.
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.1-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Sep 22 2016 Jerry James <loganjerry@gmail.com> - 0.17.1-2
- Rebuild for tbb 2017
- tbb is available on all arches in Fedora and RHEL > 6
* Tue Mar 29 2016 Richard Shaw <hobbes1069@gmail.com> - 0.17.1-1
- Update to latest upstream release.
* Wed Feb 17 2016 Richard Shaw <hobbes1069@gmail.com> - 0.16.1-7
- Apply patch from upstream to address FTBFS with GCC 6.
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-6.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 15 2016 Jerry James <loganjerry@gmail.com> - 0.16.1-6
- Rebuild for tbb 4.4u2
* Tue Jul 7 2015 Richard Shaw <hobbes1069@gmail.com> - 0.16.1-5
- Add OCE-draw to devel package requirements, fixes BZ#1239254.
- Update spec file to use license macro where appropriate.
- Perform hardened builds.
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16.1-4.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Apr 30 2015 Jiri Kastner <jkastner@redhat.com> - 0.16.1-4
- added missing libX* dependencies
* Thu Apr 30 2015 Jiri Kastner <jkastner@redhat.com> - 0.16.1-3
- fix tbb and freeimage dependency conditions
* Tue Apr 28 2015 Jiri Kastner <jkastner@redhat.com> - 0.16.1-2
- skipping failing tests on rhel6
* Fri Apr 24 2015 Richard Shaw <hobbes1069@gmail.com> - 0.16.1-1
- Update to latest upstream release.
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.16-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Jul 21 2014 Richard Shaw <hobbes1069@gmail.com> - 0.16-1
- Update to latest upstream release.
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 21 2014 Jaroslav Škarvada <jskarvad@redhat.com> - 0.15-3.1
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
* Mon May 19 2014 Richard Shaw <hobbes1069@gmail.com> - 0.15-3
- gxx files no longer empty so stop removing them.
* Sat Feb 15 2014 Richard Shaw <hobbes1069@gmail.com> - 0.15-2
- Update license tag and include LGPL exception file in doc.
* Wed Feb 12 2014 Richard Shaw <hobbes1069@gmail.com> - 0.15-1
- Update to latest upstream release.
* Mon Jan 27 2014 Richard Shaw <hobbes1069@gmail.com> - 0.15-0.2.rc2
- Test build of 0.15 release candidate.
* Thu Oct 10 2013 Richard Shaw <hobbes1069@gmail.com> - 0.13-1
- Update to latest upstream release.
* Mon Jul 15 2013 Richard Shaw <hobbes1069@gmail.com> - 0.12-1
- Update to latest upstream release as it adds some performance enhancements.
* Mon Feb 18 2013 Richard Shaw <hobbes1069@gmail.com> - 0.11-2
- Add tbb-devel as build requirement.
* Fri Feb 15 2013 Richard Shaw <hobbes1069@gmail.com> - 0.11-1
- Update to latest upstream release.
* Wed May 02 2012 Richard Shaw <hobbes1069@gmail.com> - 0.8.0-3
- Update icons.
* Mon Dec 19 2011 Richard Shaw <hobbes1069@gmail.com> - 0.8.0-2
- Build against OpenMP for parallelization.
- Fix problem with OCE overriding build flags.
* Mon Dec 12 2011 Richard Shaw <hobbes1069@gmail.com> - 0.8.0-1
- Update to 0.8.0.
- Use %%{buildroot} consistently.
- Fix excess linking.
* Tue Nov 08 2011 Richard Shaw <hobbes1069@gmail.com> - 0.7.0-1
- Initial release.