diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-07-03 08:05:42 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-07-03 08:05:42 +0100 |
commit | 8435c842b9e8fbb2bcc80397ab3aa655000459e2 (patch) | |
tree | b74558e80643a8f074c501e8b4bf7f50f7155455 /sci-mathematics/octave | |
parent | 5c5e9714c851027611cb726a76ebb8be6d48cbdc (diff) |
gentoo auto-resync : 03:07:2024 - 08:05:42
Diffstat (limited to 'sci-mathematics/octave')
-rw-r--r-- | sci-mathematics/octave/Manifest | 4 | ||||
-rw-r--r-- | sci-mathematics/octave/metadata.xml | 2 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-9.2.0.ebuild | 218 |
3 files changed, 223 insertions, 1 deletions
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest index 5e63c88061d4..a5ffebc54290 100644 --- a/sci-mathematics/octave/Manifest +++ b/sci-mathematics/octave/Manifest @@ -1,5 +1,7 @@ AUX octave-5.1.0-pkgbuilddir.patch 1565 BLAKE2B 7b2968139e080aaa20b5372b400ac84c1754296767834011bcdda5258e7859c48ffaedcade17e8b23e2d23635a546c6a726061e8b4679913ff5b204a26cd0ef4 SHA512 28dcebc3a904cf048cb0568591c6c55616d40f6ca80982a232489a51ec92505dca186043ee3750d8a3f3782149ef1861332a8486466fba2898f0084adf0acb90 AUX octave-6.4.0-omit-qtchooser-qtver.patch 765 BLAKE2B 2f889e8278e48489f2eab1c399b0bf7af26be7f79e35c29fc2963124852067429f7ee25325402ad6983c047398a5c43c2d9f44d3a96e5c3db49282f826ecab82 SHA512 a1edd69d06aadd5c9772b12f32468bcd25b181883d3c303cd5ff58175e95021ed661d363137002a50073ec9c90564442c8b968ea1a3ad6fe56a80cf27e2efc3a DIST octave-8.3.0.tar.xz 26970776 BLAKE2B 8c7241ff6bd5b23244edb47e74753ddf867139280b899b16ae2cab91c30a73ebdcf471d032ee47bddb67f8c7f5c772a23f4a832cadcca7ada01468b84e451ad4 SHA512 b7c8724ca8376783e8563c2050c2d9219309e559116e5cba0fdc9f50780782ff4cc98d382bdbe26055aebffb6be99b110033c682f661a3966ea1b1ddb12d4ac3 +DIST octave-9.2.0.tar.xz 27425184 BLAKE2B 55480201037871d878090972bf89d5ff43508276f41e77accdd16b752758775e883fe3875d19ea4fc2b33cf8a9a9f39684f05c85e027ca53ee2cdfda6c6bae72 SHA512 cb1667cd6557d48ecd7ae191bc44c9b9fd4f79e7cf4bf6c917093d120c4312e9594e6dddc5287661627ac053e9f23faaec40a1286d792d859f1fefbfdb3eeb8c EBUILD octave-8.3.0-r2.ebuild 6663 BLAKE2B 5f6f2910ba98c2c42d7c34000e847ff91724f4ee80b9114d0943a2bb4b9cbd9a6dd10a42a3c62e337da3e4ab46db9a406477df696dcf9ad0916d383e604637ac SHA512 41743cce406d7b1721265daf7741ca93160e6ddf349f6bf1c3fdca19f5f97eb20b9419ffca00149f5b1907a95ea4432449d6dd8df1dd56cd448d1d4edf052d36 -MISC metadata.xml 1703 BLAKE2B 0471bc1eeaa2ce86b8eeca5c3e831eb0d9207b5fd1d3c03aba017a257b7b98b313c42a1054471c79dab1b5d2d84df8a8d3b0ee68e772cbe6970ac92f07dc3269 SHA512 3c051ff80c958af4315faa1670cc5e1d6a53397b4182304b760cf4f2e14f716e187dd76879d094e35713ac115c47ea623530c2f4b114f7bf2eae1cdf28bc46b8 +EBUILD octave-9.2.0.ebuild 5830 BLAKE2B 8025f3a90e4acd6ebf5e84e9b0f8bdd633c8992540dc2ce917fca5557c35bbd21af209f78d1bae4e28453145b517110b529256eecb6bbfd33340237343ba8cd9 SHA512 6b91b4888babb6d6b97ed8af8c736c2accfe848ceef1c5352d1c978122ba384642b31c1fc191b92331bd1c6785ddb910b8e7139bfb0c826160910dd18951107e +MISC metadata.xml 1854 BLAKE2B ee33484f1699643fb9f4ec26f6114872790348c60cee59c0c8aea31e46c12bb3bc4a42957e1fd68892490aff7054a7a3554f7c6ebfc24c3cc035da58e4a05d55 SHA512 f5f057a9922c9eb36808bbb7226a36a2748268f1d4d44aad413cea2976101e728abf18c17eb5e53f9a734e40d1e26b19ec192635925f93831b13e641a5544a4a diff --git a/sci-mathematics/octave/metadata.xml b/sci-mathematics/octave/metadata.xml index 72d5085bcfb1..af1bd5973c10 100644 --- a/sci-mathematics/octave/metadata.xml +++ b/sci-mathematics/octave/metadata.xml @@ -14,9 +14,11 @@ <flag name="gnuplot">Use <pkg>sci-visualization/gnuplot</pkg> to render plots if OpenGL is unavailable</flag> <flag name="imagemagick">Use <pkg>media-gfx/graphicsmagick</pkg> to read and write images</flag> <flag name="json">Allow using jsonencode and jsondecode commands via <pkg>dev-libs/rapidjson</pkg></flag> + <flag name="klu">Add support for KLU (<pkg>sci-libs/klu</pkg>)</flag> <flag name="qhull">Add support for <pkg>media-libs/qhull</pkg>, to allow `delaunay', `convhull', and related functions</flag> <flag name="qrupdate">Add support for <pkg>sci-libs/qrupdate</pkg>for QR and Cholesky update functions</flag> <flag name="sparse">Add enhanced support for sparse matrix algebra with SuiteSparse</flag> + <flag name="spqr">Add support for SPQR (<pkg>sci-libs/spqr</pkg>)</flag> <flag name="sundials">Enable the ode15i and ode15s ODE solvers using <pkg>sci-libs/sundials</pkg></flag> </use> <upstream> diff --git a/sci-mathematics/octave/octave-9.2.0.ebuild b/sci-mathematics/octave/octave-9.2.0.ebuild new file mode 100644 index 000000000000..24c4f2d9dc7b --- /dev/null +++ b/sci-mathematics/octave/octave-9.2.0.ebuild @@ -0,0 +1,218 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic fortran-2 java-pkg-opt-2 pax-utils qmake-utils toolchain-funcs xdg + +DESCRIPTION="High-level interactive language for numerical computations" +HOMEPAGE="https://www.gnu.org/software/octave/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +IUSE="curl doc fftw +glpk gnuplot gui hdf5 imagemagick java json klu portaudio postscript +qhull +qrupdate readline sndfile +sparse spqr ssl sundials zlib" + +# 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). +# +# (un)zip isn't mentioned, but there's a test that uses it (bug #775254). +# +# The use of USE=imagemagick to pull in media-gfx/graphicsmagick is not +# ideal, but both "graphicsmagick" and "imagemagick" are global USE +# flags whose existing descriptions conflict with the obvious way we +# would want to use them in octave. In any case, upstream doesn't really +# support imagemagick, only graphicsmagick (bug 864785). +COMMON_DEPS=" + app-arch/bzip2 + app-arch/unzip + app-arch/zip + app-text/ghostscript-gpl + sys-apps/texinfo + dev-libs/libpcre2 + sys-libs/ncurses:= + sys-libs/zlib + virtual/blas + virtual/lapack + curl? ( net-misc/curl:= ) + fftw? ( sci-libs/fftw:3.0= ) + glpk? ( sci-mathematics/glpk:= ) + gnuplot? ( sci-visualization/gnuplot ) + hdf5? ( sci-libs/hdf5:= ) + imagemagick? ( media-gfx/graphicsmagick:=[cxx] ) + json? ( dev-libs/rapidjson ) + klu? ( sci-libs/klu:= ) + portaudio? ( media-libs/portaudio ) + postscript? ( + app-text/epstool + media-gfx/pstoedit + >=media-gfx/fig2dev-3.2.9-r1 + ) + gui? ( + dev-qt/qtbase:6[gui,opengl,network,widgets] + media-libs/fontconfig:= + media-libs/freetype:= + virtual/glu + x11-libs/gl2ps:= + x11-libs/libX11:= + x11-libs/qscintilla:=[qt6] + ) + qhull? ( media-libs/qhull:= ) + qrupdate? ( sci-libs/qrupdate:= ) + readline? ( sys-libs/readline:= ) + sndfile? ( media-libs/libsndfile ) + sparse? ( + sci-libs/arpack:= + sci-libs/camd:= + sci-libs/ccolamd:= + sci-libs/cholmod:= + sci-libs/colamd:= + sci-libs/cxsparse:= + sci-libs/umfpack:= + ) + spqr? ( sci-libs/spqr:= ) + ssl? ( + dev-libs/openssl:= + ) + sundials? ( + klu? ( >=sci-libs/sundials-4:=[sparse] ) + !klu? ( >=sci-libs/sundials-4:= ) + ) +" +RDEPEND="${COMMON_DEPS} + java? ( >=virtual/jre-1.8:* )" +DEPEND="${COMMON_DEPS} + java? ( >=virtual/jdk-1.8:* )" +BDEPEND=" + dev-util/gperf + virtual/pkgconfig + doc? ( + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-plaingeneric + dev-texlive/texlive-metapost + virtual/latex-base + ) + gui? ( dev-qt/qttools:6[linguist] ) + qrupdate? ( app-misc/pax-utils ) + sparse? ( app-misc/pax-utils ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch +) + +src_prepare() { + default + + # occasional fail on install, force regeneration (bug #401189) + rm doc/interpreter/contributors.texi || die + + eautoreconf +} + +src_configure() { + # libstdc++ bug, bug #887815 + append-cxxflags -U_GLIBCXX_ASSERTIONS + + # 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" + # + local myeconfargs=( + --localstatedir="${EPREFIX}/var/state/octave" + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" + --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" + --disable-64 + --enable-shared + --with-z + --with-bz2 + --without-fltk + + # bug #901965 + --without-libiconv-prefix + --without-libreadline-prefix + + $(use_enable doc docs) + $(use_enable java) + $(use_enable json rapidjson) + $(use_enable readline) + $(use_with curl) + $(use_with fftw fftw3) + $(use_with fftw fftw3f) + $(use_enable fftw fftw-threads) + $(use_with glpk) + $(use_with gui opengl) + $(use_with gui qt 6) + $(use_with gui x) + $(use_with hdf5) + $(use_with imagemagick magick GraphicsMagick++) + $(use_with klu) + $(use_with portaudio) + $(use_with qhull qhull_r) + $(use_with qrupdate) + $(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 spqr) + $(use_with ssl openssl) + $(use_with sundials sundials_ida) + $(use_with sundials sundials_nvecserial) + ) + + # Tell autoconf where to find qt binaries, fix bug #837752 + if use gui ; then + export MOC="$(qt6_get_bindir)/../libexec/moc" \ + UIC="$(qt6_get_bindir)/../libexec/uic" \ + RCC="$(qt6_get_bindir)/../libexec/rcc" \ + LRELEASE="$(qt6_get_bindir)/lrelease" \ + QHELPGENERATOR="$(qt6_get_bindir)/../libexec/qhelpgenerator" + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + # Otherwise it will write to /var/cache/fonts/ and trip sandbox + export VARTEXFONTS="${T}/fonts" + + 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 + + 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 + + find "${ED}" -type f -name '*.la' -delete || die +} |