From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 2FD611581FB for ; Thu, 29 Aug 2024 21:56:24 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 18881E2A02; Thu, 29 Aug 2024 21:56:23 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id EFA5FE2A02 for ; Thu, 29 Aug 2024 21:56:22 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id F0EA533BEE9 for ; Thu, 29 Aug 2024 21:56:21 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 498FB1F0D for ; Thu, 29 Aug 2024 21:56:20 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1724968522.4926abf83c91c351d28e9670ca916a73d657a089.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/octave/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-mathematics/octave/octave-9.2.0-r1.ebuild X-VCS-Directories: sci-mathematics/octave/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 4926abf83c91c351d28e9670ca916a73d657a089 X-VCS-Branch: master Date: Thu, 29 Aug 2024 21:56:20 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 7d508e67-d299-4c4e-a718-0aafd5fdad83 X-Archives-Hash: e4b7d11b887bac8904413d5d779fce39 commit: 4926abf83c91c351d28e9670ca916a73d657a089 Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Aug 29 21:55:22 2024 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Aug 29 21:55:22 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4926abf8 sci-mathematics/octave: Add missing dependencies w/ USE=gui Closes: https://bugs.gentoo.org/938706 Signed-off-by: Andreas Sturmlechner gentoo.org> sci-mathematics/octave/octave-9.2.0-r1.ebuild | 220 ++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) diff --git a/sci-mathematics/octave/octave-9.2.0-r1.ebuild b/sci-mathematics/octave/octave-9.2.0-r1.ebuild new file mode 100644 index 000000000000..c0305336a4ae --- /dev/null +++ b/sci-mathematics/octave/octave-9.2.0-r1.ebuild @@ -0,0 +1,220 @@ +# 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/qt5compat:6 + 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] + doc? ( dev-qt/qttools:6[assistant] ) + ) + 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 +}