Damian Wrobel 36f91ce
Name:          crrcsim
Damian Wrobel 36f91ce
Version:       0.9.12
f80a558
Release:       7%{?dist}
Damian Wrobel 36f91ce
Group:         Amusements/Games
Damian Wrobel 36f91ce
Summary:       Model-Airplane Flight Simulation Program
Damian Wrobel 36f91ce
License:       GPLv2
Damian Wrobel 36f91ce
URL:           http://sourceforge.net/apps/mediawiki/crrcsim/
Damian Wrobel 36f91ce
Source0:       http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
d4cd74c
# upstream report: http://preview.tinyurl.com/bnryakb
14357e1
Patch0:        %{name}-0.9.12-no-io-h.patch
d4cd74c
# aarch64 support added
d4cd74c
# upstream report: http://preview.tinyurl.com/cass62h
d4cd74c
Patch1:        %{name}-0.9.12-aarch64-support.patch
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# It is only meant for development purposes.
Damian Wrobel 36f91ce
%global build_with_cmake %{?_with_cmake:1}%{!?_with_cmake:0}
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%global the_desktop_file packages/Fedora/CRRCsim.desktop
Damian Wrobel 36f91ce
%global the_icon_file %{_datadir}/%{name}/icons/%{name}.png
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%if %{build_with_cmake}
Damian Wrobel 36f91ce
BuildRequires: cmake
Damian Wrobel 36f91ce
%endif
Damian Wrobel 36f91ce
BuildRequires: portaudio-devel
Damian Wrobel 36f91ce
BuildRequires: SDL-devel
Damian Wrobel 36f91ce
BuildRequires: freeglut-devel
Damian Wrobel 36f91ce
BuildRequires: plib-devel
Damian Wrobel 36f91ce
BuildRequires: openjpeg-devel
Damian Wrobel 36f91ce
BuildRequires: CGAL-devel
Damian Wrobel 36f91ce
BuildRequires: desktop-file-utils
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%description
Damian Wrobel 36f91ce
Crrcsim is a model-airplane flight simulation program.
Damian Wrobel 36f91ce
Using it, you can learn how to fly model aircraft, test new aircraft designs,
Damian Wrobel 36f91ce
and improve your skills by practicing on your computer.
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
The flight model is very realistic.
Damian Wrobel 36f91ce
The flight model parameters are calculated based on a 3D representation
Damian Wrobel 36f91ce
of the aircraft. Stalls are properly modeled as well.
Damian Wrobel 36f91ce
Model control is possible with your own RC transmitter, or any input device
Damian Wrobel 36f91ce
such as joystick, mouse, keyboard.
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%package doc
Damian Wrobel 36f91ce
Group:         Documentation
Damian Wrobel 36f91ce
Summary:       Documentation for %{name}
Damian Wrobel 36f91ce
Requires:      %{name} = %{version}-%{release}
Damian Wrobel 36f91ce
BuildArch:     noarch
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%description doc
Damian Wrobel 36f91ce
Documentation for %{name} package.
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%prep
Damian Wrobel 36f91ce
%setup -q
14357e1
%patch0 -p1 -b .no-io-h
d4cd74c
%patch1 -p1 -b .aarch64
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Correct EOL.
Damian Wrobel 36f91ce
for i in \
Damian Wrobel 36f91ce
    documentation/input_method/PARALLEL_1_to_3/crrcsim_at90s1200.hex \
Damian Wrobel 36f91ce
    documentation/models/Readmefirst_Crossfire.txt \
Damian Wrobel 36f91ce
    documentation/models/Readmefirst_Erwin.txt \
Damian Wrobel 36f91ce
    documentation/Install_Win32.txt \
Damian Wrobel 36f91ce
    documentation/dlportio.txt; do
Damian Wrobel 36f91ce
        sed -i 's#\r##g' $i;
Damian Wrobel 36f91ce
done
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Remove executable permission.
Damian Wrobel 36f91ce
chmod a-x src/mod_landscape/heightdata.h
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Correct file encoding.
Damian Wrobel 36f91ce
for i in documentation/thermals/table*.cpp; do
Damian Wrobel 36f91ce
  iconv -f iso-8859-1 -t utf-8 -o $i{.utf8,} && mv $i{.utf8,}
Damian Wrobel 36f91ce
done
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Desktop file: correct the icon file location.
Damian Wrobel 36f91ce
sed -i 's#^\(Icon.*=\).*#\1%{the_icon_file}#g' %{the_desktop_file}
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Desktop file: correct categories.
Damian Wrobel 36f91ce
# Reported upstream: http://preview.tinyurl.com/cep8rvp
Damian Wrobel 36f91ce
sed -i 's#^\(Categories=\).*#\1Game;Simulation;#g' %{the_desktop_file}
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Desktop file: remove deprecated "Encoding" key.
Damian Wrobel 36f91ce
# Reported upstream: http://preview.tinyurl.com/cep8rvp
Damian Wrobel 36f91ce
sed -i 's#^Encoding=.*##g' %{the_desktop_file}
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
# Minimal approach to satisfy the linker.
Damian Wrobel 36f91ce
# Reported upstream: http://preview.tinyurl.com/d3cg4s2
Petr Machata a261e40
sed -i 's#\($(GLU_LIBS)\)#\1\ -lgmp\ -lboost_thread#' Makefile.in
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%if %{build_with_cmake}
Damian Wrobel 36f91ce
# Remove reference to not existing file.
Damian Wrobel 36f91ce
sed -i 's#\(.*m44_test.*\)#\#\1#g' src/mod_math/CMakeLists.txt
Damian Wrobel 36f91ce
%endif
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%build
Damian Wrobel 36f91ce
%if %{build_with_cmake}
Damian Wrobel 36f91ce
 mkdir -p build
Damian Wrobel 36f91ce
 pushd build
Damian Wrobel 36f91ce
 %cmake ..
Damian Wrobel 36f91ce
 make %{?_smp_mflags}
Damian Wrobel 36f91ce
 popd
Damian Wrobel 36f91ce
%else
Damian Wrobel 36f91ce
 %configure
Damian Wrobel 36f91ce
 make %{?_smp_mflags}
Damian Wrobel 36f91ce
%endif
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%install
Damian Wrobel 36f91ce
make DESTDIR=%{buildroot} install
Damian Wrobel 36f91ce
desktop-file-install \
Damian Wrobel 36f91ce
    --dir=%{buildroot}%{_datadir}/applications \
Damian Wrobel 36f91ce
    %{the_desktop_file}
Damian Wrobel 36f91ce
rm -f %{buildroot}%{_datadir}/%{name}/icons/%{name}.{ico,xpm}
Damian Wrobel 36f91ce
%find_lang %{name}
Damian Wrobel 36f91ce
%find_lang %{name} --with-man
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
d4cd74c
%post
d4cd74c
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
d4cd74c
d4cd74c
d4cd74c
%postun
d4cd74c
if [ $1 -eq 0 ] ; then
d4cd74c
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
d4cd74c
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d4cd74c
fi
d4cd74c
d4cd74c
d4cd74c
%posttrans
d4cd74c
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d4cd74c
d4cd74c
Damian Wrobel 36f91ce
%files -f %{name}.lang
Damian Wrobel 36f91ce
%doc AUTHORS COPYING HISTORY
Damian Wrobel 36f91ce
%{_bindir}/crrcsim
Damian Wrobel 36f91ce
%{_datadir}/applications/CRRCsim.desktop
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/icons
Damian Wrobel 36f91ce
%{_datadir}/%{name}/icons/%{name}.png
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/models
Damian Wrobel 36f91ce
%{_datadir}/%{name}/models/*.xml
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/models/battery
Damian Wrobel 36f91ce
%{_datadir}/%{name}/models/battery/*.xml
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/models/engine
Damian Wrobel 36f91ce
%{_datadir}/%{name}/models/engine/*.xml
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/objects
Damian Wrobel 36f91ce
%{_datadir}/%{name}/objects/*.ac
Damian Wrobel 36f91ce
%{_datadir}/%{name}/objects/*.3ds
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/scenery
Damian Wrobel 36f91ce
%{_datadir}/%{name}/scenery/*.xml
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/sounds
Damian Wrobel 36f91ce
%{_datadir}/%{name}/sounds/*.wav
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/sounds/f3f
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/sounds/f3f/default
Damian Wrobel 36f91ce
%{_datadir}/%{name}/sounds/f3f/default/*.wav
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/sounds/f3f/sport
Damian Wrobel 36f91ce
%{_datadir}/%{name}/sounds/f3f/sport/*.wav
Damian Wrobel 36f91ce
%dir %{_datadir}/%{name}/textures
Damian Wrobel 36f91ce
%{_datadir}/%{name}/textures/*.bw
Damian Wrobel 36f91ce
%{_datadir}/%{name}/textures/*.jpg
Damian Wrobel 36f91ce
%{_datadir}/%{name}/textures/*.rgb
Damian Wrobel 36f91ce
%{_datadir}/%{name}/textures/*.txf
Damian Wrobel 36f91ce
%{_mandir}/man1/%{name}.1*
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%files doc
Damian Wrobel 36f91ce
%doc %{_defaultdocdir}/%{name}
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
%changelog
f80a558
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.12-7
f80a558
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
f80a558
Petr Machata 495dd01
* Sun Jul 28 2013 Petr Machata <pmachata@redhat.com> - 0.9.12-6
Petr Machata 495dd01
- Rebuild for boost 1.54.0
Petr Machata a261e40
- Link against -lboost_thread, the -mt variant is not shipped anymore.
Petr Machata 495dd01
d4cd74c
* Sat Mar 23 2013 Damian Wrobel <dwrobel@ertelnet.rybnik.pl> - 0.9.12-5
d4cd74c
- aarch64 support added, fixes #925200
d4cd74c
- updating icon cache scriplets added
d4cd74c
bcdc020
* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 0.9.12-4
bcdc020
- Rebuild for Boost-1.53.0
bcdc020
14357e1
* Fri Feb 01 2013 Dan HorĂ¡k <dan[at]danny.cz> - 0.9.12-3
14357e1
- fix build on platforms without io.h
14357e1
Damian Wrobel 36f91ce
* Tue Jan 29 2013 Damian Wrobel <dwrobel@ertelnet.rybnik.pl> - 0.9.12-2
Damian Wrobel 36f91ce
- doc subpackage BuildArch adn Requires corrected.
Damian Wrobel 36f91ce
Damian Wrobel 36f91ce
* Tue Jun 12 2012 Damian Wrobel <dwrobel@ertelnet.rybnik.pl> - 0.9.12-1
Damian Wrobel 36f91ce
- initial RPM release.