Name: liberation-circuit Summary: Real-time strategy game with programmable units License: GPLv3 URL: https://linleyh.itch.io/liberation-circuit %global git_date 20181105 %global git_commit_long dc2b5b08dadb1436f1aa706f8e09234c09a460ac %global git_commit_short %(c="%{git_commit_long}"; echo "${c:0:8}") Version: 1.3 Release: 1.%{git_date}.git.%{git_commit_short}%{?dist} %global repo_url https://github.com/linleyh/%{name} Source0: %{repo_url}/archive/%{git_commit_long}/%{name}-%{git_commit_long}.tar.gz # Desktop file, Appdata XML file, icons # Submitted upstream: https://github.com/linleyh/liberation-circuit/pull/44 Source1: %{name}-linux-packaging.zip Patch0: libcirc-format-security.patch BuildRequires: allegro5-devel BuildRequires: allegro5-addon-acodec-devel BuildRequires: allegro5-addon-audio-devel BuildRequires: allegro5-addon-dialog-devel BuildRequires: allegro5-addon-image-devel BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: mesa-libGL-devel BuildRequires: unzip BuildRequires: desktop-file-utils BuildRequires: libappstream-glib Requires: %{name}-data = %{version}-%{release} %description Escape from a hostile computer system! Harvest data to create an armada of battle-processes to aid your escape. Take command directly and play the game as an RTS, or use the game's built-in editor and compiler to write your own unit AI in a simplified version of C. %package data Summary: Data files required to play Liberation Circuit BuildArch: noarch %description data This package contains assets, such as graphics and sound effects, required to play Liberation Circuit. %prep %setup -q -n %{name}-%{git_commit_long} %patch0 -p1 sed -i CMakeLists.txt \ -e 's/include_directories (${ALLEGRO_INCLUDE_DIR})//' \ -e 's/target_link_libraries (liberation-circuit ${ALLEGRO_LIBRARY})/target_link_libraries (liberation-circuit allegro_image allegro_primitives allegro_color allegro_acodec allegro_audio allegro_dialog allegro_font allegro_main allegro m)/' \ cp %{SOURCE1} ./ unzip %{name}-linux-packaging.zip rm %{name}-linux-packaging.zip appstream-util validate-relax --nonet linux-packaging/%{name}.appdata.xml %build mkdir build/ pushd build/ %{cmake} .. cmake --build ./ %{?smp_flags} popd cat > bin/%{name}-wrapper << EOF #!%{_bindir}/bash cd %{_datadir}/%{name} %{_libexecdir}/%{name} EOF %install install -m 755 -d %{buildroot}%{_bindir} install -m 755 bin/%{name}-wrapper %{buildroot}%{_bindir}/%{name} install -m 755 -d %{buildroot}%{_libexecdir}/ install -m 755 bin/%{name} %{buildroot}%{_libexecdir}/%{name} install -m 755 -d %{buildroot}%{_datadir}/%{name} for FILE in data proc story init.txt; do cp -a "bin/${FILE}" "%{buildroot}%{_datadir}/%{name}/${FILE}" done install -m 755 -d %{buildroot}%{_datadir}/applications desktop-file-install linux-packaging/%{name}.desktop \ --dir=%{buildroot}%{_datadir}/applications/ install -m 755 -d %{buildroot}%{_metainfodir} cp -a linux-packaging/%{name}.appdata.xml %{buildroot}%{_metainfodir}/%{name}.appdata.xml for ICONSIZE in 16 32 256; do ICONDIR="%{buildroot}%{_datadir}/icons/hicolor/${ICONSIZE}x${ICONSIZE}/apps" install -m 755 -d "${ICONDIR}" cp -a "linux-packaging/icon-${ICONSIZE}px.png" "${ICONDIR}/%{name}.png" done %files %doc bin/Manual.html %license LICENSE.md %{_bindir}/%{name} %{_libexecdir}/%{name} %{_datadir}/applications/%{name}.* %{_metainfodir}/%{name}.* %{_datadir}/icons/hicolor/**/apps/%{name}.png %files data %license bin/licence.txt %{_datadir}/%{name} %changelog * Fri Aug 16 2019 Artur Iwicki - 1.3-1.20181105.git.dc2b5b08 - Initial packaging