From ec576efc2cb8ba54a053401cfc8fbd0942eaf77d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 28 Dec 2023 01:09:52 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 gsl revision 615882f8f9aecce5f8c9ff300efbd09c --- .gitattributes | 23 + ...193268b963aa1047814f7f1402084fb7d859.patch | 73 ++ _multibuild | 4 + gsl-2.7.1.tar.gz | 3 + gsl-2.7.1.tar.gz.sig | Bin 0 -> 287 bytes gsl-disable-fma.patch | 35 + gsl-qawc-test-x86-precision.diff | 27 + gsl.changes | 727 ++++++++++++++++++ gsl.keyring | 64 ++ gsl.spec | 438 +++++++++++ 10 files changed, 1394 insertions(+) create mode 100644 .gitattributes create mode 100644 989a193268b963aa1047814f7f1402084fb7d859.patch create mode 100644 _multibuild create mode 100644 gsl-2.7.1.tar.gz create mode 100644 gsl-2.7.1.tar.gz.sig create mode 100644 gsl-disable-fma.patch create mode 100644 gsl-qawc-test-x86-precision.diff create mode 100644 gsl.changes create mode 100644 gsl.keyring create mode 100644 gsl.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/989a193268b963aa1047814f7f1402084fb7d859.patch b/989a193268b963aa1047814f7f1402084fb7d859.patch new file mode 100644 index 0000000..f09287c --- /dev/null +++ b/989a193268b963aa1047814f7f1402084fb7d859.patch @@ -0,0 +1,73 @@ +From 989a193268b963aa1047814f7f1402084fb7d859 Mon Sep 17 00:00:00 2001 +From: Patrick Alken +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 + #include ++#include + + #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 + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..96d0331 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + serial + gnu-hpc + diff --git a/gsl-2.7.1.tar.gz b/gsl-2.7.1.tar.gz new file mode 100644 index 0000000..a3f59d4 --- /dev/null +++ b/gsl-2.7.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b +size 7509209 diff --git a/gsl-2.7.1.tar.gz.sig b/gsl-2.7.1.tar.gz.sig new file mode 100644 index 0000000000000000000000000000000000000000..fcd4e4e1758f24198e52fd13305000efa29cb376 GIT binary patch literal 287 zcmV+)0pR|L0UQJX0RjL91p;BG2^9be2@oV-w@a=Cv*|T82mrWG1>P0k64ireH~zF{ zbS%n?s18TVvgBs5Y?ievP~QBK#7(Zkmej(S0VRQ!=5gmX0b1T~6!bhJ`#(bw8xQZ$ zicpdNmYe#~!f~gotG!Wt0G#(H^TMCK8yZSfB>{UB355RS;LD`rH{9YyZG*Gi+je-# z`KZILNa`jxF6>EQ1n{u>fyY(TioU>zLGdZqxBOuxqFfUPr6XQEy%zf>@J5Y(4pS6F z+V@6N4TX=y1<(o68T_jJNP_5L1mDhiptF7bTBc$YR@|#Qvt9SV|6DsA)1@{MdPgnb lfXu6Frlist[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 diff --git a/gsl.changes b/gsl.changes new file mode 100644 index 0000000..53bbc63 --- /dev/null +++ b/gsl.changes @@ -0,0 +1,727 @@ +------------------------------------------------------------------- +Mon Aug 28 11:27:15 UTC 2023 - Adam Majer + +- 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 + +- 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 + +- 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 + +- Do not own standard filesystem dir /usr/lib64/pkgconfig. + +------------------------------------------------------------------- +Sat Feb 6 08:08:30 UTC 2021 - Egbert Eich + +- 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 + +- module package must not be noarch, so that %{_lib} is expanded + correctly + +------------------------------------------------------------------- +Wed Aug 21 18:55:31 UTC 2019 - Andreas Stieger + +- 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 + +- add an examples sub package to test in production env + +------------------------------------------------------------------- +Mon Feb 11 19:09:54 UTC 2019 - Egbert Eich + +- 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 + diff --git a/gsl.keyring b/gsl.keyring new file mode 100644 index 0000000..e9c65c3 --- /dev/null +++ b/gsl.keyring @@ -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 +-----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 +-----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----- + diff --git a/gsl.spec b/gsl.spec new file mode 100644 index 0000000..df82d47 --- /dev/null +++ b/gsl.spec @@ -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