Blob Blame History Raw
%global revision 159

Name: virtualplanet
Version: 2.0
Release: 1%{?dist}
Summary: An atlas for planets surface formations
# Some component of glscene used by virtualplanet are licensed MPLv1.1 only
License: GPLv3+ and MPLv1.1
URL: http://www.ap-i.net/avp/
# Virtual Planetary Atlas source contains Mac and Windows stuff
# so we use a script to remove that before importing in Fedora.
# Use this script to download svn version and clean it up:
# ./generate-tarball.sh 2.0 159
Source0: %{name}-%{version}-src-%{revision}-nopatents.tar.xz
Source1: generate-tarball.sh
# Base data
Source2: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_JPLeph.tgz
Source3: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Overlay.tgz
# Base textures
Source4: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Callisto.tgz
Source5: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Europa.tgz
Source6: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Ganymede.tgz
Source7: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Io.tgz
Source8: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Jupiter.tgz
Source9: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Mars.tgz
Source10: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Mercury.tgz
Source11: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Venus.tgz
# Historical textures
Source12: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Callisto_Historical.tgz
Source13: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Europa_Historical.tgz
Source14: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Ganymede_Historical.tgz
Source15: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Io_Historical.tgz
Source16: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Jupiter_Historical.tgz
Source17: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Mars_Historical.tgz
Source18: http://sourceforge.net/projects/%{name}/files/9-Source_Data/VPA_Base_Texture_Mercury_Historical.tgz

# Appdata files - asked upstream to include in sources
Source19: virtualplanet.appdata.xml
Source20: virtualplanet-data-historical.metainfo.xml



# Virtualplanet doesn't support set FPC options from command line
# This patch changes options in Makefiles to avoid stripping
# executables and to enable debug info
# Fedora specific, not reported upstream
Patch1: virtualplanet-fix-debuginfo.patch

# Virtualplanet use wget to download source data
# We disable that and use source files
# Fedora specific, not reported upstream
Patch2: virtualplanet-wgetdata.patch


ExclusiveArch: %{fpc_arches}


BuildRequires:  desktop-file-utils
BuildRequires:  dos2unix
BuildRequires:  gtk2-devel
BuildRequires:  fpc
BuildRequires:  lazarus >= 1.6.2
BuildRequires:  libappstream-glib

BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(glu)

Requires:       %{name}-data-base = %{version}-%{release}
# Virtualplanet requires libpasastro to function properly
# but rpm doesn't find this autorequire
Requires:       libpasastro%{?_isa}


%description
Virtual Planets Atlas displays surface information for planets
Jupiter, Mars, Venus and Mercury and for the major moons
of Jupiter.

It is based on the interface of well known Virtual Moon Atlas

%package doc
Summary:        Documentation files for Virtual Planets Atlas
License:        GFDL
Requires:       %{name} = %{version}-%{release}
BuildArch:      noarch

%description doc
Documentation files for Virtual Planets Atlas

%package data-base
Summary:        Base data for Virtual Planets Atlas
License:        Public Domain
Requires:       %{name} = %{version}-%{release}
BuildArch:      noarch

%description data-base
Base data for Virtual Planets Atlas. It includes base textures, 
database and overlays

%package data-historical
Summary:        Historical textures for Virtual Planets Atlas
License:        Public Domain
Requires:       %{name} = %{version}-%{release}
BuildArch:      noarch

%description data-historical
Historical addon textures for Virtual Planets Atlas

%prep
%setup -q -n %{name}-%{version}-src

%patch1 -p1

%patch2 -p1


%build
./configure lazarus=%{_libdir}/lazarus prefix=%{_prefix}

# Virtualplanet doesn't like parallel building so we don't use macro.
# Some components support passing options to fpc compiler 
# to generate debug info.
make fpcopts="-O1 -g -gl -OoREGVAR -Ch2000000 -CX -XX"

# Put additional catalogs files 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 %SOURCE14 ./BaseData
%{__cp} -p %SOURCE15 ./BaseData
%{__cp} -p %SOURCE16 ./BaseData
%{__cp} -p %SOURCE17 ./BaseData
%{__cp} -p %SOURCE18 ./BaseData


%install
# Install main program
make install PREFIX=%{buildroot}%{_prefix}

# Install data files
make install install_data PREFIX=%{buildroot}%{_prefix}
make install install_data2 PREFIX=%{buildroot}%{_prefix}

# For now we don't provide extra textures
# because they're over 1GB of data
#make install install_data3 PREFIX=%%{buildroot}%%{_prefix}

# Copy self created appdata files in buildroot
%{__mkdir_p} %{buildroot}%{_datadir}/appdata
%{__cp} -p %SOURCE19 %{buildroot}%{_datadir}/appdata
%{__cp} -p %SOURCE20 %{buildroot}%{_datadir}/appdata


%check
# Menu entry
desktop-file-validate %{buildroot}%{_datadir}/applications/virtualplanet.desktop

# Appdata file check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/*.appdata.xml

%post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
/usr/bin/update-desktop-database &> /dev/null || :

%postun
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
/usr/bin/update-desktop-database &> /dev/null || :

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%files
%license gpl-3.0.txt LICENSE
%doc %{_datadir}/doc/%{name}
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/icons/*/*/*/%{name}.png
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/language/

%files doc
%license doc/fdl-1.3.txt doc/LICENSE
%doc %{_datadir}/%{name}/doc/

%files data-base
%{_datadir}/%{name}/data/
%{_datadir}/%{name}/Database/
%{_datadir}/%{name}/Overlay/
%{_datadir}/%{name}/Textures/
%exclude %{_datadir}/%{name}/Textures/*/Historical/

%files data-historical
%{_datadir}/%{name}/Textures/*/Historical/
%{_datadir}/appdata/%{name}-data-historical.metainfo.xml


%changelog
* Thu Feb 02 2017 Mattia Verga <mattia.verga@tiscali.it> - 2.0-1
- Upgrade to stable 2.0
- Add appdata files

* Sat Mar 12 2016 Mattia Verga <mattia.verga@tiscali.it> - 1.0-7.20160119svn99
- Fix directories ownership
- Add update-desktop-database scripts
- Use ExclusiveArch instead of ExcludeArch
- Correct license to reflect some components only MPLv1.1

* Fri Jan 22 2016 Mattia Verga <mattia.verga@tiscali.it> - 1.0-6.20160119svn99
- Update svn revision to fix ARM build
- Moved tests into %%check
- Added architecture to libpasastro dependency

* Sun Dec 20 2015 Mattia Verga <mattia.verga@tiscali.it> - 1.0-5.20151220svn
- Properly set ExcludeArch

* Sun Dec 20 2015 Mattia Verga <mattia.verga@tiscali.it> - 1.0-4.20151220svn
- Libraries are now in separate package libpasastro

* Sat Dec 19 2015 Mattia Verga <mattia.verga@tiscali.it> - 1.0-3.20151217svn
- Add mesa-libGLU-devel to buildrequire

* Thu Dec 17 2015 Mattia Verga <mattia.verga@tiscali.it> - 1.0-2.20151217svn
- Update svn version
- Add license to main package and to documentation
- Fix building library with optflags scriptlets

* Fri Dec 04 2015 Mattia Verga <mattia.verga@tiscali.it> - 1.0-1
- Initial release