source: projects/specs/trunk/o/octave/octave-vl.spec @ 12306

Revision 12306, 12.6 KB checked in by ara_t, 4 years ago (diff)

octave: rebuild with suitesparse-5.4.0

Line 
1# From src/version.h:#define OCTAVE_API_VERSION
2%global octave_api api-v53
3
4%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
5
6%define pkg_name    octave
7%define pkg_version 5.1.0
8%define pkg_release 3%{?_dist_release}
9
10Summary:     GNU Octave -- a high-level language for numerical computations
11Summary(ja): 数値計算のための高級言語
12Name:        %{pkg_name}
13Version:     %{pkg_version}
14Release:     %{pkg_release}
15
16License: GPLv3
17Group:   Applications/Edutainment
18URL:     http://www.gnu.org/software/octave/
19
20Source0: ftp://ftp.octave.org/gnu/octave/%{name}-%{version}.tar.lz
21
22# RPM macros for helping to build Octave packages
23Source1: macros.octave
24
25Buildroot: %{_tmppath}/%{name}-%{version}-root
26
27BuildRequires: gcc-gfortran
28BuildRequires: bison flex gperf texinfo less
29BuildRequires: gnuplot
30BuildRequires: ghostscript-devel
31BuildRequires: mesa-libOSMesa-devel
32%if %{?_dist_release} == "vl6"
33BuildRequires: arpack
34BuildRequires: blas-devel lapack-devel
35%endif
36%if %{?_dist_release} >= "vl7"
37BuildRequires: arpack-devel
38BuildRequires: openblas-devel
39%endif
40BuildRequires: pcre-devel
41BuildRequires: readline-devel
42BuildRequires: curl-devel
43BuildRequires: fftw3-devel
44BuildRequires: fontconfig-devel
45BuildRequires: freetype-devel
46BuildRequires: glpk-devel
47BuildRequires: GraphicsMagick-c++-devel
48BuildRequires: hdf5-devel
49BuildRequires: java-devel
50BuildRequires: qhull-devel
51BuildRequires: qrupdate
52BuildRequires: suitesparse-devel
53BuildRequires: zlib-devel
54BuildRequires: xz-devel
55BuildRequires: libtool-ltdl-devel
56BuildRequires: libXext-devel
57BuildRequires: openssl-devel
58BuildRequires: desktop-file-utils
59BuildRequires: freeglut-devel
60BuildRequires: fltk-devel
61BuildRequires: gl2ps-devel
62%if %{?_dist_release} == "vl6"
63BuildRequires: qt4-devel
64BuildRequires: qscintilla-devel
65%endif
66%if %{?_dist_release} >= "vl7"
67BuildRequires: qt5-qtbase-devel
68BuildRequires: qt5-qttools-devel
69%endif
70BuildRequires: portaudio-devel
71BuildRequires: libsndfile-devel
72BuildRequires: lzip
73
74Requires: ghostscript
75%if %{?_dist_release} == "vl6"
76Requires: blas lapack
77%endif
78%if %{?_dist_release} >= "vl7"
79Requires: openblas
80%endif
81Requires: pcre
82Requires: readline
83Requires: mesa-libOSMesa
84Requires: gnuplot
85Requires: arpack
86Requires: curl
87Requires: fftw3
88Requires: fontconfig
89Requires: freetype
90Requires: glpk
91Requires: GraphicsMagick-c++
92Requires: hdf5
93Requires: libqhull
94Requires: qrupdate
95Requires: suitesparse
96Requires: zlib
97Requires: openssl
98Requires: pstoedit epstool transfig
99Requires: freeglut
100Requires: fltk
101Requires: gl2ps
102%if %{?_dist_release} == "vl6"
103Requires: qt4
104Requires: qscintilla
105%endif
106%if %{?_dist_release} >= "vl7"
107Requires: qt5-qtbase
108Requires: qt5-qttools-libs-help
109%endif
110Requires: portaudio
111Requires: libsndfile
112
113Requires(post):   /sbin/install-info
114Requires(postun): /sbin/ldconfig
115Requires(post):   /sbin/ldconfig
116Requires(preun):  /sbin/install-info
117
118Provides:       octave(api) = %{octave_api}
119
120Vendor: Project Vine
121Distribution: Vine Linux
122Packager: ara_t
123
124
125%description
126GNU Octave is a high-level language, primarily intended for numerical
127computations. It provides a convenient command line interface for
128solving linear and nonlinear problems numerically, and for performing
129other numerical experiments using a language that is mostly compatible
130with Matlab. It may also be used as a batch-oriented language.
131
132Octave has extensive tools for solving common numerical linear algebra
133problems, finding the roots of nonlinear equations, integrating
134ordinary functions, manipulating polynomials, and integrating ordinary
135differential and differential-algebraic equations. It is easily
136extensible and customizable via user-defined functions written in
137Octave's own language, or using dynamically loaded modules written in
138C++, C, Fortran, or other languages.
139# '
140
141%description -l ja
142GNU Octave は数値計算用に開発の始められた高級言語です。線形問題や非線形
143問題を数値的に解いたり、その他のMatlab と互換性の高い言語を用いた数値計算
144を行うための使いやすいコマンドライン・インタフェースを備えています。
145バッチ指向言語としても使うこともできます。Octave は多機能なツールで、
146一般的な線形幾何の問題の数値解や、通常の関数の積分・微分、多項式の操作等を
147行うことができます。
148Octave の言語でユーザが関数を定義したり、C++, C, Fortran その他の言語で
149書いた動的ライブラリを用いて容易に拡張やカスタマイズを行うことができます。
150
151(注意)
152デフォルトではグラフの描画にOpenGL/fltkを使用してます。
153もし不安定な場合には、
154gnuplotをデフォルトとするために ~/.octaverc に
155graphics_toolkit("gnuplot");
156を追加してから起動して下さい。
157
158
159%prep
160%{__rm} -rf ${RPM_BUILD_ROOT}
161%setup -q
162
163%build
164%{configure} \
165 CPPFLAGS="-I%{_includedir}/pcre" \
166 --with-x \
167 --with-magick=GraphicsMagick \
168 --with-curl-includedir=%{_includedir}/curl \
169 --with-glpk-includedir=%{_includedir}/glpk \
170 --with-qhull-includedir=%{_includedir}/libqhull \
171 --with-amd-includedir=%{_includedir}/suitesparse \
172 --with-camd-includedir=%{_includedir}/suitesparse \
173 --with-colamd-includedir=%{_includedir}/suitesparse \
174 --with-ccolamd-includedir=%{_includedir}/suitesparse \
175 --with-cholmod-includedir=%{_includedir}/suitesparse \
176 --with-cxsparse-includedir=%{_includedir}/suitesparse \
177 --with-umfpack-includedir=%{_includedir}/suitesparse \
178 --enable-java \
179 --with-qt=5
180
181# Check that octave_api is set correctly (autogenerated file)
182make liboctave/version.h
183if ! grep -q '^#define OCTAVE_API_VERSION "%{octave_api}"' liboctave/version.h
184then
185  echo "octave_api variable in spec does not match liboctave/version.h"
186  exit 1
187fi
188
189%{__make} %{?_smp_mflags}
190
191
192%install
193%{make_install}
194
195find %{buildroot} -name "*.oct" | xargs strip
196
197# Make library links
198%{__mkdir_p} ${RPM_BUILD_ROOT}/etc/ld.so.conf.d
199echo "%{_libdir}/octave-%{version}" > \
200     ${RPM_BUILD_ROOT}/etc/ld.so.conf.d/octave-%{_arch}.conf
201
202# Remove RPM_BUILD_ROOT from ls-R files
203%{__perl} -pi -e "s,%{buildroot},," ${RPM_BUILD_ROOT}%{_libdir}/%{name}/ls-R
204%{__perl} -pi -e "s,%{buildroot},," ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ls-R
205# Make sure ls-R exists
206touch ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ls-R
207
208# Create directories for add-on packages
209HOST_TYPE=`%{buildroot}%{_bindir}/octave-config -p CANONICAL_HOST_TYPE`
210%{__mkdir_p} ${RPM_BUILD_ROOT}%{_libdir}/%{name}/site/oct/%{octave_api}/$HOST_TYPE
211%{__mkdir_p} ${RPM_BUILD_ROOT}%{_libdir}/%{name}/site/oct/$HOST_TYPE
212%{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}/%{name}/packages
213%{__mkdir_p} ${RPM_BUILD_ROOT}%{_libdir}/%{name}/packages
214touch ${RPM_BUILD_ROOT}%{_datadir}/%{name}/octave_packages
215
216# desktop file
217%{__perl} -pi -e s/"Education;Science;Math;"/"Education;Science;"/g \
218 ${RPM_BUILD_ROOT}%{_datadir}/applications/org.octave.Octave.desktop
219
220# rpm macros
221%{__mkdir_p} ${RPM_BUILD_ROOT}%{macrosdir}
222cp -p %{SOURCE1} ${RPM_BUILD_ROOT}%{macrosdir}
223
224
225%check
226%{__make} %{?_smp_mflags} check
227
228%clean
229%{__rm} -rf ${RPM_BUILD_ROOT}
230
231
232%post -p %{_syssbindir}/ldconfig
233
234%postun -p %{_syssbindir}/ldconfig
235
236
237%files
238%defattr(-,root,root)
239%license COPYING
240%doc AUTHORS BUGS CITATION ChangeLog NEWS README
241%doc examples doc/interpreter/octave.pdf doc/refcard
242# FIXME: Create an -emacs package that has the emacs addon
243%config(noreplace) %{_sysconfdir}/ld.so.conf.d/octave-*.conf
244%{_bindir}/
245%{_libdir}/octave
246%{_libdir}/pkgconfig/*.pc
247%{_includedir}/octave-%{version}
248%{_datadir}/applications/
249%{_datadir}/icons/
250%{_datadir}/metainfo/
251%{_datadir}/octave
252%{_libexecdir}/octave
253%{macrosdir}/macros.octave
254
255
256%changelog
257* Sun Nov 03 2019 Toshiaki Ara <ara_t@384.jp> 5.1.0-3
258- Rebuild for suitesparse 5.4.0
259- change using openblas for VineSeed
260- add macros.octave from Fedora
261
262* Sat Aug 31 2019 Toshiaki Ara <ara_t@384.jp> 5.1.0-2
263- rebuild with readline-8.0 and ncurses-6.1
264
265* Sun Apr 21 2019 Toshiaki Ara <ara_t@384.jp> 5.1.0-1
266- update to 5.1.0
267- drop gui/sound option
268
269* Fri Jan 25 2019 Toshiaki Ara <ara_t@384.jp> 4.4.1-3
270- rebuild with gfortran-8.2.0
271
272* Tue Sep 04 2018 Toshiaki Ara <ara_t@384.jp> 4.4.1-2
273- rebuild with qhull-2015.2
274
275* Thu Aug 30 2018 Toshiaki Ara <ara_t@384.jp> 4.4.1-1
276- update to 4.4.1
277
278* Sun Jul 01 2018 Toshiaki Ara <ara_t@384.jp> 4.4.0-4
279- using qt5 for VineSeed
280  - add configure option: --with-qt=5
281  - add BuildRequires: qt5-qtbase-devel and qt5-qttools-devel
282  - add Requires: qt5-qtbase and qt5-qttools-libs-help
283
284* Sun Jul 01 2018 Toshiaki Ara <ara_t@384.jp> 4.4.0-3
285- rebuild with hdf5-1.8.20 for VineSeed
286
287* Wed Jun 06 2018 Toshiaki Ara <ara_t@384.jp> 4.4.0-2
288- add BuildRequires: arpack-devel for VineSeed
289
290* Sun May 20 2018 Toshiaki Ara <ara_t@384.jp> 4.4.0-1
291- update to 4.4.0
292- correct License
293
294* Sun Apr 01 2018 Toshiaki Ara <ara_t@384.jp> 4.2.2-1
295- update to 4.2.2
296
297* Sun Oct 29 2017 Toshiaki Ara <ara_t@384.jp> 4.2.1-2
298- rebuild under glpk-4.63
299
300* Mon Feb 27 2017 Toshiaki Ara <ara_t@384.jp> 4.2.1-1
301- update to 4.2.1
302
303* Sat Nov 19 2016 Toshiaki Ara <ara_t@384.jp> 4.2.0-1
304- update to 4.2.0
305- add make check
306- add BuildRequires: lzip
307- change BuildRequires: java-devel
308
309* Mon Jul 18 2016 Toshiaki Ara <ara_t@384.jp> 4.0.3-1
310- update to 4.0.3
311- change BuildRequires: java-1.8.0-openjdk-devel for VineSeed
312
313* Wed May 11 2016 Toshiaki Ara <ara_t@384.jp> 4.0.2-1
314- update to 4.0.2
315- add BuildRequires: openssl-devel
316- add Requires: openssl
317
318* Wed Apr 13 2016 Toshiaki Ara <ara_t@384.jp> 4.0.1-1
319- update to 4.0.1
320- change dependencies
321
322* Sun Oct 05 2014 Toshiaki Ara <ara_t@384.jp> 3.6.4-2
323- [BTS:0002801] add configure option --with-magick=Magick
324- delete BuildRequires: texlive-collection-texinfo
325- add BuildRequires: texlive-collection-plainextra
326- add BuildRequires: texlive-collection-latexextra
327- add BuildRequires: texlive-collection-fontsrecommended
328-   for VineSeed
329
330* Wed Mar 06 2013 Toshiaki Ara <ara_t@384.jp> 3.6.4-1
331- update to 3.6.4
332- add BuildRequires: freeglut-devel and Requires: freeglut for VineSeed
333
334* Tue Sep 11 2012 Toshiaki Ara <ara_t@384.jp> 3.6.2-2
335- delete octave from menu (programming)
336
337* Tue Aug 28 2012 Toshiaki Ara <ara_t@384.jp> 3.6.2-1
338- update to 3.6.2
339- correct spec file for version 3.6.2
340- add BuildRequires: pcre-devel fltk-devel
341- add BuildRequires: ImageMagick-devel ImageMagick-c++-devel
342- add BuildRequires: gcc-gfortran
343- add BuildRequires: texlive texlive-common texlive-collection-basic
344- add BuildRequires: texlive-collection-texinfo texlive-collection-genericrecommended
345- chanfe Group to Applications/Edutainment
346
347* Sat Aug 23 2008 Shu KONNO <owa@bg.wakwak.com> 3.0.2-1vl5
348- update to 3.0.2
349- applied new versioning policy, spec in utf-8
350
351* Sun Feb 03 2008 NAKAMURA Kenta <kenta@vinelinux.org> 3.0.0-0vl1
352- update to 3.0.0
353
354* Sat Aug 18 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.9.13-0vl2
355- rebuilt for VineSeed
356
357* Fri Aug 17 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.9.13-0vl1
358- update to 2.9.13
359- rebuilt with new toolchain and environment
360
361* Sun Apr 20 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.0.17-0vl1
362- update to 2.0.17
363- rebuild with new toolchains
364- add BuildRequires: gcc295, gcc295-c++
365
366* Sun Mar  3 2002 Jun Nishii <jun@vinelinux.org> 2.1.35-0vl1
367- ver.up
368
369* Tue Sep 26 2000 Jun Nishii <jun@vinelinux.org> 2.0.16-0vl1
370- build for Vine Linux 2.1
371
372* Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.0.16-5mdk
373- automatically added BuildRequires
374
375* Wed Jul 26 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-4mdk
376- Macros, BM, add multiple icons sizes
377
378* Wed Apr 12 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-3mdk
379- strip oct file
380- add menu entry
381 
382* Tue Mar 21 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-2mdk
383- corrected for new groups
384
385* Thu Mar 09 2000 Lenny Cartier <lenny@mandrakesoft.com>
386- mandrake build
387- v2.0.16
388
389* Fri Oct 23 1998 Jeff Johnson <jbj@redhat.com>
390- update to 2.0.13.90
391
392* Thu Jul  9 1998 Jeff Johnson <jbj@redhat.com>
393- repackage in powertools.
394
395* Thu Jun 11 1998 Andrew Veliath <andrewtv@usa.net>
396- Add %attr, build as user.
397
398* Mon Jun 1 1998 Andrew Veliath <andrewtv@usa.net>
399- Add BuildRoot, installinfo, require gnuplot, description from
400  Octave's web page, update to Octave 2.0.13.
401- Adapt from existing spec file.
402
403* Tue Dec  2 1997 Otto Hammersmith <otto@redhat.com>
404- removed libreadline stuff from the file list
405
406* Mon Nov 24 1997 Otto Hammersmith <otto@redhat.com>
407- changed configure command to put things in $RPM_ARCH-rehat-linux,
408  rather than genereated one... was causing problems between building
409  on i686 build machine.
410
411* Mon Nov 17 1997 Otto Hammersmith <otto@redhat.com>
412- moved buildroot from /tmp to /var/tmp
413
414* Mon Sep 22 1997 Mike Wangsmo <wanger@redhat.com>
415- Upgraded to version 2.0.9 and built for glibc system
416
417* Thu May 01 1997 Michael Fulbright <msf@redhat.com>
418- Updated to version 2.0.5 and changed to build using a BuildRoot
Note: See TracBrowser for help on using the repository browser.