summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wright <gienah@gentoo.org>2014-02-20 01:57:27 +0000
committerMark Wright <gienah@gentoo.org>2014-02-20 01:57:27 +0000
commit6848f009bf3aacccd5a4fc26157a7589f96acc08 (patch)
tree2ed7defcec395e7d42cae346d5f919d7462ccec8 /sci-mathematics
parentAutomated update. (diff)
downloadhistorical-6848f009bf3aacccd5a4fc26157a7589f96acc08.tar.gz
historical-6848f009bf3aacccd5a4fc26157a7589f96acc08.tar.bz2
historical-6848f009bf3aacccd5a4fc26157a7589f96acc08.zip
Fix bug 501760 octave 3.8.0 gui crashes if curl is not available, by applying the patch from upstream for http://savannah.gnu.org/bugs/?41067. Thanks to Fabian Koester for reporting.
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64 Manifest-Sign-Key: 0x618E971F
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/octave/ChangeLog9
-rw-r--r--sci-mathematics/octave/Manifest11
-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/octave-3.8.0.ebuild3
4 files changed, 222 insertions, 7 deletions
diff --git a/sci-mathematics/octave/ChangeLog b/sci-mathematics/octave/ChangeLog
index 0a89ba9f75c1..830afd84e896 100644
--- a/sci-mathematics/octave/ChangeLog
+++ b/sci-mathematics/octave/ChangeLog
@@ -1,6 +1,13 @@
# 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.150 2014/02/20 00:59:19 gienah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/ChangeLog,v 1.151 2014/02/20 01:57:16 gienah Exp $
+
+ 20 Feb 2014; Mark Wright <gienah@gentoo.org>
+ +files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch,
+ octave-3.8.0.ebuild:
+ Fix bug 501760 octave 3.8.0 gui crashes if curl is not available, by applying
+ the patch from upstream for http://savannah.gnu.org/bugs/?41067. Thanks to
+ Fabian Koester for reporting.
20 Feb 2014; Mark Wright <gienah@gentoo.org> octave-3.8.0.ebuild:
Fix bug 501762, pkg-pretend check that dependencies are built with the same
diff --git a/sci-mathematics/octave/Manifest b/sci-mathematics/octave/Manifest
index 5ff5a5f1b6ce..9052dc6e0d90 100644
--- a/sci-mathematics/octave/Manifest
+++ b/sci-mathematics/octave/Manifest
@@ -8,6 +8,7 @@ AUX octave-3.6.3-legendtext.patch 406 SHA256 86e7bde6f8e4452d706257ce6af69463a05
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-avoid-gui-sigsegv-if-curl-is-not-available.patch 5318 SHA256 4984c4f316eeb2e47140041d306449b486ba629f53c98ae988c235d36389de9d SHA512 d0c4a9ba2bbab4966d16eade906042b9d22213ba4df673f9dac47904d3dd0cd9e470ca5d75f92539b7fa41f86581721bd9f9119243dccf7858ac482c49076862 WHIRLPOOL a48328c653c87cb0e48f4125a3f1229f3d3ca6929b57ef3a4903a4c46e2f62f33de7a6b1a11693a578164c200322e2a439bd44449f85939c12f83452dbb73f8b
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
@@ -19,13 +20,13 @@ DIST octave-3.6.4.tar.bz2 15627315 SHA256 fa185df9591f5d740f4d37ff6eaf06db576fdd
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
-EBUILD octave-3.8.0.ebuild 6059 SHA256 43130b7d67b2375cbac9113130b102523ac317aefd7320b1b64d1f318e664aa7 SHA512 c0f0a983b22dde058d98e68c2c36200a25d9f776370528e864f5afa2878adae2ebe1e2c1f6067fde24194b71f1863fd2d41b722b42d105da04490a8c59947a66 WHIRLPOOL d48af931f30f3bf2a14c24dc33e6bec4395790d68e4dee069fb5202b967f2c69e42e88429f600cf428b78b65c87d13bd43b1395bf13ebdced2e98c8a24c949e9
-MISC ChangeLog 35099 SHA256 54950c79d4ab2aba008b6ef5ace992c75aae166b3320a134b4ad9174eff6c16c SHA512 324b3d58daf277f68b1f4586df9e49ed307d5cb5cd105d0c96ef66a53d375e9c51cd080b82073ccc04e18f47993df0d98cfc788194b52e713c420511c347e68c WHIRLPOOL c72085156fab5827f7b2fec0e34c2646a8323368ede1878cc9b0821f824993bc0aa8b1b767f690b1e1d7f0e6456b391f2d8ee59085336c60fcceec3c3080a720
+EBUILD octave-3.8.0.ebuild 6135 SHA256 d9eae1e5b5757b12f2e5f3217dc8e30787787d18b8d5623b945467bb4b8bf7d7 SHA512 c5bf8ffff9ec8561d278ebcba71945ef69f689648bac4b8f8c7f4e0a765caba6868239d83aba0e6f3106091443e5fa46ed2b2f451dd3795e6c7029a90e62a532 WHIRLPOOL ece270d7220ab6dfa793f5941a25c42715e69cd4e736834f5f66cd92a9d8a0d2f0eaa8f21b570928315f9e63995fe57bf6ed4679b7ef22720afbb9fd51708369
+MISC ChangeLog 35431 SHA256 107d65718d402881f9c074edce5b086ddbf533c8aa57107607a53a6621c4bd96 SHA512 a1cea4c3a48acb20b5b566e50d6944fba3b9d89d255c509cd79f00f11a9fd0f0a4b4db2ced8b3d0f89a73e0d2b9b87e6c22305b781cc5d72cba8c2c7762c8877 WHIRLPOOL eb657375afdfbf2a4bc419d6d17586b30b630a7a66fd484690b06516f079ba05b41c3e34b27213341f5a21693544ba001d3c001b5e6569a77573bdc39d936fe0
MISC metadata.xml 1022 SHA256 1b65adbdcc076642a258fff07b7e362922ac22a8498b20bd96e2c97a2ea45a10 SHA512 bf855dac972af2db8e39396a50fbdc1199f28bf4b29cf2c78315f608584f0258a12985f021003b84553bf289c734397d8c7f92666c022b6b1f68f1ebccf89966 WHIRLPOOL b6d90f1eeec501dab72503cc677792abca0fbc1476d627868090abc2438940ec24088fc95a53df058dffc793f8101a7057a85c64aef6395da6c39864c2f45305
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
-iF4EAREIAAYFAlMFU28ACgkQoBEVQmGOlx9OGwEA1CZw0ddxtBeBc4vyMFTXkgOl
-cI9rBIjfS39ZLQxN9woA+gJK8RQjkYVRDflqeeehnQ39OQEPVdFIHxdx0yC9L9v6
-=q5Lz
+iF4EAREIAAYFAlMFYQUACgkQoBEVQmGOlx9W0wEAuRVZA/dCy2KwRMLwup8RxHUD
+09wViox9u7eU/vlXZukA+wQEinlxhUI6gXtCUHks4y3/X6WfksXW/8O0w8miJw2m
+=ivoK
-----END PGP SIGNATURE-----
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
new file mode 100644
index 000000000000..afeb156bace7
--- /dev/null
+++ b/sci-mathematics/octave/files/octave-3.8.0-avoid-gui-sigsegv-if-curl-is-not-available.patch
@@ -0,0 +1,206 @@
+
+# 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/octave-3.8.0.ebuild b/sci-mathematics/octave/octave-3.8.0.ebuild
index 89276e82f0ed..560fffc9ab86 100644
--- a/sci-mathematics/octave/octave-3.8.0.ebuild
+++ b/sci-mathematics/octave/octave-3.8.0.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.3 2014/02/20 00:59:19 gienah Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/octave/octave-3.8.0.ebuild,v 1.4 2014/02/20 01:57:16 gienah Exp $
EAPI=5
@@ -77,6 +77,7 @@ PATCHES=(
"${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
)
pkg_pretend() {