summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThamognya Kodi <contact@thamognya.com>2022-04-21 19:28:19 +0700
committerSam James <sam@gentoo.org>2022-05-05 01:11:10 +0100
commit92866628bc2358685c29fc8bef7bc1121929b103 (patch)
tree27ca164b63c2ce961efe6e58461899a4135b5cb2 /sci-mathematics
parentsci-libs/ceres-solver: add 2.1.0 (diff)
downloadgentoo-92866628bc2358685c29fc8bef7bc1121929b103.tar.gz
gentoo-92866628bc2358685c29fc8bef7bc1121929b103.tar.bz2
gentoo-92866628bc2358685c29fc8bef7bc1121929b103.zip
sci-mathematics/octave: version bump to 7.1.0
Bug: https://bugs.gentoo.org/839285 Closes: https://github.com/gentoo/gentoo/pull/25143 Signed-off-by: Thamognya Kodi <contact@thamognya.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/octave/Manifest1
-rw-r--r--sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch63
-rw-r--r--sci-mathematics/octave/octave-7.1.0.ebuild213
3 files changed, 277 insertions, 0 deletions
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest
index 1b45de02c2e9..acebc906380c 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.4.0.tar.gz 32873157 BLAKE2B afa729c3c9917f724e7d97fe3af42986f323d3ff849e0a33ac9f183237e68d989d4f3dacd644405b648ec050ad07d8973abddbd8657b810de6f65d5b5ae37c02 SHA512 91ff031f6dfff8506fa738fd4f1f07276501fdfe003f8ed992cccf91da14d9d33da6d08923322b0dae5f5b696b49856b0f5c5065e26b0701b0d1630173807435
+DIST octave-7.1.0.tar.gz 34187598 BLAKE2B da4c1b47e0d71f05edc47036b9b10fb83aa6edb8aa911ff22f77a013935ea37295f776f5c478e198c38102b8d1ad68edada818c9b46ad1061a466b5c77eeed58 SHA512 042a68bd2c5c873ccc846c6de13743c6fddd166e8b062948daf184133eb774a05e29ab6132829886411a5ba330126d20a3d0700a606819a424c3db6e57471888
diff --git a/sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch b/sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch
new file mode 100644
index 000000000000..3dc9c3e1d191
--- /dev/null
+++ b/sci-mathematics/octave/files/octave-6.4.0-omit-qtchooser-qtver.patch
@@ -0,0 +1,63 @@
+diff -urNp octave-6.4.0-orig/configure octave-6.4.0-dwok/configure
+--- octave-6.4.0-orig/configure 2022-04-19 20:45:23.112463584 +0200
++++ octave-6.4.0-dwok/configure 2022-04-19 20:44:19.024774083 +0200
+@@ -77543,9 +77543,6 @@ esac
+ fi
+
+ if test -n "$MOC"; then
+- if test -n "$QTCHOOSER"; then
+- MOCFLAGS="-qt=$qt_version"
+- fi
+ QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE moc"
+ else
+ QT_TOOLS_MISSING="$QT_TOOLS_MISSING moc"
+@@ -77778,9 +77775,6 @@ esac
+ fi
+
+ if test -n "$UIC"; then
+- if test -n "$QTCHOOSER"; then
+- UICFLAGS="-qt=$qt_version"
+- fi
+ QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE uic"
+ else
+ QT_TOOLS_MISSING="$QT_TOOLS_MISSING uic"
+@@ -78013,9 +78007,6 @@ esac
+ fi
+
+ if test -n "$RCC"; then
+- if test -n "$QTCHOOSER"; then
+- RCCFLAGS="-qt=$qt_version"
+- fi
+ QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE rcc"
+ else
+ QT_TOOLS_MISSING="$QT_TOOLS_MISSING rcc"
+@@ -78248,9 +78239,6 @@ esac
+ fi
+
+ if test -n "$LRELEASE"; then
+- if test -n "$QTCHOOSER"; then
+- LRELEASEFLAGS="-qt=$qt_version"
+- fi
+ QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE lrelease"
+ else
+ QT_TOOLS_MISSING="$QT_TOOLS_MISSING lrelease"
+@@ -78483,9 +78471,6 @@ esac
+ fi
+
+ if test -n "$QCOLLECTIONGENERATOR"; then
+- if test -n "$QTCHOOSER"; then
+- QCOLLECTIONGENERATORFLAGS="-qt=$qt_version"
+- fi
+ QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE qcollectiongenerator"
+ else
+ QT_TOOLS_MISSING="$QT_TOOLS_MISSING qcollectiongenerator"
+@@ -78718,9 +78703,6 @@ esac
+ fi
+
+ if test -n "$QHELPGENERATOR"; then
+- if test -n "$QTCHOOSER"; then
+- QHELPGENERATORFLAGS="-qt=$qt_version"
+- fi
+ QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE qhelpgenerator"
+ else
+ QT_TOOLS_MISSING="$QT_TOOLS_MISSING qhelpgenerator"
diff --git a/sci-mathematics/octave/octave-7.1.0.ebuild b/sci-mathematics/octave/octave-7.1.0.ebuild
new file mode 100644
index 000000000000..fe852460a5bb
--- /dev/null
+++ b/sci-mathematics/octave/octave-7.1.0.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2022 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-utils
+
+DESCRIPTION="High-level interactive language for numerical computations"
+HOMEPAGE="https://www.gnu.org/software/octave/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+LICENSE="GPL-3"
+
+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 ~riscv ~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).
+#
+# (un)zip isn't mentioned, but there's a test that uses it (bug 775254).
+#
+RDEPEND="
+ app-arch/bzip2
+ app-arch/unzip
+ app-arch/zip
+ 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= )"
+BDEPEND="${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 )
+ || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch
+ "${FILESDIR}"/${PN}-4.2.2-ncurses-pkgconfig.patch
+ "${FILESDIR}/${PN}-6.4.0-slibtool.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
+ # patch for unknown option 'qt' (bug #839285)
+ eapply "${FILESDIR}/${PN}-6.4.0-omit-qtchooser-qtver.patch"
+ 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
+
+ # tell autoconf where to find qt binaries, fix bug #837752
+ export MOC="$(qt5_get_bindir)/moc" UIC="$(qt5_get_bindir)/uic" RCC="$(qt5_get_bindir)/rcc" \
+ LRELEASE="$(qt5_get_bindir)/lrelease" QCOLLECTIONGENERATOR="$(qt5_get_bindir)/qcollectiongenerator" \
+ QHELPGENERATOR="$(qt5_get_bindir)/qhelpgenerator"
+
+ # 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"
+ #
+ # The --enable-link-all-dependencies flag is needed because
+ # otherwise, the build system appends --no-undefined to LDFLAGS and
+ # then proceeds to undefine things. GNU libtool ignores this, but
+ # slibtool (for example) does not (bug 776583).
+ 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-link-all-dependencies \
+ --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() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}