octave-vl.spec 13 KB

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