and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
** Added an error check to trap multifit calls with fewer observations
than parameters. Previously calling the multifit routines with n<p
would cause invalid memory access.
** Added the Debye unit to physical constants.
** Added cumulative distribution functions for the discrete
distributions, including binomial, poisson, geometric, negative
binomial, pascal and hypergeometric.
** Added the functions gsl_cdf_beta_{Pinv,Qinv} and
gsl_cdf_fdist_{Pinv,Qinv} for computing the inverse of the cumulative
beta and F distributions.
** Added the multilinear fit estimator function gsl_multifit_linear_est
for computing model values and their errors.
** Avoid division by zero in gsl_multimin_fdfminimizer_vector_bfgs
if the step-size becomes too small.
** Users on DEC Alpha systems will need to specify their desired IEEE
arithmetic options via CFLAGS when building the library, as these are
no longer added automatically.
** Added new random variate generators gsl_ran_gaussian_ziggurat
and gsl_ran_gamma_mt for the Gaussian and Gamma distributions based on
the Marsaglia-Tsang ziggurat and fast gamma methods.
** Improved the speed of the exponential power distribution
gsl_ran_exppow.
** Improved the speed of the Gaussian ratio method by adding quadratic
bounds in gsl_ran_gaussian_ratio_method.
RECOMMENDED is removed. It becomes ABI_DEPENDS.
BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.
BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.
BUILDLINK_DEPENDS does not change.
IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".
Added to obsolete.mk checking for IGNORE_RECOMMENDED.
I did not manually go through and fix any aesthetic tab/spacing issues.
I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.
I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.
As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.
As discussed on tech-pkg.
I will commit to revbump, pkglint, pkg_install, createbuildlink separately.
Note that if you use wip, it will fail! I will commit to pkgsrc-wip
later (within day).
* What is new in gsl-1.7:
** Switched gsl_randist_binomial to use the faster binomial random
variate TPE algorithm by default. The previous binomial variate
algorithm is available as gsl_randist_binomial_knuth. This will
result in a different sequence of binomial variates in programs using
this function.
** Improved the algorithm for gsl_sf_elljac_e to avoid cancellation
errors near quarter periods.
** Fixed the branch selection in gsl_sf_gamma_inc_Q_e to avoid
inaccurate results for large a,x where x~=~a.
** The multilinear fitting functions now have forms which accept a
user-specified tolerance for the SVD cutoff and return the
corresponding effective rank of the design matrix.
** The quadratic solvers in poly/ now handle linear equations
gracefully (i.e. quadratrics with a leading coefficient of zero).
** The output of "make check" now only shows test failures by default,
to reduce the amount of output. Set the environment variable
GSL_TEST_VERBOSE=1 to display all the output. To assist debugging,
the test number of each failure is shown in square brackets at the
line-end [NNNN].
** Fixed bugs in gsl_linalg_SV_decomp_jacobi which caused
incorrect results for some input matrices.
** Bessel, coulomb, dilogarithm and legendre_H3d functions now use
hypot internally to avoid overflow when computing terms like
sqrt(1+x*x).
** The 'Usage' chapter of the reference manual now explains how to
handle deprecated functions using the GSL_DISABLE_DEPRECATED macro.
** The conflicting enum definitions for 'forward' and 'backward' in
gsl_ftt.h and gsl_wavelet.h are deprecated. User code should switch
to the new definitions gsl_fft_forward, gsl_fft_backward,
gsl_wavelet_forward and gsl_wavelet_backward. Selectively define
GSL_DISABLE_DEPRECATED before including the headers to use the new
definitions on either or both modules.
** Fixed an error in the the brent minimisation algorithm. Iterations
should now follow Brent's original description correctly.
** The bound coulomb function gsl_sf_hydrogenicR_e no longer reports
an underflow for exact zeroes of the wavefunction.
** gsl_linalg_SV_decomp_jacobi now reports an error for the
unimplemented case M<N correctly.
** Fixed conformance test for the SYRK and HERK blas functions
gsl_blas_{s,d,c,z}syrk and gsl_blas_{c,z}herk for non-square matrices.
** Configure now checks for presence of ieeefp.h if needed.
** Differential equation solvers now propagate error codes returned
from user-defined functions to the top-level in all cases.
** Sort functions now avoid an infinite loop if Nans are present in
the input vector. The order of nans in the output is undefined,
although other elements will be sorted correctly.
* Added a new wavelet directory, with 1-dimensional and 2-dimensional
discrete wavelet transforms.
* Added support for LQ and P^T LQ decompositions. To find the QR
decomposition of large systems (M>>N) use the LQ decomposition,
solving the transpose of the original system. This allows more
efficient memory access, and is useful for solving large least-squares
problems.
* Fixed a bug in the SYRK and HERK blas functions gsl_blas_{s,d,c,z}syrk
and gsl_blas_{c,z}herk which caused invalid memory access for non-square
matrices.
* Fixed a bug in gsl_swap_vectors which caused it to return incorrect
results when swapping vectors with different strides.
* Corrected the error estimate for gsl_cheb_eval_n_err to use
evaluation order instead of the approximation order.
* Improved the reliability of the gsl_sf_gamma_inc family of
functions.
* Equal abscissae are now handled gracefully in the cspline and
periodic cspline interpolations.
* Removed potential cancellation error in calculation of uniform
histogram ranges.
* Improved numerical stability of integration for akima and cspline
interpolation.
* Differential equation solvers now handle error codes returned from
user-defined functions.
* Improved error estimates in ode-initval solvers, and provide exact
derivatives on output. Added new semi-implicit ode-initval solver,
gsl_odeiv_step_rk2simp.
* Added missing function definition for gsl_sf_psi_1.
* Fixed the function gsl_sf_expint_Ei_scaled to call
gsl_sf_expint_Ei_scaled_e instead of gsl_sf_expint_Ei_e.
* Added cumulative distribution function for exponential power
distribution.
* The functions gsl_cdf_beta_P and gsl_cdf_beta_Q now return
consistent results of 0 or 1 for out of range values, x<0 and x>1,
rather than 0 for left and right tails simultaneously.
* The Jacobi eigensolvers gsl_eigen_jacobi and gsl_eigen_jacobi_invert
have new implementations from Golub and Van Loan.
* The standard output and standard error streams are now flushed by
the default error handler before the program aborts, in order to
ensure that error messages are properly displayed on some platforms.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
notable changes besides bugfixes are:
** Multifit routines now handle iterations where |f| is already
minimised to zero, without division by zero.
** Numerical derivatives should now be calculated using the
gsl_deriv_forward, gsl_deriv_central and gsl_deriv_backward functions,
which accept a step-size argument in addition to the position x. The
original gsl_diff functions (without the step-size) are deprecated.
** The tridiagonal matrix solvers gsl_linalg_solve_symm_tridiag,
gsl_linalg_solve_tridiag, gsl_linalg_solve_symm_cyc_tridiag,
gsl_linalg_solve_cyc_tridiag now use the GSL_ERROR macro to report
errors, instead of simply returning an error code. The arguments to
these functions must now use exact lengths with no additional
elements. For cyclic systems all vectors must be of length N, for
tridiagonal systems the offdiagonal elements must be of length N-1.
** The singular value decomposition routines gsl_linalg_SV_decomp and
gsl_linalg_SV_decomp_mod now handle the SVD of a column vector (N=1,
arbitrary M), which can occur in linear fitting.
** Added Stefan-Boltzmann constant and Thomson cross section to
physical constants
by moving the inclusion of buildlink3.mk files outside of the protected
region. This bug would be seen by users that have set PREFER_PKGSRC
or PREFER_NATIVE to non-default values.
BUILDLINK_PACKAGES should be ordered so that for any package in the
list, that package doesn't depend on any packages to the left of it
in the list. This ordering property is used to check for builtin
packages in the correct order. The problem was that including a
buildlink3.mk file for <pkg> correctly ensured that <pkg> was removed
from BUILDLINK_PACKAGES and appended to the end. However, since the
inclusion of any other buildlink3.mk files within that buildlink3.mk
was in a region that was protected against multiple inclusion, those
dependencies weren't also moved to the end of BUILDLINK_PACKAGES.
* What is new in gsl-1.4:
** Added cumulative distribution functions and their inverses for the
continuous random distributions including: gaussian, lognormal, gamma,
beta, cauchy, laplace, chisq, exponential, gumbel, weibull,
F-distribution, t-distribution, logistic, pareto and rayleigh.
** Added faster binomial random variates using the TPE rejection
algorithm, in the function gsl_randist_binomial_tpe.
** Added new functions gsl_rng_fwrite and gsl_rnd_fread for storing
the state of random number generators in a file.
** Added a new function gsl_combination_memcpy()
** Corrected values of electrical constants in CGS units. To take
account of different electrical systems of units the values are now
prefixed by GSL_CONST_MKSA (for the SI Metre, Kilogram, Second, Ampere
system) or GSL_CONST_CGSM (for the Centimetre, Gram, Second, Magnetic
system with the Gauss as the fundamental unit of magnetic field
strength). The previous GSL_CONST_MKS and GSL_CONST_CGS prefixes have
been removed, as have the permeability and permittivity constants in
the CGS system since this uses different defining equations.
** Fixed bugs in the random number generators gsl_rng_fishman18,
gsl_rng_fishman2x, and gsl_rng_knuthran2 which caused them to return
incorrect results. Minor corrections were made to the parameters in
the other Knuth generators borosh13, coveyou, fishman20, lecuyer21,
and waterman14.
** Fixed a missing transpose bug in the gsl_linalg_QR_QRsolve
and gsl_linalg_QRPT_QRsolve routines which were computing the
solution to Q^T R x = b instead of Q R x = b.
** Fixed gsl_sf_gammainv to return zero instead of a domain
error for arguments corresponding to singularities in gamma.
** Fixed a bug in the simplex minimization algorithm which
caused it to fail to find the second highest point correctly
when searching the set of simplex points.
** Fixed a bug in the conjugate gradient minimizers conjugate_pr,
conjugate_fr and vector_bgfs which caused the search
directions to be updated incorrectly.
** Fixed a bug in gsl_sf_psi_1_int(1) which caused it to
return the incorrect sign for psi(1,1).
** Fixed the simulated annealing routine gsl_siman_solve to use the
parameter iters_fixed_T for the number of iterations at fixed
temperature instead of n_tries.
** Fixed a bug in gsl_combination_valid which caused it to return the
incorrect status.
** Fixed a bug in gsl_permutation_canonical_to_linear which caused the
output to always be zero, and the input permutation to be incorrectly
replaced by the output.
** Fixed a bug is gsl_ran_discrete which could cause uninitialised
data to be returned for some distributions.
** Fixed the dependencies for gsl_chebyshev.h to include gsl_math.h.
** Fixed a bug in gsl_complex_arccsc_real which caused it to return
the incorrect sign for the imaginary part when -1<x<0.
** Fixed a bug in the QAWC Cauchy integration routine which could
allow the singularity to fall on an interval boundary, leading to
division by zero.
** Improved gsl_sf_gamma_inc_P(a,x) to avoid a domain error for x<<a
when a>10.
** Improved the accuracy of gsl_sf_coupling_3j for large arguments.
** Improved the performance of gsl_sf_choose(m,n) by separating the
calculations for small and large arguments.
** On platforms without IEEE comparisons gsl_{isnan,isinf,finite} will
fall back to the system versions of isnan, isinf and finite if
available.
** gsl_linalg_householder_hv now uses BLAS routines internally
** The script configure.in is now compatible with autoconf-2.50 and
later.
** Reduced the memory usage of the multifit algorithms from MxM to MxN
for large M by performing the QR decomposition of the Jacobian
in-place.
** IEEE modes now use the C99 fenv.h functions when platform spectific
functions are not available.
Changes since version 1.1.1 include:
* Addition of new functions
* Many bugfixes
* Homepage and distribution moved from sources.redhat.com to GNU.
See NEWS for more info.
* What is new in gsl-1.1.1:
** Fixes to histogram2d stat functions
** Added missing prototypes for complex LU determinant functions
** Improved error handling in multifit routines
** Added check to avoid division by zero for rank-deficient matrix in
multifit iteration
* What was new in gsl-1.1:
** The permutation module now includes a copy function
gsl_permutation_memcpy
** The implementation of gsl_sf_gamma_inc has been improved and now
avoids problems caused by internal singularities which occurred in the
series expansion for some combinations of parameters.
** IEEE comparisons of infinities and NaNs are tested during the
configure stage and the functions gsl_isnan, gsl_isinf and gsl_finite
are only compiled on platforms which support the necessary tests.
** The histogram routines now include a sum function,
gsl_histogram_sum for computing the total bin sum, and additional
statistics functions for 2d histograms.
** Internal error checking of user-defined functions has been improved
in the multiroots functions.
** Constants now include the Bohr Radius and Vacuum Permittivity.
** Range checking is now turned off when building the library, but is
still on by default when compiling user applications.
** A combinations directory has been added for generating combinations (n,k).
** The gamma function now returns exact values for integer arguments.
** Fixed bugs in gsl_sf_hyperg_1F1_int and gsl_sf_hyperg_1F1.
** Fixed internal error handling in gsl_sf_laguerre_n to allow
recovery from overflow.
** Several routines for handling divided difference polynomials have
been added to the poly/ directory.
** The interpolation routines now include polynomial interpolation,
based on divided-differences.
** Added new random number generators from Knuth's Seminumerical
Algorithms, 3rd Edition: borosh13, coveyou, fishman18, fishman20,
fishman2x, knuthran, knuthran2, lecuyer21, waterman14.
** Changed divisor in random number generator gfsr4 from 2^32-1 to
2^32 to prevent exact value of 1.0 from being returned, as specified
in the documentation.
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
removal of USE_GTEXINFO
INSTALL_INFO added to PLIST_SUBST
`${INSTALL_INFO}' replace `install-info' in target rules
print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
makeinfo command usage
See -newly added by this commit- section 10.24 of Packages.txt for
further information.
(uebayasi@soum.co.jp).
To quote from the PR:
Changes from the previous pkgsrc'ed version (0.9.0) are too many to write here, but five of them
picking them randomly :
* The single precision ffts now uses float throughout, rather than mixing float and double.
* Vector and matrix views are now compliant with the ANSI standard.
* Routines for complex LU decomposition are now available, allowing the solution of systems of
equations with complex coefficients.
* Reorganized the multmin functions to use the same interface as the other iterative solvers.
* Increased the maximum number of iterations in gsl_poly_complex_solve() from 30 to 60.
In addition, a buildlink.mk file was provided by Masao-san.
* What is new in gsl-0.9:
** There is a new system of vector and matrix views. Any code using
vector and matrix views will need to be updated.
** The order of arguments of the view functions involving strides have
been changed to be consistent with the rest of the library.
** The ode solvers have been reorganized.
** There are new eigensystem routines for real symmetric and complex
hermitian matrices.
** The linear algebra directory now includes functions for computing
symmetric tridiagonal decompositions and bidiagonal decompositions.
** The svd routines now include the Golub-Reinsch and Modified
Golub-Reinsch algorithms in addition to the Jacobi algorithm.
** The interpolation directory has been reorganized and a higher-level
"spline" interface has been added which simplifies the handling of
interpolation arguments.
** IEEE support is now available on OpenBSD.
* What is new in gsl-0.8:
** The build process now uses the latest libtool and automake
** The library should now compile with Microsoft Visual C++
** Portable versions of the isinf, isnan and finite functions are
available as gsl_isinf(x), gsl_isnan(x) and gsl_finite(x).
** The definitions of GSL_POSINF, GSL_NEGINF and GSL_NAN no longer
cause divisions by zero during compilation.
** The gsl_interp_obj has been renamed to gsl_interp
** The poly_eval and pow_int functions have been moved from the
specfunc directory to the poly and sys directories.
** The Chebyshev functions are now available as an independent module
in their own directory.
** The error handling conventions have been unified across the
library. This simplifies the use of the special functions.
** A full CBLAS implementation is now included for systems where ATLAS
has not been installed. The CBLAS library can also be used
independently of GSL. The organisation of the BLAS directories has been
simplified.
** IEEE support for HPUX-11, NetBSD, Apple Darwin and OS/2 are now
included.
** The library now includes implementations of log1p, expm1, hypot,
acosh, asinh, atanh for platforms which do not provide them.
** The convention for alloc and set functions has changed so that they
are orthogonal. After allocating an object it is now necessary to
initialize it.
** There is a new module for estimating numerical derivatives of functions
** There is a new module for handling data with ntuples
** The histogram lookup functions are now optimized for the case of
uniform bins, and include an inline binary search for speed.
** The Chebyschev coefficients for the QAWO algorithm are now
precomputed in a table for efficiency, rather than being computed on
the fly.
** There are several new sorting functions for selecting the k-th
smallest or largest elements of a dataset.
** Iterator functions are now available for permutations,
gsl_permutation_next and gsl_permutation_prev.
** The function gsl_complex_xy has been renamed gsl_complex_rect
** The API for simulated annealing has been changed to support search
spaces in which the points cannot be represented as contiguous-memory
data structures. gsl_siman_solve() now takes three extra arguments: a
copy constructor, a copy function and a destructor, allowing
gsl_siman_solve() to do its work with linked data structures. If all
three of these function pointers are NULL, then the traditioanl
approach of using malloc(), memcpy(), and free() with the element size
is used.
* What is new in gsl-0.7:
** Linux/PowerPC should now be well supported.
** Header files for common physical constants have been added.
** Functions linear and nonlinear regression in one or more dimensions
are now available.
** Vector and matrix views now have access to the address of the
underlying block for compatibility with VSIPL (www.vsipl.org).
** There is a new library for generating low-discrepancy quasi-random
sequences.
** The seeding procedure of the default random number generator
MT19937 has been updated to match the 10/99 release of the original
code. This fixes a weakness which occurred for seeds which were
powers of 2.
** The blas library libgslblasnative has been renamed libgslblas to avoid
confusion with system blas library