octave-vl.spec 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. %define pkg_name octave
  2. %define pkg_version 4.0.1
  3. %define pkg_release 1%{?_dist_release}
  4. %define gui 1
  5. %define sound 1
  6. %if %{?_dist_release} == "vl6"
  7. %define openjdk_ver 1.6.0
  8. %endif
  9. %if %{?_dist_release} == "vl7"
  10. %define openjdk_ver 1.7.0
  11. %endif
  12. Summary: GNU Octave -- a high-level language for numerical computations
  13. Summary(ja): 数値計算のための高級言語
  14. Name: %{pkg_name}
  15. Version: %{pkg_version}
  16. Release: %{pkg_release}
  17. License: GPL
  18. Group: Applications/Edutainment
  19. URL: http://www.gnu.org/software/octave/
  20. Source0: ftp://ftp.octave.org/gnu/octave/%{name}-%{version}.tar.gz
  21. Buildroot: %{_tmppath}/%{name}-%{version}-root
  22. BuildRequires: gcc-gfortran
  23. BuildRequires: bison flex gperf texinfo less
  24. BuildRequires: gnuplot
  25. BuildRequires: ghostscript-devel
  26. BuildRequires: mesa-libOSMesa-devel
  27. BuildRequires: librsvg2
  28. BuildRequires: blas-devel lapack-devel
  29. BuildRequires: pcre-devel
  30. BuildRequires: readline-devel
  31. BuildRequires: arpack
  32. BuildRequires: curl-devel
  33. BuildRequires: fftw3-devel
  34. BuildRequires: fontconfig-devel
  35. BuildRequires: freetype-devel
  36. BuildRequires: glpk-devel
  37. BuildRequires: GraphicsMagick-c++-devel
  38. BuildRequires: hdf5-devel
  39. BuildRequires: java-%{openjdk_ver}-openjdk-devel
  40. BuildRequires: qhull-devel
  41. BuildRequires: qrupdate
  42. BuildRequires: suitesparse-devel
  43. BuildRequires: zlib-devel
  44. BuildRequires: xz-devel
  45. BuildRequires: libtool-ltdl-devel
  46. BuildRequires: libXext-devel
  47. %if %{gui}
  48. BuildRequires: desktop-file-utils
  49. BuildRequires: freeglut-devel
  50. BuildRequires: fltk-devel
  51. BuildRequires: gl2ps-devel
  52. BuildRequires: qt4-devel
  53. BuildRequires: qscintilla-devel
  54. %endif
  55. %if %{sound}
  56. BuildRequires: portaudio-devel
  57. BuildRequires: libsndfile-devel
  58. %endif
  59. Requires: ghostscript
  60. Requires: blas lapack
  61. Requires: pcre
  62. Requires: readline
  63. Requires: mesa-libOSMesa
  64. Requires: gnuplot
  65. Requires: arpack
  66. Requires: curl
  67. Requires: fftw3
  68. Requires: fontconfig
  69. Requires: freetype
  70. Requires: glpk
  71. Requires: GraphicsMagick-c++
  72. Requires: hdf5
  73. Requires: qhull
  74. Requires: qrupdate
  75. Requires: suitesparse
  76. Requires: zlib
  77. Requires: pstoedit epstool transfig
  78. %if %{gui}
  79. Requires: freeglut
  80. Requires: fltk
  81. Requires: gl2ps
  82. Requires: qt4
  83. Requires: qscintilla
  84. %endif
  85. %if %{sound}
  86. Requires: portaudio
  87. Requires: libsndfile
  88. %endif
  89. Requires(post): /sbin/install-info
  90. Requires(postun): /sbin/ldconfig
  91. Requires(post): /sbin/ldconfig
  92. Requires(preun): /sbin/install-info
  93. Vendor: Project Vine
  94. Distribution: Vine Linux
  95. Packager: ara_t
  96. %description
  97. GNU Octave is a high-level language, primarily intended for numerical
  98. computations. It provides a convenient command line interface for
  99. solving linear and nonlinear problems numerically, and for performing
  100. other numerical experiments using a language that is mostly compatible
  101. with Matlab. It may also be used as a batch-oriented language.
  102. Octave has extensive tools for solving common numerical linear algebra
  103. problems, finding the roots of nonlinear equations, integrating
  104. ordinary functions, manipulating polynomials, and integrating ordinary
  105. differential and differential-algebraic equations. It is easily
  106. extensible and customizable via user-defined functions written in
  107. Octave's own language, or using dynamically loaded modules written in
  108. C++, C, Fortran, or other languages.
  109. # '
  110. %description -l ja
  111. GNU Octave は数値計算用に開発の始められた高級言語です。線形問題や非線形
  112. 問題を数値的に解いたり、その他のMatlab と互換性の高い言語を用いた数値計算
  113. を行うための使いやすいコマンドライン・インタフェースを備えています。
  114. バッチ指向言語としても使うこともできます。Octave は多機能なツールで、
  115. 一般的な線形幾何の問題の数値解や、通常の関数の積分・微分、多項式の操作等を
  116. 行うことができます。
  117. Octave の言語でユーザが関数を定義したり、C++, C, Fortran その他の言語で
  118. 書いた動的ライブラリを用いて容易に拡張やカスタマイズを行うことができます。
  119. %if %{gui}
  120. (注意)
  121. デフォルトではグラフの描画にOpenGL/fltkを使用してます。
  122. もし不安定な場合には、
  123. gnuplotをデフォルトとするために ~/.octaverc に
  124. graphics_toolkit("gnuplot");
  125. を追加してから起動して下さい。
  126. %endif
  127. %prep
  128. %{__rm} -rf ${RPM_BUILD_ROOT}
  129. %setup -q
  130. %build
  131. %{configure} \
  132. CPPFLAGS="-I%{_includedir}/pcre" \
  133. --with-x \
  134. --with-magick=GraphicsMagick \
  135. --with-curl-includedir=%{_includedir}/curl \
  136. --with-glpk-includedir=%{_includedir}/glpk \
  137. --with-qhull-includedir=%{_includedir}/qhull \
  138. --with-amd-includedir=%{_includedir}/suitesparse \
  139. --with-camd-includedir=%{_includedir}/suitesparse \
  140. --with-colamd-includedir=%{_includedir}/suitesparse \
  141. --with-ccolamd-includedir=%{_includedir}/suitesparse \
  142. --with-cholmod-includedir=%{_includedir}/suitesparse \
  143. --with-cxsparse-includedir=%{_includedir}/suitesparse \
  144. --with-umfpack-includedir=%{_includedir}/suitesparse \
  145. --enable-java \
  146. %if !%{gui}
  147. --disable-gui \
  148. --without-opengl \
  149. --without-fltk \
  150. %endif
  151. %if !%{sound}
  152. --without-sndfile --without-portaudio \
  153. %endif
  154. %{__make} %{?_smp_mflags}
  155. # %{__make} check
  156. %install
  157. %{make_install}
  158. %{__rm} -f ${RPM_BUILD_ROOT}%{_infodir}/dir
  159. find %{buildroot} -name "*.oct" | xargs strip
  160. # Make library links
  161. %{__mkdir_p} ${RPM_BUILD_ROOT}/etc/ld.so.conf.d
  162. echo "%{_libdir}/octave-%{version}" > \
  163. ${RPM_BUILD_ROOT}/etc/ld.so.conf.d/octave-%{_arch}.conf
  164. %if %{gui}
  165. # Create desktop file
  166. %{__mv} \
  167. ${RPM_BUILD_ROOT}%{_datadir}/applications/www.octave.org-octave.desktop \
  168. ${RPM_BUILD_ROOT}%{_datadir}/applications/octave.desktop
  169. %{__perl} -pi -e s/"Education;Science;Math;"/"Education;Science;"/g \
  170. ${RPM_BUILD_ROOT}%{_datadir}/applications/octave.desktop
  171. %endif
  172. # rename %{_datadir}/appdata/*
  173. %{__mv} \
  174. ${RPM_BUILD_ROOT}%{_datadir}/appdata/www.octave.org-octave.appdata.xml \
  175. ${RPM_BUILD_ROOT}%{_datadir}/appdata/octave.appdata.xml
  176. %clean
  177. %{__rm} -rf ${RPM_BUILD_ROOT}
  178. %post
  179. %{_syssbindir}/ldconfig
  180. /sbin/install-info --info-dir=%{_infodir} --section="Programming" \
  181. %{_infodir}/octave.info || :
  182. %preun
  183. if [ "$1" = "0" ]; then
  184. /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/octave.info || :
  185. fi
  186. %postun -p %{_syssbindir}/ldconfig
  187. %files
  188. %defattr(-,root,root)
  189. %doc AUTHORS BUGS CITATION COPYING ChangeLog NEWS README
  190. %doc examples doc/interpreter/octave.p* doc/refcard
  191. %config(noreplace) /etc/ld.so.conf.d/
  192. %{_bindir}/
  193. %{_libdir}/octave
  194. %{_includedir}/octave-%{version}
  195. %{_datadir}/appdata/
  196. %if %{gui}
  197. %{_datadir}/applications/
  198. %endif
  199. %{_datadir}/icons/
  200. %{_datadir}/octave
  201. %{_libexecdir}/octave
  202. %{_mandir}/man*/*
  203. %{_infodir}/octave*
  204. %{_infodir}/liboctave.info*
  205. %changelog
  206. * Wed Apr 13 2016 Toshiaki Ara <ara_t@384.jp> 4.0.1-1
  207. - update to 4.0.1
  208. - change dependencies
  209. * Sun Oct 05 2014 Toshiaki Ara <ara_t@384.jp> 3.6.4-2
  210. - [BTS:0002801] add configure option --with-magick=Magick
  211. - delete BuildRequires: texlive-collection-texinfo
  212. - add BuildRequires: texlive-collection-plainextra
  213. - add BuildRequires: texlive-collection-latexextra
  214. - add BuildRequires: texlive-collection-fontsrecommended
  215. - for VineSeed
  216. * Wed Mar 06 2013 Toshiaki Ara <ara_t@384.jp> 3.6.4-1
  217. - update to 3.6.4
  218. - add BuildRequires: freeglut-devel and Requires: freeglut for VineSeed
  219. * Tue Sep 11 2012 Toshiaki Ara <ara_t@384.jp> 3.6.2-2
  220. - delete octave from menu (programming)
  221. * Tue Aug 28 2012 Toshiaki Ara <ara_t@384.jp> 3.6.2-1
  222. - update to 3.6.2
  223. - correct spec file for version 3.6.2
  224. - add BuildRequires: pcre-devel fltk-devel
  225. - add BuildRequires: ImageMagick-devel ImageMagick-c++-devel
  226. - add BuildRequires: gcc-gfortran
  227. - add BuildRequires: texlive texlive-common texlive-collection-basic
  228. - add BuildRequires: texlive-collection-texinfo texlive-collection-genericrecommended
  229. - chanfe Group to Applications/Edutainment
  230. * Sat Aug 23 2008 Shu KONNO <owa@bg.wakwak.com> 3.0.2-1vl5
  231. - update to 3.0.2
  232. - applied new versioning policy, spec in utf-8
  233. * Sun Feb 03 2008 NAKAMURA Kenta <kenta@vinelinux.org> 3.0.0-0vl1
  234. - update to 3.0.0
  235. * Sat Aug 18 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.9.13-0vl2
  236. - rebuilt for VineSeed
  237. * Fri Aug 17 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.9.13-0vl1
  238. - update to 2.9.13
  239. - rebuilt with new toolchain and environment
  240. * Sun Apr 20 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.0.17-0vl1
  241. - update to 2.0.17
  242. - rebuild with new toolchains
  243. - add BuildRequires: gcc295, gcc295-c++
  244. * Sun Mar 3 2002 Jun Nishii <jun@vinelinux.org> 2.1.35-0vl1
  245. - ver.up
  246. * Tue Sep 26 2000 Jun Nishii <jun@vinelinux.org> 2.0.16-0vl1
  247. - build for Vine Linux 2.1
  248. * Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.0.16-5mdk
  249. - automatically added BuildRequires
  250. * Wed Jul 26 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-4mdk
  251. - Macros, BM, add multiple icons sizes
  252. * Wed Apr 12 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-3mdk
  253. - strip oct file
  254. - add menu entry
  255. * Tue Mar 21 2000 Vincent Saugey <vince@mandrakesoft.com> 2.0.16-2mdk
  256. - corrected for new groups
  257. * Thu Mar 09 2000 Lenny Cartier <lenny@mandrakesoft.com>
  258. - mandrake build
  259. - v2.0.16
  260. * Fri Oct 23 1998 Jeff Johnson <jbj@redhat.com>
  261. - update to 2.0.13.90
  262. * Thu Jul 9 1998 Jeff Johnson <jbj@redhat.com>
  263. - repackage in powertools.
  264. * Thu Jun 11 1998 Andrew Veliath <andrewtv@usa.net>
  265. - Add %attr, build as user.
  266. * Mon Jun 1 1998 Andrew Veliath <andrewtv@usa.net>
  267. - Add BuildRoot, installinfo, require gnuplot, description from
  268. Octave's web page, update to Octave 2.0.13.
  269. - Adapt from existing spec file.
  270. * Tue Dec 2 1997 Otto Hammersmith <otto@redhat.com>
  271. - removed libreadline stuff from the file list
  272. * Mon Nov 24 1997 Otto Hammersmith <otto@redhat.com>
  273. - changed configure command to put things in $RPM_ARCH-rehat-linux,
  274. rather than genereated one... was causing problems between building
  275. on i686 build machine.
  276. * Mon Nov 17 1997 Otto Hammersmith <otto@redhat.com>
  277. - moved buildroot from /tmp to /var/tmp
  278. * Mon Sep 22 1997 Mike Wangsmo <wanger@redhat.com>
  279. - Upgraded to version 2.0.9 and built for glibc system
  280. * Thu May 01 1997 Michael Fulbright <msf@redhat.com>
  281. - Updated to version 2.0.5 and changed to build using a BuildRoot