summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2014-04-15 22:42:35 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2014-04-15 22:42:35 +0000
commitd010f1d8ac3fd71dfecb51631abfe063ba936534 (patch)
treea5a880eab7f456cc7505187f664f976daedb60bb /sci-mathematics/octave
parentBackport for bug 507696 (diff)
downloadgentoo-2-d010f1d8ac3fd71dfecb51631abfe063ba936534.tar.gz
gentoo-2-d010f1d8ac3fd71dfecb51631abfe063ba936534.tar.bz2
gentoo-2-d010f1d8ac3fd71dfecb51631abfe063ba936534.zip
Fixed bug #504470, thanks jer, fixed for gui prefix, add sub-slotted dependencies, general cleanup
(Portage version: 2.2.8-prefix/cvs/Linux x86_64, signed Manifest commit with key 0x13CB1360)
Diffstat (limited to 'sci-mathematics/octave')
-rw-r--r--sci-mathematics/octave/ChangeLog13
-rw-r--r--sci-mathematics/octave/files/octave-3.4.3-help.patch13
-rw-r--r--sci-mathematics/octave/files/octave-3.8.0-JIT-64-bit-indexing.patch77
-rw-r--r--sci-mathematics/octave/files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch206
-rw-r--r--sci-mathematics/octave/files/octave-3.8.0-imagemagick.patch137
-rw-r--r--sci-mathematics/octave/files/octave-3.8.1-pkgbuilddir.patch41
-rw-r--r--sci-mathematics/octave/metadata.xml20
-rw-r--r--sci-mathematics/octave/octave-3.8.1-r1.ebuild (renamed from sci-mathematics/octave/octave-3.8.0.ebuild)148
-rw-r--r--sci-mathematics/octave/octave-3.8.1_rc4-r1.ebuild207
-rw-r--r--sci-mathematics/octave/octave-3.8.1_rc4.ebuild206
10 files changed, 132 insertions, 936 deletions
diff --git a/sci-mathematics/octave/ChangeLog b/sci-mathematics/octave/ChangeLog
index 52430bec9962..3f12da661b68 100644
--- a/sci-mathematics/octave/ChangeLog
+++ b/sci-mathematics/octave/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for sci-mathematics/octave
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.162 2014/03/08 14:12:30 gienah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.163 2014/04/15 22:42:34 bicatali Exp $
+
+*octave-3.8.1-r1 (15 Apr 2014)
+
+ 15 Apr 2014; Sébastien Fabbro <bicatali@gentoo.org>
+ +files/octave-3.8.1-pkgbuilddir.patch, +octave-3.8.1-r1.ebuild,
+ -files/octave-3.4.3-help.patch, -files/octave-3.8.0-JIT-64-bit-indexing.patch,
+ -files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch,
+ -files/octave-3.8.0-imagemagick.patch, -octave-3.8.0.ebuild,
+ -octave-3.8.1_rc4-r1.ebuild, -octave-3.8.1_rc4.ebuild, metadata.xml:
+ Fixed bug #504470, thanks jer, fixed for gui prefix, add sub-slotted
+ dependencies, general cleanup
*octave-3.8.1 (08 Mar 2014)
diff --git a/sci-mathematics/octave/files/octave-3.4.3-help.patch b/sci-mathematics/octave/files/octave-3.4.3-help.patch
deleted file mode 100644
index c0e693abc4a2..000000000000
--- a/sci-mathematics/octave/files/octave-3.4.3-help.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Help parallel compilation
-patch by Sebastien Fabbro
---- scripts/Makefile.am.orig 2011-06-09 22:27:22.688268651 +0100
-+++ scripts/Makefile.am 2011-02-08 10:00:51.000000000 +0000
-@@ -316,7 +316,7 @@
-
- gethelp_SOURCES = gethelp.cc
-
--.DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES) mkdoc $(gethelp_SOURCES) Makefile
-+.DOCSTRINGS: $(FCN_FILES) $(GEN_FCN_FILES) mkdoc $(gethelp_SOURCES) Makefile gethelp
- @$(MAKE) $(AM_MAKEFLAGS) gethelp$(BUILD_EXEEXT)
- if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/DOCSTRINGS ] && [ ! -f DOCSTRINGS ]; then \
- cp $(srcdir)/DOCSTRINGS DOCSTRINGS; \
diff --git a/sci-mathematics/octave/files/octave-3.8.0-JIT-64-bit-indexing.patch b/sci-mathematics/octave/files/octave-3.8.0-JIT-64-bit-indexing.patch
deleted file mode 100644
index fc8d6c5884c3..000000000000
--- a/sci-mathematics/octave/files/octave-3.8.0-JIT-64-bit-indexing.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-
-# HG changeset patch
-# User Lasse Schuirmann <lasse@schuirmann.net>
-# Date 1389727640 28800
-# Node ID e243b705a726cbcef27fc3c88da984614eece2bc
-# Parent ec975e8267288372e957d5b81c8185b504492ba3
-Fix building JIT with 64-bit indexing (bug #41163).
-
-jit-typeinfo.cc (jit_typeinfo): Create two constants for the value 1. One
-constant (one_idx) is of type index_t and the other (one_int) is of int_t. Use
-these constants when comparing to objects of the matching type.
-
-diff --git a/libinterp/corefcn/jit-typeinfo.cc b/libinterp/corefcn/jit-typeinfo.cc
---- a/libinterp/corefcn/jit-typeinfo.cc
-+++ b/libinterp/corefcn/jit-typeinfo.cc
-@@ -1609,12 +1609,8 @@
- body = fn.new_block ();
- builder.SetInsertPoint (body);
- {
-- llvm::Value *one = llvm::ConstantInt::get (index_t, 1);
-- llvm::Value *ione;
-- if (index_t == int_t)
-- ione = one;
-- else
-- ione = llvm::ConstantInt::get (int_t, 1);
-+ llvm::Value *one_idx = llvm::ConstantInt::get (index_t, 1);
-+ llvm::Value *one_int = llvm::ConstantInt::get (int_t, 1);
-
- llvm::Value *undef = llvm::UndefValue::get (scalar_t);
- llvm::Value *mat = fn.argument (builder, 0);
-@@ -1624,7 +1620,7 @@
- llvm::Value *int_idx = builder.CreateFPToSI (idx, index_t);
- llvm::Value *check_idx = builder.CreateSIToFP (int_idx, scalar_t);
- llvm::Value *cond0 = builder.CreateFCmpUNE (idx, check_idx);
-- llvm::Value *cond1 = builder.CreateICmpSLT (int_idx, one);
-+ llvm::Value *cond1 = builder.CreateICmpSLT (int_idx, one_idx);
- llvm::Value *cond = builder.CreateOr (cond0, cond1);
-
- llvm::BasicBlock *done = fn.new_block ("done");
-@@ -1647,7 +1643,7 @@
- builder.CreateCondBr (cond, bounds_error, success);
-
- builder.SetInsertPoint (bounds_error);
-- gindex_range.call (builder, ione, ione, int_idx, len);
-+ gindex_range.call (builder, one_int, one_int, int_idx, len);
- builder.CreateBr (done);
-
- builder.SetInsertPoint (success);
-@@ -1681,7 +1677,8 @@
- body = fn.new_block ();
- builder.SetInsertPoint (body);
- {
-- llvm::Value *one = llvm::ConstantInt::get (index_t, 1);
-+ llvm::Value *one_idx = llvm::ConstantInt::get (index_t, 1);
-+ llvm::Value *one_int = llvm::ConstantInt::get (int_t, 1);
-
- llvm::Value *mat = fn.argument (builder, 0);
- llvm::Value *idx = fn.argument (builder, 1);
-@@ -1690,7 +1687,7 @@
- llvm::Value *int_idx = builder.CreateFPToSI (idx, index_t);
- llvm::Value *check_idx = builder.CreateSIToFP (int_idx, scalar_t);
- llvm::Value *cond0 = builder.CreateFCmpUNE (idx, check_idx);
-- llvm::Value *cond1 = builder.CreateICmpSLT (int_idx, one);
-+ llvm::Value *cond1 = builder.CreateICmpSLT (int_idx, one_idx);
- llvm::Value *cond = builder.CreateOr (cond0, cond1);
-
- llvm::BasicBlock *done = fn.new_block ("done");
-@@ -1708,7 +1705,7 @@
-
- llvm::Value *rcount = builder.CreateExtractValue (mat, 0);
- rcount = builder.CreateLoad (rcount);
-- cond1 = builder.CreateICmpSGT (rcount, one);
-+ cond1 = builder.CreateICmpSGT (rcount, one_int);
- cond = builder.CreateOr (cond0, cond1);
-
- llvm::BasicBlock *bounds_error = fn.new_block ("bounds_error", done);
-
diff --git a/sci-mathematics/octave/files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch b/sci-mathematics/octave/files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch
deleted file mode 100644
index afeb156bace7..000000000000
--- a/sci-mathematics/octave/files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-
-# HG changeset patch
-# User John W. Eaton <jwe@octave.org>
-# Date 1389817323 18000
-# Node ID 9a43d8d6e29ed1d9c29f3916f7064ebbbcb955f1
-# Parent de72c443ed3fd6abb22fa1b5236835d96da62f99
-avoid startup crash if curl library is not available (bug #41067)
-
-* main-window.cc (news_reader::process): Don't attempt to use
-url_transfer object unless it is valid.
-* urlwrite.cc (ch_manager::do_make_curl_handle, Furlwrite, Furlread):
-Likewise.
-* url-transfer.cc (url_transfer::url_transfer): Don't call
-disabled_error.
-(disabled_error): Delete unused function.
-
-diff --git a/libgui/src/main-window.cc b/libgui/src/main-window.cc
---- a/libgui/src/main-window.cc
-+++ b/libgui/src/main-window.cc
-@@ -367,11 +367,14 @@
- std::ostringstream buf;
- url_transfer octave_dot_org (url.toStdString (), buf);
-
-- Array<std::string> param;
-- octave_dot_org.http_get (param);
--
-- if (octave_dot_org.good ())
-- html_text = QString::fromStdString (buf.str ());
-+ if (octave_dot_org.is_valid ())
-+ {
-+ Array<std::string> param;
-+ octave_dot_org.http_get (param);
-+
-+ if (octave_dot_org.good ())
-+ html_text = QString::fromStdString (buf.str ());
-+ }
-
- if (html_text.contains ("this-is-the-gnu-octave-community-news-page"))
- {
-diff --git a/libinterp/corefcn/urlwrite.cc b/libinterp/corefcn/urlwrite.cc
---- a/libinterp/corefcn/urlwrite.cc
-+++ b/libinterp/corefcn/urlwrite.cc
-@@ -189,10 +189,15 @@
-
- url_transfer obj (host, user, passwd, os);
-
-- if (! error_state)
-- handle_map[h] = obj;
-+ if (obj.is_valid ())
-+ {
-+ if (! error_state)
-+ handle_map[h] = obj;
-+ else
-+ h = curl_handle ();
-+ }
- else
-- h = curl_handle ();
-+ error ("support for url transfers was disabled when Octave was built");
-
- return h;
- }
-@@ -413,31 +418,36 @@
-
- url_transfer curl = url_transfer (url, ofile);
-
-- curl.http_action (param, method);
-+ if (! curl.is_valid ())
-+ {
-+ curl.http_action (param, method);
-
-- ofile.close ();
-+ ofile.close ();
-
-- if (curl.good ())
-- frame.discard ();
-+ if (curl.good ())
-+ frame.discard ();
-
-- if (nargout > 0)
-- {
-- if (curl.good ())
-+ if (nargout > 0)
- {
-- retval(2) = std::string ();
-- retval(1) = true;
-- retval(0) = octave_env::make_absolute (filename);
-+ if (curl.good ())
-+ {
-+ retval(2) = std::string ();
-+ retval(1) = true;
-+ retval(0) = octave_env::make_absolute (filename);
-+ }
-+ else
-+ {
-+ retval(2) = curl.lasterror ();
-+ retval(1) = false;
-+ retval(0) = std::string ();
-+ }
- }
-- else
-- {
-- retval(2) = curl.lasterror ();
-- retval(1) = false;
-- retval(0) = std::string ();
-- }
-+
-+ if (nargout < 2 && ! curl.good ())
-+ error ("urlwrite: %s", curl.lasterror ().c_str ());
- }
--
-- if (nargout < 2 && ! curl.good ())
-- error ("urlwrite: %s", curl.lasterror ().c_str ());
-+ else
-+ error ("support for url transfers was disabled when Octave was built");
-
- return retval;
- }
-@@ -540,21 +550,26 @@
-
- url_transfer curl = url_transfer (url, buf);
-
-- curl.http_action (param, method);
-+ if (curl.is_valid ())
-+ {
-+ curl.http_action (param, method);
-
-- if (curl.good ())
-- {
-- if (nargout > 0)
-+ if (curl.good ())
- {
-- // Return empty string if no error occured.
-- retval(2) = curl.good () ? "" : curl.lasterror ();
-- retval(1) = curl.good ();
-- retval(0) = buf.str ();
-+ if (nargout > 0)
-+ {
-+ // Return empty string if no error occured.
-+ retval(2) = curl.good () ? "" : curl.lasterror ();
-+ retval(1) = curl.good ();
-+ retval(0) = buf.str ();
-+ }
- }
-+
-+ if (nargout < 2 && ! curl.good ())
-+ error ("urlread: %s", curl.lasterror().c_str());
- }
--
-- if (nargout < 2 && ! curl.good ())
-- error ("urlread: %s", curl.lasterror().c_str());
-+ else
-+ error ("support for url transfers was disabled when Octave was built");
-
- return retval;
- }
-diff --git a/liboctave/util/url-transfer.cc b/liboctave/util/url-transfer.cc
---- a/liboctave/util/url-transfer.cc
-+++ b/liboctave/util/url-transfer.cc
-@@ -767,15 +767,6 @@
-
- #undef SETOPT
-
--#else
--
--static void
--disabled_error (void)
--{
-- (*current_liboctave_error_handler)
-- ("support for url transfers was disabled when Octave was built");
--}
--
- #endif
-
- #if defined (HAVE_CURL)
-@@ -785,27 +776,15 @@
- #endif
-
- url_transfer::url_transfer (void) : rep (new REP_CLASS ())
--{
--#if !defined (HAVE_CURL)
-- disabled_error ();
--#endif
--}
-+{ }
-
- url_transfer::url_transfer (const std::string& host, const std::string& user,
- const std::string& passwd, std::ostream& os)
- : rep (new REP_CLASS (host, user, passwd, os))
--{
--#if !defined (HAVE_CURL)
-- disabled_error ();
--#endif
--}
-+{ }
-
- url_transfer::url_transfer (const std::string& url, std::ostream& os)
- : rep (new REP_CLASS (url, os))
--{
--#if !defined (HAVE_CURL)
-- disabled_error ();
--#endif
--}
-+{ }
-
- #undef REP_CLASS
-
diff --git a/sci-mathematics/octave/files/octave-3.8.0-imagemagick.patch b/sci-mathematics/octave/files/octave-3.8.0-imagemagick.patch
deleted file mode 100644
index 0f9acdb90a6f..000000000000
--- a/sci-mathematics/octave/files/octave-3.8.0-imagemagick.patch
+++ /dev/null
@@ -1,137 +0,0 @@
---- octave-3.8.0-orig/libinterp/dldfcn/__magick_read__.cc 2013-12-28 08:57:41.000000000 +1100
-+++ octave-3.8.0/libinterp/dldfcn/__magick_read__.cc 2014-02-20 18:01:35.603737907 +1100
-@@ -38,8 +38,15 @@
- #include "gripes.h"
-
- #ifdef HAVE_MAGICK
--
-+#define MAGICKCORE_EXCLUDE_DEPRECATED 1
- #include <Magick++.h>
-+#if !defined(QuantumRange) && defined(MaxRGB)
-+#define QuantumRange MaxRGB
-+#endif
-+#if !defined(MAGICKCORE_QUANTUM_DEPTH) && defined(QuantumDepth)
-+#define MAGICKCORE_QUANTUM_DEPTH QuantumDepth
-+#endif
-+
- #include <clocale>
-
- // In theory, it should be enough to check the class:
-@@ -104,12 +111,18 @@
- get_depth (Magick::Image& img)
- {
- octave_idx_type depth = img.depth ();
-+#if defined(MagickLibVersion) && (MagickLibVersion <= 0x686)
-+#define Magick MagickCore
-+#endif
- if (depth == 8
- && img.channelDepth (Magick::RedChannel) == 1
- && img.channelDepth (Magick::CyanChannel) == 1
- && img.channelDepth (Magick::OpacityChannel) == 1
- && img.channelDepth (Magick::GrayChannel) == 1)
- depth = 1;
-+#if defined(MagickLibVersion) && (MagickLibVersion <= 0x686)
-+#undef Magick
-+#endif
-
- return depth;
- }
-@@ -332,7 +345,10 @@
- if (imvec[def_elem].depth () == 32)
- divisor = std::numeric_limits<uint32_t>::max ();
- else
-- divisor = MaxRGB / ((uint64_t (1) << imvec[def_elem].depth ()) - 1);
-+ {
-+ using namespace Magick;
-+ divisor = QuantumRange / ((uint64_t (1) << imvec[def_elem].depth ()) - 1);
-+ }
-
- // FIXME: this workaround should probably be fixed in GM by creating a
- // new ImageType BilevelMatteType
-@@ -463,7 +479,8 @@
- for (octave_idx_type row = 0; row < nRows; row++)
- {
- img_fvec[idx] = pix->red / divisor;
-- a_fvec[idx] = (MaxRGB - pix->opacity) / divisor;
-+ using namespace Magick;
-+ a_fvec[idx] = (QuantumRange - pix->opacity) / divisor;
- pix += row_shift;
- idx++;
- }
-@@ -538,7 +555,8 @@
- rbuf[idx] = pix->red / divisor;
- gbuf[idx] = pix->green / divisor;
- bbuf[idx] = pix->blue / divisor;
-- a_fvec[a_idx++] = (MaxRGB - pix->opacity) / divisor;
-+ using namespace Magick;
-+ a_fvec[a_idx++] = (QuantumRange - pix->opacity) / divisor;
- pix += row_shift;
- idx++;
- }
-@@ -620,7 +638,8 @@
- mbuf[idx] = pix->green / divisor;
- ybuf[idx] = pix->blue / divisor;
- kbuf[idx] = pix->opacity / divisor;
-- a_fvec[a_idx++] = (MaxRGB - *apix) / divisor;
-+ using namespace Magick;
-+ a_fvec[a_idx++] = (QuantumRange - *apix) / divisor;
- pix += row_shift;
- idx++;
- }
-@@ -678,9 +697,10 @@
- // Restore locale from before GraphicsMagick initialisation
- setlocale (LC_ALL, locale.c_str ());
-
-- if (QuantumDepth < 32)
-+ using namespace Magick;
-+ if (MAGICKCORE_QUANTUM_DEPTH < 32)
- warning ("your version of %s limits images to %d bits per pixel",
-- MagickPackageName, QuantumDepth);
-+ MagickPackageName, MAGICKCORE_QUANTUM_DEPTH);
-
- initialized = true;
- }
-@@ -1053,8 +1073,9 @@
- // From GM documentation:
- // Color arguments are must be scaled to fit the Quantum size according to
- // the range of MaxRGB
-+ using namespace Magick;
- const double divisor = static_cast<double>((uint64_t (1) << bitdepth) - 1)
-- / MaxRGB;
-+ / QuantumRange;
-
- const P *img_fvec = img.fortran_vec ();
- const P *a_fvec = alpha.fortran_vec ();
-@@ -1105,7 +1126,8 @@
- {
- Magick::Color c;
- c.redQuantum (double (*img_fvec) / divisor);
-- c.alphaQuantum (MaxRGB - (double (*a_fvec) / divisor));
-+ using namespace Magick;
-+ c.alphaQuantum (QuantumRange - (double (*a_fvec) / divisor));
- pix[GM_idx] = c;
- img_fvec++;
- a_fvec++;
-@@ -1170,10 +1192,11 @@
- {
- for (octave_idx_type row = 0; row < nRows; row++)
- {
-+ using namespace Magick;
- Magick::Color c (double (*img_fvec) / divisor,
- double (img_fvec[G_offset]) / divisor,
- double (img_fvec[B_offset]) / divisor,
-- MaxRGB - (double (*a_fvec) / divisor));
-+ QuantumRange - (double (*a_fvec) / divisor));
- pix[GM_idx] = c;
- img_fvec++;
- a_fvec++;
-@@ -1247,7 +1270,8 @@
- double (img_fvec[Y_offset]) / divisor,
- double (img_fvec[K_offset]) / divisor);
- pix[GM_idx] = c;
-- ind[GM_idx] = MaxRGB - (double (*a_fvec) / divisor);
-+ using namespace Magick;
-+ ind[GM_idx] = QuantumRange - (double (*a_fvec) / divisor);
- img_fvec++;
- a_fvec++;
- GM_idx += nCols;
diff --git a/sci-mathematics/octave/files/octave-3.8.1-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-3.8.1-pkgbuilddir.patch
new file mode 100644
index 000000000000..98fe3d5e8eed
--- /dev/null
+++ b/sci-mathematics/octave/files/octave-3.8.1-pkgbuilddir.patch
@@ -0,0 +1,41 @@
+--- scripts/pkg/private/install.m.orig 2014-04-15 08:45:55.487258887 -0700
++++ scripts/pkg/private/install.m 2014-04-15 12:12:40.985606248 -0700
+@@ -62,7 +62,14 @@
+ for i = 1:length (files)
+ tgz = files{i};
+
+- if (exist (tgz, "file"))
++ ## The filename pointed to an uncompressed package to begin with.
++ if (exist (tgz, "dir"))
++ if (tgz(1) == '/')
++ packdir = tgz;
++ else
++ packdir = fullfile (pwd(), tgz);
++ endif
++ elseif (exist (tgz, "file"))
+ ## Create a temporary directory.
+ tmpdir = tmpnam ();
+ tmpdirs{end+1} = tmpdir;
+@@ -89,20 +96,12 @@
+ if (length (dirlist) > 3)
+ error ("bundles of packages are not allowed");
+ endif
+- endif
+
+- ## The filename pointed to an uncompressed package to begin with.
+- if (exist (tgz, "dir"))
+- dirlist = {".", "..", tgz};
++ ## The two first entries of dirlist are "." and "..".
++ packdir = fullfile (tmpdir, dirlist{3});
+ endif
+
+ if (exist (tgz, "file") || exist (tgz, "dir"))
+- ## The two first entries of dirlist are "." and "..".
+- if (exist (tgz, "file"))
+- packdir = fullfile (tmpdir, dirlist{3});
+- else
+- packdir = fullfile (pwd (), dirlist{3});
+- endif
+ packdirs{end+1} = packdir;
+
+ ## Make sure the package contains necessary files.
diff --git a/sci-mathematics/octave/metadata.xml b/sci-mathematics/octave/metadata.xml
index 7778ca576576..b135f553475f 100644
--- a/sci-mathematics/octave/metadata.xml
+++ b/sci-mathematics/octave/metadata.xml
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>sci-mathematics</herd>
- <longdescription lang="en">
+<herd>sci-mathematics</herd>
+<longdescription lang="en">
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.
</longdescription>
- <use>
- <flag name="glpk">Add support for <pkg>sci-libs/glpk</pkg> for linear programming</flag>
- <flag name="gui">Enable the graphical user interface</flag>
- <flag name="jit">(EXPERIMENTAL) enable JIT compiler</flag>
- <flag name="qhull">Add support for <pkg>sci-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>
- </use>
+<use>
+ <flag name="glpk">Add support for <pkg>sci-libs/glpk</pkg> for linear programming</flag>
+ <flag name="gui">Enable the graphical user interface</flag>
+ <flag name="jit">(EXPERIMENTAL) enable JIT compiler</flag>
+ <flag name="qhull">Add support for <pkg>sci-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>
+</use>
</pkgmetadata>
diff --git a/sci-mathematics/octave/octave-3.8.0.ebuild b/sci-mathematics/octave/octave-3.8.1-r1.ebuild
index 69159fb59d6c..5f4222767f65 100644
--- a/sci-mathematics/octave/octave-3.8.0.ebuild
+++ b/sci-mathematics/octave/octave-3.8.1-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.0.ebuild,v 1.9 2014/03/06 15:51:14 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.1-r1.ebuild,v 1.1 2014/04/15 22:42:34 bicatali Exp $
EAPI=5
@@ -15,47 +15,48 @@ HOMEPAGE="http://www.octave.org/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
SLOT="0/${PV}"
-IUSE="curl doc fftw +glpk gnuplot hdf5 +imagemagick java jit opengl postscript
- +qhull +qrupdate readline +sparse static-libs X zlib"
+IUSE="curl doc fftw +glpk gnuplot gui hdf5 +imagemagick java jit opengl
+ postscript +qhull +qrupdate readline +sparse static-libs X zlib"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
RDEPEND="
app-text/ghostscript-gpl
- dev-libs/libpcre
- sys-libs/ncurses
- jit? ( sys-devel/llvm )
+ dev-libs/libpcre:3=
+ sys-libs/ncurses:5=
virtual/lapack
- curl? ( net-misc/curl )
- fftw? ( sci-libs/fftw:3.0 )
- glpk? ( sci-mathematics/glpk )
+ curl? ( net-misc/curl:0= )
+ fftw? ( sci-libs/fftw:3.0= )
+ glpk? ( sci-mathematics/glpk:0= )
gnuplot? ( sci-visualization/gnuplot )
- hdf5? ( sci-libs/hdf5 )
+ gui? ( x11-libs/qscintilla:0= )
+ hdf5? ( sci-libs/hdf5:0= )
imagemagick? ( || (
- media-gfx/graphicsmagick[cxx]
- media-gfx/imagemagick[cxx] ) )
+ media-gfx/graphicsmagick:0=[cxx]
+ media-gfx/imagemagick:0=[cxx] ) )
+ jit? ( sys-devel/llvm )
opengl? (
- media-libs/freetype:2
- media-libs/fontconfig
- >=x11-libs/fltk-1.3:1[opengl]
- x11-libs/gl2ps
+ media-libs/freetype:2=
+ media-libs/fontconfig:1.0=
+ >=x11-libs/fltk-1.3:1=[opengl]
+ x11-libs/gl2ps:0=
virtual/glu )
postscript? (
app-text/epstool
media-gfx/pstoedit
media-gfx/transfig )
- qhull? ( media-libs/qhull )
- qrupdate? ( sci-libs/qrupdate )
- readline? ( sys-libs/readline )
+ qhull? ( media-libs/qhull:0= )
+ qrupdate? ( sci-libs/qrupdate:0= )
+ readline? ( sys-libs/readline:0= )
sparse? (
- sci-libs/arpack
- sci-libs/camd
- sci-libs/ccolamd
- sci-libs/cholmod
- sci-libs/colamd
- sci-libs/cxsparse
- sci-libs/umfpack )
- X? ( x11-libs/libX11 )
- zlib? ( sys-libs/zlib )"
+ 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= )
+ X? ( x11-libs/libX11:0= )
+ zlib? ( sys-libs/zlib:0= )"
DEPEND="${RDEPEND}
qrupdate? ( app-misc/pax-utils )
@@ -69,74 +70,62 @@ DEPEND="${RDEPEND}
virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}"/${PN}-3.8.0-pkgbuilddir.patch
"${FILESDIR}"/${PN}-3.4.3-texi.patch
+ "${FILESDIR}"/${PN}-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
"${FILESDIR}"/${PN}-3.8.0-imagemagick-configure.patch
- "${FILESDIR}"/${PN}-3.8.0-imagemagick.patch
- "${FILESDIR}"/${PN}-3.8.0-fix-compile.patch
"${FILESDIR}"/${PN}-3.8.0-llvm-configure.patch
- "${FILESDIR}"/${PN}-3.8.0-JIT-64-bit-indexing.patch
- "${FILESDIR}"/${PN}-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
- "${FILESDIR}"/${PN}-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch
+ "${FILESDIR}"/${PN}-3.8.1-imagemagick.patch
+ "${FILESDIR}"/${PN}-3.8.1-pkgbuilddir.patch
)
pkg_pretend() {
+ # do we really need this test? it looks a deficiency of our framework
if use qrupdate || use sparse; then
- local blaslib=$(pkg-config --libs-only-l blas | sed -e 's@-l\([^ \t]*\)@lib\1@' | cut -d' ' -f 1)
- einfo "Checking dependencies are built with the same blas lib = ${blaslib}"
- local usr_lib="${ROOT}usr/$(get_libdir)"
- local libs=( )
- use qrupdate && libs+=( "${usr_lib}"/libqrupdate.so )
+ local blaslib=$($(tc-getPKG_CONFIG) --libs-only-l blas \
+ | sed -e 's@-l\([^ \t]*\)@lib\1@' | cut -d' ' -f 1)
+ einfo "Checking linear algebra dependencies for ${blaslib}"
+ local libdir="${EROOT%/}/usr/$(get_libdir)"
+ local lib failed_libs libs=( )
+ use qrupdate && libs+=( "${libdir}"/libqrupdate.so )
use sparse && libs+=(
- "${usr_lib}"/libarpack.so
- "${usr_lib}"/libcholmod.so
- "${usr_lib}"/libspqr.so
- "${usr_lib}"/libumfpack.so
+ "${libdir}"/libarpack.so
+ "${libdir}"/libcholmod.so
+ "${libdir}"/libspqr.so
+ "${libdir}"/libumfpack.so
)
- for i in ${libs[*]}
- do
- # Is it not linked with the current blas? This check is not enough though, as
- # earlier versions of sci-libs/cholmod were not linked with blas, while as later
- # versions are if built with the lapack use flag.
- scanelf -n ${i} | grep -q "${blaslib}"
- if [[ $? -ne 0 ]]; then
- # Does it appear to be linked with some blas or lapack library?
- scanelf -n ${i} | egrep -q "blas|lapack"
- if [[ $? -eq 0 ]]; then
- eerror "*******************************************************************************"
- eerror "${i} must be rebuilt with ${blaslib}"
- eerror ""
- eerror "To check the libaries ${i} is currently built with:"
- eerror ""
- eerror "scanelf -n ${i}"
- eerror ""
- eerror "To find the package that needs to be rebuilt:"
- eerror ""
- eerror "equery belongs ${i}"
- eerror "*******************************************************************************"
- die
+ for lib in ${libs[@]}; do
+ # linked with the current blas?
+ if ! scanelf -n ${lib} | grep -q "${blaslib}"; then
+ # linked with some blas or lapack library?
+ if ! scanelf -n ${lib} | egrep -q "blas|lapack"; then
+ failed_libs="${failed_libs} ${lib}"
fi
fi
done
+ if [[ -n ${failed_libs} ]]; then
+ eerror "${failed_libs} must be rebuilt with ${blaslib}"
+ eerror "Try re-installing ${failed_libs}"
+ die "check of blas/lapack consistency failed"
+ fi
fi
+
}
src_prepare() {
- # nasty prefix hack for fltk:1 linking
- if use prefix && use opengl; then
- sed -i \
- -e "s:ldflags\`:ldflags\` -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/fltk-1:" \
- configure.ac
+ # nasty prefix hacks for fltk:1 and qt4 linking
+ if use prefix; then
+ use opengl && append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/fltk-1"
+ use gui && append-ldflags -Wl,-rpath,"${EPREFIX}/usr/$(get_libdir)/qt4"
fi
- if has_version ">=sys-devel/llvm-3.4"; then
+
+ has_version ">=sys-devel/llvm-3.4" && \
epatch "${FILESDIR}"/${PN}-3.8.0-llvm-3.4.patch
- fi
- # Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56:
- # error: 'Fallow_noninteger_range_as_index' was not declared in this scope
- sed -e 's@A-Za-z0-9@[:alnum:]@g' \
+
+ # Fix bug 501756
+ sed -i \
+ -e 's@A-Za-z0-9@[:alnum:]@g' \
-e 's@A-Za-z@[:alpha:]@g' \
- -i "${S}/libinterp/mkbuiltins" \
- || die "Could not patch ${S}/libinterp/mkbuiltins for some non-English locales"
+ libinterp/mkbuiltins || die
autotools-utils_src_prepare
}
@@ -154,7 +143,7 @@ src_configure() {
--with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
$(use_enable doc docs)
$(use_enable java)
- $(use_enable opengl gui)
+ $(use_enable gui)
$(use_enable jit)
$(use_enable readline)
$(use_with curl)
@@ -198,7 +187,8 @@ src_install() {
autotools-utils_src_install
use doc && dodoc $(find doc -name \*.pdf)
[[ -e test/fntests.log ]] && dodoc test/fntests.log
- use java && java-pkg_regjar "${ED}/usr/share/${PN}/${PV}/m/java/octave.jar"
+ use java && \
+ java-pkg_regjar "${ED}/usr/share/${PN}/${PV}/m/java/octave.jar"
echo "LDPATH=${EROOT}usr/$(get_libdir)/${PN}/${PV}" > 99octave
doenvd 99octave
}
diff --git a/sci-mathematics/octave/octave-3.8.1_rc4-r1.ebuild b/sci-mathematics/octave/octave-3.8.1_rc4-r1.ebuild
deleted file mode 100644
index 8169bad80008..000000000000
--- a/sci-mathematics/octave/octave-3.8.1_rc4-r1.ebuild
+++ /dev/null
@@ -1,207 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.1_rc4-r1.ebuild,v 1.3 2014/03/06 15:51:14 jer Exp $
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-inherit autotools-utils multilib toolchain-funcs fortran-2 flag-o-matic java-pkg-opt-2 pax-utils
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="High-level interactive language for numerical computations"
-LICENSE="GPL-3"
-HOMEPAGE="http://www.octave.org/"
-SRC_URI="mirror://gnu-alpha/octave/${MY_P}.tar.gz"
-
-SLOT="0/${PV}"
-IUSE="curl doc fftw +glpk gnuplot gui hdf5 +imagemagick java jit opengl postscript
- +qhull +qrupdate readline +sparse static-libs X zlib"
-KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-
-RDEPEND="
- app-text/ghostscript-gpl
- dev-libs/libpcre
- sys-libs/ncurses
- jit? ( sys-devel/llvm )
- virtual/lapack
- curl? ( net-misc/curl )
- fftw? ( sci-libs/fftw:3.0 )
- glpk? ( sci-mathematics/glpk )
- gnuplot? ( sci-visualization/gnuplot )
- gui? ( x11-libs/qscintilla )
- hdf5? ( sci-libs/hdf5 )
- imagemagick? ( || (
- media-gfx/graphicsmagick[cxx]
- media-gfx/imagemagick[cxx] ) )
- opengl? (
- media-libs/freetype:2
- media-libs/fontconfig
- >=x11-libs/fltk-1.3:1[opengl]
- x11-libs/gl2ps
- virtual/glu )
- postscript? (
- app-text/epstool
- media-gfx/pstoedit
- media-gfx/transfig )
- qhull? ( media-libs/qhull )
- qrupdate? ( sci-libs/qrupdate )
- readline? ( sys-libs/readline )
- sparse? (
- sci-libs/arpack
- sci-libs/camd
- sci-libs/ccolamd
- sci-libs/cholmod
- sci-libs/colamd
- sci-libs/cxsparse
- sci-libs/umfpack )
- X? ( x11-libs/libX11 )
- zlib? ( sys-libs/zlib )"
-
-DEPEND="${RDEPEND}
- qrupdate? ( app-misc/pax-utils )
- sparse? ( app-misc/pax-utils )
- doc? (
- virtual/latex-base
- dev-texlive/texlive-genericrecommended
- dev-texlive/texlive-metapost
- sys-apps/texinfo )
- dev-util/gperf
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.8.0-pkgbuilddir.patch
- "${FILESDIR}"/${PN}-3.4.3-texi.patch
- "${FILESDIR}"/${PN}-3.8.0-imagemagick-configure.patch
- "${FILESDIR}"/${PN}-3.8.0-imagemagick.patch
- "${FILESDIR}"/${PN}-3.8.0-llvm-configure.patch
- "${FILESDIR}"/${PN}-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if use qrupdate || use sparse; then
- local blaslib=$($(tc-getPKG_CONFIG) --libs-only-l blas | sed -e 's@-l\([^ \t]*\)@lib\1@' | cut -d' ' -f 1)
- einfo "Checking dependencies are built with the same blas lib = ${blaslib}"
- local usr_lib="${ROOT}usr/$(get_libdir)"
- local libs=( )
- use qrupdate && libs+=( "${usr_lib}"/libqrupdate.so )
- use sparse && libs+=(
- "${usr_lib}"/libarpack.so
- "${usr_lib}"/libcholmod.so
- "${usr_lib}"/libspqr.so
- "${usr_lib}"/libumfpack.so
- )
- for i in ${libs[*]}
- do
- # Is it not linked with the current blas? This check is not enough though, as
- # earlier versions of sci-libs/cholmod were not linked with blas, while as later
- # versions are if built with the lapack use flag.
- scanelf -n ${i} | grep -q "${blaslib}"
- if [[ $? -ne 0 ]]; then
- # Does it appear to be linked with some blas or lapack library?
- scanelf -n ${i} | egrep -q "blas|lapack"
- if [[ $? -eq 0 ]]; then
- eerror "*******************************************************************************"
- eerror "${i} must be rebuilt with ${blaslib}"
- eerror ""
- eerror "To check the libaries ${i} is currently built with:"
- eerror ""
- eerror "scanelf -n ${i}"
- eerror ""
- eerror "To find the package that needs to be rebuilt:"
- eerror ""
- eerror "equery belongs ${i}"
- eerror "*******************************************************************************"
- die
- fi
- fi
- done
- fi
-}
-
-src_prepare() {
- # nasty prefix hack for fltk:1 linking
- if use prefix && use opengl; then
- sed -i \
- -e "s:ldflags\`:ldflags\` -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/fltk-1:" \
- configure.ac
- fi
- if has_version ">=sys-devel/llvm-3.4"; then
- epatch "${FILESDIR}"/${PN}-3.8.0-llvm-3.4.patch
- fi
- # Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56:
- # error: 'Fallow_noninteger_range_as_index' was not declared in this scope
- sed -e 's@A-Za-z0-9@[:alnum:]@g' \
- -e 's@A-Za-z@[:alpha:]@g' \
- -i "${S}/libinterp/mkbuiltins" \
- || die "Could not patch ${S}/libinterp/mkbuiltins for some non-English locales"
- autotools-utils_src_prepare
-}
-
-src_configure() {
- # occasional fail on install, force regeneration (bug #401189)
- rm doc/interpreter/contributors.texi || die
-
- # 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
-
- local myeconfargs=(
- --localstatedir="${EPREFIX}/var/state/octave"
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- $(use_enable doc docs)
- $(use_enable java)
- $(use_enable gui gui)
- $(use_enable jit)
- $(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 qhull)
- $(use_with qrupdate)
- $(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 X x)
- $(use_with zlib z)
- )
- if use imagemagick; then
- if has_version media-gfx/graphicsmagick[cxx]; then
- myeconfargs+=( "--with-magick=GraphicsMagick" )
- else
- myeconfargs+=( "--with-magick=ImageMagick" )
- fi
- else
- myeconfargs+=( "--without-magick" )
- fi
- autotools-utils_src_configure
-}
-
-src_compile() {
- emake
- if use java || use jit ; then
- pax-mark m "${S}/src/.libs/octave-cli"
- fi
-}
-
-src_install() {
- autotools-utils_src_install
- use doc && dodoc $(find doc -name \*.pdf)
- [[ -e test/fntests.log ]] && dodoc test/fntests.log
- use java && java-pkg_regjar "${ED}/usr/share/${PN}/${MY_PV}/m/java/octave.jar"
- echo "LDPATH=${EROOT}usr/$(get_libdir)/${PN}/${MY_PV}" > 99octave
- doenvd 99octave
-}
diff --git a/sci-mathematics/octave/octave-3.8.1_rc4.ebuild b/sci-mathematics/octave/octave-3.8.1_rc4.ebuild
deleted file mode 100644
index da479c16de1a..000000000000
--- a/sci-mathematics/octave/octave-3.8.1_rc4.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.1_rc4.ebuild,v 1.3 2014/03/06 15:51:14 jer Exp $
-
-EAPI=5
-
-AUTOTOOLS_AUTORECONF=1
-AUTOTOOLS_IN_SOURCE_BUILD=1
-
-inherit autotools-utils multilib toolchain-funcs fortran-2 flag-o-matic java-pkg-opt-2 pax-utils
-
-MY_PV="${PV/_/-}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="High-level interactive language for numerical computations"
-LICENSE="GPL-3"
-HOMEPAGE="http://www.octave.org/"
-SRC_URI="mirror://gnu-alpha/octave/${MY_P}.tar.gz"
-
-SLOT="0/${PV}"
-IUSE="curl doc fftw +glpk gnuplot hdf5 +imagemagick java jit opengl postscript
- +qhull +qrupdate readline +sparse static-libs X zlib"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
-
-RDEPEND="
- app-text/ghostscript-gpl
- dev-libs/libpcre
- sys-libs/ncurses
- jit? ( sys-devel/llvm )
- 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]
- media-gfx/imagemagick[cxx] ) )
- opengl? (
- media-libs/freetype:2
- media-libs/fontconfig
- >=x11-libs/fltk-1.3:1[opengl]
- x11-libs/gl2ps
- virtual/glu )
- postscript? (
- app-text/epstool
- media-gfx/pstoedit
- media-gfx/transfig )
- qhull? ( media-libs/qhull )
- qrupdate? ( sci-libs/qrupdate )
- readline? ( sys-libs/readline )
- sparse? (
- sci-libs/arpack
- sci-libs/camd
- sci-libs/ccolamd
- sci-libs/cholmod
- sci-libs/colamd
- sci-libs/cxsparse
- sci-libs/umfpack )
- X? ( x11-libs/libX11 )
- zlib? ( sys-libs/zlib )"
-
-DEPEND="${RDEPEND}
- qrupdate? ( app-misc/pax-utils )
- sparse? ( app-misc/pax-utils )
- doc? (
- virtual/latex-base
- dev-texlive/texlive-genericrecommended
- dev-texlive/texlive-metapost
- sys-apps/texinfo )
- dev-util/gperf
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.8.0-pkgbuilddir.patch
- "${FILESDIR}"/${PN}-3.4.3-texi.patch
- "${FILESDIR}"/${PN}-3.8.0-imagemagick-configure.patch
- "${FILESDIR}"/${PN}-3.8.0-imagemagick.patch
- "${FILESDIR}"/${PN}-3.8.0-llvm-configure.patch
- "${FILESDIR}"/${PN}-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- if use qrupdate || use sparse; then
- local blaslib=$($(tc-getPKG_CONFIG) --libs-only-l blas | sed -e 's@-l\([^ \t]*\)@lib\1@' | cut -d' ' -f 1)
- einfo "Checking dependencies are built with the same blas lib = ${blaslib}"
- local usr_lib="${ROOT}usr/$(get_libdir)"
- local libs=( )
- use qrupdate && libs+=( "${usr_lib}"/libqrupdate.so )
- use sparse && libs+=(
- "${usr_lib}"/libarpack.so
- "${usr_lib}"/libcholmod.so
- "${usr_lib}"/libspqr.so
- "${usr_lib}"/libumfpack.so
- )
- for i in ${libs[*]}
- do
- # Is it not linked with the current blas? This check is not enough though, as
- # earlier versions of sci-libs/cholmod were not linked with blas, while as later
- # versions are if built with the lapack use flag.
- scanelf -n ${i} | grep -q "${blaslib}"
- if [[ $? -ne 0 ]]; then
- # Does it appear to be linked with some blas or lapack library?
- scanelf -n ${i} | egrep -q "blas|lapack"
- if [[ $? -eq 0 ]]; then
- eerror "*******************************************************************************"
- eerror "${i} must be rebuilt with ${blaslib}"
- eerror ""
- eerror "To check the libaries ${i} is currently built with:"
- eerror ""
- eerror "scanelf -n ${i}"
- eerror ""
- eerror "To find the package that needs to be rebuilt:"
- eerror ""
- eerror "equery belongs ${i}"
- eerror "*******************************************************************************"
- die
- fi
- fi
- done
- fi
-}
-
-src_prepare() {
- # nasty prefix hack for fltk:1 linking
- if use prefix && use opengl; then
- sed -i \
- -e "s:ldflags\`:ldflags\` -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/fltk-1:" \
- configure.ac
- fi
- if has_version ">=sys-devel/llvm-3.4"; then
- epatch "${FILESDIR}"/${PN}-3.8.0-llvm-3.4.patch
- fi
- # Fix bug 501756 - sci-mathematics/octave-3.8.0 LC_ALL=et_EE - octave.cc:485:56:
- # error: 'Fallow_noninteger_range_as_index' was not declared in this scope
- sed -e 's@A-Za-z0-9@[:alnum:]@g' \
- -e 's@A-Za-z@[:alpha:]@g' \
- -i "${S}/libinterp/mkbuiltins" \
- || die "Could not patch ${S}/libinterp/mkbuiltins for some non-English locales"
- autotools-utils_src_prepare
-}
-
-src_configure() {
- # occasional fail on install, force regeneration (bug #401189)
- rm doc/interpreter/contributors.texi || die
-
- # 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
-
- local myeconfargs=(
- --localstatedir="${EPREFIX}/var/state/octave"
- --with-blas="$($(tc-getPKG_CONFIG) --libs blas)"
- --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)"
- $(use_enable doc docs)
- $(use_enable java)
- $(use_enable opengl gui)
- $(use_enable jit)
- $(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 qhull)
- $(use_with qrupdate)
- $(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 X x)
- $(use_with zlib z)
- )
- if use imagemagick; then
- if has_version media-gfx/graphicsmagick[cxx]; then
- myeconfargs+=( "--with-magick=GraphicsMagick" )
- else
- myeconfargs+=( "--with-magick=ImageMagick" )
- fi
- else
- myeconfargs+=( "--without-magick" )
- fi
- autotools-utils_src_configure
-}
-
-src_compile() {
- emake
- if use java || use jit ; then
- pax-mark m "${S}/src/.libs/octave-cli"
- fi
-}
-
-src_install() {
- autotools-utils_src_install
- use doc && dodoc $(find doc -name \*.pdf)
- [[ -e test/fntests.log ]] && dodoc test/fntests.log
- use java && java-pkg_regjar "${ED}/usr/share/${PN}/${MY_PV}/m/java/octave.jar"
- echo "LDPATH=${EROOT}usr/$(get_libdir)/${PN}/${MY_PV}" > 99octave
- doenvd 99octave
-}