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

Contents of /trunk/ascend.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1596 - (show annotations) (download)
Fri Aug 17 02:28:49 2007 UTC (12 years, 10 months ago) by jpye
File size: 8671 byte(s)
Modified Debian build log.
Added creation of debian.tar.gz for use with OpenSUSE Build Service.
Added notes on building packages using the Build Service.
1 Name: ascend
2 Summary: ASCEND modelling environment
3 Version: 0.9.5.113
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.113
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 #BuildRequires: conopt >= 3.14
62
63 # ... GNOME
64 BuildRequires: desktop-file-utils
65
66 %define pyver %(python -c 'import sys ; print sys.version[:3]')
67 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
68 %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
69
70 Buildroot: /var/tmp/%{name}-buildroot
71
72 %description
73 ASCEND IV is both a large-scale object-oriented mathematical
74 modeling environment and a strongly typed mathematical modeling
75 language. Although ASCEND has primarily been developed by Chemical
76 Engineers, great care has been exercised to assure that it is
77 domain independent. ASCEND can support modeling activities in
78 fields from Architecture to (computational) Zoology.
79
80 # ... documentation
81 # There are no dependencies for documentation as the tarball
82 # will always contain documentation in compiled form. Only
83 # when building from subversion are targets formats of the
84 # documentation files not available.
85
86 #-----------runtime dependencies-----------
87
88 # ...general
89 Requires: gtksourceview
90 Requires: blas
91 # sundials will be statically linked
92 Requires: desktop-file-utils shared-mime-info
93
94 # ...pygtk
95 Requires: python >= 2.4
96 Requires: pygtk2 >= 2.6
97 Requires: pygtk2-libglade
98 Requires: python-matplotlib
99 Requires: numpy
100 Requires: ipython
101
102 # ...tcl/tk
103 Requires: xgraph >= 11
104 Requires: tcl >= 8.3
105 Requires: tk >= 8.3
106 Requires: tktable < 2.10, tktable >= 2.8
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 * Sun Jul 25 2007 John Pye <john.pye@anu.edu.au> 0.9.5.112
257 - solvers are now all built as separate shared libraries
258 - mime-type icon added
259 - RPM now builds on Fedora 5,6,7 and SUSE 10.0 and newer. Not Mandriva though.
260
261 * Mon Apr 23 2007 John Pye <john.pye@student.unsw.edu.au> 0.9.5.108
262 - File ascend.lang has moved.
263 - book.pdf is included in package.
264 - some header files have been moved.
265
266 * Fri Jul 28 2006 John Pye <john.pye@student.unsw.edu.au>
267 - Added CONOPT support
268
269 * Wed Jul 12 2006 John Pye <john.pye@student.unsw.edu.au>
270 - Fixed fortran linking
271 - Removed ccache dependency
272 - Added xgraph dependency
273 - Added 'include' files plus 'ascend-config' script
274
275 * Thu Jun 01 2006 John Pye <john.pye@student.unsw.edu.au>
276 - Add Tcl/Tk interface to GNOME menu
277
278 * Tue May 02 2006 John Pye <john.pye@student.unsw.edu.au>
279 - Break out ascend-core, ascend-python and ascend-tcltk packages.
280
281 * Mon Apr 24 2006 John Pye <john.pye@student.unsw.edu.au>
282 - Modified for removed dir in pygtk source hierachy
283
284 * Thu Apr 04 2006 John Pye <john.pye@student.unsw.edu.au>
285 - First RPM package for new SCons build

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