Gentoo Archives: gentoo-commits

From: Benda XU <heroxbd@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/octave/, sci-mathematics/octave/files/
Date: Sun, 25 Aug 2019 01:12:28
Message-Id: 1566695528.28712fe5aac4a7328f54bfc23bab8e0a10343a19.heroxbd@gentoo
1 commit: 28712fe5aac4a7328f54bfc23bab8e0a10343a19
2 Author: Benda Xu <heroxbd <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 25 01:10:13 2019 +0000
4 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 25 01:12:08 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28712fe5
7
8 sci-mathematics/octave: Bump to 5.1.0.
9
10 Adopted to ${PN}-5.1.0-pkgbuilddir.patch with minor changes.
11
12 Removed --without-OSMesa as the option is no longer available.
13
14 Removed --Wl,-z defs, because upstream designed the related objects
15 as loadable plugins.
16
17 Reference: http://savannah.gnu.org/bugs/?53627
18 Suggested-By: Fabio Rossi
19
20 Bug: https://bugs.gentoo.org/593670
21 Closes: https://bugs.gentoo.org/661048
22 Closes: https://bugs.gentoo.org/679654
23
24 Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>
25
26 sci-mathematics/octave/Manifest | 1 +
27 .../octave/files/octave-5.1.0-pkgbuilddir.patch | 43 +++++
28 sci-mathematics/octave/octave-5.1.0.ebuild | 192 +++++++++++++++++++++
29 3 files changed, 236 insertions(+)
30
31 diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest
32 index c3fe75910f0..2292bb1be34 100644
33 --- a/sci-mathematics/octave/Manifest
34 +++ b/sci-mathematics/octave/Manifest
35 @@ -1,3 +1,4 @@
36 DIST octave-4.2.2.tar.gz 25624087 BLAKE2B c46de90d9a985c2b6b4f87b94b56f2ba4fb648ca0a0aff1f64e9b9d27a6d791e8657c2bff0c4daa3de5ac3622c23b34724e740ec1fe0f1a71d8f416c9f58d88a SHA512 b94edd79adc0e19229bb654037910201b51b6cfa373d63de5e3aa69e9b659b2e2790e2d2b4b5e8d2f12b26846c20ba5c12eae657155c8329e85e970f738d08c2
37 DIST octave-4.4.0.tar.gz 29009355 BLAKE2B 3f7b4a6e1262cd0009f8649a570749acc2dc8b42aa1f88a6ce69b9c6bb99a95390f5a153c391a60ac118dc1e87f15596c7225764634c6076bb1ab3dfa4e09bcc SHA512 6a167a4a6a2f6ae70511f13b14feea0ce3efcc964227c93f3195adb3a1f1f28dda56f86a2e1c7c5e9f54891d2846fb96972092387e3da41f2e04cb700606ffc2
38 DIST octave-4.4.1.tar.gz 28626462 BLAKE2B 0ea7a9b5840c7afdf20dff36e896b37c1c69eb8799ba48722c02f9636591b849f26f56720a75293c11c1000d0088e07373aa84ef7d360436eb095fc0a2e721a6 SHA512 21a1f13e2145fa530f2169254d19442b572745d65b91453ba1f552f6eda6aecfead57dbe0260b3293a29db0aa0f27cfd4f26df332e6d640848a822b20c1232f8
39 +DIST octave-5.1.0.tar.gz 32034788 BLAKE2B d387f41f6ae826b35735fc4208d71be84076a81544f5cd0e3d5410f41a70eebb5b0b3bbf19e4344b88901869d54f2759259dc374c44a430f681d3b0c32cb02cb SHA512 a842fb50c13f25e9d425fe9a2c71d9433d7e125747d2175efe0c9b2a780c799d9ce1ee085b5a13fbfedb7990b0ba5d11079d880ddb3bdb66782efc321390eebb
40
41 diff --git a/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch
42 new file mode 100644
43 index 00000000000..56a133b7f35
44 --- /dev/null
45 +++ b/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch
46 @@ -0,0 +1,43 @@
47 +Index: octave-5.1.0/scripts/pkg/private/install.m
48 +===================================================================
49 +--- octave-5.1.0.orig/scripts/pkg/private/install.m
50 ++++ octave-5.1.0/scripts/pkg/private/install.m
51 +@@ -62,7 +62,14 @@ function install (files, handle_deps, pr
52 + for i = 1:length (files)
53 + tgz = files{i};
54 +
55 +- if (exist (tgz, "file"))
56 ++ ## The filename pointed to an uncompressed package to begin with.
57 ++ if (exist (tgz, "dir"))
58 ++ if (tgz(1) == '/')
59 ++ packdir = tgz;
60 ++ else
61 ++ packdir = fullfile (pwd(), tgz);
62 ++ endif
63 ++ elseif (exist (tgz, "file"))
64 + ## Create a temporary directory.
65 + tmpdir = tempname ();
66 + tmpdirs{end+1} = tmpdir;
67 +@@ -89,20 +96,12 @@ function install (files, handle_deps, pr
68 + if (length (dirlist) > 3)
69 + error ("bundles of packages are not allowed");
70 + endif
71 +- endif
72 +
73 +- ## The filename pointed to an uncompressed package to begin with.
74 +- if (isfolder (tgz))
75 +- dirlist = {".", "..", tgz};
76 ++ ## The two first entries of dirlist are "." and "..".
77 ++ packdir = fullfile (tmpdir, dirlist{3});
78 + endif
79 +
80 + if (exist (tgz, "file") || isfolder (tgz))
81 +- ## The two first entries of dirlist are "." and "..".
82 +- if (exist (tgz, "file"))
83 +- packdir = fullfile (tmpdir, dirlist{3});
84 +- else
85 +- packdir = fullfile (pwd (), dirlist{3});
86 +- endif
87 + packdirs{end+1} = packdir;
88 +
89 + ## Make sure the package contains necessary files.
90
91 diff --git a/sci-mathematics/octave/octave-5.1.0.ebuild b/sci-mathematics/octave/octave-5.1.0.ebuild
92 new file mode 100644
93 index 00000000000..f347d4a6cfb
94 --- /dev/null
95 +++ b/sci-mathematics/octave/octave-5.1.0.ebuild
96 @@ -0,0 +1,192 @@
97 +# Copyright 1999-2019 Gentoo Authors
98 +# Distributed under the terms of the GNU General Public License v2
99 +
100 +EAPI=6
101 +
102 +inherit autotools flag-o-matic fortran-2 gnome2-utils java-pkg-opt-2 pax-utils toolchain-funcs xdg-utils
103 +
104 +DESCRIPTION="High-level interactive language for numerical computations"
105 +LICENSE="GPL-3"
106 +HOMEPAGE="https://www.gnu.org/software/octave/"
107 +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
108 +
109 +SLOT="0/${PV}"
110 +IUSE="curl doc fftw +glpk gnuplot graphicsmagick gui hdf5 +imagemagick java libressl opengl
111 + portaudio postscript +qhull +qrupdate readline sndfile +sparse ssl static-libs X zlib"
112 +KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
113 +
114 +RDEPEND="
115 + app-arch/bzip2
116 + app-text/ghostscript-gpl
117 + dev-libs/libpcre:3=
118 + sys-libs/ncurses:0=
119 + sys-libs/zlib
120 + virtual/blas
121 + virtual/lapack
122 + curl? ( net-misc/curl:0= )
123 + fftw? ( sci-libs/fftw:3.0= )
124 + glpk? ( sci-mathematics/glpk:0= )
125 + gnuplot? ( sci-visualization/gnuplot )
126 + gui? (
127 + dev-qt/qtcore:5
128 + dev-qt/qtgui:5
129 + dev-qt/qthelp:5
130 + dev-qt/qtnetwork:5
131 + dev-qt/qtopengl:5
132 + dev-qt/qtprintsupport:5
133 + dev-qt/qtwidgets:5
134 + x11-libs/qscintilla:=
135 + )
136 + hdf5? ( sci-libs/hdf5:0= )
137 + imagemagick? (
138 + !graphicsmagick? ( >=media-gfx/imagemagick-7:=[cxx] )
139 + graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
140 + )
141 + java? ( >=virtual/jre-1.6.0:* )
142 + opengl? (
143 + media-libs/freetype:2=
144 + media-libs/fontconfig:1.0=
145 + virtual/glu
146 + >=x11-libs/fltk-1.3:1=[opengl,xft]
147 + x11-libs/gl2ps:0=
148 + )
149 + ssl? (
150 + !libressl? ( dev-libs/openssl:0= )
151 + libressl? ( dev-libs/libressl:0= )
152 + )
153 + portaudio? ( media-libs/portaudio )
154 + postscript? (
155 + app-text/epstool
156 + media-gfx/pstoedit
157 + media-gfx/transfig
158 + )
159 + qhull? ( media-libs/qhull:0= )
160 + qrupdate? ( sci-libs/qrupdate:0= )
161 + readline? ( sys-libs/readline:0= )
162 + sndfile? ( media-libs/libsndfile )
163 + sparse? (
164 + sci-libs/arpack:0=
165 + sci-libs/camd:0=
166 + sci-libs/ccolamd:0=
167 + sci-libs/cholmod:0=
168 + sci-libs/colamd:0=
169 + sci-libs/cxsparse:0=
170 + sci-libs/umfpack:0=
171 + )
172 + X? ( x11-libs/libX11:0= )"
173 +DEPEND="${RDEPEND}
174 + dev-util/gperf
175 + sys-apps/texinfo
176 + virtual/pkgconfig
177 + doc? (
178 + dev-texlive/texlive-fontsrecommended
179 + dev-texlive/texlive-plaingeneric
180 + dev-texlive/texlive-metapost
181 + virtual/latex-base
182 + )
183 + gui? ( dev-qt/linguist-tools:5 )
184 + java? ( >=virtual/jdk-1.6.0 )
185 + qrupdate? ( app-misc/pax-utils )
186 + sparse? ( app-misc/pax-utils )"
187 +
188 +PATCHES=(
189 + "${FILESDIR}"/${PN}-4.4.0-texi.patch
190 + "${FILESDIR}"/${PN}-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
191 + "${FILESDIR}"/${PN}-4.4.0-imagemagick-configure.patch
192 + "${FILESDIR}"/${PN}-4.4.0-imagemagick.patch
193 + "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch
194 + "${FILESDIR}"/${PN}-4.2.2-ncurses-pkgconfig.patch
195 + "${FILESDIR}"/${PN}-4.2.0-zlib-underlinking.patch
196 + "${FILESDIR}"/${PN}-4.4.0-qt-5.11.patch
197 +)
198 +
199 +src_prepare() {
200 + # nasty prefix hacks for fltk:1 linking
201 + if use prefix; then
202 + use opengl && append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/fltk-1"
203 + fi
204 +
205 + # occasional fail on install, force regeneration (bug #401189)
206 + rm doc/interpreter/contributors.texi || die
207 +
208 + default
209 + eautoreconf
210 +}
211 +
212 +src_configure() {
213 + # unfortunate dependency on mpi from hdf5 (bug #302621)
214 + use hdf5 && has_version sci-libs/hdf5[mpi] && \
215 + export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
216 +
217 + econf \
218 + --localstatedir="${EPREFIX}/var/state/octave" \
219 + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
220 + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
221 + --disable-64 \
222 + --disable-jit \
223 + --enable-shared \
224 + --with-z \
225 + --with-bz2 \
226 + $(use_enable static-libs static) \
227 + $(use_enable doc docs) \
228 + $(use_enable java) \
229 + $(use_enable readline) \
230 + $(use_with curl) \
231 + $(use_with fftw fftw3) \
232 + $(use_with fftw fftw3f) \
233 + $(use_enable fftw fftw-threads) \
234 + $(use_with glpk) \
235 + $(use_with hdf5) \
236 + $(use_with imagemagick magick $(usex graphicsmagick GraphicsMagick ImageMagick)) \
237 + $(use_with opengl) \
238 + $(use_with opengl fltk) \
239 + $(use_with ssl openssl) \
240 + $(use_with portaudio) \
241 + $(use_with qhull) \
242 + $(use_with qrupdate) \
243 + $(use_with gui qt 5) \
244 + $(use_with sndfile) \
245 + $(use_with sparse arpack) \
246 + $(use_with sparse umfpack) \
247 + $(use_with sparse colamd) \
248 + $(use_with sparse ccolamd) \
249 + $(use_with sparse cholmod) \
250 + $(use_with sparse cxsparse) \
251 + $(use_with X x)
252 +}
253 +
254 +src_compile() {
255 + export VARTEXFONTS="${T}/fonts" # otherwise it will write to /var/cache/fonts/ and trip sandbox
256 + default
257 + if use java; then
258 + pax-mark m "${S}/src/.libs/octave-cli"
259 + fi
260 +}
261 +
262 +src_install() {
263 + default
264 + if use doc; then
265 + dodoc $(find doc -name '*.pdf')
266 + else
267 + # bug 566134, macros.texi is installed by make install if use doc
268 + insinto /usr/share/${PN}/${PV}/etc
269 + doins doc/interpreter/macros.texi
270 + fi
271 + [[ -e test/fntests.log ]] && dodoc test/fntests.log
272 + use java && \
273 + java-pkg_regjar "${ED%/}/usr/share/${PN}/${PV}/m/java/octave.jar"
274 + echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/${PN}/${PV}" > 99octave || die
275 + doenvd 99octave
276 +}
277 +
278 +pkg_postinst() {
279 + gnome2_icon_cache_update
280 + xdg_mimeinfo_database_update
281 + xdg_desktop_database_update
282 +}
283 +
284 +pkg_postrm() {
285 + gnome2_icon_cache_update
286 + xdg_mimeinfo_database_update
287 + xdg_desktop_database_update
288 +}