Gentoo Archives: gentoo-commits

From: Michael Orlitzky <mjo@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/octave/
Date: Mon, 17 Jan 2022 17:28:43
Message-Id: 1642440271.c3b07b88c4c2034c849824210c3227bb0ab28bfa.mjo@gentoo
1 commit: c3b07b88c4c2034c849824210c3227bb0ab28bfa
2 Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 17 17:19:22 2022 +0000
4 Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 17 17:24:31 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3b07b88
7
8 sci-mathematics/octave: new upstream version 6.4.0.
9
10 Bug: https://bugs.gentoo.org/776583
11 Closes: https://bugs.gentoo.org/775254
12 Package-Manager: Portage-3.0.28, Repoman-3.0.3
13 Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
14
15 sci-mathematics/octave/Manifest | 1 +
16 sci-mathematics/octave/octave-6.4.0.ebuild | 204 +++++++++++++++++++++++++++++
17 2 files changed, 205 insertions(+)
18
19 diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest
20 index 19093503ee65..f38fe7346ca7 100644
21 --- a/sci-mathematics/octave/Manifest
22 +++ b/sci-mathematics/octave/Manifest
23 @@ -1,3 +1,4 @@
24 DIST octave-5.2.0.tar.gz 33360285 BLAKE2B 6d53a48a7fbe929e372fd51d084c0269befd3140341f3f3a1f2cae02f9f085ed434c3336c770c9a856081197c93ee306f481dd116b958685175bc294e4db62ae SHA512 fa2076fb22415e0797964c66cfb8d24643f178f45eb9c14ebb4c082767e0a53509fde550f579fa4a816348bd0f7cbc74f24144f9a30a5b9c09ebe1b3949db498
25 DIST octave-6.2.0.tar.gz 32620419 BLAKE2B 55fd06336263b43f921ef30cac4fb82951a6be19aa60b6c24f24bcf3884923d824b6e4e6a8ad2983c394f541e556f7830922b34f8565bff3d07a7830c5df3cb0 SHA512 4039b68ffa77e599c63aa5748411603e86943be63ce96b6810547ba9776fe400939957fd8c40b2f212dfe244c76e58fdbbc4025179c9785b773da9bbb9fedaf2
26 DIST octave-6.3.0.tar.gz 32859335 BLAKE2B 032f0e74b2fcd41358db1adc7f7274f6c8e327f5f86a32739864078bf236af26544f5988e774ebdd2ed28a6906e86556ce44ecd4bc5d3e710d839ecf5dcad9d9 SHA512 9582d7a7d84beef2a22d3dfaf45aee4778fc0dfc0ec1831c5bcb863dd0062e996e5b7aaaa40519c23d2c730c3408e26745b9dbf73db5127ebae22da0b2532788
27 +DIST octave-6.4.0.tar.gz 32873157 BLAKE2B afa729c3c9917f724e7d97fe3af42986f323d3ff849e0a33ac9f183237e68d989d4f3dacd644405b648ec050ad07d8973abddbd8657b810de6f65d5b5ae37c02 SHA512 91ff031f6dfff8506fa738fd4f1f07276501fdfe003f8ed992cccf91da14d9d33da6d08923322b0dae5f5b696b49856b0f5c5065e26b0701b0d1630173807435
28
29 diff --git a/sci-mathematics/octave/octave-6.4.0.ebuild b/sci-mathematics/octave/octave-6.4.0.ebuild
30 new file mode 100644
31 index 000000000000..4b0b6832a769
32 --- /dev/null
33 +++ b/sci-mathematics/octave/octave-6.4.0.ebuild
34 @@ -0,0 +1,204 @@
35 +# Copyright 1999-2022 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=6
39 +
40 +inherit autotools flag-o-matic fortran-2 java-pkg-opt-2 pax-utils toolchain-funcs xdg-utils
41 +
42 +DESCRIPTION="High-level interactive language for numerical computations"
43 +LICENSE="GPL-3"
44 +HOMEPAGE="https://www.gnu.org/software/octave/"
45 +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
46 +
47 +SLOT="0/${PV}"
48 +IUSE="curl doc fftw +glpk gnuplot gui hdf5 java opengl
49 + portaudio postscript +qhull +qrupdate readline sndfile +sparse
50 + ssl static-libs sundials X zlib"
51 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
52 +
53 +# Although it is listed in INSTALL.OCTAVE as a build tool, Octave runs
54 +# "makeinfo" from sys-apps/texinfo at runtime to convert its texinfo
55 +# documentation to text (see scripts/help/help.m).
56 +#
57 +# (un)zip isn't mentioned, but there's a test that uses it (bug 775254).
58 +#
59 +RDEPEND="
60 + app-arch/bzip2
61 + app-arch/unzip
62 + app-arch/zip
63 + app-text/ghostscript-gpl
64 + sys-apps/texinfo
65 + dev-libs/libpcre:3=
66 + sys-libs/ncurses:0=
67 + sys-libs/zlib
68 + virtual/blas
69 + virtual/lapack
70 + curl? ( net-misc/curl:0= )
71 + fftw? ( sci-libs/fftw:3.0= )
72 + glpk? ( sci-mathematics/glpk:0= )
73 + gnuplot? ( sci-visualization/gnuplot )
74 + gui? (
75 + dev-qt/qtcore:5
76 + dev-qt/qtgui:5
77 + dev-qt/qthelp:5
78 + dev-qt/qtnetwork:5
79 + dev-qt/qtopengl:5
80 + dev-qt/qtprintsupport:5
81 + dev-qt/qtwidgets:5
82 + x11-libs/qscintilla:=
83 + )
84 + hdf5? ( sci-libs/hdf5:0= )
85 + java? ( >=virtual/jre-1.6.0:* )
86 + opengl? (
87 + media-libs/freetype:2=
88 + media-libs/fontconfig:1.0=
89 + virtual/glu
90 + >=x11-libs/fltk-1.3:1=[opengl,xft]
91 + x11-libs/gl2ps:0=
92 + )
93 + portaudio? ( media-libs/portaudio )
94 + postscript? (
95 + app-text/epstool
96 + media-gfx/pstoedit
97 + media-gfx/transfig
98 + )
99 + qhull? ( media-libs/qhull:0= )
100 + qrupdate? ( sci-libs/qrupdate:0= )
101 + readline? ( sys-libs/readline:0= )
102 + sndfile? ( media-libs/libsndfile )
103 + sparse? (
104 + sci-libs/arpack:0=
105 + sci-libs/camd:0=
106 + sci-libs/ccolamd:0=
107 + sci-libs/cholmod:0=
108 + sci-libs/colamd:0=
109 + sci-libs/cxsparse:0=
110 + sci-libs/umfpack:0=
111 + )
112 + ssl? (
113 + dev-libs/openssl:0=
114 + )
115 + sundials? ( >=sci-libs/sundials-4:0= )
116 + X? ( x11-libs/libX11:0= )"
117 +DEPEND="${RDEPEND}
118 + dev-util/gperf
119 + virtual/pkgconfig
120 + doc? (
121 + dev-texlive/texlive-fontsrecommended
122 + dev-texlive/texlive-plaingeneric
123 + dev-texlive/texlive-metapost
124 + virtual/latex-base
125 + )
126 + gui? ( dev-qt/linguist-tools:5 )
127 + java? ( >=virtual/jdk-1.6.0 )
128 + qrupdate? ( app-misc/pax-utils )
129 + sparse? ( app-misc/pax-utils )"
130 +
131 +PATCHES=(
132 + "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch
133 + "${FILESDIR}"/${PN}-4.2.2-ncurses-pkgconfig.patch
134 +)
135 +
136 +src_prepare() {
137 + # nasty prefix hacks for fltk:1 linking
138 + if use prefix; then
139 + use opengl && append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/fltk-1"
140 + fi
141 +
142 + # occasional fail on install, force regeneration (bug #401189)
143 + rm doc/interpreter/contributors.texi || die
144 +
145 + default
146 + eautoreconf
147 +}
148 +
149 +src_configure() {
150 + # unfortunate dependency on mpi from hdf5 (bug #302621)
151 + use hdf5 && has_version sci-libs/hdf5[mpi] && \
152 + export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
153 +
154 + # Some of these use_with flags are a bit mismatched. The configure
155 + # script offers only --without-foo, and detects "foo" automatically
156 + # unless --without-foo is specified. Passing --with-foo is not an
157 + # error, however, so it kind of works. We wind up with, for example,
158 + #
159 + # --with-sundials_ida (no-op) with USE="sundials"
160 + # --without-sundials_ida (disables it) with USE="-sundials"
161 + #
162 + # The --enable-link-all-dependencies flag is needed because
163 + # otherwise, the build system appends --no-undefined to LDFLAGS and
164 + # then proceeds to undefine things. GNU libtool ignores this, but
165 + # slibtool (for example) does not (bug 776583).
166 + econf \
167 + --localstatedir="${EPREFIX}/var/state/octave" \
168 + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
169 + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
170 + --disable-64 \
171 + --disable-jit \
172 + --enable-link-all-dependencies \
173 + --enable-shared \
174 + --with-z \
175 + --with-bz2 \
176 + $(use_enable static-libs static) \
177 + $(use_enable doc docs) \
178 + $(use_enable java) \
179 + $(use_enable readline) \
180 + $(use_with curl) \
181 + $(use_with fftw fftw3) \
182 + $(use_with fftw fftw3f) \
183 + $(use_enable fftw fftw-threads) \
184 + $(use_with glpk) \
185 + $(use_with hdf5) \
186 + $(use_with opengl) \
187 + $(use_with opengl fltk) \
188 + $(use_with ssl openssl) \
189 + $(use_with portaudio) \
190 + $(use_with qhull) \
191 + $(use_with qrupdate) \
192 + $(use_with gui qt 5) \
193 + $(use_with sndfile) \
194 + $(use_with sparse arpack) \
195 + $(use_with sparse umfpack) \
196 + $(use_with sparse colamd) \
197 + $(use_with sparse ccolamd) \
198 + $(use_with sparse cholmod) \
199 + $(use_with sparse cxsparse) \
200 + $(use_with sundials sundials_ida) \
201 + $(use_with X x)
202 +}
203 +
204 +src_compile() {
205 + export VARTEXFONTS="${T}/fonts" # otherwise it will write to /var/cache/fonts/ and trip sandbox
206 + default
207 + if use java; then
208 + pax-mark m "${S}/src/.libs/octave-cli"
209 + fi
210 +}
211 +
212 +src_install() {
213 + default
214 + if use doc; then
215 + dodoc $(find doc -name '*.pdf')
216 + else
217 + # bug 566134, macros.texi is installed by make install if use doc
218 + insinto /usr/share/${PN}/${PV}/etc
219 + doins doc/interpreter/macros.texi
220 + fi
221 + [[ -e test/fntests.log ]] && dodoc test/fntests.log
222 + use java && \
223 + java-pkg_regjar "${ED%/}/usr/share/${PN}/${PV}/m/java/octave.jar"
224 + echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/${PN}/${PV}" > 99octave || die
225 + doenvd 99octave
226 +}
227 +
228 +pkg_postinst() {
229 + xdg_icon_cache_update
230 + xdg_mimeinfo_database_update
231 + xdg_desktop_database_update
232 +}
233 +
234 +pkg_postrm() {
235 + xdg_icon_cache_update
236 + xdg_mimeinfo_database_update
237 + xdg_desktop_database_update
238 +}