]> git.pld-linux.org Git - packages/OpenCASCADE.git/blobdiff - OpenCASCADE.spec
noarch -doc, -samples
[packages/OpenCASCADE.git] / OpenCASCADE.spec
index 8f8c999477dc34301485d0d0e1831720ed5f063b..34bbe734546d0ae955c7f060a10a4fcc6be80da7 100644 (file)
@@ -8,48 +8,63 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-%define _prefix /opt/OpenCASCADE
+# NOTE: there are some not PLD-relevant patches available:
+#      - kFreeBSD/Hurd: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/fix-osd_path.patch
+#      - MIPS: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/fix-asm.patch
+#      - PPC: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/ppc.patch
+
+# TODO: - separate libs-x (80% of libraries) or even split packages as suggested by Jason Kraftcheck in Debian
+#      - check if WOK is working (review wok-install patch), add OCC icons and draw.desktop
+#      - consider arch-independent includes: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/OCC64.patch
+#              http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/drop-config-h.patch
+#              http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/multibuf.patch
+#              and http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/tcl-cleanup.patch
+#      - TCL 8.6: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=history;f=debian/patches/fix-tcl8.6.patch
+#      - review maint-mode, tkernel-ld and dep-libs patches, as well as hardcoded path in casroot patch
 
 Summary:       OpenCASCADE CAE platform
 Name:          OpenCASCADE
-Group:           Productivity/Other
 # The 6.3.1 is a maintenance release, only available for OCC customers
 Version:       6.3.0
-Release:         40.3
+Release:       44
 License:       LGPL-like, see http://www.opencascade.org/occ/license/
-Packager:        Andrea Florio <andrea@opensuse.org>
+Group:         Applications/Engineering
 Source0:       http://files.opencascade.com/OCC_6.3_release/%{name}_src.tgz
 # Source0-md5: 52778127974cb3141c2827f9d40d1f11
-Source1:        %name.conf
-Source2:        OpenCASCADE-rpmlintrc
 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
-Patch5:          OpenCASCADE6.3.0-tkernel-ld.patch
-Patch6:          OpenCASCADE6.3.0-mft-disable-mmap.patch
-Patch7:          OpenCASCADE6.3.0-no-bitmaps-icon.patch
-Patch8:          OpenCASCADE6.3.0-DESTDIR.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
-Patch14:         OpenCASCADE6.3.0-wok-install.patch
-Patch15:         OpenCASCADE6.3.0-udlist.patch
-Patch16:         OpenCASCADE6.3.0-WOKUnix_FDescr.patch
+Patch2:                %{name}6.3.0-occ6.3.0.patch
+Patch3:                %{name}6.3.0-casroot.patch
+Patch4:                wokstep_extract.patch
+Patch5:                %{name}6.3.0-tkernel-ld.patch
+Patch6:                %{name}6.3.0-mft-disable-mmap.patch
+Patch7:                %{name}6.3.0-no-bitmaps-icon.patch
+Patch8:                %{name}6.3.0-DESTDIR.patch
+Patch9:                %{name}6.3.0-maint-mode.patch
+Patch10:       %{name}6.3.0-dep-libs.patch
+Patch11:       %{name}6.3.0-move-vrml-vis.patch
+Patch12:       %{name}6.3.0-make-wok-libs-private.patch
+Patch13:       %{name}6.3.0-make-draw-libs-private.patch
+Patch14:       %{name}6.3.0-wok-install.patch
+Patch15:       %{name}6.3.0-udlist.patch
+Patch16:       %{name}6.3.0-WOKUnix_FDescr.patch
+Patch17:       fix-tklcaf.patch
+Patch18:       %{name}-build.patch
 URL:           http://www.opencascade.org/
-
-BuildRequires:   Mesa-devel autoconf automake bison gcc-c++ xorg-x11-devel
-BuildRequires:   flex libtool tcl-devel tk-devel xorg-x11-libXmu-devel fdupes
-%ifarch i586
-BuildRequires:   compat
-%else
-BuildRequires:   compat-32bit
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: bison
+BuildRequires: flex
+%ifnarch i486
+BuildRequires: jdk
 %endif
-BuildRequires:   java-1_5_0-gcj-compat-devel
-Requires:        tcsh
+BuildRequires: libstdc++-devel
+BuildRequires: libtool
+BuildRequires: Mesa-libGLU-devel
+BuildRequires: tk-devel
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXmu-devel
+BuildRequires: xorg-proto-xproto-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -58,16 +73,40 @@ 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 libs
+Summary:       OpenCASCADE shared libraries
+Group:         Libraries
+
+%description libs
+OpenCASCADE shared libraries.
+
 %package devel
-Group:          Development/Libraries/C and C++
-Summary:        Devel package for %{name}
-Requires:       %{name} = %{version}
+Summary:       OpenCASCADE development files
+Group:         Development/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
-OpenCASCADE 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.
+OpenCASCADE development files.
+
+%package doc
+Summary:       OpenCASCADE documentation
+Group:         Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description doc
+OpenCASCADE help and html documentation.
+
+%package samples
+Summary:       OpenCASCADE samples
+Group:         Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description samples
+OpenCASCADE samples.
 
 %prep
 %setup -q -n %{name}%{version}
@@ -88,125 +127,100 @@ GIS, as well as PDM applications.
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
+%patch17 -p1
+%patch18 -p1
+cd ros/src/ExprIntrp
+bison -d -p ExprIntrp -o ExprIntrp.tab.c ExprIntrp.yacc
+flex -L -8 -Cf -Cr -P ExprIntrp -o lex.ExprIntrp.c ExprIntrp.lex
+mv ExprIntrp.tab.h ../../inc/
+cp ExprIntrp.tab.c lex.ExprIntrp.c ../../drv/ExprIntrp/
 
 %build
 cd ros
 %{__libtoolize}
-%{__aclocal} -I m4
+%{__aclocal}
 %{__autoconf}
 %{__autoheader}
 %{__automake}
 
-cd ros/src/ExprIntrp
-bison -d -p ExprIntrp -o ExprIntrp.tab.c ExprIntrp.yacc
-flex -L -8 -Cf -Cr -P ExprIntrp -o lex.ExprIntrp.c ExprIntrp.lex
-mv ExprIntrp.tab.h ../../inc/
-cp ExprIntrp.tab.c lex.ExprIntrp.c ../../drv/ExprIntrp/
-cd ../..
 %ifarch x86_64 ppc64
-export CFLAGS="$RPM_OPT_FLAGS -D_OCC64 -fno-strict-aliasing"
-export CXXFLAGS="$RPM_OPT_FLAGS -D_OCC64 -fno-strict-aliasing"
+export CFLAGS="%{rpmcflags} -D_OCC64 -fno-strict-aliasing -DUSE_INTERP_RESULT"
+export CXXFLAGS="%{rpmcflags} -D_OCC64 -fno-strict-aliasing -DUSE_INTERP_RESULT"
 %else
-export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
-export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
+export CFLAGS="%{rpmcflags} -fno-strict-aliasing -DUSE_INTERP_RESULT"
+export CXXFLAGS="%{rpmcflags} -fno-strict-aliasing -DUSE_INTERP_RESULT"
 %endif
 LDFLAGS=-lpthread %configure \
-   --with-gl-include=/usr/include \
-   --with-gl-library=/usr/%{_lib} \
-   --with-xmu-include=/usr/include/X11 \
-   --with-xmu-library=/usr/%{_lib} \
-   --with-tcl=/usr/%{_lib} \
-   --with-tk=/usr/%{_lib} \
-   --disable-static \
-   --disable-debug \
-   --enable-production \
-   --enable-wok \
-   --enable-wrappers \
-   --enable-draw
+       %{?debug:--disable-production  --enable-debug} \
+       %{!?debug:--enable-production --disable-debug} \
+       --with-java-include="%{java_home}"/include
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-cd ros
-%makeinstall
+install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_includedir}}
 
+cd ros
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 cd ..
-cp -a data %{buildroot}%{_prefix}/
-cp -a doc %{buildroot}%{_prefix}/
-cp -a samples %{buildroot}%{_prefix}/
-
-%ifarch x86_64
-%__ln_s %{_libdir} %{buildroot}/%{_prefix}/Linux/lib
-%__ln_s %{_libdir} %{buildroot}/%{_prefix}/lin/lib
-%endif
 
-# add symlinks for compatibility resons
-%__mkdir -p %{buildroot}/usr/share/opencascade/
-%__mkdir -p %{buildroot}/usr/include/
-%__mkdir -p %{buildroot}/usr/share/doc/packages/
-%__mkdir -p %{buildroot}/usr/%{_lib}
+cp -a data $RPM_BUILD_ROOT%{_datadir}/%{name}
+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}
 
-%__ln_s %{_prefix} %{buildroot}/usr/share/opencascade/%{version}
-%__ln_s %{_prefix}/inc  %{buildroot}/usr/include/opencascade
-%__ln_s %{_prefix}/doc  %{buildroot}/usr/share/doc/packages/opencascade
-`for i in $(ls  %{buildroot}/%{_libdir}); do %__ln_s %{_libdir}/$i %{buildroot}/usr/%{_lib}/$i; done`
+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}
 
-%__mkdir -p %buildroot/etc/ld.so.conf.d/
-%__cp %SOURCE1 %buildroot/etc/ld.so.conf.d/
+%{__rm} $RPM_BUILD_ROOT%{_libdir}{/opencas,}/*.la
 
-%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
+%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
+%dir %{_libdir}/opencas
 
 %files devel
 %defattr(644,root,root,755)
-%dir /usr/include/opencascade/
-%{_libdir}/*.la
-%{_libdir}/opencas/*.la
-%dir %{_prefix}/src/
-%{_prefix}/src/*
-%dir %{_prefix}/inc/
-%{_prefix}/inc/*
-%dir %{_prefix}/samples
-%{_prefix}/samples/*
-%exclude %{_prefix}/src/UnitsAPI/*.dat
+%{_includedir}/%{name}
+%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}
This page took 0.070342 seconds and 4 git commands to generate.