%undefine _hardened_build #wxGTK3-gtk2 is somewhat differently organized prior to f28 %if 0%{?fedora} > 27 %global wx_config wx-config %else %global wx_config wx-config-3.0-gtk2 %endif Name: dolphin-emu Version: 5.0 Release: 24%{?dist} Summary: GameCube / Wii / Triforce Emulator Url: https://dolphin-emu.org/ ##The project is licensed under GPLv2+ with some notable exceptions #Source/Core/Common/GL/GLExtensions/* is MIT #Source/Core/Core/HW/Sram.h is zlib #Source/Core/Common/GekkoDisassembler.* is BSD (2 clause) ##The following is BSD (3 clause): #dolphin-5.0/Source/Core/Common/SDCardUtil.cpp #dolphin-5.0/Source/Core/Common/BitField.h #dolphin-5.0/Source/Core/Core/IPC_HLE/l2cap.h #dolphin-5.0/Source/Core/Core/IPC_HLE/hci.h #dolphin-5.0/Source/Core/VideoBackends/Software/Clipper.cpp #dolphin-5.0/Source/Core/AudioCommon/aldlist.cpp ##Any code in Externals has a license break down in Externals/licenses.md License: GPLv2+ and BSD and MIT and zlib Source0: https://github.com/%{name}/dolphin/archive/%{version}.tar.gz Source1: %{name}.appdata.xml #Missing include for mbedtls 2.3+, fixed upstream: #https://github.com/dolphin-emu/dolphin/commit/980ecfba7f934f91c021bdeec06d0518dd570bac Patch1: %{name}-%{version}-mbedtls2.3.patch #Patch for soundtouch, not applicable upstream Patch2: %{name}-%{version}-soundtouch-exception-fix.patch BuildRequires: alsa-lib-devel BuildRequires: bluez-libs-devel BuildRequires: bochs-devel BuildRequires: cmake BuildRequires: enet-devel BuildRequires: gtest-devel BuildRequires: libao-devel BuildRequires: libcurl-devel BuildRequires: libevdev-devel BuildRequires: libpng-devel BuildRequires: libusb-devel BuildRequires: libXrandr-devel BuildRequires: lzo-devel BuildRequires: mbedtls-devel BuildRequires: mesa-libGL-devel BuildRequires: miniupnpc-devel BuildRequires: openal-soft-devel BuildRequires: pulseaudio-libs-devel BuildRequires: portaudio-devel BuildRequires: SDL2-devel BuildRequires: SFML-devel BuildRequires: SOIL-devel BuildRequires: soundtouch-devel BuildRequires: systemd-devel BuildRequires: compat-wxGTK3-gtk2-devel BuildRequires: xxhash-devel BuildRequires: zlib-devel BuildRequires: gettext BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: hicolor-icon-theme #Only the following architectures are supported: ExclusiveArch: x86_64 armv7l aarch64 Requires: hicolor-icon-theme Requires: %{name}-data = %{version}-%{release} #Most of below is taken bundled spec file in source# %description Dolphin is a Gamecube, Wii and Triforce (the arcade machine based on the Gamecube) emulator, which supports full HD video with several enhancements such as compatibility with all PC controllers, turbo speed, networked multiplayer, and more. Most games run perfectly or with minor bugs. %package nogui Summary: Dolphin Emulator without a graphical user interface Requires: %{name}-data = %{version}-%{release} %description nogui Dolphin Emulator without a graphical user interface. %package data Summary: Dolphin Emulator data files BuildArch: noarch %description data This package provides the data files for dolphin-emu. #################################################### %prep %autosetup -p1 -n dolphin-%{version} #Patch for GCC8 sed -i 's/_xgetbv(/de_xgetbv(/g' Source/Core/Common/x64CPUDetect.cpp #Allow building with cmake macro sed -i '/CMAKE_C.*_FLAGS/d' CMakeLists.txt #Font license, just making things more generic sed 's| this directory | %{name}/Sys/GC |g' \ Data/Sys/GC/font-licenses.txt > font-licenses.txt #Patch for fedora 26+ #https://github.com/dolphin-emu/dolphin/pull/4496 sed -i 's/CHAR_/CHARACTER_/g' Source/Core/VideoBackends/OGL/RasterFont.cpp ###Remove Bundled: cd Externals rm -rf `ls | grep -v 'Bochs'` #Remove Bundled Bochs source and replace with links: cd Bochs_disasm rm -rf `ls | grep -v 'stdafx' | grep -v 'CMakeLists.txt'` ln -s %{_includedir}/bochs/* ./ ln -s %{_includedir}/bochs/disasm/* ./ %build #Script to find xxhash is not implemented, just tell cmake it was found %cmake . \ -DwxWidgets_CONFIG_EXECUTABLE=%{_bindir}/%{wx_config} \ -DENABLE_LTO='TRUE' \ -DXXHASH_FOUND=TRUE \ -DUSE_SHARED_ENET=TRUE \ -DUSE_SHARED_GTEST=TRUE %make_build %install %make_install #Install appdata.xml install -p -D -m 0644 %{SOURCE1} \ %{buildroot}/%{_datadir}/appdata/%{name}.appdata.xml %find_lang %{name} %check desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet \ %{buildroot}/%{_datadir}/appdata/*.appdata.xml %files -f %{name}.lang %doc Readme.md %license license.txt %{_bindir}/%{name} %{_mandir}/man6/%{name}.* %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}.* %{_datadir}/%{name}/sys/Resources/ %{_datadir}/%{name}/sys/Themes/ %{_datadir}/appdata/*.appdata.xml %files nogui %doc Readme.md %license license.txt %{_bindir}/%{name}-nogui %{_mandir}/man6/%{name}-nogui.* %files data %doc Readme.md docs/gc-font-tool.cpp %license license.txt font-licenses.txt #For the gui package: %exclude %{_datadir}/%{name}/sys/Resources/ %exclude %{_datadir}/%{name}/sys/Themes/ #Already packaged: %exclude %{_datadir}/%{name}/sys/GC/font-licenses.txt %{_datadir}/%{name} %changelog * Mon Aug 20 2018 Jeremy Newton - 5.0-24 - Fix for soundtouch 2.0.0-5 onwards * Tue Jul 17 2018 Hans de Goede - 5.0-22.fc27.1 - Rebuilt for new soundtouch (rhbz#1601724) * Mon May 21 2018 Robert Scheck - 5.0-22 - Rebuilt for mbed TLS 2.9.0 (libmbedcrypto.so.2) * Wed Mar 07 2018 Jeremy Newton - 5.0-21 - Unbundle xxhash * Mon Feb 19 2018 Robert Scheck - 5.0-20 - Rebuilt for mbed TLS 2.7.0 * Wed Feb 07 2018 Fedora Release Engineering - 5.0-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Jan 11 2018 Igor Gnatenko - 5.0-18 - Remove obsolete scriptlets * Sun Oct 15 2017 Jeremy Newton - 5.0-17 - Rebuild with gtk2, since it's been merged into wxGTK3 - Cleanup unnecessary walyand script due to gtk2, closer to upstream now * Wed Aug 02 2017 Fedora Release Engineering - 5.0-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 5.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon May 8 2017 Jeremy Newton - 5.0-14 - Rework and rebuild for bochs 2.6.9 * Sun May 7 2017 Jeremy Newton - 5.0-13 - Fix launcher script issues * Wed Feb 15 2017 Jeremy Newton - 5.0-12 - Rebuilt SFML 2.4 * Fri Feb 10 2017 Fedora Release Engineering - 5.0-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Jan 4 2017 Jeremy Newton - 5.0-10 - Add launch scripts for seemless xwayland support - Revert workaround in desktop file - Use check macro - Enable LTO * Tue Jan 3 2017 Jeremy Newton - 5.0-9 - Workaround for wayland (force x11 for GUI) * Thu Dec 22 2016 Jeremy Newton - 5.0-8 - Appdata fixes * Fri Dec 9 2016 Jeremy Newton - 5.0-7 - Add appdata * Tue Dec 6 2016 Jeremy Newton - 5.0-6 - License fixes with added breakdown - Split out common data into data subpackage * Mon Dec 5 2016 Jeremy Newton - 5.0-5 - Revert patch for curl 7.50 - Spec cleanup and fixes - Add a patch for f26+ * Mon Jul 25 2016 Jeremy Newton - 5.0-4 - Patch for curl 7.50 * Mon Jul 25 2016 Jeremy Newton - 5.0-3 - Added systemd-devel as build require - Rebuild for miniupnpc-2.0 * Thu Jul 7 2016 Jeremy Newton - 5.0-2 - Added patch for building with mbedtls 2.3+ * Fri Jun 24 2016 Jeremy Newton - 5.0-1 - Update to 5.0 * Thu Mar 24 2016 Jeremy Newton - 5.0-0.2rc - Update manpages to upstream - Disable hardened build (breaks dolphin) * Thu Mar 3 2016 Jeremy Newton - 5.0-0.1rc - Update to 5.0rc - Updated manpage * Thu Nov 12 2015 Jeremy Newton - 4.0-10 - Patch for mbedtls updated for 2.0+ (f23+) * Thu Nov 12 2015 Jeremy Newton - 4.0-9 - Patch for X11 for f22+ - Patch for mbedtls (used to be polarssl, fixes check) - Changed the source download link (migrated to github) * Mon Jul 20 2015 Jeremy Newton - 4.0-8 - Disabling polarssl check, as its not working on buildsys * Sun Jun 14 2015 Jeremy Newton - 4.0-7 - Patching for the rename of polarssl * Tue Dec 9 2014 Jeremy Newton - 4.0-6 - Patching for GCC 4.9 * Sat Dec 6 2014 Jeremy Newton - 4.0-5 - Line got deleted by accident, build fails * Mon Oct 27 2014 Jeremy Newton - 4.0-4 - Change in wxGTK3-devel file - Remove unnecessary CG requirement * Thu Oct 2 2014 Jeremy Newton - 4.0-3 - Use polarssl 1.3 (fedora 21+) to avoid bundling - patch to use entropy functionality in SSL instead of havege * Thu Oct 2 2014 Jeremy Newton - 4.0-2 - Bundle polarssl (temporary fix, only for F19/20) * Mon Mar 3 2014 Jeremy Newton - 4.0-1 - Update to dolphin 4.0.2 - Removed any unnecessary patches - Added new and updated some old patches - Removed exclusive arch, now builds on arm * Wed Jan 1 2014 Jeremy Newton - 3.5-6 - Build for SDL2 (Adds vibration support) * Mon Nov 18 2013 Jeremy Newton - 3.5-5 - Added patch for SFML, thanks to Hans de Goede * Sat Jul 27 2013 Jeremy Newton - 3.5-4 - Updated for SFML compat * Fri Jul 26 2013 Jeremy Newton - 3.5-3 - GCC 4.8 Fix (Fedora 19 and onwards) * Tue Feb 19 2013 Jeremy Newton - 3.5-2 - Fixed date typos in SPEC * Tue Feb 19 2013 Jeremy Newton - 3.5-1 - Updated to latest stable: removed GCC patch, updated CLRun patch - Added patch to build on wxwidgets 2.8 (temporary workaround) * Sat Feb 16 2013 Jeremy Newton - 3.0-12 - Removed patch for libav and disabled ffmpeg, caused rendering issues - Minor consistency fixes to SPEC file * Fri Dec 14 2012 Jeremy Newton - 3.0-11 - Added patch for recent libav api change in fc18, credit to Xiao-Long Chen - Renamed patch 1 for consistency * Mon Jun 25 2012 Jeremy Newton - 3.0-10 - Changed CLRun buildrequire package name - Renamed GCC 4.7 patch to suit fedora standards - Added missing hicolor-icon-theme require * Sat Jun 02 2012 Xiao-Long Chen - 3.0-9 - Add patch to fix build with gcc 4.7.0 in fc17 * Thu Apr 5 2012 Jeremy Newton - 3.0-8 - Removed bundled CLRun * Tue Mar 13 2012 Jeremy Newton - 3.0-7 - Removed bundled bochs - Fixed get-source-from-git.sh: missing checkout 3.0 * Fri Feb 24 2012 Jeremy Newton - 3.0-6 - Removed purposeless zerolength file Lots of clean up and additions, thanks to Xiao-Long Chen: - Added man page - Added script to grab source - Added copyright file - Added ExclusiveArch - Added Some missing dependencies * Thu Feb 23 2012 Jeremy Newton - 3.0-5 - Fixed Licensing - Split sources and fixed source grab commands * Fri Jan 27 2012 Jeremy Newton - 3.0-4 - Tweaked to now be able to encode frame dumps * Sun Jan 22 2012 Jeremy Newton - 3.0-3 - Building now uses cmake macro - Turned off building shared libs - Removed unnecessary lines - Fixed debuginfo-without-sources issue - Reorganization of the SPEC for readability * Thu Jan 12 2012 Jeremy Newton - 3.0-2 - Fixed up spec to Fedora Guidelines - Fixed various trivial mistakes - Added SOIL and SFML to dependancies - Removed bundled SOIL and SFML from source spin * Sun Dec 18 2011 Jeremy Newton - 3.0-1 - Initial package SPEC created