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