summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuang Rui <vowstar@gmail.com>2021-06-15 11:41:08 +0200
committerDavid Seifert <soap@gentoo.org>2021-06-15 11:41:08 +0200
commite98aa992e96d09f114b7f5404ee6ee788a497b10 (patch)
tree1586dc257a1bbb857cf9a5daed1b9d2ebd091a87 /sci-visualization
parentdev-cpp/commoncpp2: remove 'static-libs' from IUSE (diff)
downloadgentoo-e98aa992e96d09f114b7f5404ee6ee788a497b10.tar.gz
gentoo-e98aa992e96d09f114b7f5404ee6ee788a497b10.tar.bz2
gentoo-e98aa992e96d09f114b7f5404ee6ee788a497b10.zip
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 <vowstar@gmail.com> Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-visualization')
-rw-r--r--sci-visualization/fityk/files/fityk-1.3.1-c++17.patch352
-rw-r--r--sci-visualization/fityk/files/fityk-1.3.1-fix-gtk3.patch31
-rw-r--r--sci-visualization/fityk/fityk-1.3.1-r101.ebuild (renamed from sci-visualization/fityk/fityk-1.3.1-r100.ebuild)10
3 files changed, 390 insertions, 3 deletions
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<Func*> Fityk::get_components(int dataset, char fz) throw(ExecuteError)
++vector<Func*> Fityk::get_components(int dataset, char fz)
+ {
+ const Model *model = priv_->dk.get_model(hd(priv_, dataset));
+ const vector<int>& 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<realt> Fityk::get_model_vector(vector<realt> const& x, int dataset)
+- throw(ExecuteError)
+ {
+ vector<realt> xx(x);
+ vector<realt> 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<realt> const& x,
+ vector<realt> const& y,
+ vector<realt> 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<Point> const& Fityk::get_data(int dataset) throw(ExecuteError)
++vector<Point> const& Fityk::get_data(int dataset)
+ {
+ static const vector<Point> 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<vector<realt> > Fityk::get_covariance_matrix(int dataset)
+- throw(ExecuteError)
+ {
+ try {
+ vector<Data*> 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<realt> const& x,
+ std::vector<realt> const& y,
+ std::vector<realt> 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<Point> const& get_data(int dataset=DEFAULT_DATASET)
+- throw(ExecuteError);
++ std::vector<Point> 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<Var*> 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<Func*> all_functions() const;
+@@ -295,17 +283,14 @@
+ const Func* get_function(const std::string& name) const;
+
+ /// returns %functions used in dataset
+- std::vector<Func*> get_components(int dataset=DEFAULT_DATASET, char fz='F')
+- throw(ExecuteError);
++ std::vector<Func*> 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<realt>
+- get_model_vector(std::vector<realt> const& x, int dataset=DEFAULT_DATASET)
+- throw(ExecuteError);
++ get_model_vector(std::vector<realt> 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<std::vector<realt> >
+- 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 <wojdyr@gmail.com>
+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 <wx/filesys.h>
+ #include <wx/tooltip.h>
+
+-#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 <stdio.h>
+ #include <stdlib.h>
+ #include <vector>
diff --git a/sci-visualization/fityk/fityk-1.3.1-r100.ebuild b/sci-visualization/fityk/fityk-1.3.1-r101.ebuild
index 8a9af85ba44e..541fb7bba06b 100644
--- a/sci-visualization/fityk/fityk-1.3.1-r100.ebuild
+++ b/sci-visualization/fityk/fityk-1.3.1-r101.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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
+WX_GTK_VER=3.0-gtk3
inherit lua-single wxwidgets xdg
@@ -16,7 +16,6 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="gnuplot nlopt readline wxwidgets"
-
REQUIRED_USE="${LUA_REQUIRED_USE}"
DEPEND="
@@ -30,6 +29,11 @@ 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