]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # All modifications and additions to the file contributed by third parties | |
3 | # remain the property of their copyright owners, unless otherwise agreed | |
4 | # upon. The license for this file, and modifications and additions to the | |
5 | # file, is the same license as for the pristine package itself (unless the | |
6 | # license for the pristine package is not an Open Source License, in which | |
7 | # case the license is the MIT License). An "Open Source License" is a | |
8 | # license that conforms to the Open Source Definition (Version 1.9) | |
9 | # published by the Open Source Initiative. | |
10 | ||
11 | # NOTE: there are some not PLD-relevant patches available: | |
12 | # - kFreeBSD/Hurd: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/fix-osd_path.patch | |
13 | # - MIPS: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/fix-asm.patch | |
14 | # - PPC: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/ppc.patch | |
15 | ||
16 | # TODO: - separate libs-x (80% of libraries) or even split packages as suggested by Jason Kraftcheck in Debian | |
17 | # - check if WOK is working (review wok-install patch), add OCC icons and draw.desktop | |
18 | # - consider arch-independent includes: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/OCC64.patch | |
19 | # http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/drop-config-h.patch | |
20 | # http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/multibuf.patch | |
21 | # and http://git.debian.org/?p=debian-science/packages/opencascade.git;a=blob;f=debian/patches/tcl-cleanup.patch | |
22 | # - TCL 8.6: http://git.debian.org/?p=debian-science/packages/opencascade.git;a=history;f=debian/patches/fix-tcl8.6.patch | |
23 | # - review maint-mode, tkernel-ld and dep-libs patches, as well as hardcoded path in casroot patch | |
24 | ||
25 | Summary: OpenCASCADE CAE platform | |
26 | Name: OpenCASCADE | |
27 | # The 6.3.1 is a maintenance release, only available for OCC customers | |
28 | Version: 6.3.0 | |
29 | Release: 41 | |
30 | License: LGPL-like, see http://www.opencascade.org/occ/license/ | |
31 | Group: Applications/Engineering | |
32 | Source0: http://files.opencascade.com/OCC_6.3_release/%{name}_src.tgz | |
33 | # Source0-md5: 52778127974cb3141c2827f9d40d1f11 | |
34 | Patch0: %{name}6.3.0-obs-check.patch | |
35 | Patch1: %{name}6.3.0-strcmp.patch | |
36 | Patch2: %{name}6.3.0-occ6.3.0.patch | |
37 | Patch3: %{name}6.3.0-casroot.patch | |
38 | Patch4: wokstep_extract.patch | |
39 | Patch5: %{name}6.3.0-tkernel-ld.patch | |
40 | Patch6: %{name}6.3.0-mft-disable-mmap.patch | |
41 | Patch7: %{name}6.3.0-no-bitmaps-icon.patch | |
42 | Patch8: %{name}6.3.0-DESTDIR.patch | |
43 | Patch9: %{name}6.3.0-maint-mode.patch | |
44 | Patch10: %{name}6.3.0-dep-libs.patch | |
45 | Patch11: %{name}6.3.0-move-vrml-vis.patch | |
46 | Patch12: %{name}6.3.0-make-wok-libs-private.patch | |
47 | Patch13: %{name}6.3.0-make-draw-libs-private.patch | |
48 | Patch14: %{name}6.3.0-wok-install.patch | |
49 | Patch15: %{name}6.3.0-udlist.patch | |
50 | Patch16: %{name}6.3.0-WOKUnix_FDescr.patch | |
51 | Patch17: fix-tklcaf.patch | |
52 | URL: http://www.opencascade.org/ | |
53 | BuildRequires: autoconf | |
54 | BuildRequires: automake | |
55 | BuildRequires: bison | |
56 | BuildRequires: flex | |
57 | %ifnarch i486 | |
58 | BuildRequires: java-sun-jdk-base | |
59 | %endif | |
60 | BuildRequires: libstdc++-devel | |
61 | BuildRequires: libtool | |
62 | BuildRequires: Mesa-libGLU-devel | |
63 | BuildRequires: tk-devel | |
64 | BuildRequires: xorg-lib-libX11-devel | |
65 | BuildRequires: xorg-lib-libXmu-devel | |
66 | BuildRequires: xorg-proto-xproto-devel | |
67 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
68 | ||
69 | %description | |
70 | OpenCASCADE is a suite for 3D surface and solid modeling, visualization, data | |
71 | exchange and rapid application development. It is an excellent platform for | |
72 | development of numerical simulation software including CAD/CAM/CAE, AEC and | |
73 | GIS, as well as PDM applications. | |
74 | ||
75 | %package libs | |
76 | Summary: OpenCASCADE shared libraries | |
77 | Group: Libraries | |
78 | ||
79 | %description libs | |
80 | OpenCASCADE shared libraries. | |
81 | ||
82 | %package devel | |
83 | Summary: OpenCASCADE development files | |
84 | Group: Development/Libraries | |
85 | Requires: %{name}-libs = %{version}-%{release} | |
86 | ||
87 | %description devel | |
88 | OpenCASCADE development files. | |
89 | ||
90 | %package doc | |
91 | Summary: OpenCASCADE documentation | |
92 | Group: Documentation | |
93 | ||
94 | %description doc | |
95 | OpenCASCADE help and html documentation. | |
96 | ||
97 | %package samples | |
98 | Summary: OpenCASCADE samples | |
99 | Group: Documentation | |
100 | ||
101 | %description samples | |
102 | OpenCASCADE samples. | |
103 | ||
104 | %prep | |
105 | %setup -q -n %{name}%{version} | |
106 | %patch0 -p1 | |
107 | %patch1 -p1 | |
108 | %patch2 -p1 | |
109 | %patch3 -p1 | |
110 | %patch4 -p1 | |
111 | %patch5 -p1 | |
112 | %patch6 -p1 | |
113 | %patch7 -p1 | |
114 | %patch8 -p1 | |
115 | %patch9 -p1 | |
116 | %patch10 -p1 | |
117 | %patch11 -p1 | |
118 | %patch12 -p1 | |
119 | %patch13 -p1 | |
120 | %patch14 -p1 | |
121 | %patch15 -p1 | |
122 | %patch16 -p1 | |
123 | %patch17 -p1 | |
124 | cd ros/src/ExprIntrp | |
125 | bison -d -p ExprIntrp -o ExprIntrp.tab.c ExprIntrp.yacc | |
126 | flex -L -8 -Cf -Cr -P ExprIntrp -o lex.ExprIntrp.c ExprIntrp.lex | |
127 | mv ExprIntrp.tab.h ../../inc/ | |
128 | cp ExprIntrp.tab.c lex.ExprIntrp.c ../../drv/ExprIntrp/ | |
129 | ||
130 | %build | |
131 | cd ros | |
132 | %{__libtoolize} | |
133 | %{__aclocal} | |
134 | %{__autoconf} | |
135 | %{__autoheader} | |
136 | %{__automake} | |
137 | ||
138 | %ifarch x86_64 ppc64 | |
139 | export CFLAGS="%{rpmcflags} -D_OCC64 -fno-strict-aliasing" | |
140 | export CXXFLAGS="%{rpmcflags} -D_OCC64 -fno-strict-aliasing" | |
141 | %else | |
142 | export CFLAGS="%{rpmcflags} -fno-strict-aliasing" | |
143 | export CXXFLAGS="%{rpmcflags} -fno-strict-aliasing" | |
144 | %endif | |
145 | LDFLAGS=-lpthread %configure \ | |
146 | %{?debug:--disable-production --enable-debug} \ | |
147 | %{!?debug:--enable-production --disable-debug} \ | |
148 | --with-java-include="%{java_home}"/include | |
149 | ||
150 | %{__make} | |
151 | ||
152 | %install | |
153 | rm -rf $RPM_BUILD_ROOT | |
154 | install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},%{_includedir}} | |
155 | ||
156 | cd ros | |
157 | %{__make} install \ | |
158 | DESTDIR=$RPM_BUILD_ROOT | |
159 | cd .. | |
160 | ||
161 | cp -a data $RPM_BUILD_ROOT%{_datadir}/%{name} | |
162 | mv $RPM_BUILD_ROOT{%{_prefix}/{src,wok,config.h,env_DRAW.sh},%{_datadir}/%{name}} | |
163 | mv $RPM_BUILD_ROOT{%{_prefix}/inc,%{_includedir}/%{name}} | |
164 | rm -r $RPM_BUILD_ROOT%{_prefix}/{Linux,lin} | |
165 | ||
166 | mkdir -p $RPM_BUILD_ROOT/usr/src | |
167 | for i in doc samples; do | |
168 | mkdir -p $i-i | |
169 | [ -d $i ] && mv $i $i-i/%{name}-%{version} || : | |
170 | done | |
171 | ln -s %{_builddir}/%{name}%{version}/doc-i $RPM_BUILD_ROOT%{_defaultdocdir} | |
172 | ln -s %{_builddir}/%{name}%{version}/samples-i $RPM_BUILD_ROOT%{_examplesdir} | |
173 | ||
174 | %post libs -p /sbin/ldconfig | |
175 | %postun libs -p /sbin/ldconfig | |
176 | ||
177 | %clean | |
178 | rm -rf $RPM_BUILD_ROOT | |
179 | ||
180 | %files | |
181 | %defattr(644,root,root,755) | |
182 | %attr(755,root,root) %{_bindir}/DRAWEXE | |
183 | %attr(755,root,root) %{_bindir}/wok* | |
184 | %dir %{_datadir}/%{name} | |
185 | %{_datadir}/%{name}/config.h | |
186 | %{_datadir}/%{name}/data | |
187 | %attr(755,root,root) %{_datadir}/%{name}/env_DRAW.sh | |
188 | %dir %{_datadir}/%{name}/src | |
189 | %dir %{_datadir}/%{name}/src/UnitsAPI | |
190 | %{_datadir}/%{name}/src/UnitsAPI/*.dat | |
191 | %{_datadir}/%{name}/wok | |
192 | %dir %{_libdir}/opencas | |
193 | %attr(755,root,root) %{_libdir}/opencas/*.so.*.*.* | |
194 | %attr(755,root,root) %ghost %{_libdir}/opencas/*.so.0 | |
195 | ||
196 | %files libs | |
197 | %defattr(644,root,root,755) | |
198 | %doc LICENSE ros/README.txt | |
199 | %attr(755,root,root) %{_libdir}/*.so.*.*.* | |
200 | %attr(755,root,root) %ghost %{_libdir}/*.so.0 | |
201 | ||
202 | %files devel | |
203 | %defattr(644,root,root,755) | |
204 | %{_includedir}/%{name} | |
205 | %{_libdir}/opencas/*.la | |
206 | %{_libdir}/*.la | |
207 | %attr(755,root,root) %{_libdir}/opencas/*.so | |
208 | %attr(755,root,root) %{_libdir}/*.so | |
209 | %{_datadir}/%{name}/src/* | |
210 | %exclude %{_datadir}/%{name}/src/UnitsAPI/*.dat | |
211 | ||
212 | %files doc | |
213 | %defattr(644,root,root,755) | |
214 | %{_docdir}/%{name}-%{version} | |
215 | ||
216 | %files samples | |
217 | %defattr(644,root,root,755) | |
218 | %{_examplesdir}/%{name}-%{version} |