[fityk] updated to latest upstream version
nonamedotc
nonamedotc at fedoraproject.org
Sun Mar 9 04:15:14 UTC 2014
commit 5cb4e47e65a5567ec3a932937b4c9c7a91d3490b
Author: nonamedotc <nonamedotc at fedoraproject.org>
Date: Sat Mar 8 22:15:02 2014 -0600
updated to latest upstream version
- disabled using MPfit for now (removed bundling)
.gitignore | 1 +
fityk.spec | 87 +++++++++++++++++++++++++++++++++-------------------
remove-mpfit.patch | 65 ++++++++++++++++++++++++++++++++++++++
sources | 2 +-
4 files changed, 122 insertions(+), 33 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8c731e6..3b2818b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
fityk-0.8.8.tar.bz2
/fityk-0.9.4.tar.bz2
/fityk-0.9.8.tar.bz2
+/v1.2.1.tar.gz
diff --git a/fityk.spec b/fityk.spec
index a105f62..aa0768d 100644
--- a/fityk.spec
+++ b/fityk.spec
@@ -1,22 +1,26 @@
Name: fityk
Summary: Non-linear curve fitting and data analysis
-Version: 0.9.8
-Release: 7%{?dist}
+Version: 1.2.1
+Release: 1%{?dist}
+
+Source0: https://github.com/wojdyr/fityk/archive/v%{version}.tar.gz
+Patch0: remove-mpfit.patch
-Source0: https://github.com/downloads/wojdyr/fityk/%{name}-%{version}.tar.bz2
URL: http://fityk.nieto.pl/
License: GPLv2+
Group: Applications/Engineering
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
-BuildRequires: gcc-c++, readline-devel, ncurses-devel, desktop-file-utils
-BuildRequires: xylib-devel >= 0.6
-BuildRequires: boost-devel
-%if 0%{?mandriva_version}
-BuildRequires: libwxgtk2.8-devel >= 2.8.4
-%else
-BuildRequires: wxGTK-devel >= 2.8.4
-%endif
+BuildRequires: readline-devel >= 4.2
+BuildRequires: ncurses-devel
+BuildRequires: desktop-file-utils
+BuildRequires: xylib-devel
+BuildRequires: zlib-devel
+BuildRequires: boost-devel >= 1.35
+BuildRequires: wxGTK3-devel
+BuildRequires: lua-devel >= 5.1
+BuildRequires: libtool
+BuildRequires: swig
+BuildRequires: python-sphinx
Requires: gnuplot
@@ -37,31 +41,50 @@ use of %{name}, you will need to install %{name}-devel.
%prep
%setup -q
+%patch0 -p0
+
+#building against wxGTK3
+sed -i 's/\=wx-config/\=wx-config-3.0/' m4/wxwin.m4
+
+#disable MPfit
+rm -fr fityk/cmpfit fityk/CMPfit*
+sed -i 's/swig\/luarun.h \\/swig\/luarun.h/' fityk/Makefile.am
+sed -i '26d' fityk/Makefile.am
%build
+export CFLAGS="%{optflags}"
+autoreconf -iv
%configure --disable-xyconvert
+
# remove rpath
-sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
-sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
-make %{?_smp_mflags}
-
+#sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+#sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make V=1 %{?_smp_mflags}
+# make html doc
+pushd doc
+make html
+popd
+
%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" install
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+#make DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" install
+
+make install DESTDIR=%{buildroot}
+# get rid of libtool archives
+find %{buildroot} -name '*.la' -exec rm -f {} ';'
+find %{buildroot} -name '*.a' -exec rm -f {} ';'
+
+#rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
# SWIG bindings are not packaged, remove samples
-rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/samples/*.py*
-rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/samples/*.lua
-rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/samples/*.pl
+#rm -f %{buildroot}%{_datadir}/%{name}/samples/*.py*
+#rm -f %{buildroot}%{_datadir}/%{name}/samples/*.lua
+#rm -f %{buildroot}%{_datadir}/%{name}/samples/*.pl
-ln -s fityk.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/cfityk.1.gz
+#ln -s fityk.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/cfityk.1.gz
desktop-file-validate %{buildroot}/%{_datadir}/applications/fityk.desktop
-%clean
-rm -rf $RPM_BUILD_ROOT
-
%post
update-desktop-database &> /dev/null || :
update-mime-database %{_datadir}/mime &> /dev/null || :
@@ -73,15 +96,11 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
/sbin/ldconfig 2>/dev/null
%files
-%defattr(-,root,root)
%doc COPYING NEWS README TODO
%dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/samples
+%{_datadir}/%{name}/samples/
%{_bindir}/*
%{_datadir}/%{name}/html/
-%{_datadir}/%{name}/samples/README
-%{_datadir}/%{name}/samples/*.dat
-%{_datadir}/%{name}/samples/*.fit
%{_datadir}/applications/*.desktop
%{_libdir}/*.so.*
%{_mandir}/man1/*
@@ -95,6 +114,10 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/%{name}/samples/*.cc
%changelog
+* Fri Feb 28 2014 Mukundan Ragavan <nonamedotc at fedoraproject.org> - 1.2.1-1
+- updated to latest upstream version
+- disabled using MPfit for now (removed bundling)
+
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.9.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
@@ -131,7 +154,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
* Wed Jul 14 2010 Dan HorĂ¡k <dan at danny.cz> - 0.8.8-2
- rebuilt against wxGTK-2.8.11-2
-* Sat Aug 18 2009 Marcin Wojdyr <wojdyr at gmail.com> - 0.8.8-1
+* Tue Aug 18 2009 Marcin Wojdyr <wojdyr at gmail.com> - 0.8.8-1
- upstream license was changed from GPLv2 to GPLv2+
- install mime files and call update-mime-database
- use configure flag --with-samples to install samples
diff --git a/remove-mpfit.patch b/remove-mpfit.patch
new file mode 100644
index 0000000..23ff172
--- /dev/null
+++ b/remove-mpfit.patch
@@ -0,0 +1,65 @@
+--- fityk/fit.cpp.orig 2014-03-08 20:42:18.876972123 -0600
++++ fityk/fit.cpp 2014-03-08 20:43:43.824323999 -0600
+@@ -15,7 +15,6 @@
+ #include "settings.h"
+ #include "var.h"
+ #include "LMfit.h"
+-#include "CMPfit.h"
+ #include "GAfit.h"
+ #include "NMfit.h"
+ #include "NLfit.h"
+@@ -293,38 +292,6 @@
+ }
+ }
+
+-// similar to compute_derivatives(), but adjusted for MPFIT interface
+-void Fit::compute_derivatives_mp(const vector<realt> &A,
+- const vector<DataAndModel*>& dms,
+- double **derivs, double *deviates)
+-{
+- ++evaluations_;
+- F_->mgr.use_external_parameters(A);
+- int ntot = 0;
+- v_foreach (DataAndModel*, i, dms) {
+- ntot += compute_derivatives_mp_for(*i, ntot, derivs, deviates);
+- }
+-}
+-
+-int Fit::compute_derivatives_mp_for(const DataAndModel* dm, int offset,
+- double **derivs, double *deviates)
+-{
+- const Data* data = dm->data();
+- int n = data->get_n();
+- vector<realt> xx = data->get_xx();
+- vector<realt> yy(n, 0.);
+- const int dyn = na_+1;
+- vector<realt> dy_da(n*dyn, 0.);
+- dm->model()->compute_model_with_derivs(xx, yy, dy_da);
+- for (int i = 0; i != n; ++i)
+- deviates[offset+i] = (data->get_y(i) - yy[i]) / data->get_sigma(i);
+- for (int j = 0; j != na_; ++j)
+- if (derivs[j] != NULL)
+- for (int i = 0; i != n; ++i)
+- derivs[j][offset+i] = -dy_da[i*dyn+j] / data->get_sigma(i);
+- return n;
+-}
+-
+ // similar to compute_derivatives(), but adjusted for NLopt interface
+ realt Fit::compute_derivatives_nl(const vector<realt> &A,
+ const vector<DataAndModel*>& dms,
+@@ -682,7 +649,6 @@
+ {
+ // these methods correspond to fit_method_enum[]
+ methods_.push_back(new LMfit(F_, fit_method_enum[0]));
+- methods_.push_back(new MPfit(F_, fit_method_enum[1]));
+ methods_.push_back(new NMfit(F_, fit_method_enum[2]));
+ methods_.push_back(new GAfit(F_, fit_method_enum[3]));
+ #if HAVE_LIBNLOPT
+@@ -701,7 +667,6 @@
+ const char* FitMethodsContainer::full_method_names[][2] =
+ {
+ { "Levenberg-Marquardt", "gradient based method" },
+- { "MPFIT (another Lev-Mar)", "alternative Lev-Mar implementation" },
+ { "Nelder-Mead Simplex", "slow but simple and reliable method" },
+ { "Genetic Algorithm", "not really maintained" },
+ #if HAVE_LIBNLOPT
diff --git a/sources b/sources
index 1147b30..fa3d82f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-6316f6814cb896294f9bb2b1ab350c07 fityk-0.9.8.tar.bz2
+5650cb33d1fbc6aa73ca21405ccf1b78 v1.2.1.tar.gz
More information about the scm-commits
mailing list