[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