%global debug_package %{nil} %global forgeurl0 https://github.com/diasurgical/devilutionX %global forgeurl1 https://github.com/diasurgical/libsmackerdec %global forgeurl2 https://github.com/diasurgical/libmpq %global forgeurl3 https://github.com/brofield/simpleini %global forgeurl4 https://github.com/google/googletest Version: 1.4.1 %global tag0 %{version} %global commit1 2997ee0e41e91bb723003bc09234be553b190e38 %global commit2 0f10bd1600f406b13932bf5351ba713361262184 %global tag3 4.17 %global commit4 609281088cfefc76f9d0ce82e1ff6c30cc3591e5 %forgemeta -a Name: devilutionx Release: 1%{?dist} Summary: Diablo build for modern operating systems Group: Amusements/Games # Vendored simpleini is MIT License: Unlicense and MIT URL: %{forgeurl0} Source0: %{forgesource0} Source1: %{forgesource1} Source2: %{forgesource2} Source3: %{forgesource3} Source4: %{forgesource4} # Force use of shared libs where possible Patch0: devilutionx-systemlibs.patch # Vendor instead of retrieving from github Patch1: devilutionx-libsmackerdec.patch Patch2: devilutionx-libmpq.patch Patch3: devilutionx-simpleini.patch Patch4: devilutionx-googletest.patch BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: glibc-devel BuildRequires: asio-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(fmt) BuildRequires: gettext-devel BuildRequires: libasan BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libsodium) BuildRequires: libstdc++-static BuildRequires: libubsan BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(SDL_audiolib) BuildRequires: pkgconfig(SDL2_image) BuildRequires: pkgconfig(SDL2_ttf) BuildRequires: pkgconfig(SDL2_mixer) BuildRequires: smpq %description A reimplementation of Blizzard's Diablo compatible with modern operating systems. %prep %forgesetup -a cd ../devilutionX-%{version} %autopatch -p1 cd - # Copy vendored libraries to their locations cd .. cp -r libsmackerdec-%{commit1} devilutionX-%{version}/3rdParty/libsmackerdec/libsmackerdec cp -r libmpq-%{commit2} devilutionX-%{version}/3rdParty/libmpq/libmpq cp simpleini-%{tag3}/ConvertUTF.* devilutionX-%{version}/3rdParty/simpleini cp simpleini-%{tag3}/SimpleIni.h devilutionX-%{version}/3rdParty/simpleini cp -r googletest-%{commit4} devilutionX-%{version}/3rdParty/googletest/googletest cd - %build cd ../devilutionX-%{version} %cmake -DDEVILUTIONX_SYSTEM_SDL_AUDIOLIB=ON -DDISABLE_ZERO_TIER=ON -DVERSION_NUM=%{version} -DVERSION_SUFFIX=%{release} %cmake_build cd - %install cd ../devilutionX-%{version} %cmake_install cd - %files %license ../devilutionX-%{version}/LICENSE %doc %{_datadir}/diasurgical/%{name}/README.txt %{_bindir}/devilutionx %{_datadir}/applications/%{name}.desktop %{_datadir}/applications/%{name}-hellfire.desktop %{_datadir}/icons/hicolor/512x512/apps/%{name}.png %{_datadir}/icons/hicolor/512x512/apps/%{name}-hellfire.png %dir %{_datadir}/diasurgical/devilutionx %{_datadir}/diasurgical/devilutionx/devilutionx.mpq %changelog * Mon Aug 22 2022 Brandon Nielsen 1.4.1-1 - Update to 1.4.1 * Fri Dec 17 2021 Brandon Nielsen 1.3.0-1 - Update to 1.3.0 - Add patch to force system asio, SDL_image, SDL_audiolib - Add patch to vendor simpleini - Add patch for fmt enum changes - Use autopatch macro * Mon Nov 15 2021 Brandon Nielsen 1.2.1-2 - Use forge macros * Thu Apr 15 2021 Brandon Nielsen 1.2.1-1 - Update to 1.2.1 * Sun Apr 11 2021 Brandon Nielsen 1.2.0-1 - Update to 1.2.0 * Fri Mar 19 2021 Brandon Nielsen 1.1.0-2 - Use autosetup - Use cmake_install macro * Fri Oct 23 2020 Brandon Nielsen 1.1.0-1 - Update to 1.1.0 - Use cmake macros - Use included desktop file - Require SDL2-static across the board - Require libstdc++ across the board * Fri Mar 13 2020 Brandon Nielsen 1.0.1-2 - Use pkgconfig for BuildRequires - Require SDL2-static for F32 as well * Fri Mar 13 2020 Brandon Nielsen 1.0.1-1 - Update to 1.0.1 - Require SDL2-static to fix builds on Fedora rawhide * Sun Jan 12 2020 Brandon Nielsen 1.0.0-1 - Initial specfile