diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-mathematics/octave |
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-mathematics/octave')
11 files changed, 498 insertions, 0 deletions
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest new file mode 100644 index 000000000000..3333137bb8ab --- /dev/null +++ b/sci-mathematics/octave/Manifest @@ -0,0 +1,13 @@ +AUX octave-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch 199 SHA256 b1f3703804afdaeedbde9dd945f07bac30b7b1e689461174aa215f99cb6f7ce4 SHA512 e9984fe54b7b4c49783f5f7559d24e9f1076b47ff8c0ec2751dda2e96c1f84ad48f03a760fd4d8b87fba021174237bc7f19c75ba7f33e84bce6def6318184e7d WHIRLPOOL e75627147eaed13af5e9f4c17b13ba11fd9ac49fa05332e62d5b5f452fbc03af7be200d5c99bfc1ce5c364add1f08bdbeada158f1f2e41a002cd331e5e134d71 +AUX octave-4.2.0-fix-qscintilla-detection.patch 436 SHA256 6ff0648db1b2a2d4e8dd90ed4452a2c0ff7dc3e948eed5accf54d379ed2fe8f3 SHA512 5cee5fbd5c78228e1b179d5541a5ba1fc23e71db1552cb5b2759ed131ba743787b52875aa54527bb3d8f1949061627e72c9cbd253feba5af99f34f228c4a65f7 WHIRLPOOL f476b7fce406937a20821e7550815b776568a22980c8fec42c0b74d55f2f56f37e99e6e0857d87b75528aabf04cf03a71de33f0123d5fb55d5ece7e44629f929 +AUX octave-4.2.0-imagemagick-configure.patch 735 SHA256 9bcf6f6591b691b244eabb172dc55de4afb45a6fa9064b64779f96ae9440977b SHA512 357c46f93b0a998c6966fca1bd97a04641dd9e77251378e945f815a518b55b0ec991c46d209173c23954346bdb5ba914c82a3141e85744aeb7e58a6376be3d5d WHIRLPOOL 1dc87651bbfc77c48afc0776b9b5ab47f55b48587d162ceefd04875af1f09752a21c622f9f864e45090d1eba63ee2a1eabb416976d233e7c60b07c77db2a3495 +AUX octave-4.2.0-imagemagick.patch 5945 SHA256 9ca1bcd8970cb4f05a96a48e1d3bed226c1f44b433a88ab1a00d111bb0dbb923 SHA512 061c941cd23a3565f35c70bfaf0db23ea62f70e8943794216b00cb1d8ced201859f98eae5aba5f566627a301745691b53aa6a62cf9bfc0ee9d99159859ceb593 WHIRLPOOL dd149d5a81dd9c0ed84d6be1ecc85c1cb00d1543ed08bb618d680f42114bd965b922bd20e360c49cd80f54cfc11b1ed130a08d8210e08babaa48777d8c09618a +AUX octave-4.2.0-ncurses-pkgconfig.patch 1034 SHA256 3ee43b241a62e63970effc6ed1b215c43081a595bbe23f622468e523a6dfdfa9 SHA512 8f5e8dc2506ff0483db2823aa87544ad52a7b65d658db32c9a224aab2adac286892665068170af2d898b372dd6e176123f5516456b7f98e4c0ce5a71559c825f WHIRLPOOL 29b395db7fbda84a5364864e06dede8e8145fd246f0adafb0084524af451e0213b37bee2da36bac2399e8a133a605f1699c118452afb0a667637017882b4adae +AUX octave-4.2.0-pkgbuilddir.patch 1346 SHA256 2f6c243d9619ab90144a7a501d4549960671eec197351fbca04f5df75f3af13b SHA512 7dc10b4d27aa0fb4443dffaa28c84843d9c233172eb1c7b7d93d196434ea7db9c330b3152def21829e483ab3765423927e70718ca0662ae7aeba3a1a8540fa19 WHIRLPOOL 919936ac50e45c30999b2387121969dd4056497a2dc1a2445202f76b4e0ed528114cc0c6799f03d02cd6eac48944b34054d01c4652f3858cea0c9dc1f711bf3e +AUX octave-4.2.0-texi.patch 557 SHA256 8506cc1ee125da4f8a84b83921600bb72eb3fbed085b510cee42ef31f36bf5fb SHA512 1d4a6ce92ffde0945858b605cb37ed7c91abca201dd2c7f0d974852ef65c59e638a91aa219612c7acf9b46a0743a4a5e0ccbe590a8a056efd0d9d3293928c56a WHIRLPOOL 868052f5c4e5bd2cfb05e0964938e27c9f41ad5ea54449a3b898dfc0b4835bd631f36582c59ee7d093e2fc172bacb6f1d876d78ee765764bad6017ca73fefb04 +AUX octave-4.2.0-zlib-underlinking.patch 275 SHA256 978280090f7e490c5e5b92785854b6dbe2971e1c7ed9c1f3c087a6e6f61a40e8 SHA512 093b13ad457e290d746908a5de1855071b2cd27b4c08101826d32fcf63398e863c3b72bb81f19255a04a880a2bf49e3ced1141bf7d0044db1328c6f2c9492f66 WHIRLPOOL 0acf0d4798b1895ecb4cdda607d1e8ef6cbe1feb9f856af758c0fe7a96216989e5f6f402c6e46cbacb592415d770cb53c255c5efa3612667325bc6479b2ace82 +DIST octave-4.2.1.tar.gz 25409651 SHA256 80c28f6398576b50faca0e602defb9598d6f7308b0903724442c2a35a605333b SHA512 c437c57eb145ddea7b97124dc6406d130fd91c9141198b93bc756bb05cb3f7645a7c591443faeb65e69edf6abc2b8d5612e515f7703a04eed27213a2133009b7 WHIRLPOOL 4488287a9223ed99fe4ff3423f8ea5157cb538eb54918a53024082083a2f22d2af751f7dde0e489266a518d6ea5265e9c68536b5d5d9a186919d9979e9575333 +EBUILD octave-4.2.1.ebuild 4971 SHA256 341a4d9f62a10b146a1a024d56bc89e3430f1ab59ce911057f0a816a6ff748da SHA512 0f87f0a29c8810cf6a5b70fbb661dcab35003099ac02ee2ae2637b02fa018adfd24a5379fc64ebcc6dff84f535fcc4e90dbcf3b438886d6521045d03d24668f4 WHIRLPOOL 80e749ffc761d151471746f76ef1f387c10ced9262f8fa351f2b638edb4fdafaf62b5588fab2f124d502d5ce748266eff4ad44b5dd18b55fcec7f8e3fd3a55fc +MISC ChangeLog 10421 SHA256 a856a8962d34922fc2ed7f2345a83ab03937524faa8a0a83ff32ee50455336cf SHA512 1ca5674025c9f72425452de62e1f6ad4ff236283fba2e404c2282136ec7f7fdddd77493bd46ec617471bc45a60811f448a03629e78c7f432fbe70868a36dec1f WHIRLPOOL 947a12ff673a4ee9b208b4afbda2e5d239d3f09a54cb9d1502680d64e2e9ece4e62cdd92af376dd8ea2eadd9db6a91e09403490bac831f76638f6ff83767dec7 +MISC ChangeLog-2015 41905 SHA256 3688b26c076960fc6333348eb2df642f2f8eb588413207b3dc295a2c1f50cb8e SHA512 ed629d1a6e5c0f8bb2f8e7e9a781d8e82423a50ac99f60050d41d183c39e60108cdf9709c09bf71a0a4e888c44d68be06579958d65f066473c248a348d52af85 WHIRLPOOL 0dff1cde4f4e65952c86b5a9f527b61edbb2c87320d7012f1827597bd1f04d9bec60246ecc1b2c55d05a389a5f5af35d7f579e3be9848d2ec6927d754f448060 +MISC metadata.xml 1199 SHA256 f956dc2b28a8ed8806476f32cbf69cf8e160a53fe8c8946cc2bdfa9c35ab5a93 SHA512 aebb1728f0ca59ba83b649eea72c267c530efc0b97b12f0d7958ba8de0f482fcb37245cf93bc188c9368686e0feafc44da4a7dd97d6bab8246309945fee8f7a4 WHIRLPOOL c56e887c29f69873c84a0bcff0907100a76414b50500c388107e67374c84a57d8a6e27f144ac55c6c4c71bf64d08d00b30fab71d347aa9613d41cb1808767f72 diff --git a/sci-mathematics/octave/files/octave-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch b/sci-mathematics/octave/files/octave-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch new file mode 100644 index 000000000000..f6fa7be3b28f --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch @@ -0,0 +1,11 @@ +--- a/m4/getcwd.m4 ++++ b/m4/getcwd.m4 +@@ -110,7 +110,7 @@ + + gl_abort_bug=no + case "$host_os" in +- mingw*) ++ *-gnu* | gnu* | mingw*) + gl_cv_func_getcwd_path_max=yes + ;; + *) diff --git a/sci-mathematics/octave/files/octave-4.2.0-fix-qscintilla-detection.patch b/sci-mathematics/octave/files/octave-4.2.0-fix-qscintilla-detection.patch new file mode 100644 index 000000000000..ea714ecbfbbf --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-fix-qscintilla-detection.patch @@ -0,0 +1,14 @@ +In Gentoo, QScintilla for Qt5 has the same library name +as its Qt4 variant. + +--- a/m4/acinclude.m4 ++++ b/m4/acinclude.m4 +@@ -1327,7 +1327,7 @@ + ;; + 5) + QT_MODULES="Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport" +- octave_qscintilla_libnames="qscintilla2-qt5 qt5scintilla2" ++ octave_qscintilla_libnames="qscintilla2_qt5 qscintilla2" + ;; + *) + AC_MSG_ERROR([Unrecognized Qt version $qt_version]) diff --git a/sci-mathematics/octave/files/octave-4.2.0-imagemagick-configure.patch b/sci-mathematics/octave/files/octave-4.2.0-imagemagick-configure.patch new file mode 100644 index 000000000000..d5b2870185bb --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-imagemagick-configure.patch @@ -0,0 +1,16 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -1560,11 +1560,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.2.0-imagemagick.patch b/sci-mathematics/octave/files/octave-4.2.0-imagemagick.patch new file mode 100644 index 000000000000..8fb786964c20 --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-imagemagick.patch @@ -0,0 +1,139 @@ +--- a/libinterp/corefcn/__magick_read__.cc ++++ b/libinterp/corefcn/__magick_read__.cc +@@ -39,7 +39,15 @@ + + #if defined (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,6 +129,9 @@ + 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::GreenChannel) == 1 +@@ -132,6 +143,9 @@ + && img.channelDepth (Magick::OpacityChannel) == 1 + && img.channelDepth (Magick::GrayChannel) == 1) + depth = 1; ++#if defined(MagickLibVersion) && (MagickLibVersion <= 0x686) ++#undef Magick ++#endif + + return depth; + } +@@ -355,7 +369,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 +@@ -489,7 +506,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++; + } +@@ -568,7 +586,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++; + } +@@ -655,7 +674,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++; + } +@@ -732,10 +752,11 @@ + // depth is 8, there's a good chance that we will be limited. It + // is also the GraphicsMagick recommended setting and the default + // for ImageMagick. +- if (QuantumDepth < 16) ++ using namespace Magick; ++ if (MAGICKCORE_QUANTUM_DEPTH < 16) + warning_with_id ("Octave:GraphicsMagic-Quantum-Depth", + "your version of %s limits images to %d bits per pixel\n", +- MagickPackageName, QuantumDepth); ++ MagickPackageName, MAGICKCORE_QUANTUM_DEPTH); + + initialized = true; + } +@@ -1094,8 +1115,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 (); +@@ -1147,8 +1169,9 @@ + for (octave_idx_type row = 0; row < nRows; row++) + { + double grey = octave::math::round (double (*img_fvec) / divisor); ++ using namespace Magick; + Magick::Color c (grey, grey, grey, +- MaxRGB - octave::math::round (double (*a_fvec) / divisor)); ++ QuantumRange - octave::math::round (double (*a_fvec) / divisor)); + pix[GM_idx] = c; + img_fvec++; + a_fvec++; +@@ -1216,10 +1239,11 @@ + { + for (octave_idx_type row = 0; row < nRows; row++) + { ++ using namespace Magick; + Magick::Color c (octave::math::round (double (*img_fvec) / divisor), + octave::math::round (double (img_fvec[G_offset]) / divisor), + octave::math::round (double (img_fvec[B_offset]) / divisor), +- MaxRGB - octave::math::round (double (*a_fvec) / divisor)); ++ QuantumRange - octave::math::round (double (*a_fvec) / divisor)); + pix[GM_idx] = c; + img_fvec++; + a_fvec++; +@@ -1297,7 +1321,8 @@ + octave::math::round (double (img_fvec[Y_offset]) / divisor), + octave::math::round (double (img_fvec[K_offset]) / divisor)); + pix[GM_idx] = c; +- ind[GM_idx] = MaxRGB - octave::math::round (double (*a_fvec) / divisor); ++ using namespace Magick; ++ ind[GM_idx] = QuantumRange - octave::math::round (double (*a_fvec) / divisor); + img_fvec++; + a_fvec++; + GM_idx += nCols; diff --git a/sci-mathematics/octave/files/octave-4.2.0-ncurses-pkgconfig.patch b/sci-mathematics/octave/files/octave-4.2.0-ncurses-pkgconfig.patch new file mode 100644 index 000000000000..89f6f6e7014d --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-ncurses-pkgconfig.patch @@ -0,0 +1,37 @@ +--- a/m4/acinclude.m4 ++++ b/m4/acinclude.m4 +@@ -1194,32 +1194,8 @@ + dnl Find a suitable termlib to use. + dnl + AC_DEFUN([OCTAVE_CHECK_LIB_TERMLIB], [ +- TERM_LIBS= +- ac_octave_save_LIBS="$LIBS" +- AC_SEARCH_LIBS([tputs], +- [ncurses curses termcap terminfo termlib], +- [], []) +- LIBS="$ac_octave_save_LIBS" +- case "$ac_cv_search_tputs" in +- -l*) +- TERM_LIBS="$ac_cv_search_tputs" +- ;; +- no) +- warn_termlibs="I couldn't find -ltermcap, -lterminfo, -lncurses, -lcurses, or -ltermlib!" +- AC_MSG_WARN([$warn_termlibs]) +- ;; +- esac +- +-dnl Old code (9/9/2012). Delete when new code is definitely proven. +-dnl +-dnl for _termlib in ncurses curses termcap terminfo termlib; do +-dnl AC_CHECK_LIB([${_termlib}], [tputs], [ +-dnl TERM_LIBS="-l${termlib}" +-dnl octave_cv_lib_found_termlib=yes +-dnl break]) +-dnl done +- +- AC_SUBST(TERM_LIBS) ++ PKG_CHECK_MODULES([TERM], [ncurses]) ++ CPPFLAGS="${CPPFLAGS} ${TERM_CFLAGS}" + ]) + dnl + dnl Check for the Qhull version. diff --git a/sci-mathematics/octave/files/octave-4.2.0-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-4.2.0-pkgbuilddir.patch new file mode 100644 index 000000000000..a72ac97c0a15 --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-pkgbuilddir.patch @@ -0,0 +1,41 @@ +--- a/scripts/pkg/private/install.m ++++ b/scripts/pkg/private/install.m +@@ -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 = tempname (); + 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/files/octave-4.2.0-texi.patch b/sci-mathematics/octave/files/octave-4.2.0-texi.patch new file mode 100644 index 000000000000..1352ff5a1f75 --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-texi.patch @@ -0,0 +1,11 @@ +--- a/doc/interpreter/module.mk ++++ b/doc/interpreter/module.mk +@@ -298,6 +298,8 @@ + $(AWK) -f $(srcdir)/doc/interpreter/mkcontrib.awk $(srcdir)/doc/interpreter/contributors.in > $@-t && \ + mv $@-t $@ + ++doc/interpreter/preface.texi: doc/interpreter/contributors.texi ++ + AUTHORS: doc/interpreter/preface.texi doc/interpreter/contributors.texi | doc/interpreter/$(octave_dirstamp) + $(AM_V_MAKEINFO)rm -f $@-t $@ && \ + if [ "x$(srcdir)" != "x." ] && [ -f $(srcdir)/doc/interpreter/contributors.texi ] && [ ! -f doc/interpreter/contributors.texi ]; then \ diff --git a/sci-mathematics/octave/files/octave-4.2.0-zlib-underlinking.patch b/sci-mathematics/octave/files/octave-4.2.0-zlib-underlinking.patch new file mode 100644 index 000000000000..0c8736069d8e --- /dev/null +++ b/sci-mathematics/octave/files/octave-4.2.0-zlib-underlinking.patch @@ -0,0 +1,10 @@ +--- a/libinterp/corefcn/module.mk ++++ b/libinterp/corefcn/module.mk +@@ -318,6 +318,7 @@ + $(HDF5_CPPFLAGS) \ + $(LLVM_CPPFLAGS) \ + $(Z_CPPFLAGS) ++libinterp_corefcn_libcorefcn_la_LIBADD = $(Z_LIBS) + + libinterp_corefcn_libcorefcn_la_CFLAGS = $(AM_CFLAGS) $(WARN_CFLAGS) + diff --git a/sci-mathematics/octave/metadata.xml b/sci-mathematics/octave/metadata.xml new file mode 100644 index 000000000000..c11ec7171e00 --- /dev/null +++ b/sci-mathematics/octave/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci-mathematics@gentoo.org</email> + <name>Gentoo Mathematics Project</name> + </maintainer> + <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-mathematics/glpk</pkg> for linear programming</flag> + <flag name="gui">Enable the graphical user interface</flag> + <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> for low level hash functions</flag> + <flag name="qhull">Add support for <pkg>media-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-4.2.1.ebuild b/sci-mathematics/octave/octave-4.2.1.ebuild new file mode 100644 index 000000000000..e7ecf516cc42 --- /dev/null +++ b/sci-mathematics/octave/octave-4.2.1.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools flag-o-matic fortran-2 java-pkg-opt-2 pax-utils toolchain-funcs xdg-utils + +DESCRIPTION="High-level interactive language for numerical computations" +LICENSE="GPL-3" +HOMEPAGE="http://www.octave.org/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + +SLOT="0/${PV}" +IUSE="curl doc fftw +glpk gnuplot graphicsmagick gui hdf5 +imagemagick java opengl openssl + portaudio postscript +qhull +qrupdate readline sndfile +sparse static-libs X zlib" +KEYWORDS="amd64 ~arm hppa ppc ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" + +RDEPEND=" + app-arch/bzip2 + app-text/ghostscript-gpl + 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 ) + hdf5? ( sci-libs/hdf5:0= ) + imagemagick? ( + !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) + graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) + ) + java? ( >=virtual/jre-1.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 + ) + openssl? ( dev-libs/openssl: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= ) + gui? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtopengl:5 + >=x11-libs/qscintilla-2.9.3-r2:=[qt5(+)] + ) + 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= + ) + X? ( x11-libs/libX11:0= )" +DEPEND="${RDEPEND} + gui? ( dev-qt/linguist-tools:5 ) + qrupdate? ( app-misc/pax-utils ) + sparse? ( app-misc/pax-utils ) + java? ( >=virtual/jdk-1.6.0 ) + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + || ( dev-texlive/texlive-plaingeneric dev-texlive/texlive-genericrecommended ) + dev-texlive/texlive-metapost + ) + sys-apps/texinfo + dev-util/gperf + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-4.2.0-texi.patch + "${FILESDIR}"/${PN}-4.2.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch + "${FILESDIR}"/${PN}-4.2.0-imagemagick-configure.patch + "${FILESDIR}"/${PN}-4.2.0-imagemagick.patch + "${FILESDIR}"/${PN}-4.2.0-pkgbuilddir.patch + "${FILESDIR}"/${PN}-4.2.0-ncurses-pkgconfig.patch + "${FILESDIR}"/${PN}-4.2.0-zlib-underlinking.patch + "${FILESDIR}"/${PN}-4.2.0-fix-qscintilla-detection.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" + fi + + # occasional fail on install, force regeneration (bug #401189) + rm doc/interpreter/contributors.texi || die + + default + eautoreconf +} + +src_configure() { + # [QA] detect underlinking #593670 + append-ldflags $(test-flags-CXX -Wl,-z,defs) + + # 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 + + 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-shared \ + --with-z \ + --with-bz2 \ + --without-OSMesa \ + $(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 imagemagick magick $(usex graphicsmagick GraphicsMagick ImageMagick)) \ + $(use_with opengl) \ + $(use_with opengl fltk) \ + $(use_with 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 X x) +} + +src_compile() { + 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_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_mimeinfo_database_update + xdg_desktop_database_update +} |