%global upstream_version 9.4.1 Name: starlink-ast Version: %{upstream_version} Release: 1%{?dist} Summary: Library for handling World Coordinate Systems in astronomy # Upstream (Starlink/ast): LGPL-3.0-or-later License: LGPL-3.0-or-later URL: https://github.com/Starlink/ast Source0: https://github.com/Starlink/ast/archive/refs/tags/v%{upstream_version}/ast-%{upstream_version}.tar.gz # The patch series follows Debian's starlink-ast packaging (Debian Astro # Team / Ole Streicher, https://salsa.debian.org/debian-astro-team/starlink-ast) # but was regenerated for AST 9.4, whose build system now works with plain # upstream automake and has native --with-external_pal/--with-external_cminpack # switches, so the old standard-automake, de-bundling and test-target patches # are gone. What remains: the libstarlink_ast library rename (kept for the # existing consumers), the Fedora names of the system PAL library and # cminpack header, and SOURCE_DATE_EPOCH support in the header generator. Patch0: starlink-ast-0001-rename-library.patch Patch1: starlink-ast-0002-system-pal-cminpack.patch Patch2: starlink-ast-0003-reproducible-build.patch # Two CLASS-encoding test cases compare a cancellation-amplified value (the # DSBSpecFrame IF) byte-for-byte against a reference dump made with the # bundled PAL/ERFA; with the system libraries it differs in the last digits # while astEqual still passes. Use the manifest's astEqual tolerance there. Patch3: starlink-ast-0004-wcsconv-class-if-tolerance.patch BuildRequires: gcc BuildRequires: gcc-c++ # The test suite (make check) builds the Fortran interface tests too. BuildRequires: gcc-gfortran BuildRequires: make BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: perl-interpreter BuildRequires: pkgconfig BuildRequires: cminpack-devel BuildRequires: erfa-devel # Enables the YamlChan class (ASDF-style YAML serialisation). BuildRequires: libyaml-devel BuildRequires: starlink-pal-devel %description AST is a library that implements an object oriented model for describing physical coordinate systems, and the transformations that exist between them. It provides a comprehensive range of facilities for attaching world coordinate systems (WCS) to astronomical data and for retrieving and manipulating that information. It has built-in intelligence for identifying types of celestial, spectral, time and other coordinate systems (including compound systems that combine axes of different types), and determining how to transform between them. This is a build of AST de-bundled from SAOImage DS9's in-tree copy, linked against the system starlink-pal, erfa and cminpack libraries instead of AST's own internal copies. %package devel Summary: Development files for starlink-ast Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Header files and libraries needed to build software against the Starlink AST world-coordinate-system library. %prep %autosetup -p1 -n ast-%{upstream_version} cp ast.news NEWS %build # Upstream's standalone bootstrap: installs the stub replacements for the # Starlink "starconf" autoconf macros into m4/ and runs autoreconf. mkdir -p m4 sh ./bootstrap.local %configure \ --with-external_pal \ --with-external_cminpack \ --disable-static \ CPPFLAGS="-I%{_includedir}/star" %make_build %install %make_install find %{buildroot} -name '*.la' -delete # The EMS and DRAMA error-reporting adapters only work linked against # Starlink's EMS/DRAMA libraries, which Fedora does not have. rm -f %{buildroot}%{_libdir}/libstarlink_ast_ems.so* \ %{buildroot}%{_libdir}/libstarlink_ast_drama.so* # Shipped as %%license / %%doc instead. rm -rf %{buildroot}%{_datadir}/ast %{buildroot}%{_datadir}/starnews %check make %{?_smp_mflags} check %files %license COPYING %doc ast.news %{_libdir}/libstarlink_ast.so.* %{_libdir}/libstarlink_ast_err.so.* %{_libdir}/libstarlink_ast_grf3d.so.* %{_libdir}/libstarlink_ast_grf_2.0.so.* %{_libdir}/libstarlink_ast_grf_3.2.so.* %{_libdir}/libstarlink_ast_grf_5.6.so.* %{_libdir}/libstarlink_ast_grf_log.so.* %{_libdir}/libstarlink_ast_pass2.so.* %{_libdir}/libstarlink_ast_pgplot.so.* %{_libdir}/libstarlink_ast_pgplot3d.so.* %files devel %{_bindir}/ast_link %{_bindir}/ast_link_adam %{_includedir}/ast.h %{_includedir}/ast_err.h %{_includedir}/AST_ERR %{_includedir}/AST_PAR %{_includedir}/GRF_PAR %{_includedir}/grf.h %{_includedir}/grf3d.h %{_includedir}/star/ast.h %{_includedir}/star/AST_PAR %{_includedir}/star/GRF_PAR %{_includedir}/star/grf.h %{_includedir}/star/grf3d.h %{_libdir}/libstarlink_ast.so %{_libdir}/libstarlink_ast_err.so %{_libdir}/libstarlink_ast_grf3d.so %{_libdir}/libstarlink_ast_grf_2.0.so %{_libdir}/libstarlink_ast_grf_3.2.so %{_libdir}/libstarlink_ast_grf_5.6.so %{_libdir}/libstarlink_ast_grf_log.so %{_libdir}/libstarlink_ast_pass2.so %{_libdir}/libstarlink_ast_pgplot.so %{_libdir}/libstarlink_ast_pgplot3d.so %changelog * Sat Sep 12 2026 Morgan Hough - 9.4.1-1 - Update to 9.4.1 - Regenerate the patch series for the reworked 9.4 build system: drop the standard-automake, external-PAL/cminpack de-bundling and test-target patches (now upstream), and the two portability fixes (merged upstream); the single-assertion test patch is superseded by upstream's new suite. - Build the Fortran tests (gcc-gfortran) and enable YAML support (libyaml-devel). Compare the two CLASS DSBSpecFrame test cases at astEqual tolerance: their IF differs in the last digits when built against the system PAL/ERFA (1776/1779 pass otherwise). - Ship the new libstarlink_ast_grf_log library and the ast_err.h/AST_ERR headers; drop the EMS/DRAMA adapter libraries, which need Starlink libraries Fedora does not have. * Tue Aug 25 2026 Morgan Hough - 9.3.1-1 - Initial package for the neurofedora COPR: dependency of the eventual SAOImage DS9 package, which needs a de-bundled, system-linked AST instead of the copy it otherwise vendors in-tree. - Build-system and de-bundling patches (standard automake, library renamed to libstarlink_ast, external PAL/ERFA/cminpack, portability and test fixes) carried over from Debian's starlink-ast packaging (Debian Astro Team).