# # spec file for package gsl (Version 1.9) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: gsl BuildRequires: blas latex2html Version: 1.9 Release: 77 License: GPL v2 or later # NOTE: The package is used (within the distro) by snd, yacas, perl-PDL, # Labplot and kst. The latter two are KDE4 apps which are GPLv2only due # to libqt4 being v2only. Thus we can not move to gsl-1.10 for now which # is GPL v3 or later. Group: Development/Libraries/C and C++ #Provides: AutoReqProv: on Summary: GNU Scientific Library Source: ftp://ftp.gnu.org/pub/gnu/gsl/gsl-%{version}.tar.bz2 Patch: gsl-1.6-initvars.diff Patch3: gsl-1.6-deps.dif Patch5: gsl-wrap.diff Url: http://www.gnu.org/software/gsl/ Prefix: /usr BuildRoot: %{_tmppath}/%{name}-%{version}-build %description The GNU Scientific Library (GSL) is a collection of routines for numerical computing. The routines are written from scratch by the GSL team in ANSI C and present a modern Applications Programming Interface (API) for C programmers, while allowing wrappers to be written for very high level languages. The library covers the following areas: Complex Numbers Roots of Polynomials Special Functions Vectors and Matrices Permutations Sorting BLAS Support Linear Algebra Eigensystems Fast Fourier Transforms Quadrature Random Numbers Quasi-Random Sequences Random Distributions Statistics Histograms N-Tuples Monte Carlo Integration Simulated Annealing Differential Equations Interpolation Numerical Differentiation Chebyshev Series Acceleration Approximation Discrete Hankel Root-Finding Minimization Transforms Least-Squares Fitting Physical Constants IEEE Floating-Point Authors: -------- Mark Galassi Jim Davies James Theiler Brian Gough Reid Priedhorsky Gerard Jungman Michael Booth Fabrice Rossi %package devel Summary: GNU Scientific Library - development files Group: Development/Libraries/C and C++ Requires: gsl = %{version} glibc-devel PreReq: %{install_info_prereq} %description devel This package contains the headers, static libraries and some documentation for GSL. The GNU Scientific Library (GSL) is a collection of routines for numerical computing. The routines are written from scratch by the GSL team in ANSI C, and present a modern Applications Programming Interface (API) for C programmers, while allowing wrappers to be written for very high level languages. The library covers the following areas, Complex Numbers Roots of Polynomials Special Functions Vectors and Matrices Permutations Sorting BLAS Support Linear Algebra Eigensystems Fast Fourier Transforms Quadrature Random Numbers Quasi-Random Sequences Random Distributions Statistics Histograms N-Tuples Monte Carlo Integration Simulated Annealing Differential Equations Interpolation Numerical Differentiation Chebyshev Series Acceleration Approximation Discrete Hankel Root-Finding Minimization Transforms Least-Squares Fitting Physical Constants IEEE Floating-Point Authors: -------- Mark Galassi Jim Davies James Theiler Brian Gough Reid Priedhorsky Gerard Jungman Michael Booth Fabrice Rossi %prep %setup %patch -p1 %patch3 -p0 %patch5 -p1 autoreconf -fi %build RPM_OPT_FLAGS=`echo "$RPM_OPT_FLAGS" | sed 's/-fstack-protector//'` %ifarch i386 i486 i586 i686 x86_64 # We could add -msse2 -mpfmath=sse here ... CFLAGS="$RPM_OPT_FLAGS -O3 -finline-limit=720 --param max-inline-insns-auto=160 -funroll-loops -fno-strict-aliasing -funit-at-a-time -ftree-vectorize -momit-leaf-frame-pointer" \ ./configure --enable-shared --with-gnu-ld \ --prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir} --libdir=%{_libdir} %else CFLAGS="$RPM_OPT_FLAGS -O3 -finline-limit=720 --param max-inline-insns-auto=160 -funroll-loops -fno-strict-aliasing -funit-at-a-time -ftree-vectorize" \ ./configure --enable-shared --with-gnu-ld \ --prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir} --libdir=%{_libdir} %endif make %{?jobs:-j%jobs} #make check # latex2html (dvips) is braindead in its rejection of '.' in a dir name cd .. mv %{name}-%{version} %{name} cd %{name}/doc texi2html -l2h -menu -split_chapter -glossary gsl-ref.texi cd ../.. mv %{name} %{name}-%{version} %check make check %install make install DESTDIR=$RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %{_libdir}/libgsl*.so.* /usr/bin/gsl-histogram /usr/bin/gsl-randist %doc %{_mandir}/man1/gsl-histogram.1.gz %doc %{_mandir}/man1/gsl-randist.1.gz %doc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO %files devel %defattr(-,root,root) /usr/include/gsl %{_libdir}/libgsl*.la %{_libdir}/libgsl*.so %{_libdir}/libgsl*.a %{_libdir}/pkgconfig/gsl.pc /usr/bin/gsl-config %doc doc/gsl-ref/gsl-ref*.html /usr/share/aclocal/gsl.m4 %doc %{_infodir}/gsl-ref* %doc %{_mandir}/man1/gsl-config.1.gz %doc %{_mandir}/man3/gsl.3.gz %post devel %install_info --info-dir=%{_infodir} %{_infodir}/gsl-ref.info.gz %postun devel %install_info_delete --info-dir=%{_infodir} %{_infodir}/gsl-ref.info.gz %clean rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_DIR/gsl-%{version} %changelog * Wed Nov 07 2007 - garloff@suse.de - disable -fstack-protector (we don't want it for HPC code) - avoid wrapping assumption sort testcase (gcc-4.3 fix) - move make check to %%check section - require gsl = %%{version} from -devel package - call install-info in -devel %%post/%%postun - add note on license * Mon Apr 16 2007 - dmueller@suse.de - run autoreconf - fix devel package requires - run ldconfig * Tue Mar 13 2007 - garloff@suse.de - Update to gsl-1.9: * Fixed the elliptic integrals F,E,P,D so that they have the correct behavior for phi > pi/2 and phi < 0. * New BFGS minimisation method gsl_multimin_fdfminimizer_vector_bfgs2 based on the algorithm given by R.Fletcher in "Practical Methods of Optimisation" (2nd ed). * Beta functions gsl_sf_beta_e(a,b) and gsl_sf_lnbeta_e(a,b) now handle negative arguments a,b. New function gsl_sf_lnbeta_sgn_e for computing magnitude and sign of negative beta values. * gsl_cheb_eval_mode now uses the same error estimate as gsl_cheb_eval_err. * Improved gsl_sf_legendre_sphPlm_e to avoid underflow with large arguments. * Added updated Knuth generator, gsl_rng_knuthran2002, from 9th printing of "The Art of Computer Programming". See http://www-cs-faculty.stanford.edu/~knuth/news02.htm * The functions gsl_multifit_fsolver_set, gsl_multifit_fdfsolver_set and gsl_multiroot_fsolver_set, gsl_multiroot_fdfsolver_set now have a const qualifier for the input vector x. * gsl_sf_expint_E2(x) now returns the correct value 1 for x==0, instead of NaN. * The gsl_ran_gamma function now uses the Marsaglia-Tsang fast gamma method of gsl_ran_gamma_mt by default. * The matrix and vector min/max functions now always propagate any NaNs in their input. * Prevented NaN occuring for extreme parameters in gsl_cdf_fdist_{P,Q}inv and gsl_cdf_beta_{P,Q}inv * Corrected error estimates for the angular reduction functions gsl_sf_angle_restrict_symm_err and gsl_sf_angle_restrict_pos_err. * Corrected an error in the higher digits of M_PI_4 (this was beyond the limit of double precision, so double precision results are not affected). * gsl_root_test_delta now always returns success if two iterates are the same, x1==x0. * A Japanese translation of the reference manual is now available from the GSL webpage at http://www.gnu.org/software/gsl/ thanks to Daisuke TOMINAGA. * Added new functions for basis splines, see the "Basis Splines" chapter in the GSL Reference Manual for details. * Added new functions for testing the sign of vectors and matrices, gsl_vector_ispos, gsl_vector_isneg, gsl_matrix_ispos and gsl_matrix_isneg. * Fixed a bug in gsl_sf_lnpoch_e and gsl_sf_lnpoch_sgn_e which caused the incorrect value 1.0 instead of 0.0 to be returned for x==0. * Fixed cancellation error in gsl_sf_laguerre_n for n > 1e7 so that larger arguments can be calculated without loss of precision. * Improved gsl_sf_zeta_e to return exactly zero for negative even integers, avoiding less accurate trigonometric reduction. * Fixed a bug in gsl_sf_zetam1_int_e where 0 was returned instead of -1 for negative even integer arguments. * When the differential equation solver gsl_odeiv_apply encounters a singularity it returns the step-size which caused the error code from the user-defined function, as opposed to leaving the step-size unchanged. * Added support for nonsymmetric eigensystems * Added Mathieu functions * Wed Feb 07 2007 - garloff@suse.de - -l2h and BuildRequire latex2html for formulas in manual (#242160). * Fri Nov 24 2006 - garloff@suse.de - -momit-leaf-frame-pointer was only enabled on x86_64 and i386; however, it should have been enabled on all ix86. Fixed. * Mon Oct 16 2006 - garloff@suse.de - Don't use -ffast-math any more (-ffast-math was enabled on x86, x86-64) as otherwise we get inexact (8e-8) results with latest compiler for log1p(1e-10), div by zero, SVD. * Fri Aug 25 2006 - garloff@suse.de - Update to gsl-1.8. - Enable make check in build process. * Mon Feb 20 2006 - stbinner@suse.de - make gsl-devel depend on gsl * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Mon Dec 19 2005 - garloff@suse.de - Split package into gsl and gsl-devel. - Update to gsl-1.7: * Various speedups, accuracy improvements and fixes. * Mon Apr 25 2005 - coolo@suse.de - fix library dependencies - at least needed for prelink * Mon Jan 31 2005 - ro@suse.de - adapted to texi2html changes * Thu Jan 20 2005 - garloff@suse.de - Remove -momit-frame-pointer from most archs, the compiler does not support it there. * Wed Jan 19 2005 - garloff@suse.de - Avoid uninitialized variables, and fix a size_t vs. unsigned int issue. - Update to gsl-1.6: * Wavelet functions * LQ decomposition * Various bugfixes and minor improvements (SYRK, HERK, swap_vectors, cheb_eval_n_err, sf_gamma_inc, cspline, akima, ode-initval, sf_psi_1, sf_expint_Ei_e, cdf_beta_X, eigen_jacobi, error stream flushes prior to abort). * Sat Aug 21 2004 - garloff@suse.de - Fix build on non-x86/x86-64 (no -monit-leaf-frame-pointer). - Allow parallel build. * Sun Aug 15 2004 - garloff@suse.de - Update to version 1.5. - More aggressive compiler optimization flags. * Tue May 18 2004 - ro@suse.de - use -fno-strict-aliasing * Wed Feb 25 2004 - stepan@suse.de - update to version 1.4 * Sat Jan 10 2004 - adrian@suse.de - add %%defattr * Tue May 27 2003 - ro@suse.de - add pkgconfig file to filelist * Wed Jan 15 2003 - garloff@suse.de - bzip2 sources * Wed Jan 15 2003 - garloff@suse.de - Update to gsl-1.3: * Fixed gsl_sf_coupling * exponential integral exp(-x)*Ei(x) * many bugfixes - Update to gsl-1.2: * new functions for combining permutations etc. * multiroot functions * dflt error handler outputs message before aborting * gsl_linalg_SV_decomp handles exact zeros now * unsymmetric tridiagonal solvers added * bugfixes - Update to gsl-1.1.1: * bugfixes - Update to gsl-1.1: * permutation copy function * gsl_sf_gamma_inc improved * IEEE handling of FP numbers tested in configure * gsl_histogram_sum * More physical constants (r_B, eps_0) * Knuth's random number generators * bugfixes * Fri Jul 05 2002 - kukuk@suse.de - Use %%ix86 macro * Wed May 08 2002 - garloff@suse.de - Fix %%lib64 issues - Remove -freduce-all-givs from compiler flags. * Mon Dec 10 2001 - garloff@suse.de - Creation of gsl-1.0 - Produce and install HTML docu