Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP4





Change Logs

* Wed Nov 10 2021 Stefan Brüns <>
- Update to version 7.7, for details see:
- Remove workarounds for gfortran 10/11
- Add 0001-Fix-utils-tofits-location-in-Fortran-GNUmakefile.patch
* Wed Jun 16 2021 Asterios Dramis <>
- Update to version 7.6:
  * C library
  - Bug fix in tabs2x() triggered for 1-dimensional coordinate
    lookup tables on axes > 1.  Reported by Mihai Cara.
  - In datfix(), don't return status 0 if no change was made (fix
    for change made at release 7.4).  Reported by Derek Homeier.
  - New function wcspcx() in the wcsfix suite regularizes the
    linear transformation component of a coordinate description
    to make it more human-readable.  It decomposes CDi_ja into
    PCi_ja and CDELTia in such a way that CDELTia forms
    meaningful scaling parameters, often leaving an orthogonal or
    near-orthogonal matrix.  Optionally, it can then permute rows
    of this matrix to unscramble axis permutations.
    A test header may be generated from wcspcx.keyrec for input
    to wcsware (not exercised as part of the standard test
  - New function wcstrim() frees memory allocated by wcsinit()
    for arrays in a wcsprm struct that remain unused after the
    struct has been set up.
  - New functions wcssize(), auxsize(), tabsize(), linsize(),
    dissize(), celsize(), prjsize(), spcsize(), and wcserr_size()
    compute the total size of the relevant structs, including
    allocated memory.
  - In the C test suite, inserted a brief pause in tprj2 and
    tspc, which otherwise have now become a blur.
  * Fortran wrappers
  - Added wrappers for wcspcx(), wcstrim(), wcssize(), auxsize(),
    tabsize(), linsize(), dissize(), celsize(), prjsize(),
    spcsize(), and wcserr_size().
  * Utilities
  - Added -c, -cp, -C, and -Cp options to wcsware to apply
    wcspcx() in a variety of ways, -m to apply wcstrim(), and -z
    to report the total size of the wcsprm struct with a
    breakdown of the sizes of its constituent structs.
  - Fixed compiler warnings for sundazel (portability issue).
  * Installation
  - Upped the required version of Flex to 2.6.0 (was 2.5.9).
    Problems with Flex 2.5.39 reported by Derek Homeier.
    Also added '--disable-flex' as a new configure option to
    force the use of the pre-generated Flex sources.
  From version 7.5:
  * The C code in WCSLIB is moving piecemeal to the C99 standard.
    In fact, various indispensible C99 constructs have been used in
    WCSLIB for many years: the long long int data type (in
    fitshdr() only); stdint.h, inttypes.h, and the use of PRI
    formatting control (in wcsprintf(), which is widely used by the
    library); and the C99-extended library function vsnprintf()
    (used by wcserr for a decade).  Flex-generated C code also uses
    C99 extensions, though with workarounds if they are not
    Except in the header prologues, which are formatted in a special
    way for generating the user manual, comments were changed en
    masse to C99 style in release 7.3.1, and variable declarations
    in code that I have occasion to modify will transition to the
    more general placement allowed by C99. However, there are no
    plans to use any of the more esoteric features of C99.
  * C library
  - New function, wcsccs(), changes the celestial coordinate
    system of a wcsprm struct, for example, from equatorial to
    galactic coordinates. The parameters that define the
    spherical coordinate transformation must be provided.  This
    allows WCSLIB to provide this functionality without needing
    to know anything about specific celestial coordinate systems,
    and has the advantage of making the routine completely
    general.  Requested by Mohammad Akhlaghi.
    Modified test program twcsfix also to test wcsccs().
  - Fixed a problem common to all of the Flex code (fitshdr,
    wcsbth, wcspih, wcsulex, and wcsutrn) that made it
    thread-unsafe.  Reported by Cyril Richard.
    Added a new test program, tpthreads, to test thread safety.
    It is only used for code development, and not exercised as
    part of the  standard test suite.
  - In fitshdr(), fixed a problem that potentially could arise on
    systems where sizeof(long long int) is greater than 8 (64
  * Fortran wrappers
  - Match changes to the C library: added a wrapper for wcsccs(),
    and modified twcsfix.f.
  - Because null addresses cannot be passed to functions in
    Fortran, wcssub_() now interprets *nsub == -1 && *axes == -1
    as a signal to do a deep copy of one wcsprm struct to
  * Utilities
  - New utility, sundazel, computes the local time of the Sun's
    passage through the specified apparent longitude or latitude
    in a user-defined coordinate system.  It can also perform
    several other Solar related calculations.  (It is unrelated
    to FITS WCS, and does not use WCSLIB.)
  * Installation
  - Added an 'uninstall' rule to the makefiles.  Suggested by
    Cyril Richard.
* Mon Mar 01 2021 Asterios Dramis <>
- Update to version 7.4:
  * C library
  - In wcshdo(), fixed a bug introduced in release 5.9 that
    potentially caused loss of numerical precision in the
    sprintf() formatting of floating point keyvalues. This was
    triggered when a large range of CRPIXja, PCi_ja, or CDELTia
    values (as three separate groups) were formatted using an 'f''
    format descriptor, the range not being so large that it would
    have forced wcshdo() to revert to 'E' format. Reported by
    Mohammad Akhlaghi.
    Also in wcshdo(), fixed a bug introduced in release 7.1 that
    caused the coefficients of the TPD distortion function not to
    be written to the header. TPD and Polynomial distortion
    function headers will now always include the DPja.DOCORR
    keyword. Reported by Derek Homeier with patch.
  - In wcsset(), fixed a segv generated in attempting to report a
    non-standard units string with wcserr message reporting
    disabled. Reported by Mohammad Akhlaghi.
    In wcsutrne(), allow 'Angstroms' and 'angstroms' as
    additional synonyms for 'Angstrom'.
  - In datfix(), ensure that 0 is returned if an informational
    message is set in wcsprm::err. Consequent on feedback
    independently from Mihai Cara and Bruce Merry.
    Clarified that informational messages may be set in
    wcsprm::err for returns of 0 from datfix(), obsfix(),
    unitfix(), and spcfix().
  * User manual
  - Added cautions about translating CDi_ja to PCi_ja plus
    CDELTia for those historical distortion functions (TPV, TNX,
    ZPX) that expect to operate on intermediate world
    coordinates, rather than intermediate pixel coordinates.
    Consequent on feedback from Mohammad Akhlaghi.
  - Documentation generation moved to doxygen 1.9.1 (was 1.8.19).
Version: 7.12-bp155.1.11
* Tue Oct 11 2022 Asterios Dramis <>
- Update to version 7.12:
  * C library
  - In wcsp2s() and wcss2p(), fixed handling of status returns
    from linp2x() and linx2p() relating to distortion functions,
    specifically with respect to setting the stat[] vector.
    Reported by Sepideh Eskandarlou (via Mohammad Akhlaghi).
  - When extracting by axis type, wcssub() did not account for
    the possibility of time axes with -TAB or -LOG algorithm
    codes. Reported by Mihai Cara.
  * Utilities
  - Fixed a bit of confusion in wcsgrid relating to cfitsio file
    opening syntax, e.g. file.fits+1.  It now matches wcsware in
    that regard.
  - Portability fix - need to define _POSIX_C_SOURCE as 199506L
    in order to get the declaration of localtime_r().  Reported
    by Marc Espie.
  * User manual
  - Documentation generation moved to doxygen 1.9.5 (was 1.9.3).
* Thu May 05 2022 Asterios Dramis <>
- Update to version 7.11:
  * C library
  - In tabini(), the default index array should contain a
    1-relative sequence: {1, 2,... N}.  Previously it was
  From version 7.10:
  * C library
  - In tabcpy(), collapse degenerate table index arrays if they
    are collapsed in the source struct.  Minor fix for output
    formatting in tabprt().
  - In the C test suite, added calls to wcstrim() in twcsfix to
    tidy the structs before printing.
  * Utilities
  - The default option in wcsware now trims the wcsprm struct
    before printing it.  Use the '-p' option to print the
    untrimmed struct.
  From version 7.9:
  * C library
  - In wcsset(), bug fix for identifying time coordinate axes.
    Reported by Mihai Cara with patch.
  From version 7.8:
  * C library
  - In wcssub(), bug fix for tabular coordinates that change axis
    number, thus requiring tabprm::map to be updated.  Reported
    by Mihai Cara with patch.
    Also in wcssub():
  - check that all axes of a multi-dimensional table are
    extracted together,
  - fixed potential memory leaks for tabular coordinate axes
    when an attempt to subimage non-separable axes fails,
  - the error messages for non-separable coordinate systems are
    generally more informative,
  - subimage extraction by coordinate type now recognises time
    coordinate axis types via WCSSUB_TIME.
  - wcsset() now identifies time coordinate axes in
  - Extended test program twcssub to test the above
  * Installation
  - Bug fix in the utils makefile for creating $(MANDIR)/man1.
    Reported by Aleksander Kurek.
  - Bug fix in the Fortran makefile for compiling and using
    'tofits'. Reported by Stefan Br�ns.
  * User manual
  - Documentation generation moved to doxygen 1.9.3 (was 1.9.1).
- Removed 0001-Fix-utils-tofits-location-in-Fortran-GNUmakefile.patch
  (fixed upstream).
- Don't use %configure macro for building i586 package (it makes
  tests fail).
Version: 7.3.1-bp153.1.7
* Tue Sep 01 2020 Dirk Mueller <>
- update to 7.3.1:
  * There are no functional changes in this release.
  - Changed all C code, including within the flex sources, Fortran and
    PGSBOX wrappers, and test suite, to use C99 style commenting (i.e.
    using //), excluding the header prologues used to generate the user
  - Documentation generation moved to doxygen 1.8.19 (was 1.8.18).
* Mon Jul 06 2020 Benjamin Greiner <>
- Update to version 7.3
  * C library
  - wcshdo() was writing MJD-OBS twice to the header, and
    MJD-BEG not at all.
  - In wcshdo(), if MJDREF assumes its default value, just write
    MJDREF = 0 (not MJDREFI & MJDREFF), and omit writing DATEREF,
    which, with a value of '1858-11-17', looks strange and is
    potentially confusing.  Reported by Thomas Robitaille.
    If the fractional part of MJDREF is zero, then just write the
    integer part as MJDREF (i.e. not as MJDREFI & MJDREFF).
  - Bug fix in wcsfix() - it was writing error messages that
    referred to DATE-REF and MJD-REF rather then DATEREF and
    MJDREF.  Reported by Mihai Cara.
  - Under control of a new flag, WCSHDR_DATEREF, added the option
    to wcspih() and wcsbth() to accept DATE-REF, MJD-REF,
    MJD-REFI, MJD-REFF, JDREF, JD-REFI, and JD-REFF as synonyms
    for the standard keywords, DATEREF, MJDREF, MJDREFI, MJDREFF,
    JDREF, JDREFI, and JDREFF.  The latter buck the pattern set
    by the other date keywords ({DATE,MJD}-{OBS,BEG,AVG,END}),
    thereby increasing the potential for confusion and error.
  * Fortran wrappers
  - As compilers are becoming much stricter (gfortran 10),
    modified all Fortran test programs to use the type-specific
    equivalents of the various *PUT and *GET routines.
    Reported by Ole Streicher.
  - For the fitshdr wrappers, added type-specific equivalents
  - Modified pgtest to use the type-specific equivalents of
  * User manual
  - In the section "WCSLIB Fortran wrappers", promoted use of
    the type-specific equivalents of the various *PUT and *GET
  - In the section "FITS-WCS and related software", added ASCL
    and ADS codes, where they exist, for all software packages
  - Documentation generation moved to doxygen 1.8.18
    (was 1.8.17).
- Allow fortran argument mismatches in rank and type to pass the
* Tue Jun 02 2020 Asterios Dramis <>
- Update to version 7.2:
  * C library
  - In wcssub(), fixed a bug relating to handling coordinate
    lookup tables.  Reported by Mihai Cara with fix.
    Also increased the number of coordinate axes handled from
    10 to 32.
  * Installation
  - New configure option, --disable-shared, defeats generation
    of the sharable library.
  Version 7.1:
    Changes in the contents of the wcsprm struct necessitated
    incrementing the major version number from 6 to 7 (i.e. the
    ABI changed).
  * C library
  - In wcsset(), set wcsprm::mjdref[] to zero if neither it nor
    wcsprm::dateref are defined, as per the standard.  Reported
    by Thomas Robitaille.
    wcsset() now also checks that the number of coordinate axes
    does not exceed 32.
  - In tabs2x(), fixed an out-of-bounds array access produced
    by invalid world coordinates.  Reported by Mihai Cara and
    Michael Seifert.
    In tab.c, declare static three helper functions, tabedge(),
    tabrow(), and tabvox(), used by tabs2x().  Increased the
    number of coordinate axes handled by tabvox() from 16 to
  - Extended datfix() to handle MJDREF/DATEREF, overlooked in
    the changes in release 6.1.  Also fixed the handling of
    MJD < 0.
  - Support Solar keywords RSUN_REF, DSUN_OBS, CRLN_OBS,
    CRLT_OBS, HGLN_OBS, and HGLT_OBS by accomodating them
    within an auxiliary struct, auxprm, within the wcsprm
    struct.  Now filled by the header parsers, wcspih() and
    wcsbth() and handled routinely by wcsinit(), wcssub(),
    wcscompare(), wcsfree(), wcsprt(), wcsset(), and wcshdo().
    Requested by Stuart Mumford (SunPy) with input from Bill
  - Bug fix in wcsprintf_set() for resetting the output
    Reported by Mihai Cara with patch.
  - In dis.{h,c}, the DOCORR record is now handled as a
    first-class value via disprm::docorr.  This required
    changing the struct.
  - In cel.c, spc.c, wcserr.c, wcsfix.c, wcshdr.c, and
    wcsutil.c, quelled compiler warnings from gcc 9.2.0
    generated by
  - Wmaybe-uninitialized and -Wstringop-truncation (via
  - Wall).
    Similarly for various programs in the test suite.
  - In various functions, quelled warnings from the Microsoft
    Visual C++ compiler, mostly relating to pointer arithmetic.
    Reported by Michael Seifert.
  * Fortran wrappers
  - Handled compiler warnings from gcc 9.2.0 generated by
  - Wstringop-truncation (via -Wall).
  - Minor enhancements to character argument handling,
    including, in prjget_(), blank-filling the returned strings
    matching PRJ_CODE and PRJ_NAME, and likewise for SPC_TYPE
    and SPC_CODE in spcget_().
  * Utilities
  - In wcsgrid, handled compiler warnings from gcc 9.2.0
    generated by -Wstringop-truncation (via -Wall).
  * User manual
  - In the section on "FITS-WCS and related software", added
    mention of the R wrappers (Rwcs).  Suggested by Aaron
  - Added a new section detailing the limit on the number of
    image axes that WCSLIB can handle (currently 32), and how
    this could be increased if needed.  Prompted by Thomas
  - Augmented the section on the Fortran wrappers, particularly
    with respect to character string handling in argument
  - Documentation generation moved to doxygen 1.8.17 (was
* Sun Nov 10 2019 Stefan Brüns <>
- Update to version 6.4 (2019/08/15):
  * Installation
  - The rule change to the Fortran makefile in v6.3 to add getwcstab_f.o
    to the sharable library causes it to depend on CFITSIO to resolve
    fits_get_wcstab().  Hence backed out of that change.
  * User manual
  - Documentation generation moved to doxygen 1.8.16 (was 1.8.14).
- Update to version 6.3 (2019/07/12)
  * C library
  - Fixed the Polynomial and TPD distortions so that, as stipulated in
    WCS Paper IV, they are now considered to return an additive
    correction to be applied to the given coordinates, rather than the
    corrected coordinates themselves.
    Added a new subsection to the prologue of dis.h entitled 'Historical
    idiosyncrasies', which discusses this issue and other vagueries.
    Amended components of the test suite accordingly: SIPTPV.keyrec,
    TPV7.keyrec, and tdis1.c.
  - Fixed memory leaks and other potential problems that arose in the
    wcserr system consequent on changes made in release 6.1.
    Memory allocated by wcsfixi() for messages in the array of wcserr
    structs must now be freed by the caller.  Amended twcsfix.c
  - Plugged memory leaks arising in disset().
  - New function wcsdealloc() provided to free memory allocated within
    certain WCSLIB routines.  Suggested by David Motl.
  - Eliminated a swag of inconsequential compiler warnings, particularly
    those emanating from the flex sources.
  * Validation
  - The library, Fortran wrappers, utilities, and test programs now pass
    runtime analysis using -fsanitize=address and -fsanitize=undefined
    in gcc 8.3.0, in addition to valgrind.  Also compile-time strictures
    using -std=c99, -pedantic, -Wall, -Wextra, and -DFORTIFY_SOURCE=2.
    Prompted by feedback from Ole Streicher.
  * Installation
  - The non-graphical tests now run reliably in parallel builds
    (make CHECK=nopgplot -j8 check).  Requested by Mohammed Akhlaghi.
    The graphical tests can also be run in parallel, but as PGPLOT can
    only handle one stream at a time, some graphics are likely to be
    lost.  Nevertheless, it is a useful option, especially with runtime
    analysis via -fsanitize=address, etc.
  - As CFITSIO doesn't provide a Fortran wrapper for fits_read_wcstab(),
    getwcstab_f.o is now always included in the WCSLIB object library
    and sharable library if CFITSIO is available (and the WCSLIB Fortran
    wrappers are required).  Use 'configure --without-cfitsio' to
    defeat this.
  - Tidied up some aspects of the build where CFITSIO is not available.
  * User manual
  - Fixed minor formatting problems in dis.h.
* Mon Dec 03 2018 Asterios Dramis <>
- Update to version 6.2:
  * C library
  - Consequent on the change in release 6.1, reapplied soothing
    balm to the wtbarr struct definition in wcs.h for C++
    compilation (C and Fortran compilation being unaffected).
    While the object libraries themselves are unchanged, the
    modified wcs.h must be installed for compiling C++
  * User manual
  - Fixed minor formatting problems with the doxygen manual
  From version 6.1:
  * C library
  - Added support for time-related WCS keywords (Paper VII) by
    expanding the wcsprm struct to store them as auxiliary
    values, now filled by the header parsers, wcspih() and
    wcsbth() and handled routinely by wcsinit(), wcssub(),
    wcscompare(), wcsfree(), wcsprt(), wcsset(), and wcshdo().
  - Augmented datfix() to do various consistency checks on the
    new time-related keyvalues, and added a new routine,
    obsfix(), to check consistency of the OBSGEO-[XYZLBH]
    observatory coordinates.
  - In the usage notes for wcsbth(), clarified that, according to
    WCS Papers III and VII, certain global image header keywords
    are permitted in binary table headers and are expected to be
    inherited by image arrays and pixel lists, and elaborated on
    the difficulties that such inheritance may cause for pixel
  - Revamped message string handling in the wcserr module to
    allow arbitrarily long messages while greatly reducing the
    sizeof the struct.
  - Extracted the definition of the wtbarr struct from wcs.h to a
    separate header file, wtbarr.h, in order to reduce the number
    of irrelevant warnings generated by 'gcc -Wpadded' (primarily
    for code development).  Applications code that needs to
    access members of the struct (unlikely) must now include
    wtbarr.h (or wcslib.h).
  - The WCSLIB major version number was incremented as changes to
    the wcsprm struct makes the ABI of the sharable library
    incompatible with executables linked with that of older
  * Installation
  - Several changes to configure and the makefiles aimed at
    facilitating code development.
  * Fortran wrappers
  - Match changes to the C library, including adding a wrapper
    for obsfix().
  From version 5.20:
  * C library
  - Added utility functions dpkeyi() and dpkeyd() to dis.c, and
    removed the corresponding functions from wcsutil.c.
  * Installation
  - Reworked the makefiles to allow parallel library builds, as
    required by some software distributions. (Parallel execution
    of the test suite is not supported.)
  - The introduction of "deterministic" archiving (ar(1)) broke
    dependency analysis in the WCSLIB makefiles on the many
    systems where it is now enabled by default (i.e. binutils
    configured with --enable-deterministic-archives).
    Modified configure to force non-deterministic archiving
    during the library builds, thus repairing the dependency
    analysis.  However, the static object libraries are now
    reconstructed using deterministic archiving in the process of
    installing them.
  - Fixed problems with the dependency analysis, solely affecting
    code development.
  * Fortran wrappers
  - New wrappers for dpkeyi() and dpkeyd().
  From version 5.19.1:
  * Installation
  - Updated ./config/config.{guess,sub} to the latest versions
    from the GIT repository, timestamped 2018-07-18 and
    2018-07-25, respectively. The previous pair were dated
    2012-02-10 and 2012-04-18.
  From version 5.19:
  * C library
  - In wcssub(), fixed a bug in handling distortion functions on
    axes with changed axis number in the subimage (i.e. via
    deletion or addition of an axis).
  - In various routines within dis.c, wcs.c, wcshdr.c, and
    wcspih.l, increased the size of various sprintf() output
    buffers to avert -Wformat-overflow warnings from gcc 8.1.0
    (with -DFORTIFY_SOURCE=2).
    Also fixed other warnings in these routines from gcc 8.1.0
    relating to -Wcast-function-type, -Wmaybe-uninitialized, and
  - Wunused-parameter.
  - In wcsutrn.l (the units alias translator used by wcsfix),
    recognise 'Deg', 'Degree', and 'Degrees' as aliases for
  - Added a note to the prologue of spx.h explaining WCSLIB's use
    of Cox's air-to-vacuum transformation equation rather than
    the IUGG relation cited in WCS Paper III.
  - In the test suite, avert nuisance compiler warnings in tdis1.
    Made tsphdpa more robust in handling user coordinate input.
  - In pgwcsl_(), avert nuisance warnings from gcc 8.1.0 relating
    to unused parameters (-Wunused-parameter).  Also averted
    nuisance compiler warnings in cpgtest.
  * Utilities
  - wcsware was not reading the -TAB table from the FITS file for
    alternate descriptions. Nor was wcsfix() ever invoked for
    Made it more robust in handling user input of coordinates for
    the -x and -w options.
  - Fixed compiler warnings from gcc 8.1.0 in HPXcvt
    (-Wmaybe-uninitialized), and wcsgrid (-Wformat-overflow).
  * Installation
  - Amended to allow cross-compilation, and also
    updated the auxiliary configure scripts in the config/
Version: 5.18-bp150.2.4
* Fri Feb 09 2018
- Update to version 5.18:
  * C library
  - New routines introduced to preclude altering the global
    variables NPVMAX, NPSMAX, and NDPMAX, which determine how
    much memory to allocate for storing PVi_ma, PSi_ma, DPja, and
    DQia keyvalues: wcsinit(), lininit(), lindist(), and
    disinit().  These are now used by various WCSLIB routines,
    such as the header parsers, which previously temporarily
    altered the global variables, thus posing a thread hazard.
  - The Flex scanners, fitshdr(), wcsbth(), wcspih(), wcsulexe(),
    and wcsutrne(), have been rewritten as thin wrappers (with
    the same API) over scanners that were modified (with changed
    API) as required to use Flex's "reentrant" option.
    Consequently, they are now reentrant and should be
    thread-safe.  That also passes through to the deprecated
    wrappers, wcsulex() and wcsutrn().
  - Fixed memory leaks in lindist() and lincpy() uncovered by
  - Test programs tfitshdr, tpih1, tpih2, and ttab3 are now
    careful to free all allocated memory before exit to defeat
    spurious reports of memory leaks by valgrind.
  * Fortran wrappers
  - New wrappers for wcsinit(), lininit(), lindist(), and
  * User manual
  - Updates and amendments in line with the above changes.
  - Documentation generation moved to doxygen 1.8.14
    (was 1.8.13).
  From version 5.17:
  * C library
  - Fixed a memory leak in wcspih().
  - Fixed compiler warnings about comparison between signed and
    unsigned integers in tab.c. Also fixed warnings in other
    functions about unused parameters.
  * Fortran wrappers
  - Fixed compiler warnings about comparison between signed and
    unsigned integers in several routines.
  - Fixed a compiler warning about comparison between signed and
    unsigned ints.
  * Installation
  - Removed setgid permission on installation directories.
  * User manual
  - Minor updates and amendments.
  - Documentation generation moved to doxygen 1.8.13 (was
* Wed Jul 05 2017
- Update to version 5.16:
  * C library
  - Bug fix in spcfix() for the previous change.
* Sun Jul 17 2016
- Rename the package from libwcs to wcslib. Added appropriate
  Provides/Obsoletes entries.
* Thu Jul 14 2016
- Avoid unnecessary double emittance of %optflags into compiler
  line. Fixup groups for openSUSE Factory acceptance.
* Wed Jul 13 2016
- Removed static library.
- Removed requirement of libwcs lib from libwcs-doc (not needed).
- Added Recommends entry for libwcs-doc in libwcs-devel.
* Thu Jun 30 2016
- Update to version 5.15:
  * C library
  - Bug fix in wcsulex.l for the previous change.  Reported, and
    fix supplied by Tammo Jan Dijkema.
  - In spcfix(), report the value of VELREF if ctype is
    translated from the AIPS convention.
  From version 5.14:
  * C library
  - In wcsulex.l and wcsutrn.l, applied a workaround for a memory
    leak introduced by a change (bug) in flex in Aug/2012.
    Reported, and fix supplied by Thomas Robitaille and Erik
  * Installation
  - In MacOSX, create symlink libwcs.dylib pointing to the
    dynamic library so that WCSLIB is linked dynamically by
    default. Requested by Paul Price.
* Thu Jan 28 2016
- Update to version 5.13
  * C library
  - In wcshdo(), provide floating-point format control via the 'ctrl'
    argument (formerly 'relax').
  - In wcspih(), PLATEID by itself is no longer sufficient to trigger a
    DSS translation (reported by James Allen).
  - In unitfix(), ensure that the message buffer cannot be overrun, e.g.
    by blank-padded unit strings (reported by Vishal Kasliwal).
- Update to version 5.12
  * C library
  - Bug fix in wcshdo() for CRVALia precision reported by Mihai Cara.
- Update to version 5.11
  * C library
  - Bug fixes in wcspih.l and dis.c for WAT distortions provided by
    Ole Streicher.
- Update to version 5.10
  * C library
  - In wcshdo(), allow output of floating point keyvalues to 15
    significant digits (was 14), mainly for astropy.
  - In wcspih(), allow unrecognised WAT projection types (tan, etc.) to
    pass without returning an error.  Reported by Michael Droettboom.
    Also fixed a bug triggered by SIP keywords in unconventional order,
    reported by Colin Slater, LSST.
- Update to version 5.9
  * C library
  - In disx2p(), make proper allowance for the possibility that the TPD
    and SIP forward and inverse distortion polynomials may not be of the
    same degree, reported by Martin Kuemmel.
  - Fix-ups in wcshdo() reported by Michael Droettboom, and several
    tidy-ups as well.
- Update to version 5.8
  * C library
  - DSS (Digitized Sky Survey) coordinates are now handled via TPD, as
    are the TNX and ZPX "projections".  New test script tdis3 and
    headers DSS.keyrec, TNX.keyrec, and ZPX.keyrec.
  - New function dishdo() can be used to set a flag that causes
    wcshdo() to write headers in the form of the distortion function
    used internally (usually TPD).
  - Added the capability, via DPja.DOCORR, for a distortion function to
    to compute an additive correction to the undistorted coordinates
    (rather than computing the distorted coordinates themselves).
  - Added auxiliary variables to TPD via DPja.AUX.jhat.COEFF.m.
  - Bug fix in wcshdo() for TPV, diagnosed by Michael Droettboom.
  * Fortran wrappers
  - Wrapper for dishdo().
- Update to version 5.7
  * C library
  - Extended wcssub() to handle distortions (and thus wcscopy() also).
    This required axis mapping to be enabled for SIP distortions within
  - wcshdo() now handles all distortions currently supported by WCSLIB:
    SIP, TPV, TPD, and Polynomial.
  - Bug fixes in sphx2s() and sphs2x() for non-unit vector strides for
    special-case rotations.
  - In wcsset(), modify wcsprm::ctype after translating TPV so that
    subsequent calls won't try to re-translate it, the PVi_ma records
    by then having been erased.  Reported by Michael Droettboom.  Also,
    restore NDPMAX after translating TPV.
  - Bug fixes in discpy(), disprt(), disset(), and disx2p().
  - Added disperr(), prjperr(), spcperr(), spxperr(), and tabperr() to
    complete the set and make reporting errors slightly more convenient.
  * Utilities
  - wcsware has a new option, -o, to print the wcsprm struct in the form
    of a FITS header using wcshdo().  Also, the -a option has been
    extended to allow a 0-relative numeric index for selecting an
    alternate WCS, where the alternates are sequenced alphabetically
    (without gaps) following the primary representation.
  * User manual
  - Documentation generation moved to doxygen 1.8.10 (was
- Update to version 5.6
  * C library
  - Bug fixes in wcspih() and sipset() to account for the fact that the
    independent variables of the SIP polynomial are pixel coordinate
    offsets from CRPIXja, not pixel coordinates per se.  Diagnosed by
    Michael Droettboom.
  - Validated SIP and TPV handling by comparing the output of
    'wcsware -x' with that of wcstools 'xy2sky -d -n6' using astropy's
    SIP test headers, and separate SIP and TPV headers originating from
    the Palomar Transient Factory provided by David Shupe.
  - Changed SIP.keyrec so that CRPIX1 and CRPIX2 differ in value,
    thereby making tests sensitive to any confusion between the two.
- Update to version 5.5
  * C library
  - Bug fixes in wcspih.l for headers with multiple distortions, and for
    distortion parameter look-alike keywords.
  - Bug fix in sipset() uncovered by valgrind.
- Update to version 5.4.1
  * C library
  - Added a fairly lengthy section to the prologue of dis.h describing
    the Paper IV keywords and the distortion functions currently
  * User manual
  - Added a new section on WCSLIB version numbers.
- Update to version 5.4
  * C library
  - Further work on distortions: wcspih() now parses Paper IV distortion
    keywords (CPDISja, CQDISia, DPja, DQia, etc.), thus handling record-
    valued keywords.  SIP keywords are also parsed and translated into
    Paper IV keywords.
  - TPV, SIP, and whereever possible, the general Polynomial distortion
    function of Paper IV are now implemented by the Template Polynomial
    Distortion (TPD), that being a superset of TPV and SIP.  TPD, which
    can also handle 1D distortions and be used for inversions, is also
    supported as a separate distortion type defined by Paper IV
    keywords.  TPD efficiently handles 1D distortions and distortions
    without radial terms.
  - Specialized inverse distortions, such as defined by SIP, are
    implemented by TPD and recognized by disx2p(), which uses them to
    compute the initial approximation of its more precise iterative
  - Generalized tdis1.c so that it can do closure tests for SIP headers,
    and added a SIP test header.
- Update to version 5.3.1
  * C library
  - Bug fix in test program tdis1.c reported by Martin Kuemmel.
- Update to version 5.3
  * First public release of WCSLIB 5.x with distortions capability.
  * C library
  - Changed disprm::dtype from char[16] to char[72] for reasons relating
    to header parsing.
  - More armour plating for disset() and friends.  They also use new
    utility functions wcsutil_dpkey_int() and wcsutil_dpkey_double() to
    extract numeric values from a dpkey struct.  This ensures their
    independence of the data type, the appropriate reporting of dpkey
    values by disprt(), and (eventually) the appropriate writing of DPja
    and DQia keyvalues by wcshdo().
  - Augmented the usage comments for dpfill() to explain how numeric
    values in a dpkey struct are handled.
  * Utilities
  - wcsware now uses wcserr to provide a backtrace on errors.  Also
    fixed a couple of minor annoyances relating to alternate
- Update to version 5.2 beta
  * C library
  - Further development of disprm and related functions to implement
    the FITS keywords for distortions introduced in WCS Paper IV, thus
    changing disprm's ABI once again.
    disprm's model is now similar to wcsprm's handling of PVi_ma and
    PSi_ma, where the parsed keyrecords are loaded into a set of pvcard
    and pscard structs and wcsset() does the analysis.  For disprm, the
    parsed DPja or DQia keyrecords are loaded into a set of dpkey
    structs for disset() to analyse.
  - New function dpfill() aids in filling a dpkey struct.  Function
    disparms() has been removed.  It was no longer needed as
    disprm::parms[][] is now a "returned" member of the struct.
  - Implementation of the general Polynomial distortion function defined
    in Sect. 3.1 of WCS Paper IV.  The polynomial is defined in terms of
    Paper IV keywords.
  - Bug fixes in diswarp() and linwarp() reported by
    Michael Droettboom.
  - Test program tdis1 now tests a TPV header for closure in two ways:
    directly as a specialist TPV distortion (as before), then by
    translating it into a general polynomial distortion.  It then also
    tests that the TPV and polynomial distortions produce the same
  * Fortran wrappers
  - Changes to the wrappers reflecting changes to disprm.
  - Bug fixes in fitshdr_f.c, and test programs tdis1.f, tfitshdr.f,
    twcsfix.f, and twcs.f.  All reported and/or fixed by Ole Streicher.
- Update to version 5.1 beta
  * C library
  - Distortions-related bug fixes to linset(), linp2x(), and linx2p().
  - New functions diswarp() and linwarp() compute statistics of the
    distortion functions over a specified domain.  Changed tdis1.c to
    test them.
  - Changes to disprm (so changed ABI).
  * Fortran wrappers
  - Wrappers for diswarp() and linwarp().
- Update to version 5.0 beta
  * C library
  - Implemented the framework of WCS Paper IV (the draft distortions
    proposal) based on a new struct, disprm, and suite of routines with
    header dis.h: disini(), disalloc(), discpy(), disfree(), disprt(),
    disset(), disp2x(), and disx2p().  New test program tdis1.
    Consequent changes to the linprm struct have altered its ABI, thus
    necessitating an increment in the WCSLIB major verion number.
  - wcsset() now recognises the "TPV" projection proposed in an early
    draft of WCS Paper II, and translates it into a disprm distortion -
    by request of Octavi Fors.  Additionally, it recognises "TPU" as
    equivalent to "TPV" but using a prior distortion (coming before the
    linear transformation matrix) rather than sequent (coming after it).
  - In wcspih() and wcsbth(), added relaxation flags to allow PC0i_0ja,
    PV0j_0ma, and PS0j_0ma (i.e. with leading zeroes on the index).
  - Added wcslib_version() to return the WCSLIB version number, as
    suggested by Ole Streicher.
  - Fixed problems uncovered by valgrind in prjbchk() (reported by
    Ger van Diepen), sphx2s(), sphx2s(), spcspxe(), spcxpse(), tabini(),
    and wcshdo_util().
  - Tidied up error reporting, particularly relating to translating
    status returns from lower-level functions.  New functions linperr()
    and celperr() report error messages from the structs they contain
    in addition to their own.
  - Changed output formatting of floating point values in linprt(),
    celprt(), prjprt(), spcprt(), tabprt(), and wcsprt().  Updated the
    test output reference files for tbth1, tpih1, twcsfix, twcssub, and
    twcstab to suit.
  - Tidied up several of the test programs, mostly to free memory
    explicitly before exit so that valgrind doesn't report (non-)leaks.
  * Fortran wrappers
  - Wrappers for the new distortion functions.  New test programs
    tdis1.f and tdis2.f.
  - Updates following changes to wcspih() and wcsbth().
  - Added wrappers for linperr() and celperr().  Also added prjperr_(),
    spcperr_(), and tabperr_() as convenient wrappers on wcserr_prt().
  - Wrapper for wcslib_version().
  * Utilities
  - Added a "lint" function to wcsware to check a FITS header for
    conformance to the WCS standard.  New test program twcslint.
  - In PGCRLB, fixed an incorrect use of the MOD intrinsic reported by
    'gfortran -std=f95' via Jean-Baptiste Marquette.
- Remove upstream-included build_flags.patch
* Sun Feb 22 2015
- Update to version 4.25.1:
  * C library
  - Updated the test output reference files for tpih1, tbth1,
    twcsfix, and twcstab to account for the change to wcsset() in
    release 4.25.
  - Documentation generation moved to doxygen (was
  * Fortran wrappers
  - Updated the test output reference files for tpih1, twcsfix,
    and twcstab to account for the change to wcsset() in release
  From version 4.25:
  * C library
  - wcsset() now supplies default values for the auxiliary
    keywords EQUINOXa and RADESYSa if not present in the FITS
  From version 4.24:
  * C library
  - Changed API to wcscompare() to allow a tolerance to be
    specified for floating-point comparisons. Contributed by
    Michael Droettboom.
  - Documentation generation moved to doxygen 1.8.8 (was 1.8.4).
  * Fortran wrappers
  - Track the change to wcscompare().
  * User manual
  - Added mention of WCSLIB in "homebrew-science" (MacOSX) in the
    section on other packages.
- Removed autoconf build requirement (not needed).
- Added a patch (build_flags.patch) taken from Debian to add
  CPPFLAGS and CFLAGS to Makefiles.
* Fri Feb 20 2015
- specfile:
  * update copyright year
- update to version 4.25.1:
  * C library
  - Updated the test output reference files for tpih1, tbth1, twcsfix,
    and twcstab to account for the change to wcsset() in release 4.25.
  - Documentation generation moved to doxygen (was 1.8.8).
  * Fortran wrappers
  - Updated the test output reference files for tpih1, twcsfix, and
    twcstab to account for the change to wcsset() in release 4.25.
- changes from version 4.25:
  * C library
  - wcsset() now supplies default values for the auxiliary keywords
    EQUINOXa and RADESYSa if not present in the FITS header.
- changes from version 4.24:
  * C library
  - Changed API to wcscompare() to allow a tolerance to be specified for
    floating-point comparisons.  Contributed by Michael Droettboom.
  - Documentation generation moved to doxygen 1.8.8 (was 1.8.4).
  * Fortran wrappers
  - Track the change to wcscompare().
  * User manual
  - Added mention of WCSLIB in "homebrew-science" (MacOSX) in the
    section on other packages.
* Thu Sep 11 2014
- Update to version 4.23 (2014/05/11)
  * C library
  - New function wcscompare() compares two wcsprm structs for equality
    with varying degrees of strictness.  Test program twcscompare.
    Contributed by Michael Droettboom.
  - In wcssub(), fixed a bug uncovered by valgrind arising from
    allocation of insufficient memory for temporaries when a new axis
    is added.  Reported by Michael Droettboom.
  - In wcshdo(), don't write RESTFRQ or RESTWAV if zero.
    Also, to distinguish them from integer keyvalues, floating-
    point values will now always be written with an exponent or
    fractional part, ".0" being appended if necessary to achieve this.
    Suggested by Peter Weilbacher.
  - Fixed the '-h' option in twcshdr.
  * Fortran wrappers
  - Wrapper for wcscompare().
- Update to version 4.22 (2014/04/13)
  * C library
  - In pcox2s() and pcos2x(), use alternative projection equations for
    greater numerical precision near theta == 0.  In cops2x(), return
    an exact result for theta at the poles.  Relaxed the tolerance for
    bounds checking a little in sflx2s().
  - Update to version 4.21 (2014/03/24)
  * C library
  - New function prjbchk() performs bounds checking on native spherical
    coordinates.  It is invoked automatically by the deprojection (x2s)
    routines if prjprm::bounds&4 is set.  Documented the new bounds
    checking implemented by prjbchk() in the prologue entry for
    wcsbchk().  Improvements to tprj1 to test the vector API of prjx2s()
    and to deal better with out-of-bounds native coordinates returned by
  - Bug fixes in the projection routines: in hpxx2s() relating to bounds
    checking, bug introduced at 4.20, reported by Michael Droettboom; in
    parx2s() and molx2s() relating to setting the stat vector; in
    hpxx2s() relating to implementation of the vector API; and in
    xphx2s() relating to setting an out-of-bounds value of phi.
  * Fortran wrappers
  - Wrapper for prjbchk().  Modified tprj1.f to track changes to the C
* Thu Feb 06 2014
- Fix typo in subpackage requires
* Tue Feb 04 2014
- Initial version (4.20)