# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
+# TODO: separate libs-x (80% of libraries)
+
Summary: OpenCASCADE CAE platform
Name: OpenCASCADE
# The 6.3.1 is a maintenance release, only available for OCC customers
Group: Applications/Engineering
Source0: http://files.opencascade.com/OCC_6.3_release/%{name}_src.tgz
# Source0-md5: 52778127974cb3141c2827f9d40d1f11
-Source1: %name.conf
Patch0: %{name}6.3.0-obs-check.patch
Patch1: %{name}6.3.0-strcmp.patch
Patch2: OpenCASCADE6.3.0-occ6.3.0.patch
-Patch3: OpenCASCADE6.3.0-casroot.patch
-Patch4: OpenCASCADE6.3.0-lib-release.patch
+Patch3: %{name}6.3.0-casroot.patch
Patch5: OpenCASCADE6.3.0-tkernel-ld.patch
Patch6: OpenCASCADE6.3.0-mft-disable-mmap.patch
Patch7: OpenCASCADE6.3.0-no-bitmaps-icon.patch
Patch9: OpenCASCADE6.3.0-maint-mode.patch
Patch10: OpenCASCADE6.3.0-dep-libs.patch
Patch11: OpenCASCADE6.3.0-move-vrml-vis.patch
-Patch12: OpenCASCADE6.3.0-make-wok-libs-private.patch
-Patch13: OpenCASCADE6.3.0-make-draw-libs-private.patch
+Patch12: %{name}6.3.0-make-wok-libs-private.patch
+Patch13: %{name}6.3.0-make-draw-libs-private.patch
Patch14: OpenCASCADE6.3.0-wok-install.patch
Patch15: OpenCASCADE6.3.0-udlist.patch
Patch16: OpenCASCADE6.3.0-WOKUnix_FDescr.patch
BuildRequires: automake
BuildRequires: bison
BuildRequires: flex
+%ifnarch i486
BuildRequires: java-sun-jdk-base
+%endif
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: Mesa-libGLU-devel
%description doc
OpenCASCADE help and html documentation.
-%package examples
-Summary: OpenCASCADE examples
+%package samples
+Summary: OpenCASCADE samples
Group: Documentation
-%description examples
-OpenCASCADE examples.
+%description samples
+OpenCASCADE samples.
%prep
%setup -q -n %{name}%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%build
cd ros
%{__libtoolize}
-%{__aclocal} -I m4
+%{__aclocal}
%{__autoconf}
%{__autoheader}
%{__automake}
export CXXFLAGS="%{rpmcflags} -fno-strict-aliasing"
%endif
LDFLAGS=-lpthread %configure \
- --disable-static \
- --disable-debug \
- --enable-production \
- --enable-draw \
- --enable-wok \
- --enable-wrappers \
+ %{?debug:--disable-production --enable-debug} \
+ %{!?debug:--enable-production --disable-debug} \
--with-java-include="%{java_home}"/include
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_includedir}}
cd ros
%{__make} install \
cd ..
cp -a data $RPM_BUILD_ROOT%{_datadir}/%{name}
-cp -a doc %{buildroot}%{_prefix}/
-cp -a samples %{buildroot}%{_prefix}/
+mv $RPM_BUILD_ROOT{%{_prefix}/{src,wok,config.h,env_DRAW.sh},%{_datadir}/%{name}}
+mv $RPM_BUILD_ROOT{%{_prefix}/inc,%{_includedir}/%{name}}
+rm -r $RPM_BUILD_ROOT%{_prefix}/{Linux,lin}
+
+mkdir -p $RPM_BUILD_ROOT/usr/src
+for i in doc samples; do
+mkdir -p $i-i
+[ -d $i ] && mv $i $i-i/%{name}-%{version} || :
+done
+ln -s %{_builddir}/%{name}%{version}/doc-i $RPM_BUILD_ROOT%{_defaultdocdir}
+ln -s %{_builddir}/%{name}%{version}/samples-i $RPM_BUILD_ROOT%{_examplesdir}
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%dir %{_prefix}
-%dir %{_bindir}
-%dir %{_prefix}/lin
-%dir %{_prefix}/Linux
-%dir %{_prefix}/wok
-%dir %{_prefix}/wok/lib/
-%dir %{_prefix}/wok/site/
-%dir %{_prefix}/data
-%dir %{_prefix}/doc
-%dir %{_libdir}/
-%dir %{_libdir}/opencas/
-%dir /usr/share/opencascade/
-%{_bindir}/DRAWEXE
-%{_bindir}/wokprocess
-%{_bindir}/woksh
-%{_prefix}/lin/bin
-%{_prefix}/lin/lib
-%{_prefix}/Linux/bin
-%{_prefix}/Linux/lib
-%{_prefix}/data/*
-%{_prefix}/doc/*
-%{_prefix}/wok/lib/*
-%{_prefix}/wok/site/*
-%{_prefix}/config.h
-%{_prefix}/env_DRAW.sh
-%{_libdir}/*.so
-%{_libdir}/opencas/*.so
-/usr/%_lib/*
-/usr/share/opencascade/%{version}
-/usr/share/doc/packages/opencascade
-%config /etc/ld.so.conf.d/%name.conf
-%dir %{_prefix}/src/UnitsAPI
-%dir %{_prefix}/src
-%{_prefix}/src/UnitsAPI/*.dat
+%attr(755,root,root) %{_bindir}/DRAWEXE
+%attr(755,root,root) %{_bindir}/wok*
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/config.h
+%{_datadir}/%{name}/data
+%attr(755,root,root) %{_datadir}/%{name}/env_DRAW.sh
+%dir %{_datadir}/%{name}/src
+%dir %{_datadir}/%{name}/src/UnitsAPI
+%{_datadir}/%{name}/src/UnitsAPI/*.dat
+%{_datadir}/%{name}/wok
+%dir %{_libdir}/opencas
+%attr(755,root,root) %{_libdir}/opencas/*.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/opencas/*.so.0
+
+%files libs
+%defattr(644,root,root,755)
+%doc LICENSE ros/README.txt
+%attr(755,root,root) %{_libdir}/*.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/*.so.0
%files devel
%defattr(644,root,root,755)
-%dir /usr/include/opencascade/
-%{_libdir}/*.la
+%{_includedir}/%{name}
%{_libdir}/opencas/*.la
-%dir %{_prefix}/src/
-%{_prefix}/src/*
-%dir %{_prefix}/inc/
-%{_prefix}/inc/*
-%dir %{_prefix}/samples
-%{_prefix}/samples/*
-%exclude %{_prefix}/src/UnitsAPI/*.dat
+%{_libdir}/*.la
+%attr(755,root,root) %{_libdir}/opencas/*.so
+%attr(755,root,root) %{_libdir}/*.so
+%{_datadir}/%{name}/src/*
+%exclude %{_datadir}/%{name}/src/UnitsAPI/*.dat
+
+%files doc
+%defattr(644,root,root,755)
+%{_docdir}/%{name}-%{version}
+
+%files samples
+%defattr(644,root,root,755)
+%{_examplesdir}/%{name}-%{version}