virtualplanet/virtualplanet.spec

192 lines
5.9 KiB
RPMSpec

%global svnver 20160119svn99
%global revision 99
Name: virtualplanet
Version: 1.0
Release: 7.%{svnver}%{?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 1.0 99
Source0: %{name}-%{version}-src-%{revision}-nopatents.tar.xz
Source1: generate-tarball.sh
Source2: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_JPLeph.tgz
Source3: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mars.tgz
Source4: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mercury.tgz
Source5: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Venus.tgz
Source6: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Overlay.tgz
Source7: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mars_Historical.tgz
Source8: http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mercury_Historical.tgz
# 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
# fpc isn't available on aarch64, ppc and s390
# so virtualplanet could not build
ExclusiveArch: %{ix86} x86_64
BuildRequires: desktop-file-utils
BuildRequires: dos2unix
BuildRequires: gtk2-devel
BuildRequires: fpc
BuildRequires: lazarus
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
Mars, Venus and Mercury.
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
%prep
%setup -q -n %{name}-%{version}-src-%{revision}
%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
%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 build extra textures
# because they're over 1GB of data
#make install install_data3 PREFIX=%%{buildroot}%%{_prefix}
%check
# Menu entry
desktop-file-validate %{buildroot}%{_datadir}/applications/virtualplanet.desktop
%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}/pixmaps/%{name}.png
%{_datadir}/icons/*/*/*/%{name}.png
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/language/
%dir %{_datadir}/%{name}/data
%{_datadir}/%{name}/data/country.tab
%{_datadir}/%{name}/data/retic.cur
%files doc
%license doc/fdl-1.3.txt doc/LICENSE
%doc %{_datadir}/%{name}/doc/
%files data-base
%{_datadir}/%{name}/data/jpleph/
%{_datadir}/%{name}/Database/
%{_datadir}/%{name}/Overlay/
%{_datadir}/%{name}/Textures/
%changelog
* 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