Name: colobot Version: 0.1.11.1 Release: 6%{?dist} Summary: A video game that teaches programming in a fun way License: GPLv3 URL: https://colobot.info %global giturl https://github.com/colobot %global gittag colobot-gold-%{version}-alpha Source0: %{giturl}/colobot/archive/%{gittag}/colobot-%{gittag}.tar.gz Source1: %{giturl}/colobot-data/archive/%{gittag}/colobot-data-%{gittag}.tar.gz # Music files are licensed under GPLv3, like the rest of the game. # They are not kept in the colobot-data repo, and by default are downloaded during the build. # Since Fedora builders have net-access disabled, we need to download them beforehand. %global musicurl https://colobot.info/files/music Source100: %{musicurl}/Intro1.ogg Source101: %{musicurl}/Intro2.ogg Source102: %{musicurl}/music002.ogg Source103: %{musicurl}/music003.ogg Source104: %{musicurl}/music004.ogg Source105: %{musicurl}/music005.ogg Source106: %{musicurl}/music006.ogg Source107: %{musicurl}/music007.ogg Source108: %{musicurl}/music008.ogg Source109: %{musicurl}/music009.ogg Source110: %{musicurl}/music010.ogg Source111: %{musicurl}/music011.ogg Source112: %{musicurl}/music012.ogg Source113: %{musicurl}/music013.ogg Source114: %{musicurl}/Constructive.ogg Source115: %{musicurl}/Humanitarian.ogg Source116: %{musicurl}/Hv2.ogg Source117: %{musicurl}/Quite.ogg Source118: %{musicurl}/Infinite.ogg Source119: %{musicurl}/Proton.ogg Source120: %{musicurl}/Prototype.ogg # Add an Appstream file # https://github.com/colobot/colobot/pull/1205 Patch0: colobot-1205.diff # Replace sprintf() calls with snprintf() calls Patch1: colobot-sprintf.diff BuildRequires: boost-devel >= 1.51 BuildRequires: boost-filesystem >= 1.51 BuildRequires: boost-regex >= 1.51 BuildRequires: cmake >= 2.8 BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: gettext-devel >= 0.18 BuildRequires: glew-devel >= 1.8.0 BuildRequires: libappstream-glib BuildRequires: libogg-devel >= 1.3.0 BuildRequires: libpng-devel >= 1.2 BuildRequires: libsndfile-devel >= 1.0.25 BuildRequires: libvorbis >= 1.3.2 BuildRequires: openal-soft-devel >= 1.13 BuildRequires: po4a BuildRequires: physfs-devel BuildRequires: python >= 2.7 BuildRequires: SDL2-devel SDL2_image-devel SDL2_ttf-devel BuildRequires: xmlstarlet BuildRequires: %{_bindir}/pod2man BuildRequires: %{_bindir}/rsvg-convert Requires: colobot-data = %{version}-%{release} Requires: colobot-music = %{version}-%{release} Requires: hicolor-icon-theme %description Colobot: Gold Edition is a real-time strategy game, where you can program your units (bots) in a language called CBOT, which is similar to C++ and Java. Your mission is to find a new planet to live and survive. You can save the humanity and get programming skills! %package data Summary: Data files for Colobot: Gold Edition BuildArch: noarch %description data Data files (graphics, sounds, levels) required to run Colobot Gold. %package music Summary: Music for Colobot: Gold Edition BuildArch: noarch %description music Music files used by Colobot Gold. %prep %setup -q -n colobot-%{gittag} %patch0 -p1 %patch1 -p1 rm -rf ./data cp %{SOURCE1} ./data.tgz tar xzf ./data.tgz rm ./data.tgz mv ./colobot-data-%{gittag} ./data cp -a %{SOURCE100} data/music/ cp -a %{SOURCE101} data/music/ cp -a %{SOURCE102} data/music/ cp -a %{SOURCE103} data/music/ cp -a %{SOURCE104} data/music/ cp -a %{SOURCE105} data/music/ cp -a %{SOURCE106} data/music/ cp -a %{SOURCE107} data/music/ cp -a %{SOURCE108} data/music/ cp -a %{SOURCE109} data/music/ cp -a %{SOURCE110} data/music/ cp -a %{SOURCE111} data/music/ cp -a %{SOURCE112} data/music/ cp -a %{SOURCE113} data/music/ cp -a %{SOURCE114} data/music/ cp -a %{SOURCE115} data/music/ cp -a %{SOURCE116} data/music/ cp -a %{SOURCE117} data/music/ cp -a %{SOURCE118} data/music/ cp -a %{SOURCE119} data/music/ cp -a %{SOURCE120} data/music/ sed \ -e 's|set(COLOBOT_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/games |set(COLOBOT_INSTALL_BIN_DIR %{_bindir}/ |' \ -e 's|set(COLOBOT_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib/colobot |set(COLOBOT_INSTALL_LIB_DIR %{_libdir}/colobot |' \ -e 's|set(COLOBOT_INSTALL_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/games/colobot |set(COLOBOT_INSTALL_DATA_DIR %{_datadir}/colobot |' \ -e 's|set(COLOBOT_INSTALL_I18N_DIR ${CMAKE_INSTALL_PREFIX}/share/locale |set(COLOBOT_INSTALL_I18N_DIR %{_datadir}/locale |' \ -e 's|set(COLOBOT_INSTALL_DOC_DIR ${CMAKE_INSTALL_PREFIX}/share/doc/colobot |set(COLOBOT_INSTALL_DOC_DIR %{_datadir}/doc/colobot |' \ -i CMakeLists.txt %build mkdir build cd build %cmake -DCMAKE_BUILD_TYPE=Release .. make %{?_smp_mflags} %install pushd build %make_install popd %find_lang %{name} --with-man %check desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml %files -f %{name}.lang %license LICENSE.txt %{_bindir}/%{name} %{_libdir}/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/metainfo/*.appdata.xml %{_datadir}/icons/hicolor/**/apps/%{name}.png %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_mandir}/man6/%{name}.6* %files data %license LICENSE.txt %{_datadir}/%{name}/ %exclude %{_datadir}/%{name}/music %files music %license LICENSE.txt %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/music/ %changelog * Tue Nov 13 2018 Artur Iwicki - 0.1.11.1-6 - Use %%find_lang for .mo files and man pages * Thu Nov 08 2018 Artur Iwicki - 0.1.11.1-5 - Change the Summary: to something more descriptive - Add a comment on music files - Preserve timestamps on music files * Thu Nov 08 2018 Artur Iwicki - 0.1.11.1-4 - Add a Requires: for hicolor-icon-theme - Validate the desktop and appdata file * Sun Nov 04 2018 Artur Iwicki - 0.1.11.1-3 - Fix build failures on F28 and later * Mon Oct 29 2018 Artur Iwicki - 0.1.11.1-2 - Add an Appdata XML file - Move music into a separate subpackage * Tue Oct 16 2018 Artur Iwicki - 0.1.11.1-1 - Initial packaging