-#
-# TODO:
-# - update Polish description, current is outdated (it is not only a
-# karaoke game any more)
Summary: Performous - The All-in-One Music Game
Summary(pl.UTF-8): Performous - wiele gier muzycznych w jednej
Name: performous
-Version: 0.6.1
-Release: 14
+Version: 1.3.0
+Release: 1
License: GPL v2+
-Group: Applications
-Source0: http://downloads.sourceforge.net/performous/Performous-%{version}-Source.tar.bz2
-# Source0-md5: 451a759de77984b5a699e91107fe52e2
-Patch0: %{name}-ffmpeg.patch
+Group: Applications/Sound
+#Source0Download: https://github.com/performous/performous/releases
+Source0: https://github.com/performous/performous/archive/refs/tags/%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 1579905ea88e09611e90b737e9417895
+Source1: compact_enc_det.tar.xz
+# Source1-md5: c4af58e784fe054b787254acf5c1af12
+Patch0: ced-no-forced-cxx11.patch
+Patch1: find-ced.patch
+Patch2: no-Werror.patch
URL: http://performous.org/
BuildRequires: ImageMagick-c++-devel
-BuildRequires: SDL-devel
-BuildRequires: alsa-lib-devel
-BuildRequires: boost-devel
-BuildRequires: cmake >= 2.6
+BuildRequires: SDL2-devel >= 2
+BuildRequires: aubio-devel
+BuildRequires: boost-devel >= 1.36
+BuildRequires: cmake >= 2.8
+# avformat avresample swscale
BuildRequires: ffmpeg-devel
-BuildRequires: gettext-devel
+BuildRequires: fontconfig-devel
+BuildRequires: gettext-tools
BuildRequires: glew-devel
BuildRequires: glibmm-devel
+BuildRequires: gmock-devel
BuildRequires: help2man
-BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: libepoxy-devel >= 1.2
+BuildRequires: libfmt-devel
+BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: librsvg-devel
BuildRequires: libsigc++-devel
-BuildRequires: libxml++-devel
+BuildRequires: libstdc++-devel >= 6:4.6
+BuildRequires: libxml2-devel >= 2.0
+BuildRequires: libxml++2-devel >= 2.6
+BuildRequires: nlohmann-json-devel >= 3.10.5
BuildRequires: opencv-devel
-BuildRequires: pango-devel
+BuildRequires: pango-devel >= 1:1.12
BuildRequires: pkgconfig
BuildRequires: portaudio-devel
-Suggests: %{name}-tools = %{version}-%{release}
+BuildRequires: portmidi-devel
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: zlib-devel
+Obsoletes: %{name}-tools < 1.3.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
as well as some dance pads are autodetected.
%description -l pl.UTF-8
-O ile Performous można zaklasyfikować jako program do karaoke, to jest
-czymś o wiele więcej. Zamiast tylko wyświetlać tekst, wyświetlane są
-także nuty, a wykonanie jest oceniane w oparciu o to, jak dobrze
-pasuje do nut. W przeciwieństwie do innych gier tego gatunku podawana
-jest także dokładna wysokość śpiewanych tonów, więc można zobaczyć, co
-wykonuje się źle i (względnie) łatwo się poprawić.
-
-Większość dostępnych piosenek zawiera także oryginalne wokale, zaś
-wersje karaoke są dość rzadkie.
-
-Dla śpiewających niezbyt dobrze dostępny jest tryb karaoke. W tyb
-trybie wyświetlane są tylko słowa i nie ma nut ani oceniania.
-
-%package tools
-Summary: Performous tools
-Summary(pl.UTF-8): Narzędzia do programu Performous
-Group: Applications
-
-%description tools
-Several utilities for converting data files for Performous.
-
-%description tools -l pl.UTF-8
-Zestaw narzędzi do konwersji danych dla programu Performous.
+Karaoke, gitara i taniec w jednej grze. Obsługuje utwory w formatach
+UltraStar, Frets on Fire i StepManii. Mikrofony i kontrolery z gier
+SingStar, Guitar Hero i Rock Band oraz maty do tańca są automatycznie
+wykrywane.
%prep
-%setup -qn Performous-%{version}-Source
+%setup -q -a1
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
-mkdir build
+cd compact_enc_det
+install -d build
cd build
%cmake .. \
+ -DBUILD_SHARED_LIBS=OFF
+%{__make} ced
+cp -p lib/libced.a ../compact_enc_det
+cd ../..
+
+SRC=$(pwd)
+install -d build/game
+cd build
+%cmake .. \
+ -DCMAKE_INSTALL_MANDIR=%{_mandir}/man6 \
-DCMAKE_BUILD_TYPE=%{!?debug:Release}%{?debug:Debug} \
- -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags} -DBOOST_FILESYSTEM_VERSION=2" \
- -DCMAKE_DEBUG_FLAGS_RELEASE="%{debugcflags} -DBOOST_FILESYSTEM_VERSION=2" \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-%if "%{_lib}" == "lib64"
- -DLIB_SUFFIX=64
-%endif
+ -DCMAKE_CXX_FLAGS_RELEASE="%{rpmcxxflags}" \
+ -DCMAKE_DEBUG_FLAGS_RELEASE="%{debugcflags}" \
+ -DMagick_LIBRARY="$(echo %{_libdir}/libMagickCore-*.so)" \
+ -DMagick++_LIBRARY="$(echo %{_libdir}/libMagick++-*.so)" \
+ -DSELF_BUILT_CED=NEVER \
+ -DCed_INCLUDE_DIRS="$SRC/compact_enc_det" \
+ -DCed_LIBRARIES="-L$SRC/compact_enc_det/compact_enc_det $SRC/compact_enc_det/compact_enc_det/libced.a"
%{__make}
%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-install docs/man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{zh,zh_CN}
%find_lang %{name} --all-name
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc docs/{Authors,TODO,instruments}.txt
+%doc README.md docs/{Authors,instruments}.txt
%attr(755,root,root) %{_bindir}/performous
%{_datadir}/games/%{name}
%{_mandir}/man6/performous.6*
%{_desktopdir}/performous.desktop
-%{_pixmapsdir}/performous.xpm
-
-%files tools
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/gh_*_decrypt
-%attr(755,root,root) %{_bindir}/itg_pck
-%attr(755,root,root) %{_bindir}/ss_*
-%{_mandir}/man1/gh_*_decrypt.1*
-%{_mandir}/man1/ss_*.1*
+%{_pixmapsdir}/performous.svg