diff options
author | Mark Wright <gienah@gentoo.org> | 2015-07-07 13:25:35 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2015-07-07 13:25:35 +0000 |
commit | e945fb75817fc0cf73f8f43bc0d13d17efe0128f (patch) | |
tree | eb0bbf279d254b8788c4b12d86fb2dfb1a59f858 /sci-mathematics | |
parent | x86 stable wrt bug #554104 (diff) | |
download | gentoo-2-e945fb75817fc0cf73f8f43bc0d13d17efe0128f.tar.gz gentoo-2-e945fb75817fc0cf73f8f43bc0d13d17efe0128f.tar.bz2 gentoo-2-e945fb75817fc0cf73f8f43bc0d13d17efe0128f.zip |
Bump octave to 4.0.0, fixes Bug 550858 - sci-mathematics/octave-4.0 version bump, thanks to Bohdan Trach for reporting. octave 4.0.0 allows llvm 3.5, fixing Bug 531672 - sci-mathematics/octave-3.8.2 USE=jit depends on <sys-devel/llvm-3.5, thanks to Juergen Rose for reporting and eroen for an upstream bug reference. Fix Bug 539886 - sci-mathematics/octave-3.8.2 should depend on x11-libs/fltk[opengl,xft], thanks to Andreas Fink for reporting and the fix.
(Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Diffstat (limited to 'sci-mathematics')
-rw-r--r-- | sci-mathematics/octave/ChangeLog | 17 | ||||
-rw-r--r-- | sci-mathematics/octave/files/octave-4.0.0-imagemagick-configure.patch | 16 | ||||
-rw-r--r-- | sci-mathematics/octave/files/octave-4.0.0-imagemagick.patch | 139 | ||||
-rw-r--r-- | sci-mathematics/octave/files/octave-4.0.0-llvm-3.5.patch | 130 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-3.6.4-r1.ebuild | 6 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-3.6.4.ebuild | 6 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-3.8.1-r1.ebuild | 4 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-3.8.1.ebuild | 6 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-3.8.2.ebuild | 6 | ||||
-rw-r--r-- | sci-mathematics/octave/octave-4.0.0.ebuild | 164 |
10 files changed, 479 insertions, 15 deletions
diff --git a/sci-mathematics/octave/ChangeLog b/sci-mathematics/octave/ChangeLog index 58ab58003200..505268d116fb 100644 --- a/sci-mathematics/octave/ChangeLog +++ b/sci-mathematics/octave/ChangeLog @@ -1,6 +1,21 @@ # ChangeLog for sci-mathematics/octave # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.175 2015/07/05 14:47:44 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.176 2015/07/07 13:25:35 gienah Exp $ + +*octave-4.0.0 (07 Jul 2015) + + 07 Jul 2015; Mark Wright <gienah@gentoo.org> + +files/octave-4.0.0-imagemagick-configure.patch, + +files/octave-4.0.0-imagemagick.patch, +files/octave-4.0.0-llvm-3.5.patch, + +octave-4.0.0.ebuild, metadata.xml, octave-3.6.4-r1.ebuild, + octave-3.6.4.ebuild, octave-3.8.1-r1.ebuild, octave-3.8.1.ebuild, + octave-3.8.2.ebuild: + Bump octave to 4.0.0, fixes Bug 550858 - sci-mathematics/octave-4.0 version + bump, thanks to Bohdan Trach for reporting. octave 4.0.0 allows llvm 3.5, + fixing Bug 531672 - sci-mathematics/octave-3.8.2 USE=jit depends on <sys- + devel/llvm-3.5, thanks to Juergen Rose for reporting and eroen for an upstream + bug reference. Fix Bug 539886 - sci-mathematics/octave-3.8.2 should depend on + x11-libs/fltk[opengl,xft], thanks to Andreas Fink for reporting and the fix. 05 Jul 2015; Michał Górny <mgorny@gentoo.org> octave-3.8.1-r1.ebuild, octave-3.8.2.ebuild: diff --git a/sci-mathematics/octave/files/octave-4.0.0-imagemagick-configure.patch b/sci-mathematics/octave/files/octave-4.0.0-imagemagick-configure.patch new file mode 100644 index 000000000000..4e88ac07b13a --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.0.0-imagemagick-configure.patch @@ -0,0 +1,16 @@ +--- octave-4.0.0-orig/configure.ac 2015-05-27 02:16:39.000000000 +1000 ++++ octave-4.0.0/configure.ac 2015-07-06 18:11:43.461136517 +1000 +@@ -1086,11 +1086,11 @@ + MAGICK_LIBS= + + PKG_CHECK_EXISTS([$magick++], [ +- ## Make sure we only get -I, -L, and -l flags. Some Graphics/ImageMagick++ ++ ## Make sure we only get -I, -D, -L, and -l flags. Some Graphics/ImageMagick++ + ## packages add extra flags that are useful when building + ## Graphics/ImageMagick++ extentions. These extra flags break the + ## Octave build. +- MAGICK_CPPFLAGS=`$PKG_CONFIG --cflags-only-I $magick++` ++ MAGICK_CPPFLAGS=`$PKG_CONFIG --cflags $magick++ | sed -e 's/\(-@<:@DI@:>@@<:@^ \t@:>@*\)\|\(-@<:@^ \t@:>@*\)/\1/g'` + MAGICK_LDFLAGS=`$PKG_CONFIG --libs-only-L $magick++` + MAGICK_LIBS=`$PKG_CONFIG --libs-only-l $magick++` + diff --git a/sci-mathematics/octave/files/octave-4.0.0-imagemagick.patch b/sci-mathematics/octave/files/octave-4.0.0-imagemagick.patch new file mode 100644 index 000000000000..9e3689176cbd --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.0.0-imagemagick.patch @@ -0,0 +1,139 @@ +--- octave-4.0.0-orig/libinterp/dldfcn/__magick_read__.cc 2015-05-24 00:21:53.000000000 +1000 ++++ octave-4.0.0/libinterp/dldfcn/__magick_read__.cc 2015-07-06 18:17:52.263146804 +1000 +@@ -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: +@@ -121,12 +128,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; + } +@@ -350,7 +363,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 +@@ -484,7 +500,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++; + } +@@ -563,7 +580,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++; + } +@@ -650,7 +668,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++; + } +@@ -709,10 +728,11 @@ + // Restore locale from before GraphicsMagick initialisation + setlocale (LC_ALL, locale.c_str ()); + +- if (QuantumDepth < 32) ++ using namespace Magick; ++ if (MAGICKCORE_QUANTUM_DEPTH < 32) + warning_with_id ("Octave:GraphicsMagic-Quantum-Depth", + "your version of %s limits images to %d bits per pixel", +- MagickPackageName, QuantumDepth); ++ MagickPackageName, MAGICKCORE_QUANTUM_DEPTH); + + initialized = true; + } +@@ -1087,8 +1107,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 (); +@@ -1140,8 +1161,9 @@ + for (octave_idx_type row = 0; row < nRows; row++) + { + double grey = double (*img_fvec) / divisor; ++ using namespace Magick; + Magick::Color c (grey, grey, grey, +- MaxRGB - (double (*a_fvec) / divisor)); ++ QuantumRange - (double (*a_fvec) / divisor)); + pix[GM_idx] = c; + img_fvec++; + a_fvec++; +@@ -1209,10 +1231,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++; +@@ -1290,7 +1313,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-4.0.0-llvm-3.5.patch b/sci-mathematics/octave/files/octave-4.0.0-llvm-3.5.patch new file mode 100644 index 000000000000..31b1bed74e2d --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.0.0-llvm-3.5.patch @@ -0,0 +1,130 @@ +diff -r 3797df921988 configure.ac +--- a/configure.ac Wed Apr 29 17:09:24 2015 -0700 ++++ b/configure.ac Sun May 03 22:48:56 2015 +0200 +@@ -815,8 +815,13 @@ + AC_MSG_NOTICE([using -isystem for LLVM headers])]) + + dnl Use -isystem so we don't get warnings from llvm headers +- LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`" +- LLVM_CXXFLAGS= ++ AX_CHECK_COMPILE_FLAG([-std=c++11],[ ++ LLVM_CPPFLAGS="-std=c++11 $LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`" ++ LLVM_CXXFLAGS="-std=c++11" ++ ],[ ++ LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`" ++ LLVM_CXXFLAGS= ++ ]) + LLVM_LDFLAGS="-L`$LLVM_CONFIG --libdir`" + + +@@ -860,6 +865,8 @@ + OCTAVE_LLVM_CALLINST_ADDATTRIBUTE_API + OCTAVE_LLVM_RAW_FD_OSTREAM_API + OCTAVE_LLVM_LEGACY_PASSMANAGER_API ++ OCTAVE_LLVM_DATALAYOUTPASS_API ++ + AC_LANG_POP(C++) + CPPFLAGS="$save_CPPFLAGS" + CXXFLAGS="$save_CXXFLAGS" +diff -r 3797df921988 libinterp/corefcn/jit-typeinfo.cc +--- a/libinterp/corefcn/jit-typeinfo.cc Wed Apr 29 17:09:24 2015 -0700 ++++ b/libinterp/corefcn/jit-typeinfo.cc Sun May 03 22:48:56 2015 +0200 +@@ -1208,7 +1208,7 @@ + for (int op = 0; op < octave_value::num_binary_ops; ++op) + { + llvm::Twine fn_name ("octave_jit_binary_any_any_"); +- fn_name = fn_name + llvm::Twine (op); ++ fn_name.concat( llvm::Twine (op) ); + + fn = create_internal (fn_name, any, any, any); + fn.mark_can_error (); +diff -r 3797df921988 libinterp/corefcn/pt-jit.cc +--- a/libinterp/corefcn/pt-jit.cc Wed Apr 29 17:09:24 2015 -0700 ++++ b/libinterp/corefcn/pt-jit.cc Sun May 03 22:48:56 2015 +0200 +@@ -59,6 +59,7 @@ + + #include <llvm/Bitcode/ReaderWriter.h> + #include <llvm/ExecutionEngine/ExecutionEngine.h> ++#include <llvm/ExecutionEngine/MCJIT.h> + #include <llvm/ExecutionEngine/JIT.h> + + #ifdef LEGACY_PASSMANAGER +@@ -83,6 +84,7 @@ + #include <llvm/IRBuilder.h> + #endif + ++#include <llvm/Support/FileSystem.h> + #include <llvm/Support/raw_os_ostream.h> + #include <llvm/Support/TargetSelect.h> + +@@ -2077,7 +2079,11 @@ + module_pass_manager->add (llvm::createAlwaysInlinerPass ()); + + #ifdef HAVE_LLVM_DATALAYOUT ++#ifdef HAVE_LLVM_DATALAYOUTPASS ++ pass_manager->add (new llvm::DataLayoutPass (*engine->getDataLayout ())); ++#else + pass_manager->add (new llvm::DataLayout (*engine->getDataLayout ())); ++#endif + #else + pass_manager->add (new llvm::TargetData (*engine->getTargetData ())); + #endif +@@ -2192,7 +2198,7 @@ + std::string error; + #ifdef RAW_FD_OSTREAM_ARG_IS_LLVM_SYS_FS + llvm::raw_fd_ostream fout ("test.bc", error, +- llvm::sys::fs::F_Binary); ++ llvm::sys::fs::F_Text); + #else + llvm::raw_fd_ostream fout ("test.bc", error, + llvm::raw_fd_ostream::F_Binary); +diff -r 3797df921988 m4/acinclude.m4 +--- a/m4/acinclude.m4 Wed Apr 29 17:09:24 2015 -0700 ++++ b/m4/acinclude.m4 Sun May 03 22:48:56 2015 +0200 +@@ -1784,10 +1784,11 @@ + [AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ ++ #include <llvm/Support/FileSystem.h> + #include <llvm/Support/raw_os_ostream.h> + ]], [[ + std::string str; +- llvm::raw_fd_ostream fout ("", str, llvm::sys::fs::F_Binary); ++ llvm::raw_fd_ostream fout ("", str, llvm::sys::fs::F_Text); + ]])], + octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=yes, + octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=no) +@@ -1828,6 +1829,33 @@ + fi + ]) + dnl ++dnl Check for llvm::DataLayoutPass API ++dnl ++AC_DEFUN([OCTAVE_LLVM_DATALAYOUTPASS_API], [ ++ AC_CACHE_CHECK([check for LLVM::DataLayoutPass], ++ [octave_cv_datalayoutpass], ++ [AC_LANG_PUSH(C++) ++ save_LIBS="$LIBS" ++ LIBS="$LLVM_LIBS $LIBS" ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM([[ ++ #include <llvm/IR/DataLayout.h> ++ ]], [[ ++ llvm::Module *module; ++ llvm::DataLayoutPass *datalayoutpass; ++ datalayoutpass = new llvm::DataLayoutPass (module) ++ ]])], ++ octave_cv_datalayoutpass=yes, ++ octave_cv_datalayoutpass=no) ++ LIBS="$save_LIBS" ++ AC_LANG_POP(C++) ++ ]) ++ if test $octave_cv_datalayoutpass = yes; then ++ AC_DEFINE(HAVE_LLVM_DATALAYOUTPASS, 1, ++ [Define to 1 if LLVM::DataLayoutPass exists.]) ++ fi ++]) ++dnl + dnl Check for ar. + dnl + AC_DEFUN([OCTAVE_PROG_AR], [ diff --git a/sci-mathematics/octave/octave-3.6.4-r1.ebuild b/sci-mathematics/octave/octave-3.6.4-r1.ebuild index 59b6483d8614..d4e0d1ccd437 100644 --- a/sci-mathematics/octave/octave-3.6.4-r1.ebuild +++ b/sci-mathematics/octave/octave-3.6.4-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.6.4-r1.ebuild,v 1.3 2014/02/24 11:16:44 gienah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.6.4-r1.ebuild,v 1.4 2015/07/07 13:25:35 gienah Exp $ EAPI=5 @@ -43,7 +43,7 @@ RDEPEND=" media-gfx/transfig ) qhull? ( media-libs/qhull ) qrupdate? ( sci-libs/qrupdate ) - readline? ( sys-libs/readline ) + readline? ( sys-libs/readline:0 ) sparse? ( sci-libs/arpack sci-libs/camd diff --git a/sci-mathematics/octave/octave-3.6.4.ebuild b/sci-mathematics/octave/octave-3.6.4.ebuild index ff5bada061b5..775a7d4a2a1b 100644 --- a/sci-mathematics/octave/octave-3.6.4.ebuild +++ b/sci-mathematics/octave/octave-3.6.4.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.6.4.ebuild,v 1.10 2014/02/24 11:16:44 gienah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.6.4.ebuild,v 1.11 2015/07/07 13:25:35 gienah Exp $ EAPI=5 @@ -43,7 +43,7 @@ RDEPEND=" media-gfx/transfig ) qhull? ( media-libs/qhull ) qrupdate? ( sci-libs/qrupdate ) - readline? ( sys-libs/readline ) + readline? ( sys-libs/readline:0 ) sparse? ( sci-libs/arpack sci-libs/camd diff --git a/sci-mathematics/octave/octave-3.8.1-r1.ebuild b/sci-mathematics/octave/octave-3.8.1-r1.ebuild index 41bd7cbba23a..0f2a11e786bb 100644 --- a/sci-mathematics/octave/octave-3.8.1-r1.ebuild +++ b/sci-mathematics/octave/octave-3.8.1-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 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-r1.ebuild,v 1.7 2015/07/05 14:47:44 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.1-r1.ebuild,v 1.8 2015/07/07 13:25:35 gienah Exp $ EAPI=5 @@ -33,7 +33,7 @@ RDEPEND=" imagemagick? ( || ( media-gfx/graphicsmagick[cxx] media-gfx/imagemagick[cxx] ) ) - java? ( >=virtual/jre-1.6.0 ) + java? ( >=virtual/jre-1.6.0:* ) jit? ( <sys-devel/llvm-3.5 ) opengl? ( media-libs/freetype:2= diff --git a/sci-mathematics/octave/octave-3.8.1.ebuild b/sci-mathematics/octave/octave-3.8.1.ebuild index 0408eb6fb16c..ea018084658f 100644 --- a/sci-mathematics/octave/octave-3.8.1.ebuild +++ b/sci-mathematics/octave/octave-3.8.1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 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.ebuild,v 1.2 2014/09/09 13:18:53 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.1.ebuild,v 1.3 2015/07/07 13:25:35 gienah Exp $ EAPI=5 @@ -46,7 +46,7 @@ RDEPEND=" media-gfx/transfig ) qhull? ( media-libs/qhull ) qrupdate? ( sci-libs/qrupdate ) - readline? ( sys-libs/readline ) + readline? ( sys-libs/readline:0 ) sparse? ( sci-libs/arpack sci-libs/camd diff --git a/sci-mathematics/octave/octave-3.8.2.ebuild b/sci-mathematics/octave/octave-3.8.2.ebuild index d3c0b0c9f4c9..f653756498d3 100644 --- a/sci-mathematics/octave/octave-3.8.2.ebuild +++ b/sci-mathematics/octave/octave-3.8.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.2.ebuild,v 1.9 2015/07/05 14:47:44 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.2.ebuild,v 1.10 2015/07/07 13:25:35 gienah Exp $ EAPI=5 @@ -33,12 +33,12 @@ RDEPEND=" imagemagick? ( || ( media-gfx/graphicsmagick[cxx] media-gfx/imagemagick[cxx] ) ) - java? ( >=virtual/jre-1.6.0 ) + java? ( >=virtual/jre-1.6.0:* ) jit? ( <sys-devel/llvm-3.5:0= ) opengl? ( media-libs/freetype:2= media-libs/fontconfig:1.0= - >=x11-libs/fltk-1.3:1=[opengl] + >=x11-libs/fltk-1.3:1=[opengl,xft] x11-libs/gl2ps:0= virtual/glu ) postscript? ( diff --git a/sci-mathematics/octave/octave-4.0.0.ebuild b/sci-mathematics/octave/octave-4.0.0.ebuild new file mode 100644 index 000000000000..b8b77603bff7 --- /dev/null +++ b/sci-mathematics/octave/octave-4.0.0.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-4.0.0.ebuild,v 1.1 2015/07/07 13:25:35 gienah 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 + +DESCRIPTION="High-level interactive language for numerical computations" +LICENSE="GPL-3" +HOMEPAGE="http://www.octave.org/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + +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 ~arm ~hppa ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" + +RDEPEND=" + app-text/ghostscript-gpl + dev-libs/libpcre:3= + sys-libs/ncurses:5= + 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? ( x11-libs/qscintilla:0= ) + hdf5? ( sci-libs/hdf5:0= ) + imagemagick? ( || ( + media-gfx/graphicsmagick[cxx] + media-gfx/imagemagick[cxx] ) ) + java? ( >=virtual/jre-1.6.0:* ) + jit? ( >=sys-devel/llvm-3.3:0= <sys-devel/llvm-3.6:0= ) + opengl? ( + media-libs/freetype:2= + media-libs/fontconfig:1.0= + >=x11-libs/fltk-1.3:1=[opengl,xft] + x11-libs/gl2ps:0= + virtual/glu ) + 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= ) + 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= ) + X? ( x11-libs/libX11:0= ) + zlib? ( sys-libs/zlib:0= )" + +DEPEND="${RDEPEND} + qrupdate? ( app-misc/pax-utils ) + sparse? ( app-misc/pax-utils ) + java? ( >=virtual/jdk-1.6.0 ) + doc? ( + virtual/latex-base + dev-texlive/texlive-genericrecommended + dev-texlive/texlive-metapost + sys-apps/texinfo ) + dev-util/gperf + virtual/pkgconfig" + +PATCHES=( + "${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}-4.0.0-imagemagick-configure.patch + "${FILESDIR}"/${PN}-4.0.0-imagemagick.patch + "${FILESDIR}"/${PN}-3.8.1-pkgbuilddir.patch +) + +src_prepare() { + # 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 + + has_version ">=sys-devel/llvm-3.5" && \ + epatch "${FILESDIR}"/${PN}-4.0.0-llvm-3.5.patch + + # Fix bug 501756 + sed -i \ + -e 's@A-Za-z0-9@[:alnum:]@g' \ + -e 's@A-Za-z@[:alpha:]@g' \ + libinterp/mkbuiltins || die + 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)" + --without-64 + $(use_enable doc docs) + $(use_enable java) + $(use_enable 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}/${PV}/m/java/octave.jar" + echo "LDPATH=${EROOT}usr/$(get_libdir)/${PN}/${PV}" > 99octave + doenvd 99octave +} |