Gentoo Archives: gentoo-commits

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