summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/octave/Manifest1
-rw-r--r--sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch43
-rw-r--r--sci-mathematics/octave/octave-5.1.0.ebuild192
3 files changed, 236 insertions, 0 deletions
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest
index c3fe75910f05..2292bb1be341 100644
--- a/sci-mathematics/octave/Manifest
+++ b/sci-mathematics/octave/Manifest
@@ -1,3 +1,4 @@
DIST octave-4.2.2.tar.gz 25624087 BLAKE2B c46de90d9a985c2b6b4f87b94b56f2ba4fb648ca0a0aff1f64e9b9d27a6d791e8657c2bff0c4daa3de5ac3622c23b34724e740ec1fe0f1a71d8f416c9f58d88a SHA512 b94edd79adc0e19229bb654037910201b51b6cfa373d63de5e3aa69e9b659b2e2790e2d2b4b5e8d2f12b26846c20ba5c12eae657155c8329e85e970f738d08c2
DIST octave-4.4.0.tar.gz 29009355 BLAKE2B 3f7b4a6e1262cd0009f8649a570749acc2dc8b42aa1f88a6ce69b9c6bb99a95390f5a153c391a60ac118dc1e87f15596c7225764634c6076bb1ab3dfa4e09bcc SHA512 6a167a4a6a2f6ae70511f13b14feea0ce3efcc964227c93f3195adb3a1f1f28dda56f86a2e1c7c5e9f54891d2846fb96972092387e3da41f2e04cb700606ffc2
DIST octave-4.4.1.tar.gz 28626462 BLAKE2B 0ea7a9b5840c7afdf20dff36e896b37c1c69eb8799ba48722c02f9636591b849f26f56720a75293c11c1000d0088e07373aa84ef7d360436eb095fc0a2e721a6 SHA512 21a1f13e2145fa530f2169254d19442b572745d65b91453ba1f552f6eda6aecfead57dbe0260b3293a29db0aa0f27cfd4f26df332e6d640848a822b20c1232f8
+DIST octave-5.1.0.tar.gz 32034788 BLAKE2B d387f41f6ae826b35735fc4208d71be84076a81544f5cd0e3d5410f41a70eebb5b0b3bbf19e4344b88901869d54f2759259dc374c44a430f681d3b0c32cb02cb SHA512 a842fb50c13f25e9d425fe9a2c71d9433d7e125747d2175efe0c9b2a780c799d9ce1ee085b5a13fbfedb7990b0ba5d11079d880ddb3bdb66782efc321390eebb
diff --git a/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch
new file mode 100644
index 000000000000..56a133b7f359
--- /dev/null
+++ b/sci-mathematics/octave/files/octave-5.1.0-pkgbuilddir.patch
@@ -0,0 +1,43 @@
+Index: octave-5.1.0/scripts/pkg/private/install.m
+===================================================================
+--- octave-5.1.0.orig/scripts/pkg/private/install.m
++++ octave-5.1.0/scripts/pkg/private/install.m
+@@ -62,7 +62,14 @@ function install (files, handle_deps, pr
+ for i = 1:length (files)
+ tgz = files{i};
+
+- if (exist (tgz, "file"))
++ ## The filename pointed to an uncompressed package to begin with.
++ if (exist (tgz, "dir"))
++ if (tgz(1) == '/')
++ packdir = tgz;
++ else
++ packdir = fullfile (pwd(), tgz);
++ endif
++ elseif (exist (tgz, "file"))
+ ## Create a temporary directory.
+ tmpdir = tempname ();
+ tmpdirs{end+1} = tmpdir;
+@@ -89,20 +96,12 @@ function install (files, handle_deps, pr
+ if (length (dirlist) > 3)
+ error ("bundles of packages are not allowed");
+ endif
+- endif
+
+- ## The filename pointed to an uncompressed package to begin with.
+- if (isfolder (tgz))
+- dirlist = {".", "..", tgz};
++ ## The two first entries of dirlist are "." and "..".
++ packdir = fullfile (tmpdir, dirlist{3});
+ endif
+
+ if (exist (tgz, "file") || isfolder (tgz))
+- ## The two first entries of dirlist are "." and "..".
+- if (exist (tgz, "file"))
+- packdir = fullfile (tmpdir, dirlist{3});
+- else
+- packdir = fullfile (pwd (), dirlist{3});
+- endif
+ packdirs{end+1} = packdir;
+
+ ## Make sure the package contains necessary files.
diff --git a/sci-mathematics/octave/octave-5.1.0.ebuild b/sci-mathematics/octave/octave-5.1.0.ebuild
new file mode 100644
index 000000000000..f347d4a6cfb1
--- /dev/null
+++ b/sci-mathematics/octave/octave-5.1.0.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic fortran-2 gnome2-utils java-pkg-opt-2 pax-utils toolchain-funcs xdg-utils
+
+DESCRIPTION="High-level interactive language for numerical computations"
+LICENSE="GPL-3"
+HOMEPAGE="https://www.gnu.org/software/octave/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+SLOT="0/${PV}"
+IUSE="curl doc fftw +glpk gnuplot graphicsmagick gui hdf5 +imagemagick java libressl opengl
+ portaudio postscript +qhull +qrupdate readline sndfile +sparse ssl static-libs X zlib"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ app-arch/bzip2
+ app-text/ghostscript-gpl
+ dev-libs/libpcre:3=
+ sys-libs/ncurses:0=
+ sys-libs/zlib
+ virtual/blas
+ virtual/lapack
+ curl? ( net-misc/curl:0= )
+ fftw? ( sci-libs/fftw:3.0= )
+ glpk? ( sci-mathematics/glpk:0= )
+ gnuplot? ( sci-visualization/gnuplot )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qthelp:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ x11-libs/qscintilla:=
+ )
+ hdf5? ( sci-libs/hdf5:0= )
+ imagemagick? (
+ !graphicsmagick? ( >=media-gfx/imagemagick-7:=[cxx] )
+ graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
+ )
+ java? ( >=virtual/jre-1.6.0:* )
+ opengl? (
+ media-libs/freetype:2=
+ media-libs/fontconfig:1.0=
+ virtual/glu
+ >=x11-libs/fltk-1.3:1=[opengl,xft]
+ x11-libs/gl2ps:0=
+ )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
+ portaudio? ( media-libs/portaudio )
+ postscript? (
+ app-text/epstool
+ media-gfx/pstoedit
+ media-gfx/transfig
+ )
+ qhull? ( media-libs/qhull:0= )
+ qrupdate? ( sci-libs/qrupdate:0= )
+ readline? ( sys-libs/readline:0= )
+ sndfile? ( media-libs/libsndfile )
+ sparse? (
+ sci-libs/arpack:0=
+ sci-libs/camd:0=
+ sci-libs/ccolamd:0=
+ sci-libs/cholmod:0=
+ sci-libs/colamd:0=
+ sci-libs/cxsparse:0=
+ sci-libs/umfpack:0=
+ )
+ X? ( x11-libs/libX11:0= )"
+DEPEND="${RDEPEND}
+ dev-util/gperf
+ sys-apps/texinfo
+ virtual/pkgconfig
+ doc? (
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-plaingeneric
+ dev-texlive/texlive-metapost
+ virtual/latex-base
+ )
+ gui? ( dev-qt/linguist-tools:5 )
+ java? ( >=virtual/jdk-1.6.0 )
+ qrupdate? ( app-misc/pax-utils )
+ sparse? ( app-misc/pax-utils )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.4.0-texi.patch
+ "${FILESDIR}"/${PN}-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
+ "${FILESDIR}"/${PN}-4.4.0-imagemagick-configure.patch
+ "${FILESDIR}"/${PN}-4.4.0-imagemagick.patch
+ "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch
+ "${FILESDIR}"/${PN}-4.2.2-ncurses-pkgconfig.patch
+ "${FILESDIR}"/${PN}-4.2.0-zlib-underlinking.patch
+ "${FILESDIR}"/${PN}-4.4.0-qt-5.11.patch
+)
+
+src_prepare() {
+ # nasty prefix hacks for fltk:1 linking
+ if use prefix; then
+ use opengl && append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/fltk-1"
+ fi
+
+ # occasional fail on install, force regeneration (bug #401189)
+ rm doc/interpreter/contributors.texi || die
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # unfortunate dependency on mpi from hdf5 (bug #302621)
+ use hdf5 && has_version sci-libs/hdf5[mpi] && \
+ export CXX=mpicxx CC=mpicc FC=mpif77 F77=mpif77
+
+ econf \
+ --localstatedir="${EPREFIX}/var/state/octave" \
+ --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \
+ --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" \
+ --disable-64 \
+ --disable-jit \
+ --enable-shared \
+ --with-z \
+ --with-bz2 \
+ $(use_enable static-libs static) \
+ $(use_enable doc docs) \
+ $(use_enable java) \
+ $(use_enable readline) \
+ $(use_with curl) \
+ $(use_with fftw fftw3) \
+ $(use_with fftw fftw3f) \
+ $(use_enable fftw fftw-threads) \
+ $(use_with glpk) \
+ $(use_with hdf5) \
+ $(use_with imagemagick magick $(usex graphicsmagick GraphicsMagick ImageMagick)) \
+ $(use_with opengl) \
+ $(use_with opengl fltk) \
+ $(use_with ssl openssl) \
+ $(use_with portaudio) \
+ $(use_with qhull) \
+ $(use_with qrupdate) \
+ $(use_with gui qt 5) \
+ $(use_with sndfile) \
+ $(use_with sparse arpack) \
+ $(use_with sparse umfpack) \
+ $(use_with sparse colamd) \
+ $(use_with sparse ccolamd) \
+ $(use_with sparse cholmod) \
+ $(use_with sparse cxsparse) \
+ $(use_with X x)
+}
+
+src_compile() {
+ export VARTEXFONTS="${T}/fonts" # otherwise it will write to /var/cache/fonts/ and trip sandbox
+ default
+ if use java; then
+ pax-mark m "${S}/src/.libs/octave-cli"
+ fi
+}
+
+src_install() {
+ default
+ if use doc; then
+ dodoc $(find doc -name '*.pdf')
+ else
+ # bug 566134, macros.texi is installed by make install if use doc
+ insinto /usr/share/${PN}/${PV}/etc
+ doins doc/interpreter/macros.texi
+ fi
+ [[ -e test/fntests.log ]] && dodoc test/fntests.log
+ use java && \
+ java-pkg_regjar "${ED%/}/usr/share/${PN}/${PV}/m/java/octave.jar"
+ echo "LDPATH=${EPREFIX}/usr/$(get_libdir)/${PN}/${PV}" > 99octave || die
+ doenvd 99octave
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}