Sync from SUSE:ALP:Source:Standard:1.0 gsl revision 615882f8f9aecce5f8c9ff300efbd09c

This commit is contained in:
Adrian Schröter 2023-12-28 01:09:52 +01:00
commit ec576efc2c
10 changed files with 1394 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,73 @@
From 989a193268b963aa1047814f7f1402084fb7d859 Mon Sep 17 00:00:00 2001
From: Patrick Alken <alken@colorado.edu>
Date: Sat, 16 Apr 2022 11:56:10 -0600
Subject: fix for bug #59624
---
NEWS | 2 ++
statistics/quantiles.c | 1 +
statistics/quantiles_source.c | 35 +++++++++++++++++++++--------------
3 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/statistics/quantiles.c b/statistics/quantiles.c
index 96a3a25..50898d9 100644
--- a/statistics/quantiles.c
+++ b/statistics/quantiles.c
@@ -1,5 +1,6 @@
#include <config.h>
#include <gsl/gsl_statistics.h>
+#include <gsl/gsl_errno.h>
#define BASE_LONG_DOUBLE
#include "templates_on.h"
diff --git a/statistics/quantiles_source.c b/statistics/quantiles_source.c
index e2956d9..b2feba4 100644
--- a/statistics/quantiles_source.c
+++ b/statistics/quantiles_source.c
@@ -24,22 +24,29 @@ FUNCTION(gsl_stats,quantile_from_sorted_data) (const BASE sorted_data[],
const size_t n,
const double f)
{
- const double index = f * (n - 1) ;
- const size_t lhs = (int)index ;
- const double delta = index - lhs ;
- double result;
-
- if (n == 0)
- return 0.0 ;
-
- if (lhs == n - 1)
+ if ((f < 0.0) || (f > 1.0))
{
- result = sorted_data[lhs * stride] ;
+ GSL_ERROR_VAL ("invalid quantile fraction", GSL_EDOM, 0.0);
}
- else
+ else
{
- result = (1 - delta) * sorted_data[lhs * stride] + delta * sorted_data[(lhs + 1) * stride] ;
- }
+ const double index = f * (n - 1) ;
+ const size_t lhs = (int)index ;
+ const double delta = index - lhs ;
+ double result;
- return result ;
+ if (n == 0)
+ return 0.0 ;
+
+ if (lhs == n - 1)
+ {
+ result = sorted_data[lhs * stride] ;
+ }
+ else
+ {
+ result = (1 - delta) * sorted_data[lhs * stride] + delta * sorted_data[(lhs + 1) * stride] ;
+ }
+
+ return result ;
+ }
}
--
cgit v1.1

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>serial</package>
<package>gnu-hpc</package>
</multibuild>

BIN
gsl-2.7.1.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
gsl-2.7.1.tar.gz.sig Normal file

Binary file not shown.

35
gsl-disable-fma.patch Normal file
View File

@ -0,0 +1,35 @@
Index: gsl-1.15/configure.ac
===================================================================
--- gsl-1.15.orig/configure.ac
+++ gsl-1.15/configure.ac
@@ -381,6 +381,30 @@ AC_SUBST(HAVE_OPENBSD_IEEE_INTERFACE)
AC_SUBST(HAVE_DARWIN_IEEE_INTERFACE)
AC_SUBST(HAVE_DARWIN86_IEEE_INTERFACE)
+dnl check for compiler flags to disable use of FMA
+save_cflags="$CFLAGS"
+AC_CACHE_CHECK([for compiler flags to disable use of FMA], ac_cv_c_fma_flags,
+[
+if test X"$GCC" = Xyes; then
+ fma_flags='-ffp-contract=off'
+else
+ fma_flags=
+fi
+if test X"$fma_flags" != X; then
+ CFLAGS="$fma_flags $CFLAGS"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int
+foo;]])],[ac_cv_c_fma_flags="$fma_flags"],[ac_cv_c_fma_flags="none"])
+else
+ ac_cv_c_fma_flags="none"
+fi])
+
+if test "$ac_cv_c_fma_flags" != "none" ; then
+ CFLAGS="$ac_cv_c_fma_flags $save_cflags"
+else
+ CFLAGS="$save_cflags"
+fi
+
+
dnl Check for IEEE control flags
save_cflags="$CFLAGS"

View File

@ -0,0 +1,27 @@
--- integration/test.c.orig
+++ integration/test.c
@@ -1754,7 +1754,11 @@ int main (void)
gsl_test_rel(w->rlist[i],r[i],1e-14,"qawc(f459) rlist") ;
for (i = 0; i < 6 ; i++)
+#ifdef __i386__ /* x86 extra FPU precision hurts us here */
gsl_test_rel(w->elist[i],e[i],1e-4,"qawc(f459) elist") ;
+#else
+ gsl_test_rel(w->elist[i],e[i],1e-5,"qawc(f459) elist") ;
+#endif
for (i = 0; i < 6 ; i++)
gsl_test_int((int)w->order[i],order[i]-1,"qawc(f459) order");
--- configure.ac.orig
+++ configure.ac
@@ -87,7 +87,9 @@ AC_CANONICAL_HOST
dnl Checks for programs.
AC_LANG(C)
-AC_PROG_CC
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S

727
gsl.changes Normal file
View File

@ -0,0 +1,727 @@
-------------------------------------------------------------------
Mon Aug 28 11:27:15 UTC 2023 - Adam Majer <adam.majer@suse.de>
- 989a193268b963aa1047814f7f1402084fb7d859.patch: fix
stack out of bounds read in gsl_stats_quantile_from_sorted_data()
(bsc#1214681, CVE-2020-353570)
-------------------------------------------------------------------
Fri Feb 3 14:25:46 UTC 2023 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- update to gsl 2.7.1:
* update libtool version numbers
- update to gsl 2.7:
* fixed doc bug for gsl_histogram_min_bin (lhcsky at 163.com)
* fixed bug #60335 (spmatrix test failure, J. Lamb)
* fixed bug #36577
* clarified documentation on interpolation accelerators
(V. Krishnan)
* fixed bug #45521 (erroneous GSL_ERROR_NULL in ode-initval2,
thanks to M. Sitte)
* fixed doc bug #59758
* fixed bug #58202 (rstat median for n=5)
* added support for native C complex number types in gsl_complex
when using a C11 compiler
* upgraded to autoconf 2.71, automake 1.16.3, libtool 2.4.6
* updated exponential fitting example for nonlinear least squares
* added banded LU decomposition and solver (gsl_linalg_LU_band)
* New functions added to the library:
- gsl_matrix_norm1
- gsl_spmatrix_norm1
- gsl_matrix_complex_conjtrans_memcpy
- gsl_linalg_QL: decomp, unpack
- gsl_linalg_complex_QR_* (thanks to Christian Krueger)
- gsl_vector_sum
- gsl_matrix_scale_rows
- gsl_matrix_scale_columns
- gsl_multilarge_linear_matrix_ptr
- gsl_multilarge_linear_rhs_ptr
- gsl_spmatrix_dense_add (renamed from
gsl_spmatrix_add_to_dense)
- gsl_spmatrix_dense_sub
- gsl_linalg_cholesky_band: solvem, svxm, scale, scale_apply
- gsl_linalg_QR_UD: decomp, lssolve
- gsl_linalg_QR_UU: decomp, lssolve, QTvec
- gsl_linalg_QR_UZ: decomp
- gsl_multifit_linear_lcurvature
- gsl_spline2d_eval_extrap
* bug fix in checking vector lengths in gsl_vector_memcpy
(dieggsy@pm.me)
* made gsl_sf_legendre_array_index() inline and documented
gsl_sf_legendre_nlm()
- Drop no longer required gsl-rpmlintrc
-------------------------------------------------------------------
Tue May 24 20:48:30 UTC 2022 - Egbert Eich <eich@suse.com>
- Add gsl-rpmlintrc rule to ignore shlib name policy errors for HPC
packages (see this file for explanation) (bsc#1191757).
- Make doc package arch-independent.
-------------------------------------------------------------------
Fri May 14 13:31:41 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not own standard filesystem dir /usr/lib64/pkgconfig.
-------------------------------------------------------------------
Sat Feb 6 08:08:30 UTC 2021 - Egbert Eich <eich@suse.com>
- Add support for gcc8 and gcc9 builds for HPC (jsc#SLE-7766,
jsc#SLE-8604).
- Add build support for gcc10 to HPC build (bsc#1174439).
-------------------------------------------------------------------
Fri Nov 15 09:59:28 UTC 2019 - Christian Goll <cgoll@suse.com>
- module package must not be noarch, so that %{_lib} is expanded
correctly
-------------------------------------------------------------------
Wed Aug 21 18:55:31 UTC 2019 - Andreas Stieger <andreas.stieger@gmx.de>
- update to gsl 2.6: (jsc#SLE-8495)
* add BLAS calls for multiple functions
* Algorithm and implementation updates
* deprecation of multiple functions
* removal of multiple previously deprecated functions
* add binary search tree module (gsl_bst); based on GNU libavl
* remove -u flag to gsl-histogram
* updated spmatrix module
* add routines for banded Cholesky decomposition
- drop upstreamed patches:
* gsl-1.6-initvars.diff
* gsl-wrap.diff
* gsl-fsf_address.patch
-------------------------------------------------------------------
Thu Feb 14 09:00:22 UTC 2019 - adam.majer@suse.de
- mark examples as a noarch package
- install license for examples and remove unnecessary dependencies
-------------------------------------------------------------------
Wed Feb 13 08:51:31 UTC 2019 - Antoine Ginies <aginies@suse.com>
- add an examples sub package to test in production env
-------------------------------------------------------------------
Mon Feb 11 19:09:54 UTC 2019 - Egbert Eich <eich@suse.com>
- Simplify package naming for HPC.
- Fix dependencies for HPC.
- Library directory is always available when module file is
installed, do not hide it.
- Properly create and tear down default version links when the
HPC master packages are installed/uninstalled.
- Create pkgconfig file for gslcblas as well.
- Add missing env variables to modules file: MANPATH, INFOPATH,
PKG_CONFIG_PATH.
-------------------------------------------------------------------
Tue Oct 23 16:30:44 UTC 2018 - jjolly@suse.com
- Convert package to _multibuild
- Add HPC build macros and evironment modules
* (FATE#324138)
- Add master packages for libraries and devel package
- Remove BLAS build dependency
-------------------------------------------------------------------
Sat Jul 28 13:49:30 UTC 2018 - jengelh@inai.de
- Remove useless --with-pic only useful for static libs.
- Fix RPM groups, diversify summaries, trim long descriptions.
- Trim bias from descriptions.
-------------------------------------------------------------------
Tue Jun 26 07:07:15 UTC 2018 - adam.majer@suse.de
- updated license tags in spec file
-------------------------------------------------------------------
Fri Jun 15 07:58:16 UTC 2018 - astieger@suse.com
- gsl 2.5:
* doc bug fix in binomial distribution figure
* added Wishart distribution
* added new module for digital filtering (gsl_filter); current
filters include:
Gaussian filter
median filter
recursive median filter
impulse detection filter
* added new module for moving window statistics (gsl_movstat)
* added statistics functions:
gsl_stats_median()
gsl_stats_select()
gsl_stats_mad()
gsl_stats_mad0()
gsl_stats_Sn_from_sorted_data()
gsl_stats_Qn_from_sorted_data()
gsl_stats_gastwirth_from_sorted_data()
gsl_stats_trmean_from_sorted_data()
* added Romberg integration (gsl_integration_romberg)
* bug fix in deprecated functions gsl_multifit_wlinear_svd and
gsl_multifit_wlinear_usvd (reported by Vlad Koli)
* documention corrected to state that gsl_sf_legendre functions
do not include Condon-Shortley phase by default
* bug fix in exponential fitting example when using larger number
of points
* changed internal workspace inside gsl_spmatrix to a union to
avoid casting
* bug fixes in ode-initval2 for very rare solver crashing cases
* add histogram2d figure to manual
* bug fix in gsl_spmatrix_add for duplicate input arguments
* add support for negative arguments nu in gsl_sf_bessel_Jnu and
gsl_sf_bessel_Ynu (Konrad Griessinger)
* better texinfo documentation for gsl_sf_hyperg functions
* fix vector and matrix fread/fwrite testing on windows systems
when tmpfile() fails
- drop rstat_test.patch, is upstream
-------------------------------------------------------------------
Mon May 14 13:07:21 UTC 2018 - adam.majer@suse.de
- temporarily disable unit tests on i586 (boo#1092530)
-------------------------------------------------------------------
Tue Jun 20 08:26:18 UTC 2017 - adam.majer@suse.de
- rstat_test.patch - Fix rstat test on PPC platform
- re-enable multi-job support in unit tests (check make target)
-------------------------------------------------------------------
Mon Jun 19 14:11:18 UTC 2017 - adam.majer@suse.de
- Update to new upstream version 2.4:
* add const to declaration of appropriate gsl_rstat routines
* added routines for Hermite polynomials, gsl_sf_hermite_*
* added routines to compute integrals with fixed-point
quadrature, based on IQPACK
* added new nonlinear least squares example for fitting
a Gaussian to data
* deprecated routines:
gsl_sf_coupling_6j_INCORRECT
gsl_sf_coupling_6j_INCORRECT_e
* deprecated routine 'gsl_linalg_hessenberg' (replaced
by gsl_linalg_hessenberg_decomp)
* removed routines which were deprecated in v2.1:
gsl_bspline_deriv_alloc
gsl_bspline_deriv_free
* changed COD expression to Q R Z^T instead of Q R Z to
be consistent with standard texts
* added check for nz == 0 in gsl_spmatrix_get
* permit zero-dimension blocks, vectors, matrics, subvectors,
submatrices, and views of the above
* added routine gsl_linalg_COD_lssolve2 for regularized
least squares problems
- obsoletes patches:
* ppc_test_tolerence.patch
* fix_legendre_test.patch
- unit tests re-enabled
-------------------------------------------------------------------
Wed Jun 14 11:54:35 UTC 2017 - adam.majer@suse.de
- Update to test version 2.3.90.
-------------------------------------------------------------------
Thu May 18 08:57:35 UTC 2017 - adam.majer@suse.de
- Add unit test error logs to build logs when there is a failure
- ppc_test_tolerence.patch: Fix unit tests on PPC64 and PPC64LE
- fix_legendre_test.patch: Ignore part of failing unit test on i586
(boo#1030250)
-------------------------------------------------------------------
Fri Jan 6 09:31:46 UTC 2017 - mpluskal@suse.com
- Update to version 2.3:
* bug fix in documentation for gsl_linalg_LU_refine
* added gsl_multifit_linear_tsvd and gsl_multifit_wlinear_tsvd
* improved rstat example program and added documentation for
* added function gsl_multifit_linear_rank
* bug fix in nonlinear least squares when using data weights with
* add 2D subspace method for large systems (multilarge_nlinear)
* bug fix in gsl_ran_beta for small parameters
* bug fix in gsl_complex_tan for negative imaginary arguments
* doc bug fix: value of golden ratio
* fixed scaling issue in 2D subspace nonlinear least squares
method
* optimize dogleg methods to calculate Gauss-Newton point
only when needed
* reverted gsl_linalg_cholesky_decomp to its previous behavior
so it is backward compatible; new cholesky routine is
gsl_linalg_cholesky_decomp1
* updated gsl_linalg_cholesky_invert to use Level-2 BLAS
* added functions gsl_linalg_tri_*_invert for inverting
* fix GSL_EIGEN_SORT_VAL_{ASC,DESC} for nonsymmetric
* added complete orthogonal decomposition routines
* and many more - see ChangeLog for full list
- Drop upstreamed patches:
* gsl-disable-multifit-test.patch
* gsl-rstat-test-powerpc.patch
- Packaging changes:
* use https url's for download
* fetch keyring from savannah
-------------------------------------------------------------------
Fri Jul 29 11:08:14 UTC 2016 - adam.majer@suse.de
- Add missing Requires in -devel following package split
-------------------------------------------------------------------
Fri Jul 29 07:48:04 UTC 2016 - dmitry_r@opensuse.org
- Move gslcblas library to separate package [boo#991155]
-------------------------------------------------------------------
Sat Jun 18 20:39:30 UTC 2016 - dmitry_r@opensuse.org
- Update to version 2.1
* added gsl_multifit_linear_rcond() to compute reciprocal
condition number of least squares matrix
* added gsl_multilarge module for large linear least squares
systems
New in version 2.0
* added L-curve analysis routines for linear Tikhonov regression
* add running statistics module
* added bilinear and bicubic interpolation
* added function gsl_multifit_robust_residuals to compute robust
fit residuals
* added Steffen monotonic interpolation method
* added new nonlinear least squares solver 'lmniel' suitable for
systems with large numbers of data
* nonlinear least squares solver now tracks the number of function
Jacobian evaluations, see example program for details
* the 'fdf' field of gsl_multifit_function_fdf is now deprecated
and does not need to be specified for nonlinear least squares
problems
* added extensive test suite to nonlinear least squares module,
resulting in a few minor bug fixes; the routine
gsl_multifit_fdfsolver_driver has been rewritten (with API change)
to handle the various error codes of the lmsder iterate
routine, resulting in a high level caller which is highly robust
for a wide class of problems
* added support for sparse matrices, including a GMRES
iterative linear solver
* added routines gsl_linalg_givens and gsl_linalg_givens_gv
for Givens rotations
* added Tikhonov (ridge) regularization to least squares module
(linear and nonlinear)
* Drop obsolete gsl-sorting-complex-numbers.patch
- Disable multifit test for 32-bit systems
* gsl-disable-multifit-test.patch
- Fix build on PowerPC systems
* gsl-rstat-test-powerpc.patch
-------------------------------------------------------------------
Mon Jun 8 07:25:20 UTC 2015 - dimstar@opensuse.org
- Add gsl-sorting-complex-numbers.patch: fix in sorting of complex
numbers (http://savannah.gnu.org/bugs/?39055).
-------------------------------------------------------------------
Wed Feb 25 20:04:58 UTC 2015 - mpluskal@suse.com
- Cleanup spec file with spec-cleaner
- Add gpg keys
- Update dependencies
- Split documentation to separate package
- Run only one job for checks
-------------------------------------------------------------------
Sat Jul 19 14:23:59 UTC 2014 - jengelh@inai.de
- Utilize shared library package naming guidelines
(split gsl -> gsl,libgsl0)
- Set RPM groups
-------------------------------------------------------------------
Mon Sep 9 19:46:07 UTC 2013 - badshah400@gmail.com
- Update to version 1.16:
+ fixed error in gsl_rng_fwrite where uninitialized padding
bytes were being written (bug #39104)
+ fixed error in gsl_block_alloc where padding bytes were not
properly initialized (bugs #39101,#39102,#39103)
+ fixed error in ntuple/test.c where padding bytes were not
properly initialized (bug #39105)
+ fixed triangle selection bug in gsl_sf_coupling_6j_e and
gsl_sf_coupling_9j_e (bugs #39466 and #29606)
+ added higher level wrapper routine
gsl_multifit_fdfsolver_driver
+ converted gsl_multifit_linear_residuals to use dgemv to
improve efficiency (bug #39153)
+ added functions gsl_stats_spearman and gsl_sort_vector2 to
compute Spearman rank correlation
+ added function gsl_poly_dd_hermite_init for Hermite
interpolation
+ Added support for robust linear least squares
+ Added function gsl_linalg_SV_leverage for computing
statistical leverages from SVD decomposition
+ Added support for approximating the Jacobian of nonlinear least
squares fits using forward finite differences
+ Extended gsl_sf_coupling_3j to allow larger range and to
handle the special case (ja jb jc; 0 0 0)=0 when ja+jb+jc is
odd
+ Fixed gsl_sf_mathieu_se_array to return zero when the order is
zero [bug #33679]
+ Fixed overflow in gsl_sf_lncosh for large negative x (x<-354)
+ Improved gsl_ran_negative_binomial_pdf to avoid
underflow/overflow for large arguments
+ Multisets now allow k strictly greater than n
+ Fixed gsl_matrix_complex_fwrite/fread failure for
noncontiguous matrices
-------------------------------------------------------------------
Fri Jun 29 07:10:33 UTC 2012 - coolo@suse.com
- the buildrequire for specific gcc libraries seems unneeded (and broke)
-------------------------------------------------------------------
Wed Mar 28 18:16:16 CEST 2012 - pth@suse.de
- Remove the unneccessary -fno-strict-aliasing.
- Replace FSF address in headers by link to the FSF licenses web
page.
- prefix all patch files with a 'gsl-'
-------------------------------------------------------------------
Tue Feb 28 11:58:37 UTC 2012 - idonmez@suse.com
- Disable FMA support, see the following message for details:
http://lists.gnu.org/archive/html/bug-gsl/2011-11/msg00019.html
- Still disable %check on i586 because it fails.
-------------------------------------------------------------------
Sat Feb 4 17:19:18 UTC 2012 - jengelh@medozas.de
- Remove redundant tags/sections (see specfile guidelines)
- Parallel build with %_smp_mflags
-------------------------------------------------------------------
Sat Feb 4 17:13:11 UTC 2012 - jengelh@medozas.de
- Remove redundant tags/sections (see specfile guidelines)
-------------------------------------------------------------------
Sat Oct 15 04:47:13 UTC 2011 - coolo@suse.com
- add libtool as buildrequire to make the spec file more reliable
-------------------------------------------------------------------
Sat Oct 1 01:08:56 UTC 2011 - crrodriguez@opensuse.org
- Workaround qemu-arm bugs.
-------------------------------------------------------------------
Thu Sep 29 08:01:43 UTC 2011 - andrea.turrini@gmail.com
- Made descriptions in gls.spec more readable
-------------------------------------------------------------------
Sun Jul 17 10:18:18 UTC 2011 - badshah400@gmail.com
- Update to 1.15: New functions, improvements and bug-fixes; see
NEWS for full list
-------------------------------------------------------------------
Wed Dec 8 08:40:55 UTC 2010 - kkaempf@novell.com
- Update to 1.14
Bugfixes, improvements and new functions. See NEWS for full list.
-------------------------------------------------------------------
Mon Dec 6 13:51:36 UTC 2010 - kkaempf@novell.com
- Fix build on non-SUSE distros
-------------------------------------------------------------------
Mon Dec 6 10:30:41 UTC 2010 - kkaempf@novell.com
- Add pkg-config to BuildRequires so pkgconfig(gsl) gets created
as provides of the -devel package
-------------------------------------------------------------------
Thu Feb 11 17:47:24 CET 2010 - rguenther@suse.de
- Drop all fancy compile flags as long as we need -fno-strict-aliasing.
-------------------------------------------------------------------
Thu Jul 30 17:57:56 CEST 2009 - garloff@suse.de
- Run make check on all archs, relax precision for qawc elist on x86.
-------------------------------------------------------------------
Thu Jul 30 11:37:34 CEST 2009 - aj@suse.de
- Update to gsl-1.12:
* Many bugfixes (see NEWS for full list)
* Improvements: faster simplex mininimser gsl_multimin_fminimizer_nmsimplex2,
gsl_monte_vegas to avoid catastrophic cancellation,
* New functions: gsl_bspline_eval_deriv, new auxiliary functions
gsl_cheb_order, gsl_cheb_size, gsl_cheb_coeffs for Chebyshev series,
gsl_vector_complex_{isnonneg,add,sub,mul, div,scale,add_constant}
and gsl_matrix_complex_float_isnonn, gsl_linalg_cholesky_invert
-------------------------------------------------------------------
Tue Jul 28 15:16:32 CEST 2009 - aj@suse.de
- Fix build - disable html generation which fails.
-------------------------------------------------------------------
Wed Jan 14 00:09:09 CET 2009 - crrodriguez@suse.de
- remove static libraries and "la" files
-------------------------------------------------------------------
Fri Aug 22 23:08:44 CEST 2008 - garloff@suse.de
- Update to gsl-1.11:
* Bugfixes (underflow in ODE solver, overflow in
gsl_cdf_hypergeometric_{P,Q}, brent_minimiser)
* Improvements (asymptotic regime in gsl_sf_bessel_jl,
large arguments in cum. distr. functions using incomplete beta
function, missing error terms in gsl_sf_exp_mult_e10_e,
gsl_sf_hyperg_2F1 now handles x==1, gsl_ldexp and gsl_frexp,
gsl_multiroots_test_delta)
* Optimizations in gsl_ran_gaussian_ziggurat.
* New function gsl_multifit_linear_residuals.
* Updated some constants to match CODATA 2006 values.
- Update to gsl-1.10:
* The package license changed from GNU GPL v2 or later to
GNU GPL v3 or later!
* Support for generalized eigensystems.
* gsl_stats_correlation computes Pearson correlation of two data sets
* New functions: gsl_sf_expint(n,x), gsl_{vector,matrix}_isnonneg,
gsl_matrix_sub{row,column}
* Cholesky routines now handle complex matrices
* Many other improvements and additions, see NEWS for a detailed list.
-------------------------------------------------------------------
Wed Nov 7 11:29:55 CET 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 16:26:33 CEST 2007 - dmueller@suse.de
- run autoreconf
- fix devel package requires
- run ldconfig
-------------------------------------------------------------------
Tue Mar 13 09:16:30 CET 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 7 14:05:18 CET 2007 - garloff@suse.de
- -l2h and BuildRequire latex2html for formulas in manual (#242160).
-------------------------------------------------------------------
Fri Nov 24 00:39:14 CET 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 14:57:00 CEST 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 09:22:13 CEST 2006 - garloff@suse.de
- Update to gsl-1.8.
- Enable make check in build process.
-------------------------------------------------------------------
Mon Feb 20 12:35:06 CET 2006 - stbinner@suse.de
- make gsl-devel depend on gsl
-------------------------------------------------------------------
Wed Jan 25 21:36:21 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Mon Dec 19 17:37:38 CET 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 15:23:01 CEST 2005 - coolo@suse.de
- fix library dependencies - at least needed for prelink
-------------------------------------------------------------------
Mon Jan 31 15:32:11 CET 2005 - ro@suse.de
- adapted to texi2html changes
-------------------------------------------------------------------
Thu Jan 20 17:51:06 CET 2005 - garloff@suse.de
- Remove -momit-frame-pointer from most archs, the compiler does
not support it there.
-------------------------------------------------------------------
Wed Jan 19 16:20:37 CET 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 00:35:29 CEST 2004 - garloff@suse.de
- Fix build on non-x86/x86-64 (no -monit-leaf-frame-pointer).
- Allow parallel build.
-------------------------------------------------------------------
Sun Aug 15 01:10:10 CEST 2004 - garloff@suse.de
- Update to version 1.5.
- More aggressive compiler optimization flags.
-------------------------------------------------------------------
Tue May 18 02:18:06 CEST 2004 - ro@suse.de
- use -fno-strict-aliasing
-------------------------------------------------------------------
Wed Feb 25 15:17:21 CET 2004 - stepan@suse.de
- update to version 1.4
-------------------------------------------------------------------
Sat Jan 10 11:11:14 CET 2004 - adrian@suse.de
- add %defattr
-------------------------------------------------------------------
Tue May 27 14:30:02 CEST 2003 - ro@suse.de
- add pkgconfig file to filelist
-------------------------------------------------------------------
Wed Jan 15 23:16:40 CET 2003 - garloff@suse.de
- bzip2 sources
-------------------------------------------------------------------
Wed Jan 15 22:36:27 CET 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 5 10:25:04 CEST 2002 - kukuk@suse.de
- Use %ix86 macro
-------------------------------------------------------------------
Wed May 8 15:51:29 MEST 2002 - garloff@suse.de
- Fix %lib64 issues
- Remove -freduce-all-givs from compiler flags.
-------------------------------------------------------------------
Mon Dec 10 02:53:25 MET 2001 - garloff@suse.de
- Creation of gsl-1.0
- Produce and install HTML docu

64
gsl.keyring Normal file
View File

@ -0,0 +1,64 @@
Member GPG keyring of gsl group.
Note that this keyring is not intended for checking releases of that group.
Use Group Release Keyring instead.
GPG keys of Patrick Alken <psa>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.14 (GNU/Linux)
mQENBFGmV38BCADRYBJRUS5FRv7LSlSY296SULeUmcNPp9enRBhN/0obENtGVJcP
rspSylN4aQnCh7io3ESWDuKaz/1frqcpLdcPAqtN7qI+u522+DiBHAWnr0AdVLXP
xllmHCqdzpgWwadGsAZ0H/u31XlkERhDNUnIFnw5HhsF2mJWX/yytusERcQbz/Ue
MJMkwHW9n0htFCYkirV38nOmDJ843JmfMmregq2+E6MsDLXBc8L0kIPUIRzvm3sV
I4WrI/SCKzl9262kOFeZXyTQ/5pFQUnnkBrbP39UlXIztSt9d1P3INAjv+e1ZZ7C
0igHwndj+upJFROdfKO/UXYTMFgQ3zc6qbJ/ABEBAAG0IlBhdHJpY2sgQWxrZW4g
PGFsa2VuQGNvbG9yYWRvLmVkdT6JATgEEwECACIFAlGmV38CGwMGCwkIBwMCBhUI
AgkKCwQWAgMBAh4BAheAAAoJECRft0uuBbPpTvEH/0fiMqbKEsu66jNinMHdKQT5
YN9Vq0IZi+PTO0PATlJ/s3FaLXZJ+v6Ag8NsrwSDH+Wrh86rVYOYyJrR7N0Mn0mr
v6tBjjXx7n9MAzYZlizsvfQbm7Q2H5uJlM6AvfQRzSPG8nZGc3/+Xn6peefFwfpL
nRJ/Xah1geqyiTNg3uInpzF7QHD6Rg9kX54xKF2s7g5PtgNNJxjKuM2xHnF4rot7
UHE+S7dZ8qKmanlNwOhVXBI0EfDc3vK3D3JQmT6iI5pzE7huVKrGIxJXGS83zKLM
urxUWzZ1hKhabxbkmryOK3ii2lkVMNdKcWPfHmQyjsVZpaVw9EGuQo1s4MN6Ac25
AQ0EUaZXfwEIANRbLfjHVSZT0+IuRFRYNExWWOg/lY7/c7SD7Kqj5hFm6XWNXxRa
IX8XNZI8mmRhrZZ4hX4qYk0EpVNtTKTxr1cG9Qk+FlKC9embqBL7Noj0ZEJTozlD
t029xqW1G/trcqr2y0DKevfVzamhMgSHjmcEfscrcafYrYMxXASw/40Yiz/GWnDU
EqEZb8XC9zSUCfuowpfbXxGGLFW5tFkW6hfgebePIUdx9RDdCu2Iuqf0v+hkZ6CR
0vHp88aHdU/g6vRBrdwRZDd5wNOKvq1fMflvcsdf0RwOfuAwHWGcrAKs0nhqEYxj
H1P8BLxL1xfPvGfANW2UWSce7mvKFEEY9y8AEQEAAYkBHwQYAQIACQUCUaZXfwIb
DAAKCRAkX7dLrgWz6Ym2CACdH5EiDBPkDDjYa62r5gZ4Vel46jBSUcyni8Hq8wde
YmN0FXKDBrq5G53aQp7bOyGHyU3u4Whsc0TnIbnXvhKTklxVOfuUKZQw+SnGQkMK
apM30i5grtUKn5GJYFzX2GVhmCtIG7adtkvHiGXccWc9p6MFK4TRuRZ6Ut73i4l4
CpZ0eHbJMNtbHTI+9VNzgvYcUWqzDPFNOyQ1275g+cMYTCaLE2W/MHLNzUjZe5hf
3DFQjqea4ANCLyOh5IZNg5/v0KokCzz3Sruv4DQXxxWSF/jobifvFutjKqYDB4/c
8hqk0PFuiiZFESCwD7Okg9ydxG1DFhK7zyk2JRGHbmNG
=sAxL
-----END PGP PUBLIC KEY BLOCK-----
GPG keys of Mark Galassi <markgalassi>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.5 (GNU/Linux)
mQGiBD/DW3MRBADCrr99+LJsdSrzwylzYBxsBtzupegVOiVAz9tyVxj5BHquZ1m0
sM+wpPjNMdGMFi1SHYf6zT+agS3w7G2yQWK5lM7H7WxHK3FWCJvfl0tcDNRckuGM
1dAIObBgoCkmT+hhoCSZmq9CPLPCchhD9PnJB5F/35KIhoUCRjhJJ8DT5wCgrQS+
uI0W5FtW7SJOP+SKomqVARUD/jZwXHY2osZWyg+mPzVq7VHsNB/XOjjNSpQNQBPX
GimdMeMl8/cT61UuNG1HMSncUgbyYmKsMurbZJX7QNxwsBv4nxpgFe84ue8Wmx6b
rX7cXnXe7Fuc5QGuoqpWTjuObsI1NPHFzFU3crayoR5vim8kk/v5vk3SxAr2q5+2
JJTBA/9ErmWeb23JvknpMnFEse5+9tTeb+p4AiMaDszYkf+0Cuwc9gdMaV/p4cSD
LBl5uTHLx+eO9jiVbHLi/TIGP4Y5RT5/L4DoLPD2apWSCF54sEsmBFWcqU9TBnuN
EbfnqbQ/DQJfZ9r7ZmJrq6zscZgb4NM/Y4P/2VHDq51tytYUB7RUTWFyayBHYWxh
c3NpIChuZXcga2V5LCAyMDAzLTExLTI1LCBvdXRkYXRlcyBhbGwgbXkgb2xkZXIg
a2V5cykgPHJvc2FsaWFAZ2FsYXNzaS5vcmc+iGEEExECACEGCwkIBwMCAxUCAwMW
AgECHgECF4AFAj/DXhIFCQHj2R8ACgkQo20oKMcBfn8NqwCeLq2YquGNlVBf/Pmh
vDKiZ0YZSAAAniMxBxgjtttz5svJ36Xt5Kb1dE+7uQENBD/DW3QQBADkrCEOVxNS
COpmZqSqtfwxzRMgZuP4R32cPbsRnhPerGWeVZ6CLiKSKjFGZ1PiPcFs+EsPtcPa
dqQi2TPeDT9gZxyLMlIvaPVr4gmfT6yqsBT5LvrRjX/FsHDQsu4Bwtqob9VfAX67
j9+Hi4cBH5SAt5eqZt9gmTqZXGlqRTlJ0wADBQQAp0QjbeCwuobHSzfInhLSTEVX
HAhzHJTsCgb0CpHRFtmHibxFv+yLGFPb4RiOCUnIoiy3ba8cP0pNm+7bCwl6EEnM
cA/xValKkgUejV2kZ31SoisAcjZxhGveYGsyVFnyiU2qNpo1xWmDy7QKGh/FlV9q
Cz5zfwd7oMhV668SJhGIRgQYEQIABgUCP8NbdAAKCRCjbSgoxwF+fyq9AJ9GhslJ
ZBQXBtDtgFH6n+l74kOM4ACfUMcaVrcfOTdK1DIoFwIUywzjegg=
=j2pb
-----END PGP PUBLIC KEY BLOCK-----

438
gsl.spec Normal file
View File

@ -0,0 +1,438 @@
#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%define pname gsl
%define vers 2.7.1
%define _vers 2_7_1
%define lgsl_so_v 27
%define lgslcblas_so_v 0
%if "%{flavor}" == ""
ExclusiveArch: do_not_build
%define package_name %pname
%bcond_with hpc
%endif
%if "%{flavor}" == "serial"
%bcond_with hpc
%define manext .gz
%endif
%if "%{flavor}" == "gnu-hpc"
%define compiler_family gnu
%undefine c_f_ver
%define manext %{nil}
%bcond_without hpc
%endif
%if "%{flavor}" == "gnu6-hpc"
%define compiler_family gnu
%define c_f_ver 6
%define manext %{nil}
%bcond_without hpc
%endif
%if "%{flavor}" == "gnu7-hpc"
%define compiler_family gnu
%define c_f_ver 7
%define manext %{nil}
%bcond_without hpc
%endif
%if "%{flavor}" == "gnu8-hpc"
%define compiler_family gnu
%define c_f_ver 8
%define manext %{nil}
%bcond_without hpc
%endif
%if "%{flavor}" == "gnu9-hpc"
%define compiler_family gnu
%define c_f_ver 9
%define manext %{nil}
%bcond_without hpc
%endif
%if "%{flavor}" == "gnu10-hpc"
%define compiler_family gnu
%define c_f_ver 10
%define manext %{nil}
%bcond_without hpc
%endif
%if %{without hpc}
%if 0%{!?package_name:1}
%define package_name %{pname}
%endif
%define p_prefix %_prefix
%define p_includedir %_includedir/%pname
%define p_libdir %_libdir
%define p_bindir %_bindir
%define p_mandir %_mandir
%define p_datadir %_datadir
%define p_infodir %_infodir
%define num_threads 64
%define libname lib%{pname}%{lgsl_so_v}
%define libcblas lib%{pname}cblas%{lgslcblas_so_v}
%else
%{hpc_init -c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}}
%define package_name %{hpc_package_name %_vers}
%define p_prefix %hpc_prefix
%define p_includedir %hpc_includedir
%define p_libdir %hpc_libdir
%define p_bindir %hpc_bindir
%define p_mandir %hpc_mandir
%define p_datadir %hpc_datadir
%define p_infodir %hpc_infodir
%define num_threads 256
%define libname lib%{package_name}
%define libcblas lib%{pname}cblas%{hpc_package_name_tail %{_vers}}
%endif
Name: %{package_name}
Version: %{vers}
Release: 0
Summary: GNU Scientific Library
License: GPL-3.0-or-later
Group: Productivity/Scientific/Math
URL: https://www.gnu.org/software/%{pname}/
Source0: https://ftp.gnu.org/pub/gnu/%{pname}/%{pname}-%{version}.tar.gz
Source1: https://ftp.gnu.org/pub/gnu/%{pname}/%{pname}-%{version}.tar.gz.sig
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=gsl&download=1#/%{pname}.keyring
Patch6: gsl-qawc-test-x86-precision.diff
Patch7: gsl-disable-fma.patch
Patch8: 989a193268b963aa1047814f7f1402084fb7d859.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: pkgconfig
%if %{without hpc}
BuildRequires: update-alternatives
Requires(post): update-alternatives
Requires(preun):update-alternatives
%else
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires: lua-lmod
BuildRequires: suse-hpc
Requires: %{libname} = %version
%global dep_summary %{summary}
%endif
%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 an Applications Programming Interface
(API) for C programmers, while allowing wrappers to be written for very
high level languages.
%package -n %{libname}
Summary: GNU Scientific Library
Group: System/Libraries
%if %{with hpc}
%{hpc_requires}
BuildRequires: lua-lmod
Requires: %{name}-module = %version
%endif
%{?with_hpc:%{hpc_master_package}}
%description -n %{libname}
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 an 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 Approximation - Series Acceleration -
Discrete Hankel Transforms - Root-Finding - Minimization -
Least-Squares Fitting - Physical Constants - IEEE Floating-Point
%{?with_hpc:%{hpc_master_package -l -L}}
%package -n %{libcblas}
Summary: A standard C language APIs for BLAS from GNU Scientific Library
# file conflict, see boo#991155
Group: System/Libraries
Obsoletes: libgsl0
%if %{with hpc}
%{hpc_requires}
Requires: %{name}-module = %version
%endif
%description -n %{libcblas}
This library provides a native C interface to BLAS routines. This is part of
the GNU Scientific Library.
%{?with_hpc:%{hpc_master_package -L -l -n lib%{pname}cblas%{hpc_package_name_tail} -N %{pname}cblas}}
%package devel
Summary: Development files for the GNU Scientific Library
Group: Development/Libraries/C and C++
Requires: %{libcblas} = %{version}
Requires: %{libname} = %{version}
Requires(pre): %{install_info_prereq}
%{?with_hpc:%hpc_requires_devel}
%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 an Applications Programming Interface
(API) for C programmers, while allowing wrappers to be written for very
high level languages.
%{?with_hpc:%{hpc_master_package -L devel}}
%package doc
Summary: Documentation for the GNU Scientific Library
Group: Documentation/Other
Requires(post): %{install_info_prereq}
Requires(preun):%{install_info_prereq}
BuildArch: noarch
%description doc
This package contains 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 an Applications Programming Interface
(API) for C programmers, while allowing wrappers to be written for very
high level languages.
%{?with_hpc:%{hpc_master_package doc}}
%package examples
Summary: Examples for the GNU Scientific Library
Group: Documentation/Other
BuildArch: noarch
%description examples
This package contains examples for GSL
%if %{with hpc}
%package module
Summary: Module files for %{name}
# Package can not be noarch, as this will lead to the situation, so
# that sometimes 32bit rpm is used with %%{_lib}=lib or 64 bit, where
# %%{_lib}=lib64
Group: Development/Libraries/Parallel
%description module
This package contains the environment module needed for the GSL
library packages.
%endif
# module package only installed thru dependency. No master package
%prep
%setup -q -n %{pname}-%{version}
%patch6
%patch7 -p1
%patch8 -p1
%build
%if %{with hpc}
%hpc_debug
%hpc_setup
%endif
autoreconf -fiv
export CFLAGS="%{optflags}"
%if %{without hpc}
%configure \
%else
%hpc_configure \
%endif
--disable-static \
--enable-shared \
--with-gnu-ld
make %{?_smp_mflags}
%check
# On i586 this still fails
%ifarch %{ix86}
make %{?_smp_mflags} check || ( find -name \*.log -print -exec cat {} \; ; exit 0 )
%else
make %{?_smp_mflags} check || ( find -name \*.log -print -exec cat {} \; ; exit 1 )
%endif
# Clean up to package directory
make -C doc/examples clean
chmod a-x doc/examples/*
rm doc/examples/Makefile*
%install
%{?with_hpc:%hpc_setup}
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
rm -f %{buildroot}%{p_infodir}/dir
%if %{with hpc}
%{hpc_write_pkgconfig}
%{hpc_write_pkgconfig -n %{pname}cblas -l %{pname}cblas}
%hpc_write_modules_files
#%%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler toolchain."
puts stderr "\nVersion %{version}\n"
}
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
module-whatis "Version: %{version}"
module-whatis "Category: runtime library"
module-whatis "Description: %{SUMMARY}"
module-whatis "%{url}"
set version %{version}
prepend-path PATH %{hpc_bindir}
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
setenv %{hpc_upcase %pname}_BIN %{hpc_bindir}
setenv %{hpc_upcase %pname}_LIB %{hpc_libdir}
prepend-path LIBRARY_PATH %{hpc_libdir}
prepend-path MANPATH %{hpc_mandir}
prepend-path INFOPATH %{hpc_infodir}
if {[file isdirectory %{hpc_includedir}]} {
prepend-path CPATH %{hpc_includedir}
prepend-path C_INCLUDE_PATH %{hpc_includedir}
prepend-path CPLUS_INCLUDE_PATH %{hpc_includedir}
prepend-path INCLUDE %{hpc_includedir}
%hpc_modulefile_add_pkgconfig_path
setenv %{hpc_upcase %pname}_INC %{hpc_includedir}
}
family "%pname"
EOF
%endif
%if %{without hpc}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%post -n %{libcblas} -p /sbin/ldconfig
%postun -n %{libcblas} -p /sbin/ldconfig
%else
%post -n %{libname}
/sbin/ldconfig -N %{p_libdir}
%postun -n %{libname}
/sbin/ldconfig -N %{p_libdir}
%post -n %{libcblas}
/sbin/ldconfig -N %{p_libdir}
%postun -n %{libcblas}
/sbin/ldconfig -N %{p_libdir}
%postun -n %{name}-module
%hpc_module_delete_if_default
%endif
%if %{with hpc}
%files module
%hpc_modules_files
%endif
%files
%license COPYING
%{?with_hpc:%hpc_dirs}
%{?with_hpc:%dir %p_bindir}
%{p_bindir}/gsl-histogram
%{p_bindir}/gsl-randist
%{?with_hpc:%dir %{p_mandir}}
%{?with_hpc:%dir %{p_mandir}/man1}
%{p_mandir}/man1/gsl-histogram.1%{?manext}
%{p_mandir}/man1/gsl-randist.1%{?manext}
%files -n %{libname}
%{?with_hpc:%hpc_dirs}
%{?with_hpc:%dir %p_libdir}
%{p_libdir}/libgsl.so.*
%files -n %{libcblas}
%{?with_hpc:%hpc_dirs}
%{p_libdir}/libgslcblas.so.*
%files devel
%license COPYING
%{?with_hpc:%hpc_dirs}
%{p_includedir}
%{?with_hpc:%dir %{p_includedir}/gsl}
%{p_libdir}/libgsl*.so
%if %{without hpc}
%{p_libdir}/pkgconfig/gsl.pc
%else
%{hpc_pkgconfig_file}
%{hpc_pkgconfig_file -N -n %{pname}cblas}
%endif
%{p_bindir}/gsl-config
%{?with_hpc:%dir %p_datadir}
%dir %{p_datadir}/aclocal
%{p_datadir}/aclocal/gsl.m4
%{p_mandir}/man1/gsl-config.1%{?manext}
%{?with_hpc:%dir %{p_mandir}/man3}
%{p_mandir}/man3/gsl.3%{?manext}
%files examples
%doc doc/examples
%license COPYING
%files doc
%doc AUTHORS BUGS ChangeLog NEWS README THANKS TODO
%license COPYING
%if %{with hpc}
%dir %{hpc_install_path_base}
%dir %{hpc_install_path}
%dir %{p_infodir}
%endif
%{p_infodir}/gsl-ref*
%post doc
%install_info --info-dir=%{p_infodir} %{p_infodir}/gsl-ref.info%{ext_info}
%preun doc
%install_info_delete --info-dir=%{p_infodir} %{p_infodir}/gsl-ref.info%{ext_info}
%changelog