File skychart.spec of Package skychart
#
# spec file for package skychart
#
# Copyright (c) 2022 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/
#
%define base_version 4.3
%define svn_version 4938
Name: skychart
Version: %{base_version}~svn.%{svn_version}
Release: 0
Summary: Free software to draw sky charts, also known as Cartes du Ciel
License: GPL-2.0-or-later
Group: Productivity/Scientific/Astronomy
URL: https://www.ap-i.net/skychart/start
# Upstream sources are modified to:
# - Remove pre-built software (iridflare.exe, quicksat.exe, dll files)
# - Remove unneeded Windows and MacOS stuff
# - Remove libraries provided by libpasastro package
# (they still are in sources only for compiling the Windows version)
# To do this we use the generate-tarball.sh script
# Download upstream tarball in the same directory of the script
# and run:
# ./generate-tarball.sh BASE_VERSION SVN_VERSION
Source0: %{name}-%{version}-src-nopatents.tar.xz
Source1: generate-tarball.sh
# Source data for skychart-data-stars
Source2: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_gcvs.tgz
Source3: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_tycho2.tgz
Source4: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_wds.tgz
Source5: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_idx.tgz
# Source data for skychart-data-dso
Source6: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_leda.tgz
Source7: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_barnard.tgz
Source8: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_gcm.tgz
Source9: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_gpn.tgz
Source10: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_lbn.tgz
Source11: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_ocl.tgz
Source12: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_sh2.tgz
Source13: http://sourceforge.net/projects/skychart/files/4-source_data/catalog_vdb.tgz
# Other data
Source20: http://sourceforge.net/projects/skychart/files/4-source_data/data_spicesun.tgz
Source21: http://sourceforge.net/projects/skychart/files/4-source_data/data_jpleph.tgz
BuildRequires: fdupes
BuildRequires: fpc >= 3.2.0
BuildRequires: fpc-src >= 3.2.0
BuildRequires: lazarus-tools
BuildRequires: lazarus-lcl-qt5
BuildRequires: libQt5Pas-devel
BuildRequires: libX11-devel
Requires: libcalceph1
Requires: libpasastro1
Requires: xplanet
%description
This program enables you to draw sky charts, making use of the data
in many catalogs of stars and nebulae. In addition the position of
planets, asteroids and comets are shown.
The purpose of this program is to prepare different sky maps for a
particular observation. A large number of parameters help you to choose
specifically or automatically which catalogs to use, the colour
and the dimension of stars and nebulae, the representation of planets,
the display of labels and coordinate grids, the superposition
of pictures, the condition of visibility and more. All these features
make this celestial atlas more complete than a conventional planetarium.
%package doc
Summary: Documentation files for Skychart
License: CC-BY-SA-4.0 OR GFDL-1.3-or-later
Requires: %{name} = %{version}
BuildArch: noarch
%description doc
Documentation files from the official Skychart wiki provided
within the program as an offline copy.
%package data-stars
Summary: Additional star catalogs for Skychart
License: SUSE-Public-Domain
Requires: %{name} = %{version}
BuildArch: noarch
%description data-stars
Additional star catalogs for Skychart. This package install all the standard
stars catalog down to magnitude 12, variable and double stars:
Tycho 2; General Catalogue of Variable Stars; Washington Double Stars.
%package data-dso
Summary: Additional Deep Sky Object catalogs for Skychart
License: SUSE-Public-Domain
Requires: %{name} = %{version}
BuildArch: noarch
%description data-dso
Additional DSO catalogs for Skychart. This package install all the standard
nebulae catalogs: LEDA Catalogue; Lynds Bright Nebulae; Open Cluster Data;
Globular Clusters in the Milky Way; Galactic Planetary Nebulae;
Barnard Catalogue of Dark Nebulae; Sharpless Catalog.
%lang_package
%prep
%autosetup -n %{name}-%{version}-src
# Fix executable bit set on sources
find skychart -type f -print0 | xargs -0 chmod -x
# Put additional catalogs files where where required for installation
cp -p %{SOURCE2} ./BaseData
cp -p %{SOURCE3} ./BaseData
cp -p %{SOURCE4} ./BaseData
cp -p %{SOURCE5} ./BaseData
cp -p %{SOURCE6} ./BaseData
cp -p %{SOURCE7} ./BaseData
cp -p %{SOURCE8} ./BaseData
cp -p %{SOURCE9} ./BaseData
cp -p %{SOURCE10} ./BaseData
cp -p %{SOURCE11} ./BaseData
cp -p %{SOURCE12} ./BaseData
cp -p %{SOURCE13} ./BaseData
cp -p %{SOURCE20} ./BaseData
cp -p %{SOURCE21} ./BaseData
# Add directories to fix builds on arm and ppc architectures
declare -a arches=("arm-linux-gtk2" "powerpc-linux-gtk2" "powerpc64-linux-gtk2")
for arch in "${arches[@]}"
do
mkdir -p ./skychart/component/lib/$arch
mkdir -p ./skychart/units/$arch
mkdir -p ./varobs/units/$arch
done
%build
export FPCDIR=%{_datadir}/fpcsrc/
./configure \
lazarus=%{_libdir}/lazarus \
prefix=%{buildroot}%{_prefix}
%make_build clean
%make_build fpcopts="-O1 -gw3 -fPIC" -j 1
%install
%make_install
# Install catalogs, translations and data files
make install install_data PREFIX=%{buildroot}%{_prefix}
# Install wiki documentation
make install install_doc PREFIX=%{buildroot}%{_prefix}
# Install additional catalogs
make install install_cat1 PREFIX=%{buildroot}%{_prefix}
make install install_cat2 PREFIX=%{buildroot}%{_prefix}
rm -r %{buildroot}%{_datadir}/%{name}/data/Themes/old-ugly
find %{buildroot}%{_datadir}/%{name}/cat -type f -empty -delete
mv %{buildroot}/%{_datadir}/applications/net.ap_i.skychart.desktop %{buildroot}/%{_datadir}/applications/%{name}.desktop
mv %{buildroot}/%{_datadir}/metainfo/net.ap_i.skychart.metainfo.xml %{buildroot}/%{_datadir}/metainfo/%{name}.appdata.xml
mv %{buildroot}/%{_datadir}/metainfo/net.ap_i.skychart.skychart_data_dso.metainfo.xml %{buildroot}/%{_datadir}/metainfo/%{name}-data-dso.metainfo.xml
mv %{buildroot}/%{_datadir}/metainfo/net.ap_i.skychart.skychart_data_stars.metainfo.xml %{buildroot}/%{_datadir}/metainfo/%{name}-data-stars.metainfo.xml
mv %{buildroot}/%{_datadir}/mime/packages/net.ap_i.skychart.xml %{buildroot}/%{_datadir}/mime/packages/skychart.xml
%fdupes %{buildroot}%{_datadir}/skychart/data/
%fdupes %{buildroot}%{_datadir}/skychart/doc/
%fdupes %{buildroot}%{_datadir}/skychart/cat/
%files
%license skychart/gpl.txt
%dir %{_datadir}/doc/skychart
%doc %{_datadir}/doc/skychart/changelog
%doc %{_datadir}/doc/skychart/copyright
%{_bindir}/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/mime/packages/skychart.xml
%{_datadir}/metainfo/%{name}.appdata.xml
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/icons/*/*/*/%{name}.png
%{_datadir}/icons/*/*/*/%{name}.svg
%dir %{_datadir}/skychart
%dir %{_datadir}/skychart/data
%dir %{_datadir}/skychart/data/Themes
%{_datadir}/skychart/data/Themes/*
%dir %{_datadir}/skychart/data/common_names
%{_datadir}/skychart/data/common_names/*
%dir %{_datadir}/skychart/data/constellation
%{_datadir}/skychart/data/constellation/*
%dir %{_datadir}/skychart/data/deltat
%{_datadir}/skychart/data/deltat/*
%dir %{_datadir}/skychart/data/earthmap
%{_datadir}/skychart/data/earthmap/*
%dir %{_datadir}/skychart/data/eclipses
%{_datadir}/skychart/data/eclipses/*
%dir %{_datadir}/skychart/data/horizon
%{_datadir}/skychart/data/horizon/*
%dir %{_datadir}/skychart/data/indi
%{_datadir}/skychart/data/indi/*
%dir %{_datadir}/skychart/data/jpleph
%{_datadir}/skychart/data/jpleph/*
%dir %{_datadir}/skychart/data/spice_eph
%{_datadir}/skychart/data/spice_eph/*
%dir %{_datadir}/skychart/data/milkyway
%{_datadir}/skychart/data/milkyway/*
%dir %{_datadir}/skychart/data/planet
%{_datadir}/skychart/data/planet/*
%dir %{_datadir}/skychart/data/sample
%{_datadir}/skychart/data/sample/*
%dir %{_datadir}/skychart/data/script
%{_datadir}/skychart/data/script/*
%dir %{_datadir}/skychart/data/stars
%{_datadir}/skychart/data/stars/*
%dir %{_datadir}/skychart/data/varobs
%{_datadir}/skychart/data/varobs/*
%dir %{_datadir}/skychart/data/alias
%{_datadir}/skychart/data/alias/varcross.txt
%dir %{_datadir}/skychart/cat
%{_datadir}/skychart/cat/DSoutlines
%{_datadir}/skychart/cat/milkyway
%{_datadir}/skychart/cat/openngc
%{_datadir}/skychart/cat/RealSky
%{_datadir}/skychart/cat/xhip
%dir %{_datadir}/skychart/doc
%{_datadir}/skychart/doc/html_doc
%{_datadir}/skychart/doc/releasenotes*.txt
%{_datadir}/skychart/doc/varobs
%{_datadir}/applications/net.ap_i.catgen.desktop
%{_datadir}/applications/net.ap_i.varobs.desktop
%{_datadir}/icons/hicolor/32x32/apps/catgen.png
%{_datadir}/icons/hicolor/32x32/apps/varobs.png
%{_datadir}/icons/hicolor/48x48/apps/catgen.png
%{_datadir}/icons/hicolor/48x48/apps/varobs.png
%{_datadir}/icons/hicolor/96x96/apps/catgen.png
%{_datadir}/icons/hicolor/96x96/apps/varobs.png
%{_datadir}/icons/hicolor/scalable/apps/catgen.svg
%{_datadir}/icons/hicolor/scalable/apps/varobs.svg
%{_datadir}/metainfo/net.ap_i.catgen.metainfo.xml
%{_datadir}/metainfo/net.ap_i.varobs.metainfo.xml
%{_datadir}/pixmaps/catgen.png
%{_datadir}/pixmaps/varobs.png
%files doc
%doc %{_datadir}/skychart/doc/wiki_doc
%files data-stars
%{_datadir}/skychart/cat/gcvs
%{_datadir}/skychart/cat/tycho2
%{_datadir}/skychart/cat/wds
%{_datadir}/skychart/cat/bsc5
%{_datadir}/metainfo/%{name}-data-stars.metainfo.xml
%files data-dso
%{_datadir}/skychart/cat/leda
%{_datadir}/skychart/cat/lbn
%{_datadir}/skychart/cat/ocl
%{_datadir}/skychart/cat/gcm
%{_datadir}/skychart/cat/vdb
%{_datadir}/skychart/cat/gpn
%{_datadir}/skychart/cat/barnard
%{_datadir}/skychart/cat/sh2
%{_datadir}/metainfo/%{name}-data-dso.metainfo.xml
%files lang
%dir %{_datadir}/skychart/data/language
%{_datadir}/skychart/data/language/*
%changelog r