diff options
author | Mark Wright <gienah@gentoo.org> | 2014-02-19 00:52:44 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2014-02-19 00:52:44 +0000 |
commit | 1d5b3d15726274bfe65d16f1bac44b47bf56c48c (patch) | |
tree | de8228a17bbcef4330fecfc50d8653aa9793b75f /sci-mathematics | |
parent | Version bump. (diff) | |
download | historical-1d5b3d15726274bfe65d16f1bac44b47bf56c48c.tar.gz historical-1d5b3d15726274bfe65d16f1bac44b47bf56c48c.tar.bz2 historical-1d5b3d15726274bfe65d16f1bac44b47bf56c48c.zip |
Bump octave to 3.8.0.
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64
Manifest-Sign-Key: 0x618E971F
Diffstat (limited to 'sci-mathematics')
12 files changed, 572 insertions, 17 deletions
diff --git a/sci-mathematics/octave/ChangeLog b/sci-mathematics/octave/ChangeLog index 98d2ae4bb647..e555b0124b33 100644 --- a/sci-mathematics/octave/ChangeLog +++ b/sci-mathematics/octave/ChangeLog @@ -1,6 +1,18 @@ # 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.147 2014/01/06 14:06:23 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.148 2014/02/19 00:52:33 gienah Exp $ + +*octave-3.8.0 (19 Feb 2014) + + 19 Feb 2014; Mark Wright <gienah@gentoo.org> + +files/octave-3.8.0-JIT-64-bit-indexing.patch, + +files/octave-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch, + +files/octave-3.8.0-fix-compile.patch, + +files/octave-3.8.0-imagemagick-configure.patch, + +files/octave-3.8.0-imagemagick.patch, +files/octave-3.8.0-llvm-3.4.patch, + +files/octave-3.8.0-llvm-configure.patch, + +files/octave-3.8.0-pkgbuilddir.patch, +octave-3.8.0.ebuild, metadata.xml: + Bump octave to 3.8.0. 06 Jan 2014; Justin Lecher <jlec@gentoo.org> -octave-3.4.3-r1.ebuild: Drop old; punt base.eclass diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest index 334d683db535..7269b603f0ee 100644 --- a/sci-mathematics/octave/Manifest +++ b/sci-mathematics/octave/Manifest @@ -1,5 +1,5 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA512 +Hash: SHA256 AUX octave-3.4.3-help.patch 579 SHA256 786d6a265d9efa5c606ad84b8d957cf6d0143dae1667d5848ac323e2746d7c77 SHA512 322f8513f71a2769510d759865f1476a3263f11f81885c2e6da75fbb157f87e9fe4c0a0e23032521b082fc70cc0d4b86e52855b6e19d077de266da59d295299a WHIRLPOOL e5ad17c2337c307bbb06f76b71448fd383bbfd5538f3f4d79a5cf2ee0ed80d522b5d933cf523e31560f2d6765e5ebf53b8a1eca9932f53f279f87c42eaf85cc8 AUX octave-3.4.3-pkgbuilddir.patch 1532 SHA256 5f771b92de6994e267d5f8b1abe7733cb75e9c0cb936728fc31fac3369b78093 SHA512 a6612c26d20c82181e7e1530a4d0cf342ee9f127711c37e44b7a48bfb90eb5d8347cbf424edb951c24ad81645d492814e772aea6bdb027f4eac12fbb4c4bd26f WHIRLPOOL 9863475237b1d8ed2a381ed5ea87f4831b53425f824b489adf83c4db256f608a40fc44f5c111139789a43c3dfa2df6266ab6ac856f12e324392230d580cbd4f2 @@ -7,25 +7,25 @@ AUX octave-3.4.3-texi.patch 375 SHA256 91fb6bfb0825e8159fa38c1f2113a1fc831c3156f AUX octave-3.6.3-legendtext.patch 406 SHA256 86e7bde6f8e4452d706257ce6af69463a056495af4e011575918f4a756bdc99d SHA512 d0607740e0152cc745a11e34ff7ccaf5054e1ef242e74145524b1743617cf5176006a849b7f283ac6c5818f0c86798f9b94c709f1289afc01cc260aaa04ee2ea WHIRLPOOL 72ebcb5d9fcadc681d7949626747981415e820b55e90c66716c51d625df1f3dbc0aefe9fcb8cf90db22b23664657eee617c1a8bcd840badf105452158c5d224d AUX octave-3.6.4-gcc-4.8.patch 1035 SHA256 70486bcd5b85040ed9ddcdb83cd14045850709deb2af73fba55f1f304e896489 SHA512 a7da029a47c97e52b26e28417b406aa5122667a8d1596929e839a8530b2c4e305007b6b114e742a27fb9c1b898ecf8845f962c346663de8b1df9ce5f566322b9 WHIRLPOOL d535591350e4042737fcb9cb37ef3381ffb0d7fb93564a127e3b0b7c6192049d2fdb416cfe2e95b5922ac9c6b83084cf32a8c2eb6ae6c2224ffeaa1b91418b96 AUX octave-3.6.4-texinfo.patch 15072 SHA256 1c1c51369eb4d1a67df898bf0fef1cbec2a08f3a5a7860ad7b1e24a05b3d51fe SHA512 8d7fe866487923e944c5cba882e3cdc1d5f6df2bfb8b40a63753bdc8bf9b251cd15a2c60f46e3b2269c92a83e124286cbf16ab997d5ef3125fedce53ccf6dc74 WHIRLPOOL a2d5f4c1639c8842f7a1ac95c03b0e1f21f2183834aa2a75c8db7a5f7314fac6e26f41ff0cc34efcc7ec33649275709c36864b50426678c40e965a083f05a042 +AUX octave-3.8.0-JIT-64-bit-indexing.patch 3149 SHA256 f3883dd9979eb9a441ac6ba81339486c110a31aa79c47517582c041457159b1f SHA512 c02b050fb66e74a569c2fe5f4cd0902f5e051aed0e0bdf38578eed432fa18902dea1e1635d9a113429f09b3dc6eaa0004b4a1657680af661ea3abcce030dd5a3 WHIRLPOOL 967666181ca9887cc6f1ddd9fb020170f00ad835fe8d8a1b0f5ecf6bbb03c4fc456b8aff7531d66a295683214a816fb520abccd7786a9035d33a920fa6d18913 +AUX octave-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch 298 SHA256 04d83d8a6dac628965e0c5e732df260c66295ff7c4fc9fa44e552ebf467b5d61 SHA512 968c9748c968916612bf652df4638519edfa86259247c1d81441cf64194ec92610680fbe06c24a2cf422dadec58154d2b811d6828818f1762e8cfd0fd160d64f WHIRLPOOL 583d4170b2ec493a89a8a3b25f12abe3055d2da0c5df6b4d9b99496f1a1110ba6e73a49be99290c228dccc16e3cd56bc9aa90ed9d631d663ae909fc778b97129 +AUX octave-3.8.0-fix-compile.patch 543 SHA256 f958d3ec8e9e9eff52b1cc143ee020fef85da79f1e4927c7f9e59271fe97d28d SHA512 5f7dc096108132e290d4354f3ba48fee9b7bd2df1550ce831a1830c6597df9cb2495a1028343628d98750981b8d87ae67b1d99381442617ba433513913104f72 WHIRLPOOL 76ad5745808f827fd9ad9c8ce805afd48ebc3a0afeb15f353c111ab1bcdb349295cfc14459f66d4658b893a87dcb0404fd330d23b329c36aba2645b5745649a7 +AUX octave-3.8.0-imagemagick-configure.patch 811 SHA256 3bd92429c567614061c95b31ce1870abd198d99b3bcda68b373d8e5c6472b981 SHA512 b032feeef9a48535f14b0998557d8b7be544e7ce32ae2d53854f0cad392f379910ec716b4632729c75a604b3e75e363161e3c96aa3ed5367b8bffba286666f4e WHIRLPOOL 146f1353609db5b6f75edda748f6cb084b5600f080771da93b847ed45d8de347cec341d95234b83731b1e1dceea0da95bceeaa1fc547c037814a718ddd0e96a5 +AUX octave-3.8.0-imagemagick.patch 4716 SHA256 d5efddc576ae19eaf2bdea32206bebe5116a85a7a973982716cddaa96badeb84 SHA512 24f82555d65fdf672c0132b099bfee2fe72c11a8e9c2bb979e4aef140711862ac735b73088d9a604eecbb25fc7585180dac336c3d59a117efb9487d85d9d6107 WHIRLPOOL 4255d6ea82a1f0270346d3fe56d519feef1d95d3043c2be1ec43324a52abc756559d93a7b1766f38e1dcaae88ff635eee268955a82814664174f29fe6bc8cade +AUX octave-3.8.0-llvm-3.4.patch 2424 SHA256 40c6ea5fd4c59470038624398cffcb7d9f1b60d1bf678ab168c656c894824746 SHA512 8862dfe1060cc30b083ad62863b789f9c30e7d3d9a660b6ff591f2dc29611e23a75243cd8712fde04833c8285ff57f8e6483d7b23dd1cdc1923b309b8b004ece WHIRLPOOL ecc6ca44bba42f734fa911e81c10b0c4fb8f19815330351eba28ef34df19007112baf59efc8486596354a819d04490d1937945f1c4d3438d95a7270a2f24b44e +AUX octave-3.8.0-llvm-configure.patch 624 SHA256 96d297d78d423663567e5790407c58ddc52af6bd6c9e3ddf499dc10ad6a955cb SHA512 bdaaf2e7d7fc4254caf9a04b082dc02e58369256ce09c0c3632309f624b2b97a447020b0a37b4da4770a7f8e02ae5f1ad233c986e337e93b89bc83ed8cf34c2c WHIRLPOOL 08d3ab914c964d526f8a7b013166aa6d86258eb0a4eff11ce74c4f377dc15786c9dfe1688048537c09787f37226fd0587d4a8d5afeac74751e86547cd66a8c6d +AUX octave-3.8.0-pkgbuilddir.patch 1413 SHA256 277a2cf88d50db3125e5bffb989626f806f7140161a12caf6db711e67443b2e9 SHA512 37b1d88f0afcde01c6c59cb1f3a8ed4a73a611d0bc2acb2d9854ad53234c92daf8e38ca8510fcee91552d87dea18bce5c7d6ff3c3b00d73898076cc3f8a3245d WHIRLPOOL d4d1494ad1e25ed13fc4b4df281b49be8d53253e78ef5cc42dfab58a4f519b4e2e66ee6865441c965dcc66791449431e97d4395711515fe20d941b73a453b92a DIST octave-3.6.4.tar.bz2 15627315 SHA256 fa185df9591f5d740f4d37ff6eaf06db576fdd3e0ddd9d0737365799e5d1c962 SHA512 a49ef50161272618c9543057be5903e1e50b7f4ecb929777f6715d4b3a07a92c36a5b13958c52d8b942b6c7e7e3f7844409d0062eb02bdb3972d7194312b7a81 WHIRLPOOL f51c764ce1ed911661bb3dd1d31a2321f09c0d887ead7bbe8c1f4ad1ebe05137223afb5ff18fc57b83d631936975964a85e4fed9a087760935acb5a35050cda0 +DIST octave-3.8.0.tar.bz2 17669638 SHA256 519330c6dd34eb69ca26a811722948fceac2acebd67ba924eba9b34a2e5a94f9 SHA512 2e8b81b418e235cddd6678d7cc83b8441c64b36f98854ab704c1b34d5ff711d3f6cce7ffe33f5f70a7bc231b2219b39d16033e6b9d04174cbab68f21c5a8abec WHIRLPOOL ace3d162722b0e47d78fbf8029396c3e5690a4260d5fcef09be4a1a58f7a1144888f5829a47f77d344ca20fa6844c55b80955e7093c5cd2e98a89188b6ec3708 EBUILD octave-3.6.4-r1.ebuild 3509 SHA256 3eec5c95449373742628be9031622a5b7c6771203df72da13f3654be9c011c50 SHA512 1e4e72e3f67a46c31ee84208141535305d2daa6770dd2767cc523951e140d95de0bda897a1a0f1f88a16cd120b0cccf6ee7691d73effb02d83b1d8b760c85564 WHIRLPOOL 3bf445ad674658f35f0b3ea0665788d328c84f12d166c6f512033b4531c6a9260806d4d68256dc974826abadf85994fcd7cadd64368cd9c4ebd818974c224177 EBUILD octave-3.6.4.ebuild 3478 SHA256 686c2b49e3aaadf7bc41ecc46908126d65f1510c285a575efb74a5586d28d3b4 SHA512 897cac6e403bf709b6eafa0fa885905b91015d40cff5fd7d6187bd45c0ec95dd68dee3415152b9c29b85bc48b781797b1ada9d3001ea0625c6f97f5bd4dd48b7 WHIRLPOOL 09fdeafb13a7a814fd1304a493c76227fe7b0b7ea420cdcab2c944864a0319f62505f214be9796edee57cc370e8a7e6be0dbbe55035afbbc2a4c37033a6bebf4 -MISC ChangeLog 33998 SHA256 f3d949cd350b0043f5d26078a125544a58e7e05898b2e691b11269804039f679 SHA512 cb812f2d31a9a39b9848ddbc7826e5212e2bb38b714ea1c92a7145bcc8f324353f6c818af03cddd3db5bad257753a082b2ffd97aaccfa97dda856b39ddd14d01 WHIRLPOOL 6ebd47b39659b9418c3a1a111beb76c364e7f0d6dee6747913c2c16cebf237b8c85d5684b9e165bbd225d57a5da3b570423958e5d2c5d789504a06057aae0352 -MISC metadata.xml 959 SHA256 54af60069164b7969cce2ab5e613874f6cb222021c06a449401529c3258923c6 SHA512 2314a5ae45baaf959fbe19f54476c77b048a419bb838d0295b2e9e52dfde2f2255737f6de213a0a94927e125d0df2c114d7a5c1198063b4bd809f1a74e82aa6d WHIRLPOOL 4f18232a77db14b72ff00eb0fc2306cd00e914d16652610646b9d1a5f8d505a28174e615da42ab4a70467bbdf17b4db4d0e140215bba7ef243817f7787adcc32 +EBUILD octave-3.8.0.ebuild 6046 SHA256 02c0544f40965a7905d74e43453cd7b4bfca8d3c568afed0d0674e67fe0ddad4 SHA512 eba51b6e6fac9b1ad1d656ffa890a9f67634f9c9afba71e596775022be45c0cba85bccd69adf147dfb9ad5c85d6321536d6baf58f7cf1a0750ea305ffb1d1d9e WHIRLPOOL 30ed8621951cd56d80f5a2c59a1d261c6718de805d55555d444351b95846f2aa5213b4c4e41c610ee07f5264f0bd93b3096814c99ad042abf280fd6135351fd3 +MISC ChangeLog 34516 SHA256 04f68e945c2c26f9c6c954a0620dfcc4c851eaa57ff09159a558d909c1e1b1f8 SHA512 2bf16f09cc2eb95b604eaa3a888652e1dd707f24787149ed01b32bcaf43421babb6002222655540de72da98c91b68ffb91bce09933ffa3958cd5a47cdb2360ad WHIRLPOOL 4d1ca1f69153a2f57bdaa7ed4ceb998cf5655d45279b63f8d892dd51ca4969c81b77c89f8c22b0c47c5426e531d89918337a4313144db198446a41677f7d8c76 +MISC metadata.xml 1022 SHA256 1b65adbdcc076642a258fff07b7e362922ac22a8498b20bd96e2c97a2ea45a10 SHA512 bf855dac972af2db8e39396a50fbdc1199f28bf4b29cf2c78315f608584f0258a12985f021003b84553bf289c734397d8c7f92666c022b6b1f68f1ebccf89966 WHIRLPOOL b6d90f1eeec501dab72503cc677792abca0fbc1476d627868090abc2438940ec24088fc95a53df058dffc793f8101a7057a85c64aef6395da6c39864c2f45305 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQIcBAEBCgAGBQJSyrhgAAoJELnU8jG9FVirGE0P/ipXmLkSQqFwtwjiomUVZqak -DEPV2YJqVqUlJ7AHVddl7VRZRxrV5IGNgAAXLd1N6Fm7KBvD63d6o5NP8U8e2sF2 -J7T85330tvhlNuVAHJcRHbtYhHNS2dZwzyDxiX1g8tMPWjeV/ugRM/eWJriOlKyC -JFBYvWUr1utpulGq56J2Ueflda32zXrsrM8GVSZjj16TGW0rvK74/ZQSnxzeB8oF -JLG/xlfb6JT0RrrG0QnKCFgfLUZ6aWhAS/DAvLJZcgFfGv6ze+LpoXM+xWquWqvs -PYXX4Z7uoKR04KAN7/qjBVXCaLuLNI4kdxM4F/hTuA0XC/l/I2BtDebd7lcUxN6q -2smujW6lZbHqm9peqW0eBUTS9ONhrzuuK4bjCRv4r/7XZrHg8VREj7QQaKOJdqah -I2G9Q3Vz97yn9QbaycsT33bMFXbtXd2pdsoTHNgraUuYyWthy911gG7n+aUuOBte -EJOsPcDv14aGyz+9BW/seBzQBLsujEB5YejCrvrKkebUmhb8z9Pc+OC52CBCeEF+ -qe2jEI7wRXCQ7o6LUxqopbWtDkaKMCF/gmKaC0ES7QX+OdcQ4U+GEONjoa++0wR/ -OWaluOS9ZKCz1JgEiCIMsPYCjihoZUnUZ5jedMFP3VBVjrZj+gpHXQ4EdhRW+iw1 -CzGKHrqK0jArMGDPIwDN -=Lq2V +iF4EAREIAAYFAlMEAFoACgkQoBEVQmGOlx9OSwEArhStI5T4Iha0ngWoi3Nhday7 +5e+/TiMKsG8ztu7v5T8A/2GWJ8v1WUlnePapqeNCyyjmYKYdtuAisHjwFtvrOgSI +=jQUj -----END PGP SIGNATURE----- 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 new file mode 100644 index 000000000000..fc8d6c5884c3 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-JIT-64-bit-indexing.patch @@ -0,0 +1,77 @@ + +# 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-disable-getcwd-path-max-test-as-it-is-too-slow.patch b/sci-mathematics/octave/files/octave-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch new file mode 100644 index 000000000000..135330d2f45a --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-disable-getcwd-path-max-test-as-it-is-too-slow.patch @@ -0,0 +1,11 @@ +--- octave-3.8.0-orig/m4/getcwd.m4 2013-12-28 09:00:39.000000000 +1100 ++++ octave-3.8.0/m4/getcwd.m4 2014-02-15 13:11:06.783512435 +1100 +@@ -108,7 +108,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-3.8.0-fix-compile.patch b/sci-mathematics/octave/files/octave-3.8.0-fix-compile.patch new file mode 100644 index 000000000000..72931ee66283 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-fix-compile.patch @@ -0,0 +1,11 @@ +--- octave-3.8.0-orig/libinterp/corefcn/jit-typeinfo.cc 2013-12-28 08:57:41.000000000 +1100 ++++ octave-3.8.0/libinterp/corefcn/jit-typeinfo.cc 2014-02-14 15:45:47.388031654 +1100 +@@ -872,7 +872,7 @@ + jit_operation::to_idx (const std::vector<jit_type*>& types) const + { + octave_idx_type numel = types.size (); +- numel = std::max (2, numel); ++ numel = std::max (static_cast<octave_idx_type>(2), numel); + + Array<octave_idx_type> idx (dim_vector (1, numel)); + for (octave_idx_type i = 0; i < static_cast<octave_idx_type> (types.size ()); diff --git a/sci-mathematics/octave/files/octave-3.8.0-imagemagick-configure.patch b/sci-mathematics/octave/files/octave-3.8.0-imagemagick-configure.patch new file mode 100644 index 000000000000..1406237fea44 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-imagemagick-configure.patch @@ -0,0 +1,16 @@ +--- octave-3.8.0-orig/configure.ac 2013-12-28 08:58:28.000000000 +1100 ++++ octave-3.8.0/configure.ac 2014-02-15 20:11:53.821172574 +1100 +@@ -995,11 +995,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-3.8.0-imagemagick.patch b/sci-mathematics/octave/files/octave-3.8.0-imagemagick.patch new file mode 100644 index 000000000000..8dc94ca6feb2 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-imagemagick.patch @@ -0,0 +1,110 @@ +--- 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-15 00:12:10.909254448 +1100 +@@ -38,7 +38,7 @@ + #include "gripes.h" + + #ifdef HAVE_MAGICK +- ++#define MAGICKCORE_EXCLUDE_DEPRECATED 1 + #include <Magick++.h> + #include <clocale> + +@@ -332,7 +332,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 +466,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 +542,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 +625,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 +684,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 +1060,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 +1113,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 +1179,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 +1257,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.0-llvm-3.4.patch b/sci-mathematics/octave/files/octave-3.8.0-llvm-3.4.patch new file mode 100644 index 000000000000..63c5303d13c7 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-llvm-3.4.patch @@ -0,0 +1,63 @@ +diff -aur octave-3.8.0/libinterp/corefcn/jit-util.h octave-3.8.0.fix/libinterp/corefcn/jit-util.h +--- octave-3.8.0/libinterp/corefcn/jit-util.h 2013-12-27 15:57:41.000000000 -0600 ++++ octave-3.8.0.fix/libinterp/corefcn/jit-util.h 2014-01-16 17:06:47.512782643 -0600 +@@ -42,8 +42,10 @@ + { + class Value; + class Module; +- class FunctionPassManager; +- class PassManager; ++ namespace legacy { ++ class FunctionPassManager; ++ class PassManager; ++ } + class ExecutionEngine; + class Function; + class BasicBlock; +diff -aur octave-3.8.0/libinterp/corefcn/pt-jit.cc octave-3.8.0.fix/libinterp/corefcn/pt-jit.cc +--- octave-3.8.0/libinterp/corefcn/pt-jit.cc 2013-12-27 15:58:17.000000000 -0600 ++++ octave-3.8.0.fix/libinterp/corefcn/pt-jit.cc 2014-01-16 17:08:28.030924785 -0600 +@@ -52,7 +52,7 @@ + #include <llvm/Bitcode/ReaderWriter.h> + #include <llvm/ExecutionEngine/ExecutionEngine.h> + #include <llvm/ExecutionEngine/JIT.h> +-#include <llvm/PassManager.h> ++#include <llvm/IR/LegacyPassManager.h> + + #ifdef HAVE_LLVM_IR_FUNCTION_H + #include <llvm/IR/LLVMContext.h> +@@ -1888,10 +1888,10 @@ + if (! engine) + return false; + +- module_pass_manager = new llvm::PassManager (); ++ module_pass_manager = new llvm::legacy::PassManager (); + module_pass_manager->add (llvm::createAlwaysInlinerPass ()); + +- pass_manager = new llvm::FunctionPassManager (module); ++ pass_manager = new llvm::legacy::FunctionPassManager (module); + #ifdef HAVE_LLVM_DATALAYOUT + pass_manager->add (new llvm::DataLayout (*engine->getDataLayout ())); + #else +@@ -2007,7 +2007,7 @@ + { + std::string error; + llvm::raw_fd_ostream fout ("test.bc", error, +- llvm::raw_fd_ostream::F_Binary); ++ llvm::sys::fs::F_Binary); + llvm::WriteBitcodeToFile (module, fout); + } + } +diff -aur octave-3.8.0/libinterp/corefcn/pt-jit.h octave-3.8.0.fix/libinterp/corefcn/pt-jit.h +--- octave-3.8.0/libinterp/corefcn/pt-jit.h 2013-12-27 15:58:17.000000000 -0600 ++++ octave-3.8.0.fix/libinterp/corefcn/pt-jit.h 2014-01-16 17:05:08.224619116 -0600 +@@ -384,8 +384,8 @@ + size_t trip_count (const octave_value& bounds) const; + + llvm::Module *module; +- llvm::PassManager *module_pass_manager; +- llvm::FunctionPassManager *pass_manager; ++ llvm::legacy::PassManager *module_pass_manager; ++ llvm::legacy::FunctionPassManager *pass_manager; + llvm::ExecutionEngine *engine; + }; diff --git a/sci-mathematics/octave/files/octave-3.8.0-llvm-configure.patch b/sci-mathematics/octave/files/octave-3.8.0-llvm-configure.patch new file mode 100644 index 000000000000..82c6c1458093 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-llvm-configure.patch @@ -0,0 +1,12 @@ +--- octave-3.8.0-orig/configure.ac 2013-12-28 08:58:28.000000000 +1100 ++++ octave-3.8.0/configure.ac 2014-02-15 20:51:21.431570121 +1100 +@@ -805,7 +805,8 @@ + dnl Use -isystem so we don't get warnings from llvm headers + LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`" + LLVM_CXXFLAGS= +- LLVM_LDFLAGS="-L`$LLVM_CONFIG --libdir`" ++ dnl If llvm-config --ldflags has -L ending with /llvm then specify this directory with -R ++ LLVM_LDFLAGS="`$LLVM_CONFIG --ldflags | sed -e 's/-L\(@<:@^ \t@:>@*\/llvm\)/-L\1 -R\1/' -e 's/-@<:@^LR@:>@.*@<:@ \t@:>@//g'`" + + + LDFLAGS="$LDFLAGS $LLVM_LDFLAGS" diff --git a/sci-mathematics/octave/files/octave-3.8.0-pkgbuilddir.patch b/sci-mathematics/octave/files/octave-3.8.0-pkgbuilddir.patch new file mode 100644 index 000000000000..983f6b54ac57 --- /dev/null +++ b/sci-mathematics/octave/files/octave-3.8.0-pkgbuilddir.patch @@ -0,0 +1,40 @@ +--- octave-3.8.0-orig/scripts/pkg/private/install.m 2013-12-28 08:57:42.000000000 +1100 ++++ octave-3.8.0/scripts/pkg/private/install.m 2014-02-10 00:59:40.747194765 +1100 +@@ -63,6 +63,14 @@ + 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 +97,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 c2dde1ee64bd..96894a89c9c3 100644 --- a/sci-mathematics/octave/metadata.xml +++ b/sci-mathematics/octave/metadata.xml @@ -11,6 +11,7 @@ </longdescription> <use> <flag name="glpk">Add support for <pkg>sci-libs/glpk</pkg> for linear programming</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> diff --git a/sci-mathematics/octave/octave-3.8.0.ebuild b/sci-mathematics/octave/octave-3.8.0.ebuild new file mode 100644 index 000000000000..807336a03133 --- /dev/null +++ b/sci-mathematics/octave/octave-3.8.0.ebuild @@ -0,0 +1,202 @@ +# 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.1 2014/02/19 00:52:33 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.bz2" + +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? ( !hppa? ( 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-6.8.8.5[cxx] ) ) + opengl? ( + media-libs/freetype:2 + media-libs/fontconfig + >=x11-libs/fltk-1.3:1[opengl] + !hppa? ( 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-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 +) + +pkg_pretend() { + if use qrupdate || use sparse; then + local blaslib=$(pkg-config --libs-only-l "blas" | sed -e 's@.*-l@lib@' | cut -d' ' -f 1) + einfo "Checking dependencies are built wtih 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 [[ $? != 0 ]]; then + # Does it appear to be linked with some blas or lapack library? + scanelf -n ${i} | egrep -q "blas|lapack" + if [[ $? == 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 + if use hppa && use opengl; then + ewarn "http://www.gnu.org/software/octave/NEWS-3.8.html says Printing or saving figures" + ewarn "with OpenGL graphics requires the gl2ps - but at the time of writing x11-libs/gl2ps" + ewarn "does not have the hppa keyword" + fi + 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}/${PV}/m/java/octave.jar" + echo "LDPATH=${EROOT%/}/usr/$(get_libdir)/${P}" > 99octave + doenvd 99octave +} |