%define _disable_ld_no_undefined 1 Summary: Dance and rhythm game with 3D graphics and dance pad support Name: stepmania Version: 5.1 Release: %mkrel -c b1 1 License: MIT Url: https://www.stepmania.com/ Group: Games/Arcade # Repack to unbundle external deps and remove everything that we don't need # Patched stuff that can't be removed as of 5.0-beta4a: crypto, lua5.1 # snapshot on 2022-11-14 at d55acb1ba26f1c5b5e3048d6d6c0bd116625216f commit # fixed src/RageUtil.cpp line 1468 WITH_SYSTEM_PCRE is not passed # https://github.com/stepmania/stepmania/issues/2240 Source0: %{name}-%{version}.tar.xz Source1: clean-tarball.sh BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(jsoncpp) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(mad) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(sdl) BuildRequires: pkgconfig(libtomcrypt) BuildRequires: pkgconfig(libtommath) BuildRequires: pkgconfig(udev) BuildRequires: pkgconfig(vorbisfile) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) BuildRequires: cmake Requires: %{name}-data = %{version}-%{release} Recommends: %{name}-stepmix1 %description StepMania is a music/rhythm game. The player presses different buttons in time to the music and to note patterns that scroll across the screen. Features 3D graphics, visualizations, support for gamepads/dance pads, a step recording mode, and more! To add songs, simply copy the content of your folder containing songs to ~/.stepmania-5.1/Songs. %package data Summary: Data files for StepMania BuildArch: noarch Obsoletes: stepmania-data < 3.9-13 %description data This package contains arch-independent data files to be used with StepMania. %prep %setup -q %autopatch -p1 %build # workaround harfbuzz header path since pango 1.44.0 export CPATH="${CPATH}:%{_includedir}/harfbuzz" %ifarch %arm export CFLAGS="%optflags -DLTC_NO_ASM" export CXXFLAGS="%optflags -DLTC_NO_ASM" %endif # Very noisy warning about auto_ptr which is used a lot export CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations" %cmake \ -DCMAKE_INSTALL_PREFIX=%{_gamesdatadir} \ -DWITH_FFMPEG=OFF \ -DWITH_MINIMAID=OFF \ -DWITH_SYSTEM_PCRE=ON \ -DWITH_SYSTEM_GLEW=ON \ -DWITH_SYSTEM_JPEG=ON \ -DWITH_SYSTEM_PNG=ON \ -DWITH_SYSTEM_TOMCRYPT=ON \ -DWITH_SYSTEM_TOMMATH=ON \ -DWITH_SYSTEM_ZLIB=ON \ -DWITH_SYSTEM_JSONCPP=ON \ -DWITH_SYSTEM_MAD=ON \ -DWITH_SYSTEM_OGG=ON \ %ifnarch x86_64 -DWITH_SSE2=OFF \ %endif %ifnarch %{ix86} x86_64 -DWITH_PARALLEL_PORT=OFF \ -DWITH_CRASH_HANDLER=OFF \ %endif %cmake_build %install %cmake_install # Binary and GtkModule.so mkdir -p %{buildroot}%{_libexecdir}/%{name}/ mv %{buildroot}%{_gamesdatadir}/%{name}-5.1/stepmania-release-symbols %{buildroot}%{_libexecdir}/%{name}/ # mv %{buildroot}%{_gamesdatadir}/%{name}-5.1/GtkModule.so %{buildroot}%{_libexecdir}/%{name}/ # Icons install -d %{buildroot}%{_iconsdir} cp -a icons/hicolor %{buildroot}%{_iconsdir}/ # Desktop entry install -d %{buildroot}%{_datadir}/applications cat << EOF > %{buildroot}%{_datadir}/applications/%{name}.desktop [Desktop Entry] Name=StepMania GenericName=Rhythm game Comment=Dance and rhythm game with 3D graphics and dance pad support Exec=%{name} Icon=%{name}-ssc Categories=Game;ArcadeGame; Type=Application EOF # Wrapper mkdir -p %{buildroot}%{_gamesbindir} cat << EOF > %{buildroot}%{_gamesbindir}/%{name} #!/bin/sh cd %{_gamesdatadir}/%{name}-5.1/ %{_libexecdir}/%{name}/stepmania-release-symbols EOF chmod 0755 %{buildroot}%{_gamesbindir}/%{name} %files %doc README.md Manual/ Docs/{credits.txt,CommandLineArgs.txt,Changelog_sm5.txt} %{_gamesbindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_iconsdir}/hicolor/*/apps/%{name}-ssc.* %{_libexecdir}/%{name}/ %files data %{_gamesdatadir}/%{name}-5.1/ %changelog * Wed Jan 04 2023 papoteur <papoteur> 5.1-0.b1.1.mga9 + Revision: 1929787 - new 5.1 beta1 at 2023-11-14" * Mon Apr 04 2022 umeabot <umeabot> 5.0.12-4.mga9 + Revision: 1843089 - Mageia 9 Mass Rebuild * Sat Feb 15 2020 umeabot <umeabot> 5.0.12-3.mga8 + Revision: 1528513 - Mageia 8 Mass Rebuild + wally <wally> - build with new cmake macros * Thu Aug 22 2019 daviddavid <daviddavid> 5.0.12-2.mga8 + Revision: 1431334 - workaround harfbuzz header path since pango 1.44+ thus fixing build * Sun Oct 21 2018 pterjan <pterjan> 5.0.12-1.mga7 + Revision: 1323462 - Kill a noisy warning to strongly reduce build log size - Disable WITH_MINIMAID, it relies on pre build x86 binaries of libmmmagic - Totally disable ffmpeg - Revert the use of system ffmpeg, this version is not compatible with recent ffmpeg - Disable crash handler on non x86, it is only implemented there - Add BuildRequires for using system ffmpeg - Make WITH_PARALLEL_PORT actually do something and only enable it on x86* - Only enable sse2 on x86_64 - Add missing BuildRequires - Add an upstream patch fixing a crash early on startup - create a wrapper rather than patching, now it just crashes like the old version - Update to 5.0.12, switch to cmake. Location of GtkModule.so seems strange but keeping it in old location for now, not sure if it used to work * Sun Sep 23 2018 umeabot <umeabot> 5.0.9-7.mga7 + Revision: 1301201 - Mageia 7 Mass Rebuild * Sun Dec 03 2017 daviddavid <daviddavid> 5.0.9-6.mga7 + Revision: 1180810 - rebuild for new glew 2.1.0 * Mon Sep 11 2017 tv <tv> 5.0.9-5.mga7 + Revision: 1153016 - rebuild for new libglew * Tue Dec 06 2016 pterjan <pterjan> 5.0.9-4.mga6 + Revision: 1072807 - Fix build on arm * Fri Feb 19 2016 umeabot <umeabot> 5.0.9-3.mga6 + Revision: 969845 - Mageia 6 Mass Rebuild * Wed Sep 16 2015 zezinho <zezinho> 5.0.9-2.mga6 + Revision: 880007 - fix patch pkg an lib dirs * Wed Sep 16 2015 zezinho <zezinho> 5.0.9-1.mga6 + Revision: 879739 - new version 5.0.9 - patches rediffed - fix compiler errors * Fri Aug 28 2015 fwang <fwang> 5.0-0.beta4a.4.mga6 + Revision: 870575 - rebuild for new glew * Wed Jun 24 2015 akien <akien> 5.0-0.beta4a.3.mga6 + Revision: 842243 - Rebuild for GLEW 1.12 * Sat Dec 13 2014 joequant <joequant> 5.0-0.beta4a.2.mga5 + Revision: 802901 - rebuild with new lua + akien <akien> - Add cleaning script to the sources - Version 5.0 beta4a - Complete overhaul of the spec file (practically a new package after 9 years): o Use pkgconfig for BRs, add new BRs o Drop all obsolete patches o Unbundle the libs that can be o Hardcode datadir and libexecdir in the binary - Basic data files now provided by this SRPM, obsoleting old stepmania-data - Disabled ffmpeg support, as upstream advises against using a non-bundled version * Wed Oct 15 2014 umeabot <umeabot> 3.9-24.mga5 + Revision: 739351 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 3.9-23.mga5 + Revision: 689542 - Mageia 5 Mass Rebuild + tv <tv> - s/uggests:/Recommends:/ * Sun Mar 16 2014 doktor5000 <doktor5000> 3.9-22.mga5 + Revision: 604179 - removed soundwrapper call from .desktop file to prevent segfault (mga#12795) o removed Requires on soundwrapper * Sat Oct 19 2013 umeabot <umeabot> 3.9-21.mga4 + Revision: 526469 - Mageia 4 Mass Rebuild * Tue Jun 04 2013 fwang <fwang> 3.9-20.mga4 + Revision: 436980 - rebuild for new libpng * Tue Jan 15 2013 luigiwalser <luigiwalser> 3.9-19.mga3 + Revision: 388405 - use fpermissive to make it build + umeabot <umeabot> - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild + fwang <fwang> - include string - add patches * Tue Mar 06 2012 zezinho <zezinho> 3.9-18.mga2 + Revision: 220645 - add soundwrapper to menu as it is required when pulseaudio is disabled * Sun Sep 18 2011 fwang <fwang> 3.9-17.mga2 + Revision: 145030 - fix build with libpng 1.5 + stormi <stormi> - do not use soundwrapper anymore in menu entry (crashes the game) - spec file cleaning - increase release so that it's higher than in mageia 1 - suggest stepmania-stepmix1 * Sat Jun 25 2011 zezinho <zezinho> 3.9-13.mga2 + Revision: 113546 - imported package stepmania * Wed Dec 08 2010 Oden Eriksson <oeriksson@mandriva.com> 3.9-13mdv2011.0 + Revision: 614981 - the mass rebuild of 2010.1 packages * Thu May 27 2010 Olivier Blin <oblin@mandriva.com> 3.9-12mdv2010.1 + Revision: 546412 - fix selecting style and thus allow to play, patch from Arch Linux (to handle hardcoded switch values outside of default enum range) - sync with ffmpeg patches from Arch Linux (to fix build with latest ffmpeg, PIX_FMT_RGBA and img_convert) * Sun Apr 19 2009 trem <trem@mandriva.org> 3.9-11mdv2009.1 + Revision: 368073 - fix patch stepmania-3.9-fix-str-fmt.patch (so now stepmania start) * Sat Feb 07 2009 Funda Wang <fwang@mandriva.org> 3.9-10mdv2009.1 + Revision: 338417 - disable ffmpeg support in cooker - use O1 according to : http://www.stepmania.com/wiki/FAQ:_Linux_version#I_never_trust_binaries.3B_how_hard_is_it_to_compile_this_program_from_source.3F - detect newer ffmpeg - newer ffmpeg - add gcc 43 patch and str fmt patch - adopt to new ffmpeg (patch from gentoo) + Thierry Vignaud <tv@mandriva.org> - rebuild early 2009.0 package (before pixel changes) + Pixel <pixel@mandriva.com> - rpm filetriggers deprecates update_menus/update_scrollkeeper/update_mime_database/update_icon_cache/update_desktop_database/post_install_gconf_schemas * Thu Apr 10 2008 Olivier Blin <oblin@mandriva.com> 3.9-9mdv2009.0 + Revision: 192566 - fix menu directory creation - fix linkage of functions in avcodec namespace by including avcodec as extern C (patch from Pixel) - fix int64_c declaration - do not handle duplicate averror type (for latest ffmpeg) - inline gettid syscall (no _syscallX macros anymore in glibc) - restore BuildRoot + Thierry Vignaud <tv@mandriva.org> - auto convert menu to XDG - kill re-definition of %%buildroot on Pixel's request - kill desktop-file-validate's 'warning: key "Encoding" in group "Desktop Entry" is deprecated' * Sat Dec 02 2006 Olivier Blin <oblin@mandriva.com> 3.9-8mdv2007.0 + Revision: 90010 - update crypto patch with selected fixes from cryptopp CVS to fix x86_64 build - explicitely call replace method on 'this' - fix "extra qualification 'class::' on member 'member'" errors - do not use the same variable name as SDL internal SDL_EventMask - add meny entry - buildrequire lua-devel 5.0 - bunzip patches - Import stepmania * Wed May 17 2006 Olivier Blin <oblin@mandriva.com> 3.9-7mdk - BuildRequires MesaGLU-devel (thanks iurt!) * Mon May 15 2006 Olivier Blin <oblin@mandriva.com> 3.9-6mdk - Patch2: fix build for changes introduced in ffmpeg 4629 and 4754 - Patch3: search files in home directory (~/StepMania/ for data, ~/.StepMania/ for settings) - Patch4: search files and libraries in package directories - install GtkModule in pkglibdir - remove wrapper script since binary looks for data in pkgdatadir - move soundwrapper for wrapper to menu entry - lowercase package name - mkrel - apply patches unconditionnally - remove hardcoded requires - require stepmania-data - BuildRequires gtk2-devel - fix BuildRequires (remove lib prefix) - install binary in _gamesbindir and data in _gamesdatadir - use makeinstall_std - fix rpm and menu groups - enable mp3 by default (and allow to build without) * Fri Apr 21 2006 Nicolas Chipaux <chipaux@mandriva.com> 3.9-5mdk - fix * Thu Apr 20 2006 Nicolas Chipaux <chipaux@mandriva.com> 3.9-4mdk - x86_64 build * Thu Apr 20 2006 Nicolas Chipaux <chipaux@mandriva.com> 3.9-3mdk - no mkrel please * Wed Apr 19 2006 Nicolas Chipaux <chipaux@mandriva.com> 3.9-2mdk - fix licence - change description - complete the mp3 build flag * Thu Apr 13 2006 Nicolas Chipaux <chipaux@mandriva.com> 3.9-1mdk - first for mandriva