octave-vl.spec 10 KB

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