/[ascend]/trunk/ascend.spec
ViewVC logotype

Contents of /trunk/ascend.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1609 - (show annotations) (download)
Thu Aug 30 02:14:09 2007 UTC (17 years, 8 months ago) by jpye
File size: 9126 byte(s)
Adopt freedesktop.org method for mime association on Debian. Add
postrm and postinst scripts.
1 Name: ascend
2 Summary: ASCEND modelling environment
3 Version: 0.9.5.114
4
5 # Use release 0.* so that other users can do patch releases with a higher number
6 # and still have the update occur automatically.
7 Release: 0%{?dist}
8
9 %define disttar_name ascend-0.9.5.114
10
11 License: GPLv2+
12 Group: Applications/Engineering
13 Source: %{disttar_name}.tar.bz2
14 URL: http://ascend.cheme.cmu.edu/
15
16 Prefix: %{_prefix}
17 Packager: John Pye
18 Vendor: Carnegie Mellon University
19
20 Buildroot: /var/tmp/%{name}-buildroot
21
22 #----------build dependencies------------
23
24 # ...general
25 BuildRequires: scons >= 0.96.92
26 BuildRequires: bison
27 BuildRequires: flex >= 2.5.4
28 BuildRequires: swig >= 1.3.24
29 # removed version requirement for 2.0 on bison.
30
31 %if 0%{?fedora_version}
32 BuildRequires: gcc-gfortran gcc-c++ >= 4
33 BuildRequires: blas-devel
34 BuildRequires: sundials-devel >= 2.2.0
35 BuildRequires: python-devel >= 2.4
36 BuildRequires: tk-devel, tk, tcl-devel, tcl, tktable
37 %else
38 %if 0%{?suse_version}
39 BuildRequires: gcc-fortran gcc-c++
40 BuildRequires: sundials-devel >= 2.2.0
41 BuildRequires: blas
42 BuildRequires: python-devel >= 2.4
43 BuildRequires: tk, tk-devel, tcl, tcl-devel, tktable
44 %if 0%{suse_version} == 1000
45 BuildRequires: xorg-x11-devel
46 %else
47 BuildRequires: xorg-x11-libX11-devel
48 %endif
49 %else
50 %if 0%{?mandriva_version}
51 BuildRequires: gcc-gfortran gcc-c++
52 BuildRequires: sundials-devel >= 2.2.0
53 BuildRequires: blas-devel python-devel tk tcl
54 %else
55 # xubuntu version is the fallback...
56 BuildRequires: g++-4.1 gfortran-4.1 libsundials-serial-dev python-dev tk8.3-dev tcl8.3-dev tktable
57 %endif
58 %endif
59 %endif
60
61 %define pyver %(python -c 'import sys ; print sys.version[:3]')
62 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
63 %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
64
65 Buildroot: /var/tmp/%{name}-buildroot
66
67 %description
68 ASCEND IV is both a large-scale object-oriented mathematical
69 modeling environment and a strongly typed mathematical modeling
70 language. Although ASCEND has primarily been developed by Chemical
71 Engineers, great care has been exercised to assure that it is
72 domain independent. ASCEND can support modeling activities in
73 fields from Architecture to (computational) Zoology.
74
75 # ... documentation
76 # There are no dependencies for documentation as the tarball
77 # will always contain documentation in compiled form. Only
78 # when building from subversion are targets formats of the
79 # documentation files not available.
80
81 #-----------runtime dependencies-----------
82
83 # ...general
84 Requires: gtksourceview
85 Requires: blas
86 Requires: sundials
87 # ... is now packaged as a shared library
88
89 # ...pygtk
90 Requires: python >= 2.4
91 Requires: pygtk2 >= 2.6
92 Requires: pygtk2-libglade
93 Requires: python-matplotlib
94 Requires: numpy
95 Requires: ipython
96
97 # ...tcl/tk
98 Requires: xgraph >= 11
99 Requires: tcl >= 8.3
100 Requires: tk >= 8.3
101 Requires: tktable < 2.10, tktable >= 2.8
102
103 # ... file association
104 Requires(post): desktop-file-utils shared-mime-info
105 Requires(postun): desktop-file-utils shared-mime-info
106
107
108 #------------------------------------------
109
110 Provides: ascend-gui
111
112 # for the moment we'll just make one big super-package, to keep things
113 # simple for end-users.
114
115 #%package -n ascend-python
116 #Version: %{version}
117 #Summary: PyGTK user interface for ASCEND
118 #Group: Applications/Engineering
119 #
120 #%description -n ascend-python
121 #PyGTK user interface for ASCEND. This is a new interface that follows GNOME
122 #human interface guidelines as closely as possible. It does not as yet provide
123 #access to all of the ASCEND functionality provided by the Tcl/Tk interface.
124 #
125 #%package -n ascend-tcltk
126 #Version: %{version}
127 #Summary: Tcl/Tk user interface for ASCEND
128 #Group: Applications/Engineering
129 #
130 #%description -n ascend-tcltk
131 #Tcl/Tk user interface for ASCEND. This is the original ASCEND IV interface
132 #and is a more complete and mature interface than the alternative PyGTK
133 #interface. Use this interface if you need to use ASCEND *.a4s files or other
134 #functionality not provided by the PyGTK interface.
135
136 %package doc
137 Summary: Documentation for ASCEND
138 Group: Applications/Engineering
139 %description doc
140 Documentation for ASCEND, in the form of a PDF User's Manual.
141
142 %package devel
143 Summary: Developer files ASCEND
144 Group: Applications/Engineering
145 Requires: %{name}
146 %description devel
147 Developer files for ASCEND, in the form for C header files for the core
148 ASCEND library, 'libascend'.
149
150 %prep
151 %setup -q -n %{disttar_name}
152
153 %build
154 scons %{_smp_mflags} DEFAULT_ASCENDLIBRARY=%{_datadir}/ascend/models \
155 INSTALL_ROOT=%{buildroot} \
156 INSTALL_PREFIX=%{_prefix} \
157 INSTALL_SHARE=%{_datadir} \
158 INSTALL_BIN=%{_bindir} \
159 INSTALL_INCLUDE=%{_includedir} \
160 INSTALL_LIB=%{_libdir} \
161 INSTALL_DOC=%{_docdir}/%{name}-%{version} \
162 WITH_DOC_BUILD=0 \
163 WITH_DOC_INSTALL=0 \
164 WITH_SOLVERS=QRSLV,LSODE,CMSLV,IDA,LRSLV,CONOPT \
165 ABSOLUTE_PATHS=1 \
166 %{?__cc:CC="%__cc"} %{?__cxx:CXX="%__cxx"} \
167 pygtk tcltk models solvers
168
169 %install
170 rm -rf %{buildroot}
171 scons %{_smp_mflags} install
172
173 # Install menu entry for PyGTK interface, gtksourceview syntax highlighting, and MIME definition
174 pushd pygtk/gnome
175 install -m 644 -D ascend.desktop %{buildroot}/%{_datadir}/applications/ascend.desktop
176 install -m 644 -D ascend.png %{buildroot}/%{_datadir}/icons/ascend-app.png
177 install -m 644 -D ascend.png %{buildroot}/%{_datadir}/icons/hicolor/64x64/ascend.png
178 install -m 644 -D ascend.xml %{buildroot}/%{_datadir}/mime/packages/ascend.xml
179 popd
180
181 # file-type icon for ascend models (double click should open in ASCEND)
182 pushd pygtk/glade
183 install -m 644 -D ascend-doc-48x48.svg %{buildroot}/%{_datadir}/icons/text-x-ascend-model.svg
184 popd
185
186 pushd tools/gedit
187 install -m 644 -D ascend.lang %{buildroot}/%{_datadir}/gtksourceview-1.0/language-specs/ascend.lang
188 popd
189
190 # TODO...
191 #%__python -c 'from compileall import *; compile_dir("'$RPM_BUILD_ROOT'/%{python_sitelib}",10,"%{python_sitelib}")'
192 #%__python -O -c 'from compileall import *; compile_dir("'$RPM_BUILD_ROOT'/%{python_sitelib}",10,"%{python_sitelib}")'
193
194 # Install menu entry for Tcl/Tk interface
195 pushd tcltk/gnome
196 install -m 644 -D ascend4.desktop %{buildroot}/%{_datadir}/applications/ascend4.desktop
197 install -m 644 -D ascend4.png %{buildroot}/%{_datadir}/icons/ascend4-app.png
198 install -m 644 -D ascend4.png %{buildroot}/%{_datadir}/icons/hicolor/64x64/ascend4.png
199 popd
200
201 %clean
202 rm -rf %{buildroot}
203
204 %post
205 update-desktop-database
206 update-mime-database /usr/share/mime &> /dev/null || :
207
208 %postun
209 update-desktop-database
210 update-mime-database /usr/share/mime &> /dev/null || :
211
212 %files
213 %defattr(-, root, root)
214 %doc INSTALL.txt LICENSE.txt
215
216 %{_bindir}/ascend-config
217 %{_datadir}/ascend/models
218 %{_datadir}/ascend/solvers
219 %{_libdir}/libascend.so
220 %{_datadir}/mime/packages/ascend.xml
221 %{_datadir}/gtksourceview-1.0/language-specs/ascend.lang
222 %{_datadir}/icons/text-x-ascend-model.svg
223
224 # %package -n ascend-python
225 %{_bindir}/ascend
226 %{_datadir}/ascend/*.py
227 %{_datadir}/ascend/*.py[co]
228
229 %{_datadir}/ascend/glade
230 %{_datadir}/ascend/_ascpy.so
231 %{_datadir}/applications/ascend.desktop
232 %{_datadir}/icons/ascend-app.png
233 %{_datadir}/icons/hicolor/64x64/ascend.png
234
235 # %package -n ascend-tcltk
236 %{_bindir}/ascend4
237 %{_datadir}/ascend/tcltk
238 %{_libdir}/libascendtcl.so
239 %{_datadir}/applications/ascend4.desktop
240 %{_datadir}/icons/ascend4-app.png
241 %{_datadir}/icons/hicolor/64x64/ascend4.png
242
243 %files devel
244 %{_includedir}/compiler
245 %{_includedir}/general
246 %{_includedir}/utilities
247 %{_includedir}/solver
248 %{_includedir}/linear
249 %{_includedir}/integrator
250 %{_includedir}/system
251
252 %files doc
253 %doc doc/book.pdf
254
255 %changelog
256 * Thu Aug 30 2007 John Pye <john.pye@anu.edu.au> 0.9.5.114
257 - Minor fixes: error output.
258 - New 'air properties' model.
259
260 * Sun Aug 19 2007 John Pye <john.pye@anu.edu.au> 0.9.5.113
261 - External libraries renamed to 'lib<name>_ascend.so' for clarity
262 and to solve a Windows-based naming problem.
263 - Links in Help menu fixed (problem with call to Python webbrowser component).
264 - License re-tagged according to Fedora requirements.
265
266 * Sun Jul 25 2007 John Pye <john.pye@anu.edu.au> 0.9.5.112
267 - solvers are now all built as separate shared libraries
268 - mime-type icon added
269 - RPM now builds on Fedora 5,6,7 and SUSE 10.0 and newer. Not Mandriva though.
270
271 * Mon Apr 23 2007 John Pye <john.pye@student.unsw.edu.au> 0.9.5.108
272 - File ascend.lang has moved.
273 - book.pdf is included in package.
274 - some header files have been moved.
275
276 * Fri Jul 28 2006 John Pye <john.pye@student.unsw.edu.au>
277 - Added CONOPT support
278
279 * Wed Jul 12 2006 John Pye <john.pye@student.unsw.edu.au>
280 - Fixed fortran linking
281 - Removed ccache dependency
282 - Added xgraph dependency
283 - Added 'include' files plus 'ascend-config' script
284
285 * Thu Jun 01 2006 John Pye <john.pye@student.unsw.edu.au>
286 - Add Tcl/Tk interface to GNOME menu
287
288 * Tue May 02 2006 John Pye <john.pye@student.unsw.edu.au>
289 - Break out ascend-core, ascend-python and ascend-tcltk packages.
290
291 * Mon Apr 24 2006 John Pye <john.pye@student.unsw.edu.au>
292 - Modified for removed dir in pygtk source hierachy
293
294 * Thu Apr 04 2006 John Pye <john.pye@student.unsw.edu.au>
295 - First RPM package for new SCons build

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22