Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package wcslib for openSUSE:Factory checked in at 2026-01-02 14:29:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wcslib (Old) and /work/SRC/openSUSE:Factory/.wcslib.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wcslib" Fri Jan 2 14:29:31 2026 rev:14 rq:1325082 version:8.5 Changes: -------- --- /work/SRC/openSUSE:Factory/wcslib/wcslib.changes 2023-12-10 19:43:07.230633607 +0100 +++ /work/SRC/openSUSE:Factory/.wcslib.new.1928/wcslib.changes 2026-01-02 14:31:09.142975660 +0100 @@ -1,0 +2,112 @@ +Thu Jan 1 15:33:06 UTC 2026 - Ben Greiner <[email protected]> + +- Update to 8.5 + ## C library + * In linp2x(), quarantine NaN elements of the pixel coordinate + vector from infecting non-NaN elements in the case where the + PCij matrix is diagonal (noting that zero * NaN = NaN). + Likewise in linx2p(). Reported by Thomas Robitaille with patch. + * Quelled nuisance compiler warnings in wcspih() and wcsbth(). +- WCSLIB version 8.4 + ## C library + * Fixed some problems in wcs_chksum() and changed + wcs_fletcher32() to conform to the standard computation. + * New test program, twcs_pthread. +- WCSLIB version 8.3 + ## C library + * Until now, wcsset() always operated unconditionally - the + wcsprm struct was set or reset regardless of its current state. + Likewise the various *set() functions for the other structs. + However, in some situations, particularly in threaded + applications, it is desirable to have wcsset(), etc., check the + state of the struct and return immediately if it has already + been set. This may now be accomplished by setting wcsprm::flag + == 1 (instead of 0) before calling wcsset(). Likewise for the + other structs. This sets a "bypass" flag within the struct + itself. + * A new function, wcsenq(), queries the state of the wcsprm + struct, specifically whether WCSLIB is managing its memory, + whether the struct has been set, whether or not it is in bypass + mode, and whether it is self-consistent. There are + corresponding functions for the other structs: celenq(), + disenq(), linenq(), prjenq(), spcenq(), and tabenq(). Please + refer to the WCSLIB manual. + * In the C test suite, modified twcs to test wcsenq() and also + wcsset() in bypass mode. + * Quelled nuisance compiler warnings in wcsbth(), wcspih(), + wcsp2s(), and wcshdo(). + ## Fortran wrappers + * Interprocedural Link Time Optimization (LTO), when used with + the strict compiler options required by some Linux + distributions, may place more stringent requirements on mixing + code written in different languages. Specifically, as far as + WCSLIB is concerned, this applies for Fortran calling C (or + vice versa) where the function parameter list includes a + character variable. + It is important to note that the existing Fortran wrappers work + as they did before, with or without LTO, that issues only arise + when strict LTO compiler options are enabled, and that wrappers + without a character argument are unaffected. + Fortran 2003 introduced the "language-binding-spec" attribute + using the keyword BIND. The INTERFACE block for a procedure + may be given the BIND(C) attribute to specify the interface of + an external, interoperable C function. Use of this BIND(C) + attribute is now virtually mandated by LTO (with said strict + compiler options). + The WCSLIB Fortran wrappers are written in C, e.g. wcs_f.c, + with a Fortran-compliant interface, and these C functions are + intended to be called directly from Fortran applications. + Three options were considered for achieving strict LTO + compliance: + 1) Require that all existing Fortran applications be modified + to conform to the Fortran 2003 language binding + specification via the addition of INTERFACE blocks bearing + the BIND(C) attribute for the existing wrappers. + This option is clearly untenable. + 2) Rewrite the WCSLIB Fortran wrappers completely in Fortran + 2003. + It seems that this option may be tenable as the BIND(C) + spec allows for C-equivalent derived types. However, it + would require rewriting all of the wrappers, 5 kloc of C + code, in Fortran 2003 code that must directly manipulate + the internals of all of the WCSLIB structs. + 3) Introduce a new layer of thin wrappers, written in Fortran + 2003, that do nothing more than define the INTERFACE to + the existing wrappers written in C and then call them. + Essentially this extracts the changes required in option + (1) into a new set of wrappers. + This was the option chosen on the basis of simplicity - + only specific wrappers, namely those with character + arguments, need be rewrapped. It also minimises WCSLIB's + exposure to Fortran 2003, particularly for the sake of + legacy astronomical packages such as Miriad and AIPS. + Further, it admits the possibility of the optional use of + this extra layer of wrappers. + The new Fortran 2003 wrappers reside in the Fortran + subdirectory in files by the name of *_bindc.f90. By default + they are not compiled and not used. To use them, WCSLIB must + be configure'd with the new '--with-bindc' option. This causes + the new BIND(C) wrappers to be compiled, and the names of the + old wrappers to be changed, for example from wcspih_() to + wcspih_c(). + LTO compile problems reported by Eli Schwartz, Gentoo + maintainer. + * Added wrappers for celenq(), disenq(), linenq(), prjenq(), + spcenq(), tabenq(), and wcsenq(). + * In the Fortran test suite, modified twcs to test WCSENQ and + also WCSSET in bypass mode. + ## PGSBOX + - Changes mirroring those described above for the Fortran + wrappers, the difference being that here we have a mix of C + calling Fortran (e.g. cpgsbox() calling PGSBOX) as well as + Fortran calling C (e.g. PGWCSL calling pgwcsl_c()). As with + the Fortran wrappers, the new configure option, '--with-bindc', + chooses whether to use the new BIND(C) PGSBOX wrappers. + ## Installation + * Added '--with-bindc' as a new configure option (or BINDC=yes + from the environment) to signal the use of the new strictly + LTO-compliant Fortran wrappers. See above. + * Modified 'configure' to report the version of gcc used. + Likewise, for the 'show' rule in makedefs. + +------------------------------------------------------------------- Old: ---- wcslib-8.2.2.tar.bz2 New: ---- wcslib-8.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wcslib.spec ++++++ --- /var/tmp/diff_new_pack.Wm13So/_old 2026-01-02 14:31:09.610994978 +0100 +++ /var/tmp/diff_new_pack.Wm13So/_new 2026-01-02 14:31:09.614995143 +0100 @@ -1,7 +1,7 @@ # # spec file for package wcslib # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,13 @@ %define libver 8 Name: wcslib -Version: 8.2.2 +Version: 8.5 Release: 0 Summary: An implementation of the FITS WCS standard License: LGPL-3.0-or-later Group: Development/Libraries/C and C++ URL: https://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/ -Source0: ftp://ftp.atnf.csiro.au/pub/software/wcslib/%{name}-%{version}.tar.bz2 +Source0: https://www.atnf.csiro.au/computing/software/wcs/wcslib-releases/wcslib-%{version}.tar.bz2 BuildRequires: cfitsio-devel BuildRequires: fdupes BuildRequires: flex ++++++ wcslib-8.2.2.tar.bz2 -> wcslib-8.5.tar.bz2 ++++++ ++++ 1472410 lines of diff (skipped)
