From e98aa992e96d09f114b7f5404ee6ee788a497b10 Mon Sep 17 00:00:00 2001 From: Huang Rui Date: Tue, 15 Jun 2021 11:41:08 +0200 Subject: sci-visualization/fityk: fix gcc-11 compile fix error: ISO C++17 does not allow dynamic exception specifications Closes: https://github.com/gentoo/gentoo/pull/20743 Closes: https://bugs.gentoo.org/787317 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Huang Rui Signed-off-by: David Seifert --- .../fityk/files/fityk-1.3.1-c++17.patch | 352 +++++++++++++++++++++ .../fityk/files/fityk-1.3.1-fix-gtk3.patch | 31 ++ sci-visualization/fityk/fityk-1.3.1-r100.ebuild | 50 --- sci-visualization/fityk/fityk-1.3.1-r101.ebuild | 54 ++++ 4 files changed, 437 insertions(+), 50 deletions(-) create mode 100644 sci-visualization/fityk/files/fityk-1.3.1-c++17.patch create mode 100644 sci-visualization/fityk/files/fityk-1.3.1-fix-gtk3.patch delete mode 100644 sci-visualization/fityk/fityk-1.3.1-r100.ebuild create mode 100644 sci-visualization/fityk/fityk-1.3.1-r101.ebuild (limited to 'sci-visualization/fityk') diff --git a/sci-visualization/fityk/files/fityk-1.3.1-c++17.patch b/sci-visualization/fityk/files/fityk-1.3.1-c++17.patch new file mode 100644 index 000000000000..66c43207fbfb --- /dev/null +++ b/sci-visualization/fityk/files/fityk-1.3.1-c++17.patch @@ -0,0 +1,352 @@ +Backport from +https://github.com/wojdyr/fityk/pull/38 + +--- a/fityk/fityk.cpp ++++ b/fityk/fityk.cpp +@@ -129,8 +129,7 @@ + delete p_; + } + +-void Fityk::execute(string const& s) throw(SyntaxError, ExecuteError, +- ExitRequestedException) ++void Fityk::execute(string const& s) + { + try { + priv_->parse_and_execute_line(s); +@@ -139,8 +138,7 @@ + CATCH_EXECUTE_ERROR + } + +-string Fityk::get_info(string const& s, int dataset) throw(SyntaxError, +- ExecuteError) ++string Fityk::get_info(string const& s, int dataset) + { + try { + string result; +@@ -152,8 +150,7 @@ + return ""; + } + +-realt Fityk::calculate_expr(string const& s, int dataset) throw(SyntaxError, +- ExecuteError) ++realt Fityk::calculate_expr(string const& s, int dataset) + { + try { + Lexer lex(s.c_str()); +@@ -209,7 +206,7 @@ + return priv_->mgr.functions()[n]; + } + +-vector Fityk::get_components(int dataset, char fz) throw(ExecuteError) ++vector Fityk::get_components(int dataset, char fz) + { + const Model *model = priv_->dk.get_model(hd(priv_, dataset)); + const vector& indexes = model->get_fz(fz).idx; +@@ -220,7 +217,7 @@ + return ret; + } + +-realt Fityk::get_model_value(realt x, int dataset) throw(ExecuteError) ++realt Fityk::get_model_value(realt x, int dataset) + { + try { + return priv_->dk.get_model(hd(priv_, dataset))->value(x); +@@ -230,7 +227,6 @@ + } + + vector Fityk::get_model_vector(vector const& x, int dataset) +- throw(ExecuteError) + { + vector xx(x); + vector yy(x.size(), 0.); +@@ -241,7 +237,7 @@ + return yy; + } + +-const Var* Fityk::get_variable(string const& name) throw(ExecuteError) ++const Var* Fityk::get_variable(string const& name) + { + try { + string vname; +@@ -274,7 +270,6 @@ + } + + void Fityk::load(LoadSpec const& spec, int dataset) +- throw(ExecuteError) + { + if (dataset == DEFAULT_DATASET) + dataset = priv_->dk.default_idx(); +@@ -290,7 +285,7 @@ + vector const& x, + vector const& y, + vector const& sigma, +- string const& title) throw(ExecuteError) ++ string const& title) + { + try { + priv_->dk.data(dataset)->load_arrays(x, y, sigma, title); +@@ -299,7 +294,6 @@ + } + + void Fityk::add_point(realt x, realt y, realt sigma, int dataset) +- throw(ExecuteError) + { + try { + priv_->dk.data(hd(priv_, dataset))->add_one_point(x, y, sigma); +@@ -307,7 +301,7 @@ + CATCH_EXECUTE_ERROR + } + +-vector const& Fityk::get_data(int dataset) throw(ExecuteError) ++vector const& Fityk::get_data(int dataset) + { + static const vector empty; + try { +@@ -335,23 +329,21 @@ + } + + void Fityk::set_option_as_string(const string& opt, const string& val) +- throw(ExecuteError) + { + priv_->mutable_settings_mgr()->set_as_string(opt, val); + } + + void Fityk::set_option_as_number(const string& opt, double val) +- throw(ExecuteError) + { + priv_->mutable_settings_mgr()->set_as_number(opt, val); + } + +-string Fityk::get_option_as_string(const string& opt) const throw(ExecuteError) ++string Fityk::get_option_as_string(const string& opt) const + { + return priv_->settings_mgr()->get_as_string(opt, /*quote_str=*/false); + } + +-double Fityk::get_option_as_number(const string& opt) const throw(ExecuteError) ++double Fityk::get_option_as_number(const string& opt) const + { + return priv_->settings_mgr()->get_as_number(opt); + } +@@ -366,7 +358,7 @@ + return priv_->ui()->get_input_from_user(prompt); + } + +-realt Fityk::get_wssr(int dataset) throw(ExecuteError) ++realt Fityk::get_wssr(int dataset) + { + try { + return get_wssr_or_ssr(priv_, dataset, true); +@@ -375,7 +367,7 @@ + return 0.; + } + +-realt Fityk::get_ssr(int dataset) throw(ExecuteError) ++realt Fityk::get_ssr(int dataset) + { + try { + return get_wssr_or_ssr(priv_, dataset, false); +@@ -384,7 +376,7 @@ + return 0.; + } + +-realt Fityk::get_rsquared(int dataset) throw(ExecuteError) ++realt Fityk::get_rsquared(int dataset) + { + try { + if (dataset == ALL_DATASETS) { +@@ -402,7 +394,7 @@ + return 0.; + } + +-int Fityk::get_dof(int dataset) throw(ExecuteError) ++int Fityk::get_dof(int dataset) + { + try { + return priv_->get_fit()->get_dof(get_datasets_(priv_, dataset)); +@@ -412,7 +404,6 @@ + } + + vector > Fityk::get_covariance_matrix(int dataset) +- throw(ExecuteError) + { + try { + vector dss = get_datasets_(priv_, dataset); +--- a/fityk/fityk.h ++++ b/fityk/fityk.h +@@ -118,10 +118,8 @@ + + virtual const std::string& get_template_name() const = 0; + virtual std::string get_param(int n) const = 0; +- virtual const std::string& var_name(const std::string& param) const +- throw(ExecuteError) = 0; +- virtual realt get_param_value(const std::string& param) const +- throw(ExecuteError) = 0; ++ virtual const std::string& var_name(const std::string& param) const = 0; ++ virtual realt get_param_value(const std::string& param) const = 0; + virtual realt value_at(realt x) const = 0; + protected: + Func(const std::string name_) : name(name_) {} +@@ -177,26 +175,23 @@ + // @{ + + /// execute command; throws exception on error +- void execute(std::string const& s) throw(SyntaxError, ExecuteError, +- ExitRequestedException); ++ void execute(std::string const& s); + + + /// load data from file (path should be ascii or utf8, col=0 is index) +- void load(LoadSpec const& spec, int dataset=DEFAULT_DATASET) +- throw(ExecuteError); ++ void load(LoadSpec const& spec, int dataset=DEFAULT_DATASET); + void load(std::string const& path, int dataset=DEFAULT_DATASET) +- throw(ExecuteError) { load(LoadSpec(path), dataset); } ++ { load(LoadSpec(path), dataset); } + + /// load data from arrays + void load_data(int dataset, + std::vector const& x, + std::vector const& y, + std::vector const& sigma, +- std::string const& title="") throw(ExecuteError); ++ std::string const& title=""); + + /// add one data point to dataset +- void add_point(realt x, realt y, realt sigma, int dataset=DEFAULT_DATASET) +- throw(ExecuteError); ++ void add_point(realt x, realt y, realt sigma, int dataset=DEFAULT_DATASET); + + // @} + +@@ -220,14 +215,10 @@ + + /// @name settings + // @{ +- void set_option_as_string(const std::string& opt, const std::string& val) +- throw(ExecuteError); +- void set_option_as_number(const std::string& opt, double val) +- throw(ExecuteError); +- std::string get_option_as_string(const std::string& opt) const +- throw(ExecuteError); +- double get_option_as_number(const std::string& opt) const +- throw(ExecuteError); ++ void set_option_as_string(const std::string& opt, const std::string& val); ++ void set_option_as_number(const std::string& opt, double val); ++ std::string get_option_as_string(const std::string& opt) const; ++ double get_option_as_number(const std::string& opt) const; + // @} + + /// @name input/output +@@ -253,12 +244,10 @@ + // @{ + + /// return output of the info command +- std::string get_info(std::string const& s, int dataset=DEFAULT_DATASET) +- throw(SyntaxError, ExecuteError); ++ std::string get_info(std::string const& s, int dataset=DEFAULT_DATASET); + + /// return expression value, similarly to the print command +- realt calculate_expr(std::string const& s, int dataset=DEFAULT_DATASET) +- throw(SyntaxError, ExecuteError); ++ realt calculate_expr(std::string const& s, int dataset=DEFAULT_DATASET); + + //(planned) + /// returns dataset titles +@@ -273,8 +262,7 @@ + int get_default_dataset() const; + + /// get data points +- std::vector const& get_data(int dataset=DEFAULT_DATASET) +- throw(ExecuteError); ++ std::vector const& get_data(int dataset=DEFAULT_DATASET); + + /// returns number of simple-variables (parameters that can be fitted) + int get_parameter_count() const; +@@ -286,7 +274,7 @@ + std::vector all_variables() const; + + /// returns variable $name +- const Var* get_variable(std::string const& name) throw(ExecuteError); ++ const Var* get_variable(std::string const& name); + + /// returns all %functions + std::vector all_functions() const; +@@ -295,17 +283,14 @@ + const Func* get_function(const std::string& name) const; + + /// returns %functions used in dataset +- std::vector get_components(int dataset=DEFAULT_DATASET, char fz='F') +- throw(ExecuteError); ++ std::vector get_components(int dataset=DEFAULT_DATASET, char fz='F'); + + /// returns the value of the model for a given dataset at x +- realt get_model_value(realt x, int dataset=DEFAULT_DATASET) +- throw(ExecuteError); ++ realt get_model_value(realt x, int dataset=DEFAULT_DATASET); + + /// multiple point version of the get_model_value() + std::vector +- get_model_vector(std::vector const& x, int dataset=DEFAULT_DATASET) +- throw(ExecuteError); ++ get_model_vector(std::vector const& x, int dataset=DEFAULT_DATASET); + + /// get coordinates of rectangle set by the plot command + /// side is one of L(eft), R(ight), T(op), B(ottom) +@@ -317,20 +302,20 @@ + // @{ + + /// get WSSR for given dataset or for all datasets +- realt get_wssr(int dataset=ALL_DATASETS) throw(ExecuteError); ++ realt get_wssr(int dataset=ALL_DATASETS); + + /// get SSR for given dataset or for all datasets +- realt get_ssr(int dataset=ALL_DATASETS) throw(ExecuteError); ++ realt get_ssr(int dataset=ALL_DATASETS); + + /// get R-squared for given dataset or for all datasets +- realt get_rsquared(int dataset=ALL_DATASETS) throw(ExecuteError); ++ realt get_rsquared(int dataset=ALL_DATASETS); + + /// get number of degrees-of-freedom for given dataset or for all datasets +- int get_dof(int dataset=ALL_DATASETS) throw(ExecuteError); ++ int get_dof(int dataset=ALL_DATASETS); + + /// get covariance matrix (for given dataset or for all datasets) + std::vector > +- get_covariance_matrix(int dataset=ALL_DATASETS) throw(ExecuteError); ++ get_covariance_matrix(int dataset=ALL_DATASETS); + // @} + + /// UiApi contains functions used by CLI and may be used to implement +--- a/fityk/func.cpp ++++ b/fityk/func.cpp +@@ -197,7 +197,7 @@ + return n; + } + +-realt Function::get_param_value(const string& param) const throw(ExecuteError) ++realt Function::get_param_value(const string& param) const + { + realt a; + if (!param.empty() && islower(param[0])) +--- a/fityk/func.h ++++ b/fityk/func.h +@@ -86,8 +86,7 @@ + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wdeprecated" + #endif +- virtual realt get_param_value(const std::string& param) const +- throw(ExecuteError); // exc. spec. is used by SWIG ++ virtual realt get_param_value(const std::string& param) const; + + realt numarea(realt x1, realt x2, int nsteps) const; + +@@ -101,7 +100,6 @@ + // implementation of members of Func + virtual const std::string& get_template_name() const { return tp_->name; } + virtual const std::string& var_name(const std::string& param) const +- throw(ExecuteError) // exc. spec. is used by SWIG + { return used_vars_.get_name(get_param_nr(param)); } + #ifdef __clang__ + #pragma clang diagnostic pop diff --git a/sci-visualization/fityk/files/fityk-1.3.1-fix-gtk3.patch b/sci-visualization/fityk/files/fityk-1.3.1-fix-gtk3.patch new file mode 100644 index 000000000000..7b64f7f582fa --- /dev/null +++ b/sci-visualization/fityk/files/fityk-1.3.1-fix-gtk3.patch @@ -0,0 +1,31 @@ +From 85ea545db65d7c6fbb94988b85f1e8cf1c9cbba5 Mon Sep 17 00:00:00 2001 +From: Marcin Wojdyr +Date: Sun, 17 Jan 2021 19:18:47 +0100 +Subject: [PATCH] allow building with wxGTK3 (closes #32) + +It works, but with some problems. + +The separator in wxSplitterWindow is not updated, as per: +http://trac.wxwidgets.org/ticket/16890 + +wxSpinCtrl is much wider (it has [+][-] instead of arrows) +--- + wxgui/app.cpp | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/wxgui/app.cpp b/wxgui/app.cpp +index 526c8f14..1041eccf 100644 +--- a/wxgui/app.cpp ++++ b/wxgui/app.cpp +@@ -8,11 +8,6 @@ + #include + #include + +-#ifdef __WXGTK3__ +-#error "Not everything is working with wxGTK3. Use default wxGTK instead, " \ +- "based on GTK+2. If you want to test it, just remove this #error." +-#endif +- + #include + #include + #include diff --git a/sci-visualization/fityk/fityk-1.3.1-r100.ebuild b/sci-visualization/fityk/fityk-1.3.1-r100.ebuild deleted file mode 100644 index 8a9af85ba44e..000000000000 --- a/sci-visualization/fityk/fityk-1.3.1-r100.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-{1..3} ) -WX_GTK_VER=3.0 - -inherit lua-single wxwidgets xdg - -DESCRIPTION="General-purpose nonlinear curve fitting and data analysis" -HOMEPAGE="https://fityk.nieto.pl/" -SRC_URI="https://github.com/wojdyr/${PN}/releases/download/v${PV}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="gnuplot nlopt readline wxwidgets" - -REQUIRED_USE="${LUA_REQUIRED_USE}" - -DEPEND=" - ${LUA_DEPS} - dev-libs/boost:= - >=sci-libs/xylib-1 - nlopt? ( sci-libs/nlopt ) - readline? ( sys-libs/readline:0= ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )" -RDEPEND="${DEPEND} - gnuplot? ( sci-visualization/gnuplot )" -BDEPEND="dev-lang/swig" - -src_configure() { - use wxwidgets && setup-wxwidgets - - econf \ - --disable-python \ - --disable-static \ - $(use_enable nlopt) \ - $(use_enable wxwidgets GUI) \ - $(use_with readline) \ - --with-wx-config="${WX_CONFIG}" -} - -src_install() { - default - - # no static archives - find "${ED}" -name '*.la' -delete || die -} diff --git a/sci-visualization/fityk/fityk-1.3.1-r101.ebuild b/sci-visualization/fityk/fityk-1.3.1-r101.ebuild new file mode 100644 index 000000000000..541fb7bba06b --- /dev/null +++ b/sci-visualization/fityk/fityk-1.3.1-r101.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..3} ) +WX_GTK_VER=3.0-gtk3 + +inherit lua-single wxwidgets xdg + +DESCRIPTION="General-purpose nonlinear curve fitting and data analysis" +HOMEPAGE="https://fityk.nieto.pl/" +SRC_URI="https://github.com/wojdyr/${PN}/releases/download/v${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="gnuplot nlopt readline wxwidgets" +REQUIRED_USE="${LUA_REQUIRED_USE}" + +DEPEND=" + ${LUA_DEPS} + dev-libs/boost:= + >=sci-libs/xylib-1 + nlopt? ( sci-libs/nlopt ) + readline? ( sys-libs/readline:0= ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER} )" +RDEPEND="${DEPEND} + gnuplot? ( sci-visualization/gnuplot )" +BDEPEND="dev-lang/swig" + +PATCHES=( + "${FILESDIR}"/${P}-fix-gtk3.patch + "${FILESDIR}"/${P}-c++17.patch # bug 787317 +) + +src_configure() { + use wxwidgets && setup-wxwidgets + + econf \ + --disable-python \ + --disable-static \ + $(use_enable nlopt) \ + $(use_enable wxwidgets GUI) \ + $(use_with readline) \ + --with-wx-config="${WX_CONFIG}" +} + +src_install() { + default + + # no static archives + find "${ED}" -name '*.la' -delete || die +} -- cgit v1.2.3-65-gdbad