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 6FAA4158020 for ; Wed, 9 Nov 2022 18:20:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 385F7E089C; Wed, 9 Nov 2022 18:20:46 +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 13671E089C for ; Wed, 9 Nov 2022 18:20:46 +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 E775333BE23 for ; Wed, 9 Nov 2022 18:20:44 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 219EF55B for ; Wed, 9 Nov 2022 18:20:43 +0000 (UTC) From: "Michael Orlitzky" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michael Orlitzky" Message-ID: <1668017976.ff61ef7d2434eebfec1e13e04f5d7e92b2c1772d.mjo@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/octave/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-mathematics/octave/metadata.xml sci-mathematics/octave/octave-7.3.0-r1.ebuild sci-mathematics/octave/octave-7.3.0.ebuild X-VCS-Directories: sci-mathematics/octave/ X-VCS-Committer: mjo X-VCS-Committer-Name: Michael Orlitzky X-VCS-Revision: ff61ef7d2434eebfec1e13e04f5d7e92b2c1772d X-VCS-Branch: master Date: Wed, 9 Nov 2022 18:20:43 +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: 078091bd-ad2e-4f5b-92a9-2c40b19cf717 X-Archives-Hash: 3a6975cd0ab439a809943ae7a056e298 commit: ff61ef7d2434eebfec1e13e04f5d7e92b2c1772d Author: Michael Orlitzky gentoo org> AuthorDate: Wed Nov 9 17:58:19 2022 +0000 Commit: Michael Orlitzky gentoo org> CommitDate: Wed Nov 9 18:19:36 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff61ef7d sci-mathematics/octave: new revision fixing some dependency issues. This revision adds a new flag, USE=imagemagick, to pull in media-gfx/graphicsmagick. That's not a typo -- the global USE flag descriptions for "imagemagick" and "graphicsmagick" make this awkward. In any case, Octave upstream doesn't really support imagemagick, only graphicsmagick. Thanks to Fabio Rossi for reporting the issue and suggesting the fix. Furthermore, 1. media-gfx/graphicsmagick was moved to DEPEND because Octave links with it. 2. The "static-libs" USE flag was dropped. 3. A new flag, USE=fltk, was factored out of USE=opengl. The Qt GUI can make use of OpenGL on its own. 4. An old hack for linking with fltk was dropped. 5. A new REQUIRED_USE prevents some nonsense combinations of the X, gui, fltk, and opengl USE flags. 6. Local descriptions for the fltk, gnuplot, and imagemagick flags were added to metadata.xml to explain more accurately what they actually do. Closes: https://bugs.gentoo.org/864785 Signed-off-by: Michael Orlitzky gentoo.org> sci-mathematics/octave/metadata.xml | 3 ++ ...{octave-7.3.0.ebuild => octave-7.3.0-r1.ebuild} | 46 ++++++++++++++++------ 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/sci-mathematics/octave/metadata.xml b/sci-mathematics/octave/metadata.xml index 9058f2f3596f..72d5085bcfb1 100644 --- a/sci-mathematics/octave/metadata.xml +++ b/sci-mathematics/octave/metadata.xml @@ -9,7 +9,10 @@ Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments. It may also be used as a batch-oriented language. + Use x11-libs/fltk as the backend for the OpenGL renderer in the absence of the Qt GUI Add support for sci-mathematics/glpk for linear programming + Use sci-visualization/gnuplot to render plots if OpenGL is unavailable + Use media-gfx/graphicsmagick to read and write images Allow using jsonencode and jsondecode commands via dev-libs/rapidjson Add support for media-libs/qhull, to allow `delaunay', `convhull', and related functions Add support for sci-libs/qrupdatefor QR and Cholesky update functions diff --git a/sci-mathematics/octave/octave-7.3.0.ebuild b/sci-mathematics/octave/octave-7.3.0-r1.ebuild similarity index 75% rename from sci-mathematics/octave/octave-7.3.0.ebuild rename to sci-mathematics/octave/octave-7.3.0-r1.ebuild index ab0821420539..05285cf1f3e5 100644 --- a/sci-mathematics/octave/octave-7.3.0.ebuild +++ b/sci-mathematics/octave/octave-7.3.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit autotools flag-o-matic fortran-2 java-pkg-opt-2 pax-utils qmake-utils toolchain-funcs xdg +inherit autotools 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/" @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" LICENSE="GPL-3" SLOT="0/${PV}" -IUSE="curl doc fftw +glpk gnuplot gui hdf5 java json opengl portaudio postscript +qhull +qrupdate readline sndfile +sparse ssl static-libs sundials X zlib" +IUSE="curl doc fftw fltk +glpk gnuplot gui hdf5 imagemagick java json opengl portaudio postscript +qhull +qrupdate readline sndfile +sparse ssl 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 @@ -20,6 +20,11 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" # # (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). RDEPEND=" app-arch/bzip2 app-arch/unzip @@ -33,6 +38,7 @@ RDEPEND=" virtual/lapack curl? ( net-misc/curl:= ) fftw? ( sci-libs/fftw:3.0= ) + fltk? ( >=x11-libs/fltk-1.3:1=[opengl,xft] ) glpk? ( sci-mathematics/glpk:= ) gnuplot? ( sci-visualization/gnuplot ) gui? ( @@ -46,13 +52,13 @@ RDEPEND=" x11-libs/qscintilla:= ) hdf5? ( sci-libs/hdf5:= ) + imagemagick? ( media-gfx/graphicsmagick:=[cxx] ) java? ( >=virtual/jre-1.8:* ) json? ( dev-libs/rapidjson ) opengl? ( media-libs/freetype:= media-libs/fontconfig:= virtual/glu - >=x11-libs/fltk-1.3:1=[opengl,xft] x11-libs/gl2ps:= ) portaudio? ( media-libs/portaudio ) @@ -83,7 +89,6 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND=" dev-util/gperf - virtual/imagemagick-tools virtual/pkgconfig doc? ( dev-texlive/texlive-fontsrecommended @@ -97,6 +102,30 @@ BDEPEND=" sparse? ( app-misc/pax-utils ) " +# There are three ways to plot in Octave: +# +# 1. The old gnuplot renderer +# 2. The OpenGL renderer using the FLTK backend +# 3. The OpenGL renderer using the Qt backend +# +# It's possible to use the Qt GUI without OpenGL, but OpenGL rendering +# is all that FLTK is used for, so it doesn't make sense to enable +# USE=fltk without USE=opengl. +# +# Building without either USE=gnuplot or USE=opengl is technically legal, +# but will leave you unable to plot anything. +# +# Octave's FLTK support is unofficially deprecated, in the sense that +# you'll often get "why are you using FLTK?" in response to +# bugs. (Upstream bug 59321 for a random example.) In the future, it +# will probably make sense to merge USE=opengl and USE=X into USE=gui, +# dropping USE=fltk entirely. +REQUIRED_USE=" + fltk? ( opengl X ) + gui? ( X ) + opengl? ( || ( fltk gui ) ) +" + PATCHES=( "${FILESDIR}"/${PN}-5.1.0-pkgbuilddir.patch "${FILESDIR}"/${PN}-4.2.2-ncurses-pkgconfig.patch @@ -107,11 +136,6 @@ PATCHES=( src_prepare() { default - # 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 @@ -147,7 +171,6 @@ src_configure() { --enable-shared \ --with-z \ --with-bz2 \ - $(use_enable static-libs static) \ $(use_enable doc docs) \ $(use_enable java) \ $(use_enable json rapidjson) \ @@ -158,8 +181,9 @@ src_configure() { $(use_enable fftw fftw-threads) \ $(use_with glpk) \ $(use_with hdf5) \ + $(use_with imagemagick magick GraphicsMagick++) \ $(use_with opengl) \ - $(use_with opengl fltk) \ + $(use_with fltk) \ $(use_with ssl openssl) \ $(use_with portaudio) \ $(use_with qhull qhull_r) \