diff options
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/octave/Manifest | 1 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-6.3.0.ebuild | 194 |
2 files changed, 195 insertions, 0 deletions
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest index 80143154f5f6..19093503ee65 100644 --- a/sci-mathematics/octave/Manifest +++ b/sci-mathematics/octave/Manifest @@ -1,2 +1,3 @@ DIST octave-5.2.0.tar.gz 33360285 BLAKE2B 6d53a48a7fbe929e372fd51d084c0269befd3140341f3f3a1f2cae02f9f085ed434c3336c770c9a856081197c93ee306f481dd116b958685175bc294e4db62ae SHA512 fa2076fb22415e0797964c66cfb8d24643f178f45eb9c14ebb4c082767e0a53509fde550f579fa4a816348bd0f7cbc74f24144f9a30a5b9c09ebe1b3949db498 DIST octave-6.2.0.tar.gz 32620419 BLAKE2B 55fd06336263b43f921ef30cac4fb82951a6be19aa60b6c24f24bcf3884923d824b6e4e6a8ad2983c394f541e556f7830922b34f8565bff3d07a7830c5df3cb0 SHA512 4039b68ffa77e599c63aa5748411603e86943be63ce96b6810547ba9776fe400939957fd8c40b2f212dfe244c76e58fdbbc4025179c9785b773da9bbb9fedaf2 +DIST octave-6.3.0.tar.gz 32859335 BLAKE2B 032f0e74b2fcd41358db1adc7f7274f6c8e327f5f86a32739864078bf236af26544f5988e774ebdd2ed28a6906e86556ce44ecd4bc5d3e710d839ecf5dcad9d9 SHA512 9582d7a7d84beef2a22d3dfaf45aee4778fc0dfc0ec1831c5bcb863dd0062e996e5b7aaaa40519c23d2c730c3408e26745b9dbf73db5127ebae22da0b2532788 diff --git a/sci-mathematics/octave/octave-6.3.0.ebuild b/sci-mathematics/octave/octave-6.3.0.ebuild new file mode 100644 index 000000000000..0b1370942764 --- /dev/null +++ b/sci-mathematics/octave/octave-6.3.0.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2021 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 gui hdf5 java opengl + portaudio postscript +qhull +qrupdate readline sndfile +sparse + ssl static-libs sundials X zlib" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +# Although it is listed in INSTALL.OCTAVE as a build tool, Octave runs +# "makeinfo" from sys-apps/texinfo at runtime to convert its texinfo +# documentation to text (see scripts/help/help.m). +RDEPEND=" + app-arch/bzip2 + app-text/ghostscript-gpl + sys-apps/texinfo + 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= ) + 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= + ) + 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= + ) + ssl? ( + dev-libs/openssl:0= + ) + sundials? ( >=sci-libs/sundials-4:0= ) + X? ( x11-libs/libX11:0= )" +DEPEND="${RDEPEND} + dev-util/gperf + 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}-5.1.0-pkgbuilddir.patch + "${FILESDIR}"/${PN}-4.2.2-ncurses-pkgconfig.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 + + # Some of these use_with flags are a bit mismatched. The configure + # script offers only --without-foo, and detects "foo" automatically + # unless --without-foo is specified. Passing --with-foo is not an + # error, however, so it kind of works. We wind up with, for example, + # + # --with-sundials_ida (no-op) with USE="sundials" + # --without-sundials_ida (disables it) with USE="-sundials" + # + 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 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 sundials sundials_ida) \ + $(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 +} |